emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 875a5d0 2/2: Prefer directed to neutral quotes


From: Paul Eggert
Subject: [Emacs-diffs] master 875a5d0 2/2: Prefer directed to neutral quotes
Date: Tue, 25 Aug 2015 06:57:48 +0000

branch: master
commit 875a5d0ead827d3da32ecbd30e739a29f07bbc87
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>

    Prefer directed to neutral quotes
    
    Prefer directed to neutral quotes in docstings and diagnostics.
    In docstrings, escape apostrophes that would otherwise be translated
    to curved quotes using the newer, simpler rules.
    * admin/unidata/unidata-gen.el (unidata-gen-table):
    * lisp/align.el (align-region):
    * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet):
    * lisp/bookmark.el (bookmark-default-annotation-text):
    * lisp/calc/calc-aent.el (math-read-if, math-read-factor):
    * lisp/calc/calc-lang.el (math-read-giac-subscr)
    (math-read-math-subscr):
    * lisp/calc/calc-misc.el (report-calc-bug):
    * lisp/calc/calc-prog.el (calc-fix-token-name)
    (calc-read-parse-table-part):
    * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules):
    * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
    * lisp/dabbrev.el (dabbrev-expand):
    * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
    * lisp/emacs-lisp/elint.el (elint-get-top-forms):
    * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
    * lisp/emulation/viper-cmd.el (viper-toggle-search-style):
    * lisp/erc/erc-button.el (erc-nick-popup):
    * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login):
    * lisp/eshell/em-dirs.el (eshell/cd):
    * lisp/eshell/em-glob.el (eshell-glob-regexp):
    * lisp/eshell/em-pred.el (eshell-parse-modifiers):
    * lisp/eshell/esh-arg.el (eshell-parse-arguments):
    * lisp/eshell/esh-opt.el (eshell-show-usage):
    * lisp/files-x.el (modify-file-local-variable):
    * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer)
    (filesets-update-pre010505):
    * lisp/find-cmd.el (find-generic, find-to-string):
    * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
    * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer)
    (gnus-agent-fetch-headers):
    * lisp/gnus/gnus-int.el (gnus-start-news-server):
    * lisp/gnus/gnus-registry.el:
    (gnus-registry--split-fancy-with-parent-internal):
    * lisp/gnus/gnus-score.el (gnus-summary-increase-score):
    * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc):
    * lisp/gnus/gnus-topic.el (gnus-topic-rename):
    * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days):
    * lisp/gnus/nnmairix.el (nnmairix-widget-create-query):
    * lisp/gnus/spam.el (spam-check-blackholes):
    * lisp/mail/feedmail.el (feedmail-run-the-queue):
    * lisp/mpc.el (mpc-playlist-rename):
    * lisp/net/ange-ftp.el (ange-ftp-shell-command):
    * lisp/net/mairix.el (mairix-widget-create-query):
    * lisp/net/tramp-cache.el:
    * lisp/obsolete/otodo-mode.el (todo-more-important-p):
    * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region):
    * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region):
    * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region):
    * lisp/org/ob-core.el (org-babel-goto-named-src-block)
    (org-babel-goto-named-result):
    * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap):
    * lisp/org/ob-ref.el (org-babel-ref-resolve):
    * lisp/org/org-agenda.el (org-agenda-prepare):
    * lisp/org/org-bibtex.el (org-bibtex-fields):
    * lisp/org/org-clock.el (org-clock-notify-once-if-expired)
    (org-clock-resolve):
    * lisp/org/org-feed.el (org-feed-parse-atom-entry):
    * lisp/org/org-habit.el (org-habit-parse-todo):
    * lisp/org/org-mouse.el (org-mouse-popup-global-menu)
    (org-mouse-context-menu):
    * lisp/org/org-table.el (org-table-edit-formulas):
    * lisp/org/ox.el (org-export-async-start):
    * lisp/play/dunnet.el (dun-score, dun-help, dun-endgame-question)
    (dun-rooms, dun-endgame-questions):
    * lisp/progmodes/ada-mode.el (ada-goto-matching-start):
    * lisp/progmodes/ada-xref.el (ada-find-executable):
    * lisp/progmodes/antlr-mode.el (antlr-options-alists):
    * lisp/progmodes/flymake.el (flymake-parse-err-lines)
    (flymake-start-syntax-check-process):
    * lisp/progmodes/python.el (python-define-auxiliary-skeleton):
    * lisp/progmodes/sql.el (sql-comint):
    * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point):
    * lisp/server.el (server-get-auth-key):
    * lisp/subr.el (version-to-list):
    * lisp/textmodes/reftex-ref.el (reftex-label):
    * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label):
    * lisp/vc/ediff-diff.el (ediff-same-contents):
    * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string):
    * test/automated/tramp-tests.el (tramp-test33-asynchronous-requests):
    Use directed rather than neutral quotes in diagnostics.
---
 admin/unidata/unidata-gen.el         |    2 +-
 lisp/align.el                        |    2 +-
 lisp/allout-widgets.el               |    6 +-
 lisp/allout.el                       |   51 +++++-----
 lisp/autoinsert.el                   |    2 +-
 lisp/autorevert.el                   |    4 +-
 lisp/bookmark.el                     |   15 ++-
 lisp/bs.el                           |    2 +-
 lisp/calc/calc-aent.el               |    4 +-
 lisp/calc/calc-lang.el               |    4 +-
 lisp/calc/calc-misc.el               |    2 +-
 lisp/calc/calc-prog.el               |   10 +-
 lisp/calc/calc.el                    |    6 +-
 lisp/calendar/cal-tex.el             |    4 +-
 lisp/calendar/calendar.el            |    2 +-
 lisp/calendar/diary-lib.el           |    6 +-
 lisp/calendar/icalendar.el           |    4 +-
 lisp/calendar/timeclock.el           |    2 +-
 lisp/cedet/cedet-global.el           |    2 +-
 lisp/cedet/ede/base.el               |    4 +-
 lisp/cedet/ede/cpp-root.el           |    2 +-
 lisp/cedet/ede/pconf.el              |    4 +-
 lisp/cedet/ede/pmake.el              |    3 +-
 lisp/cedet/ede/proj-archive.el       |    2 +-
 lisp/cedet/ede/project-am.el         |   16 ++--
 lisp/cedet/semantic/bovine/c.el      |   20 ++--
 lisp/cedet/semantic/complete.el      |    4 +-
 lisp/cedet/semantic/ctxt.el          |    2 +-
 lisp/cedet/semantic/db.el            |    6 +-
 lisp/cedet/semantic/java.el          |    2 +-
 lisp/cedet/semantic/senator.el       |    4 +-
 lisp/cedet/semantic/wisent/comp.el   |    2 +-
 lisp/cedet/semantic/wisent/python.el |    4 +-
 lisp/cedet/srecode/compile.el        |    4 +-
 lisp/cedet/srecode/dictionary.el     |    2 +-
 lisp/cedet/srecode/document.el       |    2 +-
 lisp/cedet/srecode/insert.el         |    8 +-
 lisp/cedet/srecode/texi.el           |    2 +-
 lisp/comint.el                       |    6 +-
 lisp/dabbrev.el                      |    2 +-
 lisp/delim-col.el                    |    4 +-
 lisp/dired-x.el                      |    2 +-
 lisp/emacs-lisp/byte-run.el          |    6 +-
 lisp/emacs-lisp/bytecomp.el          |    6 +-
 lisp/emacs-lisp/checkdoc.el          |    2 +-
 lisp/emacs-lisp/crm.el               |    4 +-
 lisp/emacs-lisp/edebug.el            |    2 +-
 lisp/emacs-lisp/elint.el             |    2 +-
 lisp/emacs-lisp/ert-x.el             |    2 +-
 lisp/emacs-lisp/lisp-mnt.el          |    6 +-
 lisp/emacs-lisp/pcase.el             |    4 +-
 lisp/emacs-lisp/rx.el                |    4 +-
 lisp/emacs-lisp/shadow.el            |    2 +-
 lisp/emulation/viper-cmd.el          |   28 +++---
 lisp/emulation/viper-init.el         |    2 +-
 lisp/epa.el                          |   16 ++--
 lisp/epg.el                          |    4 +-
 lisp/erc/erc-button.el               |    3 +-
 lisp/erc/erc-dcc.el                  |   16 ++--
 lisp/erc/erc-match.el                |   34 +++---
 lisp/erc/erc-services.el             |   11 +-
 lisp/erc/erc-speedbar.el             |    7 +-
 lisp/erc/erc-track.el                |    8 +-
 lisp/erc/erc.el                      |   38 ++++----
 lisp/eshell/em-dirs.el               |   16 ++--
 lisp/eshell/em-glob.el               |    4 +-
 lisp/eshell/em-pred.el               |   12 +-
 lisp/eshell/em-script.el             |    4 +-
 lisp/eshell/em-term.el               |    2 +-
 lisp/eshell/em-unix.el               |   10 +-
 lisp/eshell/esh-arg.el               |    6 +-
 lisp/eshell/esh-cmd.el               |   16 ++--
 lisp/eshell/esh-ext.el               |    2 +-
 lisp/eshell/esh-io.el                |    2 +-
 lisp/eshell/esh-opt.el               |    4 +-
 lisp/eshell/esh-var.el               |   10 +-
 lisp/files-x.el                      |    2 +-
 lisp/filesets.el                     |   38 ++++----
 lisp/find-cmd.el                     |   22 ++--
 lisp/find-dired.el                   |    2 +-
 lisp/finder.el                       |    2 +-
 lisp/font-core.el                    |    2 +-
 lisp/font-lock.el                    |    6 +-
 lisp/gnus/auth-source.el             |   64 ++++++------
 lisp/gnus/gnus-agent.el              |    4 +-
 lisp/gnus/gnus-art.el                |    2 +-
 lisp/gnus/gnus-int.el                |    8 +-
 lisp/gnus/gnus-registry.el           |   12 +-
 lisp/gnus/gnus-score.el              |    2 +-
 lisp/gnus/gnus-sieve.el              |   12 +-
 lisp/gnus/gnus-start.el              |    6 +-
 lisp/gnus/gnus-sum.el                |    2 +-
 lisp/gnus/gnus-topic.el              |    2 +-
 lisp/gnus/gnus-util.el               |    5 +
 lisp/gnus/gnus-uu.el                 |    6 +-
 lisp/gnus/gnus.el                    |    6 +-
 lisp/gnus/legacy-gnus-agent.el       |   11 ++-
 lisp/gnus/mail-source.el             |    2 +-
 lisp/gnus/message.el                 |    6 +-
 lisp/gnus/nnheader.el                |    2 +-
 lisp/gnus/nnmail.el                  |   10 +-
 lisp/gnus/nnmairix.el                |    6 +-
 lisp/gnus/nntp.el                    |    2 +-
 lisp/gnus/registry.el                |    4 +-
 lisp/gnus/spam.el                    |    2 +-
 lisp/help-fns.el                     |    2 +-
 lisp/hilit-chg.el                    |    2 +-
 lisp/htmlfontify.el                  |   20 ++--
 lisp/ibuf-ext.el                     |    2 +-
 lisp/ibuffer.el                      |  184 +++++++++++++++++-----------------
 lisp/icomplete.el                    |    2 +-
 lisp/ido.el                          |    2 +-
 lisp/ielm.el                         |    6 +-
 lisp/info.el                         |    2 +-
 lisp/international/mule-cmds.el      |    2 +-
 lisp/ldefs-boot.el                   |   24 ++--
 lisp/leim/quail/cyrillic.el          |   14 ++--
 lisp/leim/quail/greek.el             |    8 +-
 lisp/leim/quail/hebrew.el            |    8 +-
 lisp/leim/quail/latin-alt.el         |   44 ++++----
 lisp/leim/quail/latin-post.el        |   70 +++++++-------
 lisp/leim/quail/latin-pre.el         |   32 +++---
 lisp/leim/quail/tibetan.el           |   16 ++--
 lisp/leim/quail/viqr.el              |    2 +-
 lisp/mail/feedmail.el                |    6 +-
 lisp/mail/metamail.el                |    2 +-
 lisp/mail/rfc2368.el                 |   10 +-
 lisp/mh-e/mh-mime.el                 |    2 +-
 lisp/mh-e/mh-search.el               |    2 +-
 lisp/mh-e/mh-seq.el                  |    4 +-
 lisp/mh-e/mh-utils.el                |   12 +-
 lisp/mpc.el                          |    2 +-
 lisp/net/ange-ftp.el                 |    4 +-
 lisp/net/mairix.el                   |    9 +-
 lisp/net/newst-backend.el            |    4 +-
 lisp/net/newst-plainview.el          |    4 +-
 lisp/net/rcirc.el                    |    2 +-
 lisp/net/tramp-sh.el                 |    2 +-
 lisp/newcomment.el                   |    4 +-
 lisp/nxml/nxml-rap.el                |    8 +-
 lisp/obsolete/iso-acc.el             |    6 +-
 lisp/obsolete/iswitchb.el            |    4 +-
 lisp/obsolete/landmark.el            |    2 +-
 lisp/obsolete/lmenu.el               |    6 +-
 lisp/obsolete/old-whitespace.el      |    2 +-
 lisp/obsolete/otodo-mode.el          |    4 +-
 lisp/obsolete/pgg-gpg.el             |    2 +-
 lisp/obsolete/pgg-pgp.el             |    2 +-
 lisp/obsolete/pgg-pgp5.el            |   10 +-
 lisp/obsolete/scribe.el              |    8 +-
 lisp/obsolete/sregex.el              |   10 +-
 lisp/obsolete/tpu-edt.el             |    6 +-
 lisp/obsolete/vc-arch.el             |    2 +-
 lisp/obsolete/vi.el                  |   10 +-
 lisp/org/ob-core.el                  |   12 +-
 lisp/org/ob-exp.el                   |    2 +-
 lisp/org/ob-fortran.el               |    2 +-
 lisp/org/ob-python.el                |    2 +-
 lisp/org/ob-ref.el                   |    2 +-
 lisp/org/ob-scheme.el                |    2 +-
 lisp/org/org-agenda.el               |    8 +-
 lisp/org/org-bibtex.el               |    8 +-
 lisp/org/org-clock.el                |   17 ++--
 lisp/org/org-element.el              |   10 +-
 lisp/org/org-feed.el                 |    3 +-
 lisp/org/org-habit.el                |    2 +-
 lisp/org/org-irc.el                  |    4 +-
 lisp/org/org-list.el                 |    2 +-
 lisp/org/org-mouse.el                |   10 +-
 lisp/org/org-plot.el                 |    2 +-
 lisp/org/org-protocol.el             |    2 +-
 lisp/org/org-src.el                  |    4 +-
 lisp/org/org-table.el                |    2 +-
 lisp/org/org.el                      |   30 +++---
 lisp/org/ox-latex.el                 |   14 ++--
 lisp/org/ox-publish.el               |    4 +-
 lisp/org/ox-texinfo.el               |    4 +-
 lisp/org/ox.el                       |   12 +-
 lisp/pcmpl-cvs.el                    |    4 +-
 lisp/pcmpl-x.el                      |    2 +-
 lisp/pcomplete.el                    |    6 +-
 lisp/play/bubbles.el                 |   10 +-
 lisp/play/dunnet.el                  |   44 ++++----
 lisp/play/gomoku.el                  |    2 +-
 lisp/play/morse.el                   |    2 +-
 lisp/progmodes/ada-mode.el           |   36 ++++----
 lisp/progmodes/ada-prj.el            |    6 +-
 lisp/progmodes/ada-xref.el           |    6 +-
 lisp/progmodes/antlr-mode.el         |    2 +-
 lisp/progmodes/bug-reference.el      |    2 +-
 lisp/progmodes/cc-align.el           |    6 +-
 lisp/progmodes/cc-defs.el            |   32 +++---
 lisp/progmodes/cc-engine.el          |    4 +-
 lisp/progmodes/cc-langs.el           |   12 +-
 lisp/progmodes/cfengine.el           |    2 +-
 lisp/progmodes/compile.el            |    4 +-
 lisp/progmodes/cperl-mode.el         |   10 +-
 lisp/progmodes/dcl-mode.el           |    2 +-
 lisp/progmodes/flymake.el            |    8 +-
 lisp/progmodes/gdb-mi.el             |    4 +-
 lisp/progmodes/idlw-shell.el         |   18 ++--
 lisp/progmodes/prog-mode.el          |    4 +-
 lisp/progmodes/python.el             |    4 +-
 lisp/progmodes/sql.el                |    8 +-
 lisp/progmodes/verilog-mode.el       |   60 ++++++------
 lisp/recentf.el                      |    4 +-
 lisp/server.el                       |    2 +-
 lisp/skeleton.el                     |    2 +-
 lisp/subr.el                         |    6 +-
 lisp/textmodes/bib-mode.el           |    4 +-
 lisp/textmodes/flyspell.el           |    2 +-
 lisp/textmodes/ispell.el             |   12 +-
 lisp/textmodes/reftex-ref.el         |    2 +-
 lisp/textmodes/reftex-toc.el         |    2 +-
 lisp/textmodes/tex-mode.el           |    8 +-
 lisp/textmodes/texinfmt.el           |    6 +-
 lisp/textmodes/texinfo.el            |    2 +-
 lisp/textmodes/texnfo-upd.el         |    2 +-
 lisp/time-stamp.el                   |    2 +-
 lisp/vc/add-log.el                   |    2 +-
 lisp/vc/ediff-diff.el                |    2 +-
 lisp/vc/vc-cvs.el                    |    4 +-
 lisp/vc/vc-svn.el                    |    2 +-
 223 files changed, 961 insertions(+), 940 deletions(-)

diff --git a/admin/unidata/unidata-gen.el b/admin/unidata/unidata-gen.el
index 583d492..8d3f5b7 100644
--- a/admin/unidata/unidata-gen.el
+++ b/admin/unidata/unidata-gen.el
@@ -445,7 +445,7 @@ Property value is a symbol `o' (Open), `c' (Close), or `n' 
(None)."
        ;; (4) possibly update the switch cases in
        ;;     bidi.c:bidi_get_type and bidi.c:bidi_get_category.
        (bidi-warning "\
-** Found new bidi-class '%s', please update bidi.c and dispextern.h")
+** Found new bidi-class ‘%s’, please update bidi.c and dispextern.h")
        tail elt range val val-code idx slot
        prev-range-data)
     (setq val-list (cons nil (copy-sequence val-list)))
diff --git a/lisp/align.el b/lisp/align.el
index ad5be2a..3020b6a 100644
--- a/lisp/align.el
+++ b/lisp/align.el
@@ -1348,7 +1348,7 @@ aligner would have dealt with are."
              (if real-beg
                  (goto-char beg)
                (if (or (not thissep) (eq thissep 'entire))
-                   (error "Cannot determine alignment region for '%s'"
+                   (error "Cannot determine alignment region for ‘%s’"
                           (symbol-name (cdr (assq 'title rule)))))
                (beginning-of-line)
                (while (and (not (eobp))
diff --git a/lisp/allout-widgets.el b/lisp/allout-widgets.el
index 578510d..f0a1cab 100644
--- a/lisp/allout-widgets.el
+++ b/lisp/allout-widgets.el
@@ -481,9 +481,9 @@ text in allout item bodies.")
 
 \(That space is used to convey selected cues indicating body qualities,
 including things like:
- - encryption '~'
- - numbering '#'
- - indirect reference '@'
+ - encryption ‘~’
+ - numbering ‘#’
+ - indirect reference address@hidden
  - distinctive bullets - see `allout-distinctive-bullets-string'.)")
 ;;;_    = allout-span-to-category
 (defvar allout-span-to-category
diff --git a/lisp/allout.el b/lisp/allout.el
index 5c43f9b..9f79087 100644
--- a/lisp/allout.el
+++ b/lisp/allout.el
@@ -176,7 +176,7 @@ respective allout-mode keybinding variables, 
`allout-command-prefix',
 (defcustom allout-command-prefix "\C-c "
   "Key sequence to be used as prefix for outline mode command key bindings.
 
-Default is '\C-c<space>'; just '\C-c' is more short-and-sweet, if you're
+Default is `\C-c<space>'; just `\C-c' is more short-and-sweet, if you're
 willing to let allout use a bunch of \C-c keybindings."
   :type 'string
   :group 'allout-keybindings
@@ -229,7 +229,7 @@ See `allout-unprefixed-keybindings' for the list of 
keybindings
 that are not prefixed.
 
 Use vector format for the keys:
-  - put literal keys after a '?' question mark, eg: '?a', '?.'
+  - put literal keys after a ‘?’ question mark, eg: ‘?a’, ‘?.’
   - enclose control, shift, or meta-modified keys as sequences within
     parentheses, with the literal key, as above, preceded by the name(s)
     of the modifiers, eg: [(control ?a)]
@@ -257,7 +257,7 @@ This is in contrast to the majority of allout-mode bindings 
on
 preceding command key.
 
 Use vector format for the keys:
-  - put literal keys after a '?' question mark, eg: '?a', '?.'
+  - put literal keys after a ‘?’ question mark, eg: ‘?a’, ‘?.’
   - enclose control, shift, or meta-modified keys as sequences within
     parentheses, with the literal key, as above, preceded by the name(s)
     of the modifiers, eg: [(control ?a)]
@@ -610,7 +610,7 @@ strings."
 Allout outline mode will use the mode-specific `allout-mode-leaders' or
 comment-start string, if any, to lead the topic prefix string, so topic
 headers look like comments in the programming language.  It will also use
-the comment-start string, with an '_' appended, for `allout-primary-bullet'.
+the comment-start string, with an `_' appended, for `allout-primary-bullet'.
 
 String values are used as literals, not regular expressions, so
 do not escape any regular-expression characters.
@@ -1012,9 +1012,9 @@ determination of aberrance is according to the mistaken 
item
 being followed by a legitimate item of excessively greater depth.
 
 The classic example of a mistaken item, for a standard allout
-outline configuration, is a body line that begins with an '...'
+outline configuration, is a body line that begins with an ‘...’
 ellipsis.  This happens to contain a legitimate depth-2 header
-prefix, constituted by two '..' dots at the beginning of the
+prefix, constituted by two ‘..’ dots at the beginning of the
 line.  The only thing that can distinguish it *in principle* from
 a legitimate one is if the following real header is at a depth
 that is discontinuous from the depth of 2 implied by the
@@ -1326,7 +1326,7 @@ scope of the variable is restored along with its value.  
If it was a void
 buffer-local value, then it is left as nil on resumption.
 
 The pairs are lists whose car is the name of the variable and car of the
-cdr is the new value: '(some-var some-value)'.  The pairs can actually be
+cdr is the new value: `(some-var some-value)'.  The pairs can actually be
 triples, where the third element qualifies the disposition of the setting,
 as described further below.
 
@@ -1339,7 +1339,7 @@ extended from the existing one by `append'ing a list 
containing the second
 element of the pair onto the end of the existing value.
 
 Extension, and resumptions in general, should not be used for hook
-functions -- use the 'local mode of `add-hook' for that, instead.
+functions -- use the `local' mode of `add-hook' for that, instead.
 
 The settings are stored on `allout-mode-prior-settings'."
   (while pairs
@@ -1862,7 +1862,7 @@ symmetric decryption keys, preventing entry of the 
correct key on
 subsequent decryption attempts until the cache times-out.  That
 can take several minutes.  (Decryption of other entries is not
 affected.)  Upgrade your EasyPG version, if you can, and you can
-deliberately clear your gpg-agent's cache by sending it a '-HUP'
+deliberately clear your gpg-agent's cache by sending it a `-HUP'
 signal.
 
 See `allout-toggle-current-subtree-encryption' function docstring
@@ -2080,21 +2080,21 @@ OPEN:   A TOPIC that is not CLOSED, though its 
OFFSPRING or BODY may be."
                  use-layout
                  (and (not (string= allout-auto-activation "activate"))
                       (if (string= allout-auto-activation "ask")
-                          (if (y-or-n-p (format "Expose %s with layout '%s'? "
-                                                (buffer-name)
-                                                use-layout))
+                          (if (y-or-n-p (format-message
+                                         "Expose %s with layout ‘%s’? "
+                                         (buffer-name) use-layout))
                               t
                             (message "Skipped %s layout." (buffer-name))
                             nil)
                         t)))
         (save-excursion
-          (message "Adjusting '%s' exposure..." (buffer-name))
+          (message "Adjusting ‘%s’ exposure..." (buffer-name))
           (goto-char 0)
           (allout-this-or-next-heading)
           (condition-case err
               (progn
                 (apply 'allout-expose-topic (list use-layout))
-                (message "Adjusting '%s' exposure... done."
+                (message "Adjusting ‘%s’ exposure... done."
                          (buffer-name)))
             ;; Problem applying exposure -- notify user, but don't
             ;; interrupt, eg, file visit:
@@ -3483,9 +3483,10 @@ Offer one suitable for current depth DEPTH as default."
     (save-excursion
       (goto-char (allout-current-bullet-pos))
       (setq choice (solicit-char-in-string
-                    (format "Select bullet: %s ('%s' default): "
-                            sans-escapes
-                            (allout-substring-no-properties default-bullet))
+                    (format-message
+                     "Select bullet: %s (‘%s’ default): "
+                     sans-escapes
+                     (allout-substring-no-properties default-bullet))
                     sans-escapes
                     t)))
     (message "")
@@ -5134,15 +5135,15 @@ Simple (numeric and null-list) specs are interpreted as 
follows:
   -  - exposes the body of the corresponding topic.
 
 Examples:
-\(allout-expose-topic '(-1 : 0))
+\(allout-expose-topic \\='(-1 : 0))
        Close this and all following topics at current level, exposing
        only their immediate children, but close down the last topic
        at this current level completely.
-\(allout-expose-topic '(-1 () : 1 0))
+\(allout-expose-topic \\='(-1 () : 1 0))
        Close current topic so only the immediate subtopics are shown;
        show the children in the second to last topic, and completely
        close the last one.
-\(allout-expose-topic '(-2 : -1 *))
+\(allout-expose-topic \\='(-2 : -1 *))
         Expose children and grandchildren of all topics at current
        level except the last two; expose children of the second to
        last and completely open the last one."
@@ -5878,7 +5879,7 @@ With repeat count, copy the exposed portions of entire 
buffer."
 (defun allout-toggle-current-subtree-encryption (&optional keymode-cue)
   "Encrypt clear or decrypt encoded topic text.
 
-Allout uses Emacs 'epg' library to perform encryption.  Symmetric
+Allout uses Emacs ‘epg’ library to perform encryption.  Symmetric
 and keypair encryption are supported.  All encryption is ascii
 armored.
 
@@ -5940,7 +5941,7 @@ associated with it.  This can be used to dissociate any
 recipients with the file, by selecting no recipients in the
 dialog.
 
-Encryption and decryption uses the Emacs 'epg' library.
+Encryption and decryption uses the Emacs ‘epg’ library.
 
 Encrypted text will be ascii-armored.
 
@@ -6093,7 +6094,7 @@ symmetric decryption keys, preventing entry of the 
correct key on
 subsequent decryption attempts until the cache times-out.  That
 can take several minutes.  (Decryption of other entries is not
 affected.)  Upgrade your EasyPG version, if you can, and you can
-deliberately clear your gpg-agent's cache by sending it a '-HUP'
+deliberately clear your gpg-agent's cache by sending it a `-HUP'
 signal."
 
   (require 'epg)
@@ -6263,7 +6264,7 @@ the decryption."
   "Return the point of the next topic pending encryption, or nil if none.
 
 Such a topic has the `allout-topic-encryption-bullet' without an
-immediately following '*' that would mark the topic as being encrypted.
+immediately following `*' that would mark the topic as being encrypted.
 It must also have content."
   (let (done got content-beg)
     (save-match-data
@@ -6544,7 +6545,7 @@ Optional arg DO-DEFAULTING indicates to accept empty 
input (CR)."
 (defun regexp-sans-escapes (regexp &optional successive-backslashes)
   "Return a copy of REGEXP with all character escapes stripped out.
 
-Representations of actual backslashes -- '\\\\\\\\' -- are left as a
+Representations of actual backslashes -- ‘\\\\\\\\’ -- are left as a
 single backslash.
 
 Optional arg SUCCESSIVE-BACKSLASHES is used internally for recursion."
diff --git a/lisp/autoinsert.el b/lisp/autoinsert.el
index 985ae24..255ec9b 100644
--- a/lisp/autoinsert.el
+++ b/lisp/autoinsert.el
@@ -67,7 +67,7 @@ Insertion is possible when something appropriate is found in
 `auto-insert-alist'.  When the insertion is marked as unmodified, you can
 save it with  \\[write-file] RET.
 This variable is used when the function `auto-insert' is called, e.g.
-when you do (add-hook 'find-file-hook 'auto-insert).
+when you do (add-hook \\='find-file-hook \\='auto-insert).
 With \\[auto-insert], this is always treated as if it were t."
   :type '(choice (const :tag "Insert if possible" t)
                  (const :tag "Do nothing" nil)
diff --git a/lisp/autorevert.el b/lisp/autorevert.el
index 0081419..37ee8ee 100644
--- a/lisp/autorevert.el
+++ b/lisp/autorevert.el
@@ -367,7 +367,7 @@ without being changed in the part that is already in the 
buffer."
   "Turn on Auto-Revert Mode.
 
 This function is designed to be added to hooks, for example:
-  (add-hook 'c-mode-hook #'turn-on-auto-revert-mode)"
+  (add-hook \\='c-mode-hook #\\='turn-on-auto-revert-mode)"
   (auto-revert-mode 1))
 
 
@@ -431,7 +431,7 @@ Perform a full revert? ")
   "Turn on Auto-Revert Tail mode.
 
 This function is designed to be added to hooks, for example:
-  (add-hook 'my-logfile-mode-hook #'turn-on-auto-revert-tail-mode)"
+  (add-hook \\='my-logfile-mode-hook #\\='turn-on-auto-revert-tail-mode)"
   (auto-revert-tail-mode 1))
 
 
diff --git a/lisp/bookmark.el b/lisp/bookmark.el
index 4baf00b..308d1ca 100644
--- a/lisp/bookmark.el
+++ b/lisp/bookmark.el
@@ -842,8 +842,11 @@ whose annotation is being edited.")
   "Return default annotation text for BOOKMARK-NAME.
 The default annotation text is simply some text explaining how to use
 annotations."
-  (concat "#  Type the annotation for bookmark '" bookmark-name "' here.\n"
-         "#  All lines which start with a '#' will be deleted.\n"
+  (concat (format-message
+           "#  Type the annotation for bookmark ‘%s’ here.\n"
+           bookmark-name)
+         (format-message
+           "#  All lines which start with a ‘#’ will be deleted.\n")
          "#  Type C-c C-c when done.\n#\n"
          "#  Author: " (user-full-name) " <" (user-login-name) "@"
          (system-name) ">\n"
@@ -1540,7 +1543,7 @@ deletion, or > if it is flagged for displaying."
   (let ((inhibit-read-only t))
     (erase-buffer)
     (if (not bookmark-bmenu-use-header-line)
-      (insert "% Bookmark\n- --------\n"))    
+      (insert "% Bookmark\n- --------\n"))
     (add-text-properties (point-min) (point)
                         '(font-lock-face bookmark-menu-heading))
     (dolist (full-record (bookmark-maybe-sort-alist))
@@ -1581,9 +1584,9 @@ deletion, or > if it is flagged for displaying."
 (defun bookmark-bmenu-set-header ()
   "Sets the immutable header line."
   (let ((header (concat "%% " "Bookmark")))
-    (when bookmark-bmenu-toggle-filenames 
-      (setq header (concat header 
-                          (make-string (- bookmark-bmenu-file-column 
+    (when bookmark-bmenu-toggle-filenames
+      (setq header (concat header
+                          (make-string (- bookmark-bmenu-file-column
                                           (- (length header) 3))  ?\s)
                           "File")))
     (let ((pos 0))
diff --git a/lisp/bs.el b/lisp/bs.el
index c7a20b4..6314bbb 100644
--- a/lisp/bs.el
+++ b/lisp/bs.el
@@ -1314,7 +1314,7 @@ ALL-BUFFERS is the list of buffers appearing in Buffer 
Selection Menu."
   (format-mode-line mode-name nil nil start-buffer))
 
 (defun bs--get-file-name (_start-buffer _all-buffers)
-  "Return string for column 'File' in Buffer Selection Menu.
+  "Return string for column ‘File’ in Buffer Selection Menu.
 This is the variable `buffer-file-name' of current buffer.
 If not visiting a file, `list-buffers-directory' is returned instead.
 START-BUFFER is the buffer where we started buffer selection.
diff --git a/lisp/calc/calc-aent.el b/lisp/calc/calc-aent.el
index 2fa8f19..2c588c1 100644
--- a/lisp/calc/calc-aent.el
+++ b/lisp/calc/calc-aent.el
@@ -1057,7 +1057,7 @@ If the current Calc language does not use placeholders, 
return nil."
 (defun math-read-if (cond op)
   (let ((then (math-read-expr-level 0)))
     (or (equal math-expr-data ":")
-       (throw 'syntax "Expected ':'"))
+       (throw 'syntax "Expected ‘:’"))
     (math-read-token)
     (list 'calcFunc-if cond then (math-read-expr-level (nth 3 op)))))
 
@@ -1177,7 +1177,7 @@ If the current Calc language does not use placeholders, 
return nil."
                          (setq el (cdr el))))
                     (if (equal math-expr-data "]")
                         (math-read-token)
-                      (throw 'syntax "Expected ']'")))
+                      (throw 'syntax "Expected ‘]’")))
                   val)))))
          ((eq math-exp-token 'dollar)
           (let ((abs (if (> math-expr-data 0) math-expr-data (- 
math-expr-data))))
diff --git a/lisp/calc/calc-lang.el b/lisp/calc/calc-lang.el
index 7f5588b..70a9ff8 100644
--- a/lisp/calc/calc-lang.el
+++ b/lisp/calc/calc-lang.el
@@ -1817,7 +1817,7 @@ order to Calc's."
 (defun math-read-giac-subscr (x op)
   (let ((idx (math-read-expr-level 0)))
     (or (equal math-expr-data "]")
-       (throw 'syntax "Expected ']'"))
+       (throw 'syntax "Expected ‘]’"))
     (math-read-token)
     (list 'calcFunc-subscr x (calc-normalize (list '+ idx 1)))))
 
@@ -1954,7 +1954,7 @@ order to Calc's."
             (progn
               (math-read-token)
               (equal math-expr-data "]")))
-       (throw 'syntax "Expected ']]'"))
+       (throw 'syntax "Expected ‘]]’"))
     (math-read-token)
     (list 'calcFunc-subscr x idx)))
 
diff --git a/lisp/calc/calc-misc.el b/lisp/calc/calc-misc.el
index e5d4b6b..4d84146 100644
--- a/lisp/calc/calc-misc.el
+++ b/lisp/calc/calc-misc.el
@@ -952,7 +952,7 @@ Prompts for bug subject.  Leaves you in a mail buffer."
                                nil nil nil
                                "Please describe exactly what actions triggered 
the bug and the
 precise symptoms of the bug.  If possible, include a backtrace by
-doing 'M-x toggle-debug-on-error', then reproducing the bug.
+doing ‘\\[toggle-debug-on-error]’, then reproducing the bug.
 " )))
 ;;;###autoload
 (defalias 'calc-report-bug 'report-calc-bug)
diff --git a/lisp/calc/calc-prog.el b/lisp/calc/calc-prog.el
index df2eb76..cc1d270 100644
--- a/lisp/calc/calc-prog.el
+++ b/lisp/calc/calc-prog.el
@@ -597,9 +597,9 @@
         ",")
        ((equal name "#")
         (search-backward "#")
-        (error "Token '#' is reserved"))
+        (error "Token ‘#’ is reserved"))
        ((and unquoted (string-match "#" name))
-        (error "Tokens containing '#' must be quoted"))
+        (error "Tokens containing ‘#’ must be quoted"))
        ((not (string-match "[^ ]" name))
         (search-backward "\"" nil t)
         (error "Blank tokens are not allowed"))
@@ -610,7 +610,7 @@
        (quoted nil))
     (while (progn
             (skip-chars-forward "\n\t ")
-            (if (eobp) (error "Expected '%s'" eterm))
+            (if (eobp) (error "Expected ‘%s’" eterm))
             (not (looking-at term)))
       (cond ((looking-at "%%")
             (end-of-line))
@@ -618,7 +618,7 @@
             (forward-char 2)
             (let ((p (calc-read-parse-table-part "}" "}")))
               (or (looking-at "[+*?]")
-                  (error "Expected '+', '*', or '?'"))
+                  (error "Expected ‘+’, ‘*’, or ‘?’"))
               (let ((sym (intern (buffer-substring (point) (1+ (point))))))
                 (forward-char 1)
                 (looking-at "[^\n\t ]*")
@@ -650,7 +650,7 @@
                                              (match-end 1)))))))
             (goto-char (match-end 0)))
            ((looking-at ":=[\n\t ]")
-            (error "Misplaced ':='"))
+            (error "Misplaced ‘:=’"))
            (t
             (looking-at "[^\n\t ]*")
             (let ((end (match-end 0)))
diff --git a/lisp/calc/calc.el b/lisp/calc/calc.el
index b0046dc..8e4df58 100644
--- a/lisp/calc/calc.el
+++ b/lisp/calc/calc.el
@@ -989,11 +989,11 @@ Used by `calc-user-invocation'.")
 (defvar calc-last-kill nil
   "The last number killed in calc-mode.")
 (defvar calc-dollar-values nil
-  "Values to be used for '$'.")
+  "Values to be used for ‘$’.")
 (defvar calc-dollar-used nil
-  "The highest order of '$' that occurred.")
+  "The highest order of ‘$’ that occurred.")
 (defvar calc-hashes-used nil
-  "The highest order of '#' that occurred.")
+  "The highest order of ‘#’ that occurred.")
 (defvar calc-quick-prev-results nil
   "Previous results from Quick Calc.")
 (defvar calc-said-hello nil
diff --git a/lisp/calendar/cal-tex.el b/lisp/calendar/cal-tex.el
index d3c503e..e2e9182 100644
--- a/lisp/calendar/cal-tex.el
+++ b/lisp/calendar/cal-tex.el
@@ -100,7 +100,7 @@ At present, this only affects the daily filofax calendar."
      (format "%d/%d" day days-remaining))
   "Lisp expression giving the date format to use in the LaTeX calendars.
 This should be an expression involving the variable `date'.  When
-this expression is called, `date' is a list of the form '(MONTH DAY YEAR)'.
+this expression is called, `date' is a list of the form `(MONTH DAY YEAR)'.
 
 The string resulting from evaluating this expression is placed at
 the bottom center of each date in monthly calendars, next to the
@@ -151,7 +151,7 @@ For example, to include extra packages:
   "List of functions called after any LaTeX calendar buffer is generated.
 You can use this to do post-processing on the buffer.  For example, to change
 characters with diacritical marks to their LaTeX equivalents, use
-    (add-hook 'cal-tex-hook
+    (add-hook \\='cal-tex-hook
               (lambda () (iso-iso2tex (point-min) (point-max))))"
   :type 'hook
   :group 'calendar-tex)
diff --git a/lisp/calendar/calendar.el b/lisp/calendar/calendar.el
index 078da3d..c35bd38 100644
--- a/lisp/calendar/calendar.el
+++ b/lisp/calendar/calendar.el
@@ -360,7 +360,7 @@ See also `calendar-today-visible-hook'."
   "List of functions called whenever the cursor moves in the calendar.
 For example,
 
-  (add-hook 'calendar-move-hook (lambda () (diary-view-entries 1)))
+  (add-hook \\='calendar-move-hook (lambda () (diary-view-entries 1)))
 
 redisplays the diary for whatever date the cursor is moved to."
   :type 'hook
diff --git a/lisp/calendar/diary-lib.el b/lisp/calendar/diary-lib.el
index dd06819..ec02900 100644
--- a/lisp/calendar/diary-lib.el
+++ b/lisp/calendar/diary-lib.el
@@ -185,9 +185,9 @@ diary buffer to be displayed with diary entries from various
 included files, each day's entries sorted into lexicographic
 order, add the following to your init file:
 
-     (setq diary-display-function 'diary-fancy-display)
-     (add-hook 'diary-list-entries-hook 'diary-include-other-diary-files)
-     (add-hook 'diary-list-entries-hook 'diary-sort-entries t)
+     (setq diary-display-function \\='diary-fancy-display)
+     (add-hook \\='diary-list-entries-hook \\='diary-include-other-diary-files)
+     (add-hook \\='diary-list-entries-hook \\='diary-sort-entries t)
 
 Note how the sort function is placed last, so that it can sort
 the entries included from other files.
diff --git a/lisp/calendar/icalendar.el b/lisp/calendar/icalendar.el
index bd78ba3..b75e442 100644
--- a/lisp/calendar/icalendar.el
+++ b/lisp/calendar/icalendar.el
@@ -261,7 +261,7 @@ If non-nil all sexp diary entries are enumerated for
 `icalendar-export-sexp-enumeration-days' days instead of
 translating into an icalendar equivalent.  This affects the
 following sexp diary entries: `diary-anniversary',
-`diary-cyclic', `diary-date', `diary-float',`diary-block'.  All
+`diary-cyclic', `diary-date', `diary-float', `diary-block'.  All
 other sexp entries are enumerated in any case."
   :version "25.1"
   :type 'boolean
@@ -482,7 +482,7 @@ children."
     result))
 
 (defun icalendar--split-value (value-string)
-  "Split VALUE-STRING at ';='."
+  "Split VALUE-STRING at ‘;=’."
   (let ((result '())
         param-name param-value)
     (when value-string
diff --git a/lisp/calendar/timeclock.el b/lisp/calendar/timeclock.el
index e9a1166..797f217 100644
--- a/lisp/calendar/timeclock.el
+++ b/lisp/calendar/timeclock.el
@@ -919,7 +919,7 @@ following format:
   (DEBT ENTRIES-BY-DAY ENTRIES-BY-PROJECT)
 
 DEBT is a floating point number representing the number of seconds
-\"owed\" before any work was done.  For a new file (one without a 'b'
+“owed” before any work was done.  For a new file (one without a ‘b’
 entry), this is always zero.
 
 The two entries lists have similar formats.  They are both alists,
diff --git a/lisp/cedet/cedet-global.el b/lisp/cedet/cedet-global.el
index 99bffcb..9e31177 100644
--- a/lisp/cedet/cedet-global.el
+++ b/lisp/cedet/cedet-global.el
@@ -36,7 +36,7 @@
 
 (defcustom cedet-global-gtags-command "gtags"
   "Command name for the GNU Global gtags executable.
-GTAGS is used to create the tags table queried by the 'global' command."
+GTAGS is used to create the tags table queried by the ‘global’ command."
   :type 'string
   :group 'cedet)
 
diff --git a/lisp/cedet/ede/base.el b/lisp/cedet/ede/base.el
index 6d5e242..f49cb5b 100644
--- a/lisp/cedet/ede/base.el
+++ b/lisp/cedet/ede/base.el
@@ -105,7 +105,7 @@ which files this object is interested in."
         :accessor ede-object-menu)
    )
   "A target is a structure that describes a file set that produces something.
-Targets, as with 'Make', is an entity that will manage a file set
+Targets, as with `Make', is an entity that will manage a file set
 and knows how to compile or otherwise transform those files into some
 other desired outcome.")
 
@@ -626,7 +626,7 @@ instead of the current project."
 (defun ede-normalize-file/directory (this project-file-name)
   "Fills :directory or :file slots if they're missing in project THIS.
 The other slot will be used to calculate values.
-PROJECT-FILE-NAME is a name of project file (short name, like 'pom.xml', etc."
+PROJECT-FILE-NAME is a name of project file (short name, like `pom.xml', etc."
   (when (and (or (not (slot-boundp this :file))
                 (not (oref this :file)))
             (slot-boundp this :directory)
diff --git a/lisp/cedet/ede/cpp-root.el b/lisp/cedet/ede/cpp-root.el
index 81c6737..22e24c8 100644
--- a/lisp/cedet/ede/cpp-root.el
+++ b/lisp/cedet/ede/cpp-root.el
@@ -262,7 +262,7 @@ exist, it should return nil."
                    :documentation
                    "Compilation command that will be used for this project.
 It could be string or function that will accept proj argument and should 
return string.
-The string will be passed to 'compile' function that will be issued in root
+The string will be passed to `compile' function that will be issued in root
 directory of project."
                    )
    )
diff --git a/lisp/cedet/ede/pconf.el b/lisp/cedet/ede/pconf.el
index 6545b85..a831087 100644
--- a/lisp/cedet/ede/pconf.el
+++ b/lisp/cedet/ede/pconf.el
@@ -31,8 +31,8 @@
 
 (defvar ede-pconf-create-file-query 'ask
   "Controls if queries are made while creating project files.
-A value of 'ask means to always ask the user before creating
-a file, such as AUTHORS.  A value of 'never means don't ask, and
+A value of `ask' means to always ask the user before creating
+a file, such as AUTHORS.  A value of `never' means don't ask, and
 don't do it.  A value of nil means to just do it.")
 
 ;;; Code:
diff --git a/lisp/cedet/ede/pmake.el b/lisp/cedet/ede/pmake.el
index 3307202..1318fde 100644
--- a/lisp/cedet/ede/pmake.el
+++ b/lisp/cedet/ede/pmake.el
@@ -598,7 +598,8 @@ Argument THIS is the target that should insert stuff."
            "address@hidden Makefile is out of date!  "
            "It needs to be regenerated by EDE.\n"
            "address@hidden If you have not modified Project.ede, you can"
-           " use 'touch' to update the Makefile time stamp.\n"
+           (format-message
+             " use ‘touch’ to update the Makefile time stamp.\n")
            "address@hidden"
            "\n\n# End of Makefile\n")))
 
diff --git a/lisp/cedet/ede/proj-archive.el b/lisp/cedet/ede/proj-archive.el
index 0c7ffdd..8aa5477 100644
--- a/lisp/cedet/ede/proj-archive.el
+++ b/lisp/cedet/ede/proj-archive.el
@@ -55,7 +55,7 @@ Makefile.am generator, so use it to add this important bin 
program."
 (cl-defmethod ede-proj-makefile-garbage-patterns
   ((this ede-proj-target-makefile-archive))
   "Add archive name to the garbage patterns.
-This makes sure that the archive is removed with 'make clean'."
+This makes sure that the archive is removed with `make clean'."
   (let ((garb (cl-call-next-method)))
     (append garb (list (concat "lib" (ede-name this) ".a")))))
 
diff --git a/lisp/cedet/ede/project-am.el b/lisp/cedet/ede/project-am.el
index 4623696..48bec3c 100644
--- a/lisp/cedet/ede/project-am.el
+++ b/lisp/cedet/ede/project-am.el
@@ -731,35 +731,35 @@ Strip out duplicates, and recurse on variables."
   (oset this :source (makefile-macro-file-list "EXTRA_DIST")))
 
 (cl-defmethod project-am-macro ((this project-am-objectcode))
-  "Return the default macro to 'edit' for this object type."
+  "Return the default macro to `edit' for this object type."
   (concat (subst-char-in-string ?- ?_ (oref this :name)) "_SOURCES"))
 
 (cl-defmethod project-am-macro ((this project-am-header-noinst))
-  "Return the default macro to 'edit' for this object."
+  "Return the default macro to `edit' for this object."
   "noinst_HEADERS")
 
 (cl-defmethod project-am-macro ((this project-am-header-inst))
-  "Return the default macro to 'edit' for this object."
+  "Return the default macro to `edit' for this object."
   "include_HEADERS")
 
 (cl-defmethod project-am-macro ((this project-am-header-pkg))
-  "Return the default macro to 'edit' for this object."
+  "Return the default macro to `edit' for this object."
   "pkginclude_HEADERS")
 
 (cl-defmethod project-am-macro ((this project-am-header-chk))
-  "Return the default macro to 'edit' for this object."
+  "Return the default macro to `edit' for this object."
   "check_HEADERS")
 
 (cl-defmethod project-am-macro ((this project-am-texinfo))
-  "Return the default macro to 'edit' for this object type."
+  "Return the default macro to `edit' for this object type."
   (concat (file-name-sans-extension (oref this :name)) "_TEXINFOS"))
 
 (cl-defmethod project-am-macro ((this project-am-man))
-  "Return the default macro to 'edit' for this object type."
+  "Return the default macro to `edit' for this object type."
   (oref this :name))
 
 (cl-defmethod project-am-macro ((this project-am-lisp))
-  "Return the default macro to 'edit' for this object."
+  "Return the default macro to `edit' for this object."
   "lisp_LISP")
 
 (defun project-am-buffer-object (amf buffer)
diff --git a/lisp/cedet/semantic/bovine/c.el b/lisp/cedet/semantic/bovine/c.el
index e86f09c..6639f17 100644
--- a/lisp/cedet/semantic/bovine/c.el
+++ b/lisp/cedet/semantic/bovine/c.el
@@ -225,7 +225,7 @@ to store your global macros in a more natural way."
   )
 
 (defcustom semantic-c-member-of-autocast 't
-  "Non-nil means classes with a '->' operator will cast to its return type.
+  "Non-nil means classes with a `->' operator will cast to its return type.
 
 For Examples:
 
@@ -1049,8 +1049,8 @@ now.
     return-list))
 
 (defun semantic-expand-c-extern-C (tag)
-  "Expand TAG containing an 'extern \"C\"' statement.
-This will return all members of TAG with 'extern \"C\"' added to
+  "Expand TAG containing an `extern \"C\"' statement.
+This will return all members of TAG with `extern \"C\"' added to
 the typemodifiers attribute."
     (when (eq (semantic-tag-class tag) 'extern)
       (let* ((mb (semantic-tag-get-attribute tag :members))
@@ -1065,7 +1065,7 @@ the typemodifiers attribute."
 (defun semantic-expand-c-complex-type (tag)
   "Check if TAG has a full :type with a name on its own.
 If so, extract it, and replace it with a reference to that type.
-Thus, 'struct A { int a; } B;' will create 2 toplevel tags, one
+Thus, `struct A { int a; } B;' will create 2 toplevel tags, one
 is type A, and the other variable B where the :type of B is just
 a type tag A that is a prototype, and the actual struct info of A
 is its own toplevel tag.  This function will return (cons A B)."
@@ -1656,7 +1656,7 @@ SPEC-LIST is the template specifier of the datatype 
instantiated."
 
 (defun semantic-c--template-name-1 (spec-list)
   "Return a string used to compute template class name.
-Based on SPEC-LIST, for ref<Foo,Bar> it will return 'Foo,Bar'."
+Based on SPEC-LIST, for ref<Foo,Bar> it will return `Foo,Bar'."
   (when (car spec-list)
     (let* ((endpart (semantic-c--template-name-1 (cdr spec-list)))
           (separator (and endpart ",")))
@@ -1665,7 +1665,7 @@ Based on SPEC-LIST, for ref<Foo,Bar> it will return 
'Foo,Bar'."
 (defun semantic-c--template-name (type spec-list)
   "Return a template class name for TYPE based on SPEC-LIST.
 For a type `ref' with a template specifier of (Foo Bar) it will
-return 'ref<Foo,Bar>'."
+return `ref<Foo,Bar>'."
   (concat (semantic-tag-name type)
          "<" (semantic-c--template-name-1 (cdr spec-list)) ">"))
 
@@ -1693,7 +1693,7 @@ instantiated as specified in TYPE-DECLARATION."
 ;;; Patch here by "Raf" for instantiating templates.
 (defun semantic-c-dereference-member-of (type scope &optional type-declaration)
   "Dereference through the `->' operator of TYPE.
-Uses the return type of the '->' operator if it is contained in TYPE.
+Uses the return type of the `->' operator if it is contained in TYPE.
 SCOPE is the current local scope to perform searches in.
 TYPE-DECLARATION is passed through."
   (if semantic-c-member-of-autocast
@@ -1709,8 +1709,8 @@ TYPE-DECLARATION is passed through."
 ;; tests 5 and following.
 
 (defun semantic-c-dereference-namespace (type scope &optional type-declaration)
-  "Dereference namespace which might hold an 'alias' for TYPE.
-Such an alias can be created through 'using' statements in a
+  "Dereference namespace which might hold an `alias' for TYPE.
+Such an alias can be created through `using' statements in a
 namespace declaration.  This function checks the namespaces in
 SCOPE for such statements."
   (let ((scopetypes (oref scope scopetypes))
@@ -1826,7 +1826,7 @@ or nil if it cannot be found."
 (define-mode-local-override semantic-analyze-dereference-metatype
   c-mode (type scope &optional type-declaration)
   "Dereference TYPE as described in `semantic-analyze-dereference-metatype'.
-Handle typedef, template instantiation, and '->' operator."
+Handle typedef, template instantiation, and `->' operator."
   (let* ((dereferencer-list '(semantic-c-dereference-typedef
                               semantic-c-dereference-template
                               semantic-c-dereference-member-of
diff --git a/lisp/cedet/semantic/complete.el b/lisp/cedet/semantic/complete.el
index ce9e325..9c32388 100644
--- a/lisp/cedet/semantic/complete.el
+++ b/lisp/cedet/semantic/complete.el
@@ -1491,7 +1491,7 @@ Not meaningful return value."
   "Display completions in *Completions* buffer, with focus highlight.
 A traditional displayor which can focus on a tag by showing it.
 Same as `semantic-displayor-traditional', but with selection between
-multiple tags with the same name done by 'focusing' on the source
+multiple tags with the same name done by focusing on the source
 location of the different tags to differentiate them.")
 
 (cl-defmethod semantic-displayor-focus-request
@@ -1684,7 +1684,7 @@ Display mechanism using tooltip for a list of possible 
completions.")
              (setq msg-tail (concat "\n[<TAB> " (number-to-string (- numcompl 
max-tags)) " more]"))
            (setq msg-tail (concat "\n[<n/a> " (number-to-string (- numcompl 
max-tags)) " more]"))
            (when (>= (oref obj typing-count) 2)
-             (message "Refine search to display results beyond the '%s' limit"
+             (message "Refine search to display results beyond the ‘%s’ limit"
                       (symbol-name 
'semantic-complete-inline-max-tags-extended)))))
         ((= numcompl 1)
          ;; two possible cases
diff --git a/lisp/cedet/semantic/ctxt.el b/lisp/cedet/semantic/ctxt.el
index 456ef8d..33b9a2e 100644
--- a/lisp/cedet/semantic/ctxt.el
+++ b/lisp/cedet/semantic/ctxt.el
@@ -362,7 +362,7 @@ This skips forward over symbols in a complex reference.
 For example, in the C statement:
   this.that().entry;
 
-If the cursor is on 'this', will move point to the ; after entry.")
+If the cursor is on `this', will move point to the ; after entry.")
 
 (defun semantic-ctxt-end-of-symbol-default (&optional point)
   "Move point to the end of the current symbol under POINT.
diff --git a/lisp/cedet/semantic/db.el b/lisp/cedet/semantic/db.el
index 7380bdd..e4ac56c 100644
--- a/lisp/cedet/semantic/db.el
+++ b/lisp/cedet/semantic/db.el
@@ -142,7 +142,7 @@ Abstract tables do not have file names associated with 
them."
   nil)
 
 (cl-defmethod semanticdb-dirty-p ((obj semanticdb-abstract-table))
-  "Return non-nil if OBJ is 'dirty'."
+  "Return non-nil if OBJ is dirty."
   nil)
 
 (cl-defmethod semanticdb-set-dirty ((obj semanticdb-abstract-table))
@@ -313,7 +313,7 @@ If OBJ's file is not loaded, read it in first."
                    (oref (oref obj parent-db) reference-directory)))
 
 (cl-defmethod semanticdb-dirty-p ((obj semanticdb-table))
-  "Return non-nil if OBJ is 'dirty'."
+  "Return non-nil if OBJ is dirty."
   (oref obj dirty))
 
 (cl-defmethod semanticdb-set-dirty ((obj semanticdb-table))
@@ -369,7 +369,7 @@ Abstract tables do not have file names associated with 
them."
   nil)
 
 (cl-defmethod semanticdb-dirty-p ((DB semanticdb-project-database))
-  "Return non-nil if DB is 'dirty'.
+  "Return non-nil if DB is dirty.
 A database is dirty if the state of the database changed in a way
 where it may need to resynchronize with some persistent storage."
   (let ((dirty nil)
diff --git a/lisp/cedet/semantic/java.el b/lisp/cedet/semantic/java.el
index 7dcd7f1..fc02d03 100644
--- a/lisp/cedet/semantic/java.el
+++ b/lisp/cedet/semantic/java.el
@@ -369,7 +369,7 @@ That is @NAME."
 
 (defsubst semantic-java-doc-tag-name (tag)
   "Return name of the doc TAG symbol.
-That is TAG `symbol-name' without the leading '@'."
+That is TAG `symbol-name' without the leading address@hidden"
   (substring (symbol-name tag) 1))
 
 (defun semantic-java-doc-keyword-before-p (k1 k2)
diff --git a/lisp/cedet/semantic/senator.el b/lisp/cedet/semantic/senator.el
index c58def6..372e1d9 100644
--- a/lisp/cedet/semantic/senator.el
+++ b/lisp/cedet/semantic/senator.el
@@ -507,7 +507,7 @@ filters in `senator-search-tag-filter-functions' remain 
active."
 (define-overloadable-function semantic-up-reference (tag)
   "Return a tag that is referred to by TAG.
 A \"reference\" could be any interesting feature of TAG.
-In C++, a function may have a 'parent' which is non-local.
+In C++, a function may have a `parent' which is non-local.
 If that parent which is only a reference in the function tag
 is found, we can jump to it.
 Some tags such as includes have other reference features.")
@@ -516,7 +516,7 @@ Some tags such as includes have other reference features.")
 (defun senator-go-to-up-reference (&optional tag)
   "Move up one reference from the current TAG.
 A \"reference\" could be any interesting feature of TAG.
-In C++, a function may have a 'parent' which is non-local.
+In C++, a function may have a `parent' which is non-local.
 If that parent which is only a reference in the function tag
 is found, we can jump to it.
 Some tags such as includes have other reference features."
diff --git a/lisp/cedet/semantic/wisent/comp.el 
b/lisp/cedet/semantic/wisent/comp.el
index 90c5ebd..6730e8e 100644
--- a/lisp/cedet/semantic/wisent/comp.el
+++ b/lisp/cedet/semantic/wisent/comp.el
@@ -2892,7 +2892,7 @@ Also warn if X is a $N or $regionN symbol with N < 1 or N 
> M."
   "Parse BODY of semantic action.
 N is the maximum number of $N variables that can be referenced in
 BODY.  Warn on references out of permitted range.
-Optional argument FOUND is the accumulated list of '$N' references
+Optional argument FOUND is the accumulated list of $N references
 encountered so far.
 Return a cons (FOUND . XBODY), where FOUND is the list of $N
 references found in BODY, and XBODY is BODY expression with
diff --git a/lisp/cedet/semantic/wisent/python.el 
b/lisp/cedet/semantic/wisent/python.el
index 6abeb4a..2dc3dd3 100644
--- a/lisp/cedet/semantic/wisent/python.el
+++ b/lisp/cedet/semantic/wisent/python.el
@@ -130,7 +130,7 @@ curly braces."
 
 (defun wisent-python-forward-balanced-expression ()
   "Move point to the end of the balanced expression at point.
-Here 'balanced expression' means anything matched by Emacs'
+Here “balanced expression” means anything matched by Emacs's
 open/close parenthesis syntax classes.  We can't use forward-sexp
 for this because that Emacs built-in can't parse Python's
 triple-quoted string syntax."
@@ -490,7 +490,7 @@ Return nil if there is nothing relevant."
 ;;
 (define-mode-local-override semantic-format-tag-abbreviate python-mode (tag 
&optional parent color)
   "Format an abbreviated tag for python.
-Shortens 'code' tags, but passes through for others."
+Shortens `code' tags, but passes through for others."
   (cond ((semantic-tag-of-class-p tag 'code)
         ;; Just take the first line.
         (let ((name (semantic-tag-name tag)))
diff --git a/lisp/cedet/srecode/compile.el b/lisp/cedet/srecode/compile.el
index a8d6a50..c6b3b53 100644
--- a/lisp/cedet/srecode/compile.el
+++ b/lisp/cedet/srecode/compile.el
@@ -75,7 +75,7 @@ any incoming dictionaries values.")
           :initform nil
           :documentation
           "During template insertion, this is the stack of active templates.
-The top-most template is the 'active' template.  Use the accessor methods
+The top-most template is the `active' template.  Use the accessor methods
 for push, pop, and peek for the active template.")
    (table :initarg :table
          :documentation
@@ -290,7 +290,7 @@ Arguments ESCAPE-START and ESCAPE-END are the current 
escape sequences in use."
        )
       ;; Continue
       (setq tags (cdr tags)))
-    
+
     ;; MSG - Before install since nreverse whacks our list.
     (when (called-interactively-p 'interactive)
       (message "%d templates compiled for %s"
diff --git a/lisp/cedet/srecode/dictionary.el b/lisp/cedet/srecode/dictionary.el
index 27e730f..b95d45e 100644
--- a/lisp/cedet/srecode/dictionary.el
+++ b/lisp/cedet/srecode/dictionary.el
@@ -417,7 +417,7 @@ searched for NAME if it is not found in DICT.  This 
recursive
 lookup can be disabled by the optional argument NON-RECURSIVE.
 
 This function derives values for some special NAMEs, such as
-'FIRST' and 'LAST'."
+`FIRST' and `LAST'."
   (if (not (slot-boundp dict 'namehash))
       nil
     ;; Get the value of this name from the dictionary or its parent
diff --git a/lisp/cedet/srecode/document.el b/lisp/cedet/srecode/document.el
index 4757784..f0fe498 100644
--- a/lisp/cedet/srecode/document.el
+++ b/lisp/cedet/srecode/document.el
@@ -655,7 +655,7 @@ If there is only one tag in the region, complain."
   "Create documentation for the function defined in TAG.
 If we can identify a verb in the list followed by some
 name part then check the return value to see if we can use that to
-finish off the sentence.  That is, any function with 'alloc' in it will be
+finish off the sentence.  That is, any function with `alloc' in it will be
 allocating something based on its type."
   (let ((al srecode-document-autocomment-return-first-alist)
        (dropit nil)
diff --git a/lisp/cedet/srecode/insert.el b/lisp/cedet/srecode/insert.el
index c24bd99..d1b0015 100644
--- a/lisp/cedet/srecode/insert.el
+++ b/lisp/cedet/srecode/insert.el
@@ -377,9 +377,9 @@ Can't be blank, or it might be used by regular variable 
insertion.")
     (where :initform 'begin
           :initarg :where
           :documentation
-          "This should be 'begin or 'end, indicating where to insert a CR.
-When set to 'begin, it will insert a CR if we are not at 'bol'.
-When set to 'end it will insert a CR if we are not at 'eol'.")
+          "This should be `begin' or `end', indicating where to insert a CR.
+When `begin', insert a CR if not at 'bol'.
+When `end', insert a CR if not at 'eol'.")
     ;; @TODO - Add slot and control for the number of blank
     ;;         lines before and after point.
    )
@@ -762,7 +762,7 @@ Arguments ESCAPE-START and ESCAPE-END are the current 
escape sequences in use."
 (cl-defmethod srecode-insert-method ((sti srecode-template-inserter-point)
                                  dictionary)
   "Insert the STI inserter.
-Save point in the class allocated 'point' slot.
+Save point in the class allocated `point' slot.
 If `srecode-template-inserter-point-override' non-nil then this
 generalized marker will do something else.  See
 `srecode-template-inserter-include-wrap' as an example."
diff --git a/lisp/cedet/srecode/texi.el b/lisp/cedet/srecode/texi.el
index 6c8f7a6..38bdc9a 100644
--- a/lisp/cedet/srecode/texi.el
+++ b/lisp/cedet/srecode/texi.el
@@ -245,7 +245,7 @@ that class.
  variable   => @code{variable}
  class      => @code{class} @xref{class}
  unknown    => @code{unknown}
- \"text\"     => \\=`\\=`text''
+ \"text\"     => \\=`\\=`text\\='\\='
  'quoteme   => @code{quoteme}
  non-nil    => address@hidden
  t          => @code{t}
diff --git a/lisp/comint.el b/lisp/comint.el
index 7db297a..b840a22 100644
--- a/lisp/comint.el
+++ b/lisp/comint.el
@@ -184,11 +184,11 @@ narrowing in effect.  This way you will be certain that 
none of
 the remaining prompts will be accidentally messed up.  You may
 wish to put something like the following in your init file:
 
-\(add-hook 'comint-mode-hook
+\(add-hook \\='comint-mode-hook
          (lambda ()
-           (define-key comint-mode-map [remap kill-region] 'comint-kill-region)
+           (define-key comint-mode-map [remap kill-region] 
\\='comint-kill-region)
            (define-key comint-mode-map [remap kill-whole-line]
-             'comint-kill-whole-line)))
+             \\='comint-kill-whole-line)))
 
 If you sometimes use comint-mode on text-only terminals or with `emacs -nw',
 you might wish to use another binding for `comint-kill-whole-line'."
diff --git a/lisp/dabbrev.el b/lisp/dabbrev.el
index 50c5207..42d7fd3 100644
--- a/lisp/dabbrev.el
+++ b/lisp/dabbrev.el
@@ -534,7 +534,7 @@ See also `dabbrev-abbrev-char-regexp' and 
\\[dabbrev-completion]."
       (if (not (or (eq dabbrev--last-buffer dabbrev--last-buffer-found)
                   (minibuffer-window-active-p (selected-window))))
          (progn
-           (message "Expansion found in '%s'"
+           (message "Expansion found in `%s'"
                     (buffer-name dabbrev--last-buffer))
            (setq dabbrev--last-buffer-found dabbrev--last-buffer))
        (message nil))
diff --git a/lisp/delim-col.el b/lisp/delim-col.el
index d16a03c..bb4b5f4 100644
--- a/lisp/delim-col.el
+++ b/lisp/delim-col.el
@@ -179,11 +179,11 @@ Valid values are:
                `delimit-columns-separator' and then followed by spaces.
                For example, the result is: \"<ccc>:   <dddd>:  \"
 
-   'separator  align separators.  That is, `delimit-columns-after' is followed
+   `separator' align separators.  That is, `delimit-columns-after' is followed
                by spaces and then followed by `delimit-columns-separator'.
                For example, the result is: \"<ccc>   :<dddd>  :\"
 
-   'padding    format column by filling with spaces before
+   `padding'   format column by filling with spaces before
                `delimit-columns-after'.  That is, spaces are followed by
                `delimit-columns-after' and then followed by
                `delimit-columns-separator'.
diff --git a/lisp/dired-x.el b/lisp/dired-x.el
index c90306a..4e5da0d 100644
--- a/lisp/dired-x.el
+++ b/lisp/dired-x.el
@@ -149,7 +149,7 @@ regexp `dired-omit-files', nor files ending with extensions 
in
 To enable omitting in every Dired buffer, you can put this in
 your init file:
 
-  (add-hook 'dired-mode-hook (lambda () (dired-omit-mode)))
+  (add-hook \\='dired-mode-hook (lambda () (dired-omit-mode)))
 
 See Info node `(dired-x) Omitting Variables' for more information."
   :group 'dired-x
diff --git a/lisp/emacs-lisp/byte-run.el b/lisp/emacs-lisp/byte-run.el
index 2022e1d..3c561db 100644
--- a/lisp/emacs-lisp/byte-run.el
+++ b/lisp/emacs-lisp/byte-run.el
@@ -355,12 +355,12 @@ was first made obsolete, for example a date or a release 
number."
                                                   &optional when docstring)
   "Set OBSOLETE-NAME's function definition to CURRENT-NAME and mark it 
obsolete.
 
-\(define-obsolete-function-alias 'old-fun 'new-fun \"22.1\" \"old-fun's doc.\")
+\(define-obsolete-function-alias \\='old-fun \\='new-fun \"22.1\" \"old-fun's 
doc.\")
 
 is equivalent to the following two lines of code:
 
-\(defalias 'old-fun 'new-fun \"old-fun's doc.\")
-\(make-obsolete 'old-fun 'new-fun \"22.1\")
+\(defalias \\='old-fun \\='new-fun \"old-fun's doc.\")
+\(make-obsolete \\='old-fun \\='new-fun \"22.1\")
 
 See the docstrings of `defalias' and `make-obsolete' for more details."
   (declare (doc-string 4)
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index 2ac926f..8b8b667 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -3825,11 +3825,11 @@ discarding."
   "Execute forms in BODY, potentially guarded by CONDITION.
 CONDITION is a variable whose value is a test in an `if' or `cond'.
 BODY is the code to compile in the first arm of the if or the body of
-the cond clause.  If CONDITION's value is of the form (fboundp 'foo)
-or (boundp 'foo), the relevant warnings from BODY about foo's
+the cond clause.  If CONDITION's value is of the form (fboundp \\='foo)
+or (boundp \\='foo), the relevant warnings from BODY about foo's
 being undefined (or obsolete) will be suppressed.
 
-If CONDITION's value is (not (featurep 'emacs)) or (featurep 'xemacs),
+If CONDITION's value is (not (featurep \\='emacs)) or (featurep \\='xemacs),
 that suppresses all warnings during execution of BODY."
   (declare (indent 1) (debug t))
   `(let* ((fbound-list (byte-compile-find-bound-condition
diff --git a/lisp/emacs-lisp/checkdoc.el b/lisp/emacs-lisp/checkdoc.el
index ebe21d0..8a845f9 100644
--- a/lisp/emacs-lisp/checkdoc.el
+++ b/lisp/emacs-lisp/checkdoc.el
@@ -1419,7 +1419,7 @@ regexp short cuts work.  FP is the function defun 
information."
        (when (re-search-forward "^(" e t)
         (if (checkdoc-autofix-ask-replace (match-beginning 0)
                                           (match-end 0)
-                                          "Escape this '('? "
+                                          "Escape this ‘(’? "
                                           "\\(")
             nil
           (checkdoc-create-error
diff --git a/lisp/emacs-lisp/crm.el b/lisp/emacs-lisp/crm.el
index f516e78..61cb3c3 100644
--- a/lisp/emacs-lisp/crm.el
+++ b/lisp/emacs-lisp/crm.el
@@ -128,8 +128,8 @@ A value of nil specifies `try-completion'.  A value of t 
specifies
 `all-completions'.  A value of lambda specifies a test for an exact match.
 
 For more information on STRING, PREDICATE, and FLAG, see the Elisp
-Reference sections on 'Programmed Completion' and 'Basic Completion
-Functions'."
+Reference sections on “Programmed Completion” and “Basic Completion
+Functions”."
   (let ((beg 0))
     (while (string-match crm-separator string beg)
       (setq beg (match-end 0)))
diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el
index 7cc789f..3ad496a 100644
--- a/lisp/emacs-lisp/edebug.el
+++ b/lisp/emacs-lisp/edebug.el
@@ -85,7 +85,7 @@ This applies to `eval-defun', `eval-region', `eval-buffer', 
and
 
 You can use the command `edebug-all-defs' to toggle the value of this
 variable.  You may wish to make it local to each buffer with
-\(make-local-variable 'edebug-all-defs) in your
+\(make-local-variable \\='edebug-all-defs) in your
 `emacs-lisp-mode-hook'."
   :type 'boolean
   :group 'edebug)
diff --git a/lisp/emacs-lisp/elint.el b/lisp/emacs-lisp/elint.el
index 8c67d8c..15eeb49 100644
--- a/lisp/emacs-lisp/elint.el
+++ b/lisp/emacs-lisp/elint.el
@@ -383,7 +383,7 @@ Returns the forms."
                            tops))
              (end-of-file
               (goto-char elint-current-pos)
-              (error "Missing ')' in top form: %s"
+              (error "Missing ‘)’ in top form: %s"
                      (buffer-substring elint-current-pos
                                        (line-end-position))))))))
       (nreverse tops))))
diff --git a/lisp/emacs-lisp/ert-x.el b/lisp/emacs-lisp/ert-x.el
index 647784b..cae3fa2 100644
--- a/lisp/emacs-lisp/ert-x.el
+++ b/lisp/emacs-lisp/ert-x.el
@@ -214,7 +214,7 @@ property list, or no properties if there is no plist before 
it.
 
 As a simple example,
 
-\(ert-propertized-string \"foo \" '(face italic) \"bar\" \" baz\" nil \
+\(ert-propertized-string \"foo \" \\='(face italic) \"bar\" \" baz\" nil \
 \" quux\"\)
 
 would return the string \"foo bar baz quux\" where the substring
diff --git a/lisp/emacs-lisp/lisp-mnt.el b/lisp/emacs-lisp/lisp-mnt.el
index b37d013..6fdd348 100644
--- a/lisp/emacs-lisp/lisp-mnt.el
+++ b/lisp/emacs-lisp/lisp-mnt.el
@@ -552,11 +552,11 @@ copyright notice is allowed."
               ((not (lm-keywords-finder-p))
                "‘Keywords:’ has no valid finder keywords (see 
‘finder-known-keywords’)")
               ((not (lm-commentary-mark))
-               "Can't find a 'Commentary' section marker")
+               "Can't find a ‘Commentary’ section marker")
               ((not (lm-history-mark))
-               "Can't find a 'History' section marker")
+               "Can't find a ‘History’ section marker")
               ((not (lm-code-mark))
-               "Can't find a 'Code' section marker")
+               "Can't find a ‘Code’ section marker")
               ((progn
                  (goto-char (point-max))
                  (not
diff --git a/lisp/emacs-lisp/pcase.el b/lisp/emacs-lisp/pcase.el
index 7268457..5fe36bb 100644
--- a/lisp/emacs-lisp/pcase.el
+++ b/lisp/emacs-lisp/pcase.el
@@ -115,8 +115,8 @@ Patterns can take the following forms:
   SYMBOL       matches anything and binds it to SYMBOL.
   (or PAT...)  matches if any of the patterns matches.
   (and PAT...) matches if all the patterns match.
-  'VAL         matches if the object is `equal' to VAL
-  ATOM         is a shorthand for 'ATOM.
+  \\='VAL              matches if the object is `equal' to VAL
+  ATOM         is a shorthand for \\='ATOM.
                   ATOM can be a keyword, an integer, or a string.
   (pred FUN)   matches if FUN applied to the object returns non-nil.
   (guard BOOLEXP)      matches if BOOLEXP evaluates to non-nil.
diff --git a/lisp/emacs-lisp/rx.el b/lisp/emacs-lisp/rx.el
index 0129d93..7b0de6e 100644
--- a/lisp/emacs-lisp/rx.el
+++ b/lisp/emacs-lisp/rx.el
@@ -815,9 +815,9 @@ of all atomic regexps."
 
 (defun rx-greedy (form)
   "Parse and produce code from FORM.
-If FORM is '(minimal-match FORM1)', non-greedy versions of `*',
+If FORM is `(minimal-match FORM1)', non-greedy versions of `*',
 `+', and `?' operators will be used in FORM1.  If FORM is
-'(maximal-match FORM1)', greedy operators will be used."
+`(maximal-match FORM1)', greedy operators will be used."
   (rx-check form)
   (let ((rx-greedy-flag (eq (car form) 'maximal-match)))
     (rx-form (cadr form) rx-parent)))
diff --git a/lisp/emacs-lisp/shadow.el b/lisp/emacs-lisp/shadow.el
index 59bf634..c7a95e4 100644
--- a/lisp/emacs-lisp/shadow.el
+++ b/lisp/emacs-lisp/shadow.el
@@ -213,7 +213,7 @@ For example, suppose `load-path' is set to
 
 and that each of these directories contains a file called XXX.el.  Then
 XXX.el in the site-lisp directory is referred to by all of:
-\(require 'XXX), (autoload .... \"XXX\"), (load-library \"XXX\") etc.
+\(require \\='XXX), (autoload .... \"XXX\"), (load-library \"XXX\") etc.
 
 The first XXX.el file prevents Emacs from seeing the second (unless
 the second is loaded explicitly via `load-file').
diff --git a/lisp/emulation/viper-cmd.el b/lisp/emulation/viper-cmd.el
index 14f424e..4fe948a 100644
--- a/lisp/emulation/viper-cmd.el
+++ b/lisp/emulation/viper-cmd.el
@@ -3639,24 +3639,26 @@ the Emacs binding of `/'."
   (let (msg)
     (cond ((or (eq arg 1)
               (and (null arg)
-                   (y-or-n-p (format "Search style: '%s'.  Want '%s'? "
-                                     (if viper-case-fold-search
-                                         "case-insensitive" "case-sensitive")
-                                     (if viper-case-fold-search
-                                         "case-sensitive"
-                                       "case-insensitive")))))
+                   (y-or-n-p (format-message
+                               "Search style: ‘%s’.  Want ‘%s’? "
+                               (if viper-case-fold-search
+                                   "case-insensitive" "case-sensitive")
+                               (if viper-case-fold-search
+                                   "case-sensitive"
+                                 "case-insensitive")))))
           (setq viper-case-fold-search (null viper-case-fold-search))
           (if viper-case-fold-search
               (setq msg "Search becomes case-insensitive")
             (setq msg "Search becomes case-sensitive")))
          ((or (eq arg 2)
               (and (null arg)
-                   (y-or-n-p (format "Search style: '%s'.  Want '%s'? "
-                                     (if viper-re-search
-                                         "regexp-search" "vanilla-search")
-                                     (if viper-re-search
-                                         "vanilla-search"
-                                       "regexp-search")))))
+                   (y-or-n-p (format-message
+                               "Search style: ‘%s’.  Want ‘%s’? "
+                               (if viper-re-search
+                                   "regexp-search" "vanilla-search")
+                               (if viper-re-search
+                                   "vanilla-search"
+                                 "regexp-search")))))
           (setq viper-re-search (null viper-re-search))
           (if viper-re-search
               (setq msg "Search becomes regexp-style")
@@ -4400,7 +4402,7 @@ and regexp replace."
 ;; etc.
 (defun viper-cycle-through-mark-ring ()
   "Visit previous locations on the mark ring.
-One can use \\=`\\=` and '' to temporarily jump 1 step back."
+One can use \\=`\\=` and \\='\\=' to temporarily jump 1 step back."
   (let* ((sv-pt (point)))
        ;; if repeated `m,' command, pop the previously saved mark.
        ;; Prev saved mark is actually prev saved point.  It is used if the
diff --git a/lisp/emulation/viper-init.el b/lisp/emulation/viper-init.el
index d03d703..e28c67a 100644
--- a/lisp/emulation/viper-init.el
+++ b/lisp/emulation/viper-init.el
@@ -583,7 +583,7 @@ the Insert state."
 
 (defcustom viper-keep-point-on-repeat t
   "If t, don't move point when repeating previous command.
-This is useful for doing repeated changes with the '.' key.
+This is useful for doing repeated changes with the ‘.’ key.
 The user can change this to nil, if she likes when the cursor moves
 to a new place after repeating previous Vi command."
   :type 'boolean
diff --git a/lisp/epa.el b/lisp/epa.el
index 47452af..9f112c4 100644
--- a/lisp/epa.el
+++ b/lisp/epa.el
@@ -841,10 +841,10 @@ should consider using the string based counterpart
 
 For example:
 
-\(let ((context (epg-make-context 'OpenPGP)))
+\(let ((context (epg-make-context \\='OpenPGP)))
   (decode-coding-string
     (epg-decrypt-string context (buffer-substring start end))
-    'utf-8))"
+    \\='utf-8))"
   (interactive "r")
   (save-excursion
     (let ((context (epg-make-context epa-protocol))
@@ -939,10 +939,10 @@ should consider using the string based counterpart
 
 For example:
 
-\(let ((context (epg-make-context 'OpenPGP)))
+\(let ((context (epg-make-context \\='OpenPGP)))
   (decode-coding-string
     (epg-verify-string context (buffer-substring start end))
-    'utf-8))"
+    \\='utf-8))"
   (declare (interactive-only t))
   (interactive "r")
   (let ((context (epg-make-context epa-protocol))
@@ -1028,10 +1028,10 @@ based counterpart `epg-sign-file' instead.
 
 For example:
 
-\(let ((context (epg-make-context 'OpenPGP)))
+\(let ((context (epg-make-context \\='OpenPGP)))
   (epg-sign-string
     context
-    (encode-coding-string (buffer-substring start end) 'utf-8)))"
+    (encode-coding-string (buffer-substring start end) \\='utf-8)))"
   (declare (interactive-only t))
   (interactive
    (let ((verbose current-prefix-arg))
@@ -1114,10 +1114,10 @@ file based counterpart `epg-encrypt-file' instead.
 
 For example:
 
-\(let ((context (epg-make-context 'OpenPGP)))
+\(let ((context (epg-make-context \\='OpenPGP)))
   (epg-encrypt-string
     context
-    (encode-coding-string (buffer-substring start end) 'utf-8)
+    (encode-coding-string (buffer-substring start end) \\='utf-8)
     nil))"
   (declare (interactive-only t))
   (interactive
diff --git a/lisp/epg.el b/lisp/epg.el
index 0c8f5c9..ed71e96 100644
--- a/lisp/epg.el
+++ b/lisp/epg.el
@@ -1614,7 +1614,7 @@ handle the case where SIGNATURE has multiple signature.
 
 To check the verification results, use `epg-context-result-for' as follows:
 
-\(epg-context-result-for context 'verify)
+\(epg-context-result-for context \\='verify)
 
 which will return a list of `epg-signature' object."
   (unwind-protect
@@ -1649,7 +1649,7 @@ handle the case where SIGNATURE has multiple signature.
 
 To check the verification results, use `epg-context-result-for' as follows:
 
-\(epg-context-result-for context 'verify)
+\(epg-context-result-for context \\='verify)
 
 which will return a list of `epg-signature' object."
   (let ((coding-system-for-write 'binary)
diff --git a/lisp/erc/erc-button.el b/lisp/erc/erc-button.el
index 3530a31e..6139e93 100644
--- a/lisp/erc/erc-button.el
+++ b/lisp/erc/erc-button.el
@@ -511,7 +511,8 @@ Examples:
 
 (defun erc-nick-popup (nick)
   (let* ((completion-ignore-case t)
-         (action (completing-read (concat "What action to take on '" nick "'? 
")
+         (action (completing-read (format-message
+                                   "What action to take on ‘%s’? " nick)
                                   erc-nick-popup-alist))
          (code (cdr (assoc action erc-nick-popup-alist))))
     (when code
diff --git a/lisp/erc/erc-dcc.el b/lisp/erc/erc-dcc.el
index d4d005d..bb6e311 100644
--- a/lisp/erc/erc-dcc.el
+++ b/lisp/erc/erc-dcc.el
@@ -166,7 +166,7 @@ All values of the list must be uppercase strings.")
   "Return the first matching entry in `erc-dcc-list' which satisfies the
 constraints given as a plist in ARGS. Returns nil on no match.
 
-The property :nick is treated specially, if it contains a '!' character,
+The property :nick is treated specially, if it contains a ‘!’ character,
 it is treated as a address@hidden string, and compared with the :nick property
 value of the individual elements using string-equal. Otherwise it is
 compared with `erc-nick-equal-p' which is IRC case-insensitive."
@@ -315,10 +315,10 @@ Should be set to a string or nil.  If nil, use the value 
of
 
 (defcustom erc-dcc-send-request 'ask
   "How to treat incoming DCC Send requests.
-'ask - Report the Send request, and wait for the user to manually accept it
-       You might want to set `erc-dcc-auto-masks' for this.
-'auto - Automatically accept the request and begin downloading the file
-'ignore - Ignore incoming DCC Send requests completely."
+`ask' - Report the Send request, and wait for the user to manually accept it
+        You might want to set `erc-dcc-auto-masks' for this.
+`auto' - Automatically accept the request and begin downloading the file
+`ignore' - Ignore incoming DCC Send requests completely."
   :group 'erc-dcc
   :type '(choice (const ask) (const auto) (const ignore)))
 
@@ -713,9 +713,9 @@ match, returns that regexp and nil otherwise."
 
 (defcustom erc-dcc-chat-request 'ask
   "How to treat incoming DCC Chat requests.
-'ask - Report the Chat request, and wait for the user to manually accept it
-'auto - Automatically accept the request and open a new chat window
-'ignore - Ignore incoming DCC chat requests completely."
+`ask' - Report the Chat request, and wait for the user to manually accept it
+`auto' - Automatically accept the request and open a new chat window
+`ignore' - Ignore incoming DCC chat requests completely."
   :group 'erc-dcc
   :type '(choice (const ask) (const auto) (const ignore)))
 
diff --git a/lisp/erc/erc-match.el b/lisp/erc/erc-match.el
index 776231f..55f298b 100644
--- a/lisp/erc/erc-match.el
+++ b/lisp/erc/erc-match.el
@@ -88,13 +88,13 @@ Useful to mark nicks from dangerous hosts."
 
 The following values are allowed:
 
- nil              - do not highlight the message at all
- 'keyword         - highlight all instances of current nickname in message
- 'nick            - highlight the nick of the user who typed your nickname
- 'nick-or-keyword - highlight the nick of the user who typed your nickname,
-                    or all instances of the current nickname if there was
-                    no sending user
- 'all             - highlight the entire message where current nickname occurs
+ nil               - do not highlight the message at all
+ `keyword'         - highlight all instances of current nickname in message
+ `nick'            - highlight the nick of the user who typed your nickname
+ `nick-or-keyword' - highlight the nick of the user who typed your nickname,
+                     or all instances of the current nickname if there was
+                     no sending user
+ `all'             - highlight the entire message where current nickname occurs
 
 Any other value disables highlighting of current nickname altogether."
   :group 'erc-match
@@ -110,9 +110,9 @@ See `erc-pals'.
 
 The following values are allowed:
 
-    nil   - do not highlight the message at all
-    'nick - highlight pal's nickname only
-    'all  - highlight the entire message from pal
+    nil    - do not highlight the message at all
+    `nick' - highlight pal's nickname only
+    `all'  - highlight the entire message from pal
 
 Any other value disables pal highlighting altogether."
   :group 'erc-match
@@ -126,9 +126,9 @@ See `erc-fools'.
 
 The following values are allowed:
 
-    nil   - do not highlight the message at all
-    'nick - highlight fool's nickname only
-    'all  - highlight the entire message from fool
+    nil    - do not highlight the message at all
+    `nick' - highlight fool's nickname only
+    `all'  - highlight the entire message from fool
 
 Any other value disables fool highlighting altogether."
   :group 'erc-match
@@ -142,8 +142,8 @@ See variable `erc-keywords'.
 
 The following values are allowed:
 
-    'keyword - highlight keyword only
-    'all     - highlight the entire message containing keyword
+    `keyword' - highlight keyword only
+    `all'     - highlight the entire message containing keyword
 
 Any other value disables keyword highlighting altogether."
   :group 'erc-match
@@ -157,8 +157,8 @@ See `erc-dangerous-hosts'.
 
 The following values are allowed:
 
-    'nick - highlight nick from dangerous-host only
-    'all  - highlight the entire message from dangerous-host
+    `nick' - highlight nick from dangerous-host only
+    `all'  - highlight the entire message from dangerous-host
 
 Any other value disables dangerous-host highlighting altogether."
   :group 'erc-match
diff --git a/lisp/erc/erc-services.el b/lisp/erc/erc-services.el
index b37427f..07a4274 100644
--- a/lisp/erc/erc-services.el
+++ b/lisp/erc/erc-services.el
@@ -83,11 +83,11 @@ communication with those Services."
 
 Possible settings are:.
 
-'autodetect  - Identify when the real Nickserv sends an identify request.
-'nick-change - Identify when you log in or change your nickname.
-'both        - Do the former if the network supports it, otherwise do the
-               latter.
-nil          - Disables automatic Nickserv identification.
+`autodetect'  - Identify when the real Nickserv sends an identify request.
+`nick-change' - Identify when you log in or change your nickname.
+`both'        - Do the former if the network supports it, otherwise do the
+                latter.
+nil           - Disables automatic Nickserv identification.
 
 You can also use M-x erc-nickserv-identify-mode to change modes."
   :group 'erc-services
@@ -447,4 +447,3 @@ When called interactively, read the password using 
`read-passwd'."
 ;; indent-tabs-mode: t
 ;; tab-width: 8
 ;; End:
-
diff --git a/lisp/erc/erc-speedbar.el b/lisp/erc/erc-speedbar.el
index a1bf32b..6015a6a 100644
--- a/lisp/erc/erc-speedbar.el
+++ b/lisp/erc/erc-speedbar.el
@@ -48,9 +48,9 @@
 (defcustom erc-speedbar-sort-users-type 'activity
   "How channel nicknames are sorted.
 
-'activity     - Sort users by channel activity
-'alphabetical - Sort users alphabetically
-nil           - Do not sort users"
+`activity'     - Sort users by channel activity
+`alphabetical' - Sort users alphabetically
+nil            - Do not sort users"
   :group 'erc-speedbar
   :type '(choice (const :tag "Sort users by channel activity" activity)
                 (const :tag "Sort users alphabetically" alphabetical)
@@ -364,4 +364,3 @@ The INDENT level is ignored."
 ;; indent-tabs-mode: t
 ;; tab-width: 8
 ;; End:
-
diff --git a/lisp/erc/erc-track.el b/lisp/erc/erc-track.el
index 1a9aee1..2ebc1f2 100644
--- a/lisp/erc/erc-track.el
+++ b/lisp/erc/erc-track.el
@@ -248,10 +248,10 @@ The effect may be disabled by setting this variable to 
nil."
 Setting this variable only has effects in GNU Emacs versions above 21.3.
 
 Choices are:
-'before-modes - add to the beginning of `mode-line-modes',
-'after-modes  - add to the end of `mode-line-modes',
-t             - add to the end of `global-mode-string',
-nil           - don't add to mode line."
+`before-modes' - add to the beginning of `mode-line-modes',
+`after-modes'  - add to the end of `mode-line-modes',
+t              - add to the end of `global-mode-string',
+nil            - don't add to mode line."
   :group 'erc-track
   :type '(choice (const :tag "Just before mode information" before-modes)
                 (const :tag "Just after mode information" after-modes)
diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el
index 460accd..f282179 100644
--- a/lisp/erc/erc.el
+++ b/lisp/erc/erc.el
@@ -230,7 +230,7 @@ prompt you for it.")
 (defcustom erc-hide-prompt nil
   "If non-nil, do not display the prompt for commands.
 
-\(A command is any input starting with a '/').
+\(A command is any input starting with a ‘/’).
 
 See also the variables `erc-prompt' and `erc-command-indicator'."
   :group 'erc-display
@@ -667,7 +667,7 @@ See also the variable `erc-prompt'."
   "Indicator used by ERC for showing commands.
 
 If non-nil, this will be used in the ERC buffer to indicate
-commands (i.e., input starting with a '/').
+commands (i.e., input starting with a ‘/’).
 
 If nil, the prompt will be constructed from the variable `erc-prompt'."
   :group 'erc-display
@@ -696,8 +696,8 @@ See `erc-notice-prefix'.
 
 The following values are allowed:
 
-    'prefix - highlight notice prefix only
-    'all    - highlight the entire notice
+    `prefix' - highlight notice prefix only
+    `all'    - highlight the entire notice
 
 Any other value disables notice's highlighting altogether."
   :group 'erc-display
@@ -1258,13 +1258,13 @@ erc-NAME-enable, and erc-NAME-disable.
 
 Example:
 
-  ;;;###autoload (autoload 'erc-replace-mode \"erc-replace\")
+  ;;;###autoload (autoload \\='erc-replace-mode \"erc-replace\")
   (define-erc-module replace nil
     \"This mode replaces incoming text according to `erc-replace-alist'.\"
-    ((add-hook 'erc-insert-modify-hook
-               'erc-replace-insert))
-    ((remove-hook 'erc-insert-modify-hook
-                  'erc-replace-insert)))"
+    ((add-hook \\='erc-insert-modify-hook
+               \\='erc-replace-insert))
+    ((remove-hook \\='erc-insert-modify-hook
+                  \\='erc-replace-insert)))"
   (declare (doc-string 3))
   (let* ((sn (symbol-name name))
          (mode (intern (format "erc-%s-mode" (downcase sn))))
@@ -1476,11 +1476,11 @@ Defaults to the server buffer."
 
 The available choices are:
 
-  'window          - in another window,
-  'window-noselect - in another window, but don't select that one,
-  'frame           - in another frame,
-  'bury            - bury it in a new buffer,
-  'buffer          - in place of the current buffer,
+  `window'          - in another window,
+  `window-noselect' - in another window, but don't select that one,
+  `frame'           - in another frame,
+  `bury'            - bury it in a new buffer,
+  `buffer'          - in place of the current buffer,
   any other value  - in place of the current buffer."
   :group 'erc-buffers
   :type '(choice (const :tag "Split window and select" window)
@@ -2789,7 +2789,7 @@ this function from interpreting the line as a command."
 (defun erc-cmd-SAY (line)
   "Send LINE to the current query or channel as a message, not a command.
 
-Use this when you want to send a message with a leading '/'.  Note
+Use this when you want to send a message with a leading ‘/’.  Note
 that since multi-line messages are never a command, you don't
 need this when pasting multiple lines of text."
   (if (string-match "^\\s-*$" line)
@@ -3119,9 +3119,9 @@ a script after exceeding the flood threshold."
         (erc-display-message nil 'error (current-buffer)
                              'cannot-read-file ?f file))
        (t
-        (message "Loading \'%s\'..." file)
+        (message "Loading ‘%s’..." file)
         (erc-load-script file)
-        (message "Loading \'%s\'...done" file))))
+        (message "Loading ‘%s’...done" file))))
     t)
    (t nil)))
 
@@ -4466,7 +4466,7 @@ See also: `erc-echo-notice-in-user-buffers',
   "Handle the logging in process of connection."
   (unless erc-logged-in
     (setq erc-logged-in t)
-    (message "Logging in as \'%s\'... done" (erc-current-nick))
+    (message "Logging in as ‘%s’... done" (erc-current-nick))
     ;; execute a startup script
     (let ((f (erc-select-startup-file)))
       (when f
@@ -6512,7 +6512,7 @@ All windows are opened in the current frame."
     . "\n\nConnection failed!  Not re-establishing connection.\n")
    (finished . "\n\n*** ERC finished ***\n")
    (terminated . "\n\n*** ERC terminated: %e\n")
-   (login . "Logging in as \'%n\'...")
+   (login . "Logging in as ‘%n’...")
    (nick-in-use . "%n is in use. Choose new nickname: ")
    (nick-too-long
     . "WARNING: Nick length (%i) exceeds max NICKLEN(%l) defined by server")
diff --git a/lisp/eshell/em-dirs.el b/lisp/eshell/em-dirs.el
index 8a3b581..ac1616d 100644
--- a/lisp/eshell/em-dirs.el
+++ b/lisp/eshell/em-dirs.el
@@ -71,7 +71,7 @@ they lack somewhat in feel from the typical shell 
equivalents."
   "The function used to normalize the value of Eshell's `pwd'.
 The value returned by `pwd' is also used when recording the
 last-visited directory in the last-dir-ring, so it will affect the
-form of the list used by 'cd ='."
+form of the list used by `cd ='."
   :type '(radio (function-item file-truename)
                (function-item expand-file-name)
                (function-item identity)
@@ -115,7 +115,7 @@ calls \"ls\" and references `eshell-last-arguments'."
   :group 'eshell-dirs)
 
 (defcustom eshell-pushd-tohome nil
-  "If non-nil, make pushd with no arg behave as 'pushd ~' (like `cd').
+  "If non-nil, make pushd with no arg behave as `pushd ~' (like `cd').
 This mirrors the optional behavior of tcsh."
   :type 'boolean
   :group 'eshell-dirs)
@@ -150,11 +150,11 @@ If it is nil, the last-dir-ring will not be written to 
disk."
   "If non-nil, the size of the directory history ring.
 This ring is added to every time `cd' or `pushd' is used.  It simply
 stores the most recent directory locations Eshell has been in.  To
-return to the most recent entry, use 'cd -' (equivalent to 'cd -0').
-To return to an older entry, use 'cd -N', where N is an integer less
+return to the most recent entry, use `cd -' (equivalent to `cd -0').
+To return to an older entry, use `cd -N', where N is an integer less
 than `eshell-last-dir-ring-size'.  To return to the last directory
-matching a particular regexp, use 'cd =REGEXP'.  To display the
-directory history list, use 'cd ='.
+matching a particular regexp, use `cd =REGEXP'.  To display the
+directory history list, use `cd ='.
 
 This mechanism is very similar to that provided by `pushd', except
 it's far more automatic.  `pushd' allows the user to decide which
@@ -313,7 +313,7 @@ Thus, this does not include the current directory.")
       path)))
 
 (defun eshell-expand-multiple-dots (path)
-  "Convert '...' to '../..', '....' to '../../..', etc..
+  "Convert `...' to `../..', `....' to `../../..', etc..
 
 With the following piece of advice, you can make this functionality
 available in most of Emacs, with the exception of filename completion
@@ -364,7 +364,7 @@ in the minibuffer:
       (let ((curdir (eshell/pwd)))
        (if (string-match path curdir)
            (setq path (replace-match subpath nil nil curdir))
-         (error "Path substring '%s' not found" path))))
+         (error "Path substring ‘%s’ not found" path))))
      ((and path (string-match "^-\\([0-9]*\\)$" path))
       (let ((index (match-string 1 path)))
        (setq path
diff --git a/lisp/eshell/em-glob.el b/lisp/eshell/em-glob.el
index c7ebbf8..8abdd00 100644
--- a/lisp/eshell/em-glob.el
+++ b/lisp/eshell/em-glob.el
@@ -193,7 +193,7 @@ The basic syntax is:
   *      .*      matches any group of characters (or none)
   #      *       matches zero or more occurrences of preceding
   ##     +       matches one or more occurrences of preceding
-  (x)    \(x\)   makes 'x' a regular expression group
+  (x)    \(x\)   makes ‘x’ a regular expression group
   |      \|      boolean OR within an expression group
   [a-b]  [a-b]   matches a character or range
   [^a]   [^a]    excludes a character or range
@@ -220,7 +220,7 @@ resulting regular expression."
                  matched-in-pattern (1+ op-begin))
          (let ((xlat (assq op-char eshell-glob-translate-alist)))
            (if (not xlat)
-               (error "Unrecognized globbing character '%c'" op-char)
+               (error "Unrecognized globbing character ‘%c’" op-char)
              (if (stringp (cdr xlat))
                  (setq regexp (concat regexp (cdr xlat))
                        matched-in-pattern (1+ op-begin))
diff --git a/lisp/eshell/em-pred.el b/lisp/eshell/em-pred.el
index 289d37d..539080f 100644
--- a/lisp/eshell/em-pred.el
+++ b/lisp/eshell/em-pred.el
@@ -193,7 +193,7 @@ EXAMPLES:
   ***/*~f*(-/)  recursively (though not traversing symlinks),
                find all directories (or symlinks referring to
                directories) whose names do not begin with f.
-  e*(*Lk+50)    executables 50k or larger beginning with 'e'")
+  e*(*Lk+50)    executables 50k or larger beginning with ‘e’")
 
 (defvar eshell-modifier-help-string
   "Eshell modifier quick reference:
@@ -318,7 +318,7 @@ resultant list of strings."
                    (if (and func (functionp func))
                        (setq preds (eshell-add-pred-func func preds
                                                          negate follow))
-                     (error "Invalid function predicate '%s'"
+                     (error "Invalid function predicate ‘%s’"
                             (eshell-stringify func))))
                (error "Invalid function predicate")))
             ((eq char ?^)
@@ -336,20 +336,20 @@ resultant list of strings."
                              (cons `(lambda (lst)
                                       (mapcar (function ,func) lst))
                                    mods))
-                     (error "Invalid function modifier '%s'"
+                     (error "Invalid function modifier ‘%s’"
                             (eshell-stringify func))))
                (error "Invalid function modifier")))
             ((eq char ?:)
              (forward-char)
              (let ((mod (assq (char-after) eshell-modifier-alist)))
                (if (not mod)
-                   (error "Unknown modifier character '%c'" (char-after))
+                   (error "Unknown modifier character ‘%c’" (char-after))
                  (forward-char)
                  (setq mods (cons (eval (cdr mod)) mods)))))
             (t
              (let ((pred (assq char eshell-predicate-alist)))
                (if (not pred)
-                   (error "Unknown predicate character '%c'" char)
+                   (error "Unknown predicate character ‘%c’" char)
                  (forward-char)
                  (setq preds
                        (eshell-add-pred-func (eval (cdr pred)) preds
@@ -451,7 +451,7 @@ resultant list of strings."
 (defun eshell-pred-file-type (type)
   "Return a test which tests that the file is of a certain TYPE.
 TYPE must be a character, and should be one of the possible options
-that 'ls -l' will show in the first column of its display. "
+that `ls -l' will show in the first column of its display. "
   (when (eq type ?%)
     (setq type (char-after))
     (if (memq type '(?b ?c))
diff --git a/lisp/eshell/em-script.el b/lisp/eshell/em-script.el
index 04f3a98..8e65e44 100644
--- a/lisp/eshell/em-script.el
+++ b/lisp/eshell/em-script.el
@@ -45,7 +45,7 @@ commands, as a script file."
 (defcustom eshell-login-script (expand-file-name "login" eshell-directory-name)
   "If non-nil, a file to invoke when starting up Eshell interactively.
 This file should be a file containing Eshell commands, where comment
-lines begin with '#'."
+lines begin with ‘#’."
   :type 'file
   :group 'eshell-script)
 
@@ -89,7 +89,7 @@ This includes when running `eshell-command'."
 
 (defun eshell-source-file (file &optional args subcommand-p)
   "Execute a series of Eshell commands in FILE, passing ARGS.
-Comments begin with '#'."
+Comments begin with ‘#’."
   (interactive "f")
   (let ((orig (point))
        (here (point-max))
diff --git a/lisp/eshell/em-term.el b/lisp/eshell/em-term.el
index 9ac2813..a8fa973 100644
--- a/lisp/eshell/em-term.el
+++ b/lisp/eshell/em-term.el
@@ -40,7 +40,7 @@
 ;;;###autoload
 (progn
 (defgroup eshell-term nil
-  "This module causes visual commands (e.g., 'vi') to be executed by
+  "This module causes visual commands (e.g., `vi') to be executed by
 the `term' package, which comes with Emacs.  This package handles most
 of the ANSI control codes, allowing curses-based applications to run
 within an Emacs window.  The variable `eshell-visual-commands' defines
diff --git a/lisp/eshell/em-unix.el b/lisp/eshell/em-unix.el
index c50a874..210e74d 100644
--- a/lisp/eshell/em-unix.el
+++ b/lisp/eshell/em-unix.el
@@ -168,10 +168,10 @@ Otherwise, Emacs will attempt to use rsh to invoke du on 
the remote machine."
 
 (defun eshell/info (&rest args)
   "Run the info command in-frame with the same behavior as command-line 
`info', ie:
-  'info'           => goes to top info window
-  'info arg1'      => IF arg1 is a file, then visits arg1
-  'info arg1'      => OTHERWISE goes to top info window and then menu item arg1
-  'info arg1 arg2' => does action for arg1 (either visit-file or menu-item) 
and then menu item arg2
+  `info'           => goes to top info window
+  `info arg1'      => IF arg1 is a file, then visits arg1
+  `info arg1'      => OTHERWISE goes to top info window and then menu item arg1
+  `info arg1 arg2' => does action for arg1 (either visit-file or menu-item) 
and then menu item arg2
   etc."
   (eval-and-compile (require 'info))
   (let ((file (cond
@@ -579,7 +579,7 @@ Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.")
 Create a link to the specified TARGET with optional LINK_NAME.  If there is
 more than one TARGET, the last argument must be a directory;  create links
 in DIRECTORY to each TARGET.  Create hard links by default, symbolic links
-with '--symbolic'.  When creating hard links, each TARGET must exist.")
+with `--symbolic'.  When creating hard links, each TARGET must exist.")
    (let ((no-dereference t))
      (eshell-mvcpln-template "ln" "linking"
                             (if symbolic
diff --git a/lisp/eshell/esh-arg.el b/lisp/eshell/esh-arg.el
index 49ba727..93d795b 100644
--- a/lisp/eshell/esh-arg.el
+++ b/lisp/eshell/esh-arg.el
@@ -237,7 +237,7 @@ Point is left at the end of the arguments."
                    (let* ((here (point))
                           (arg (eshell-parse-argument)))
                      (if (= (point) here)
-                         (error "Failed to parse argument '%s'"
+                         (error "Failed to parse argument `%s'"
                                 (buffer-substring here (point-max))))
                      (and arg (nconc args (list arg)))))))
               (throw 'eshell-incomplete (if (listp delim)
@@ -357,13 +357,13 @@ after are both returned."
          (goto-char (1+ end)))))))
 
 (defun eshell-parse-special-reference ()
-  "Parse a special syntax reference, of the form '#<args>'.
+  "Parse a special syntax reference, of the form `#<args>'.
 
 args           := `type' `whitespace' `arbitrary-args' | `arbitrary-args'
 type           := \"buffer\" or \"process\"
 arbitrary-args := any string of characters.
 
-If the form has no 'type', the syntax is parsed as if 'type' were
+If the form has no `type', the syntax is parsed as if `type' were
 \"buffer\"."
   (when (and (not eshell-current-argument)
              (not eshell-current-quoted)
diff --git a/lisp/eshell/esh-cmd.el b/lisp/eshell/esh-cmd.el
index d0c8cc4..efd8582 100644
--- a/lisp/eshell/esh-cmd.el
+++ b/lisp/eshell/esh-cmd.el
@@ -165,13 +165,13 @@ In order to substitute an alternate command form for 
execution, the
 hook function should throw it using the tag `eshell-replace-command'.
 For example:
 
-  (add-hook 'eshell-named-command-hook 'subst-with-cd)
+  (add-hook \\='eshell-named-command-hook \\='subst-with-cd)
   (defun subst-with-cd (command args)
-    (throw 'eshell-replace-command
+    (throw \\='eshell-replace-command
           (eshell-parse-command \"cd\" args)))
 
 Although useless, the above code will cause any non-glob, non-Lisp
-command (i.e., 'ls' as opposed to '*ls' or '(ls)') to be replaced by a
+command (i.e., `ls' as opposed to `*ls' or `(ls)') to be replaced by a
 call to `cd' using the arguments that were passed to the function."
   :type 'hook
   :group 'eshell-cmd)
@@ -243,7 +243,7 @@ return non-nil if the command is complex."
   "If non-nil, enable Eshell debugging code.
 This is slow, and only useful for debugging problems with Eshell.
 If you change this without using customize after Eshell has loaded,
-you must re-load 'esh-cmd.el'."
+you must re-load `esh-cmd.el'."
   :initialize 'custom-initialize-default
   :set (lambda (symbol value)
         (set symbol value)
@@ -390,7 +390,7 @@ hooks should be run before and after the command."
       (macroexp-progn commands))))
 
 (defun eshell-debug-command (tag subform)
-  "Output a debugging message to '*eshell last cmd*'."
+  "Output a debugging message to `*eshell last cmd*'."
   (let ((buf (get-buffer-create "*eshell last cmd*"))
        (text (eshell-stringify eshell-current-command)))
     (with-current-buffer buf
@@ -424,14 +424,14 @@ hooks should be run before and after the command."
     (setq terms (cdr terms))))
 
 (defun eshell-rewrite-sexp-command (terms)
-  "Rewrite a sexp in initial position, such as '(+ 1 2)'."
+  "Rewrite a sexp in initial position, such as `(+ 1 2)'."
   ;; this occurs when a Lisp expression is in first position
   (if (and (listp (car terms))
           (eq (caar terms) 'eshell-command-to-value))
       (car (cdar terms))))
 
 (defun eshell-rewrite-initial-subcommand (terms)
-  "Rewrite a subcommand in initial position, such as '{+ 1 2}'."
+  "Rewrite a subcommand in initial position, such as `{+ 1 2}'."
   (if (and (listp (car terms))
           (eq (caar terms) 'eshell-as-subcommand))
       (car terms)))
@@ -634,7 +634,7 @@ For an external command, it means an exit code of 0."
     final))
 
 (defun eshell-parse-subcommand-argument ()
-  "Parse a subcommand argument of the form '{command}'."
+  "Parse a subcommand argument of the form `{command}'."
   (if (and (not eshell-current-argument)
           (not eshell-current-quoted)
           (eq (char-after) ?\{)
diff --git a/lisp/eshell/esh-ext.el b/lisp/eshell/esh-ext.el
index 91c4f4b..81ffaa7 100644
--- a/lisp/eshell/esh-ext.el
+++ b/lisp/eshell/esh-ext.el
@@ -66,7 +66,7 @@ loaded into memory, thus beginning a new process."
 This can be useful on systems like Windows, where the operating system
 doesn't support the execution bit for shell scripts; or in cases where
 you want to associate an interpreter with a particular kind of script
-file, but the language won't let you but a '#!' interpreter line in
+file, but the language won't let you but a `#!' interpreter line in
 the file, and you don't want to make it executable since nothing else
 but Eshell will be able to understand
 `eshell-interpreter-alist'."
diff --git a/lisp/eshell/esh-io.el b/lisp/eshell/esh-io.el
index dc731bc..749c481 100644
--- a/lisp/eshell/esh-io.el
+++ b/lisp/eshell/esh-io.el
@@ -182,7 +182,7 @@ not be added to this variable."
                 #'eshell--apply-redirections))
 
 (defun eshell-parse-redirection ()
-  "Parse an output redirection, such as '2>'."
+  "Parse an output redirection, such as `2>'."
   (if (and (not eshell-current-quoted)
           (looking-at "\\([0-9]\\)?\\(<\\|>+\\)&?\\([0-9]\\)?\\s-*"))
       (if eshell-current-argument
diff --git a/lisp/eshell/esh-opt.el b/lisp/eshell/esh-opt.el
index 5b4cdb0..2e929b0 100644
--- a/lisp/eshell/esh-opt.el
+++ b/lisp/eshell/esh-opt.el
@@ -178,9 +178,9 @@ This code doesn't really need to be macro expanded 
everywhere."
       (if extcmd
          (setq usage
                (concat usage
-                       (format "
+                       (format-message "
 This command is implemented in Lisp.  If an unrecognized option is
-passed to this command, the external version '%s'
+passed to this command, the external version ‘%s’
 will be called instead." extcmd)))))
     (throw 'eshell-usage usage)))
 
diff --git a/lisp/eshell/esh-var.el b/lisp/eshell/esh-var.el
index 197a8e7..f5110c3 100644
--- a/lisp/eshell/esh-var.el
+++ b/lisp/eshell/esh-var.el
@@ -116,7 +116,7 @@
 (require 'ring)
 
 (defgroup eshell-var nil
-  "Variable interpolation is introduced whenever the '$' character
+  "Variable interpolation is introduced whenever the ‘$’ character
 appears unquoted in any argument (except when that argument is
 surrounded by single quotes).  It may be used to interpolate a
 variable value, a subcommand, or even the result of a Lisp form."
@@ -148,7 +148,7 @@ variable value, a subcommand, or even the result of a Lisp 
form."
 
 (defcustom eshell-variable-name-regexp "[A-Za-z0-9_-]+"
   "A regexp identifying what constitutes a variable name reference.
-Note that this only applies for '$NAME'.  If the syntax '$<NAME>' is
+Note that this only applies for `$NAME'.  If the syntax `$<NAME>' is
 used, then NAME can contain any character, including angle brackets,
 if they are quoted with a backslash."
   :type 'regexp
@@ -186,12 +186,12 @@ if they are quoted with a backslash."
 It is very similar in concept to what `eshell-user-aliases-list' does
 for commands.  Each member of this defines the name of a command,
 and the Lisp value to return for that variable if it is accessed
-via the syntax '$NAME'.
+via the syntax `$NAME'.
 
 If the value is a function, that function will be called with two
 arguments: the list of the indices that was used in the reference, and
 whether the user is requesting the length of the ultimate element.
-For example, a reference of '$NAME[10][20]' would result in the
+For example, a reference of `$NAME[10][20]' would result in the
 function for alias `NAME' being called (assuming it were aliased to a
 function), and the arguments passed to this function would be the list
 '(10 20)', and nil."
@@ -231,7 +231,7 @@ function), and the arguments passed to this function would 
be the list
              'eshell-complete-variable-assignment nil t)))
 
 (defun eshell-handle-local-variables ()
-  "Allow for the syntax 'VAR=val <command> <args>'."
+  "Allow for the syntax `VAR=val <command> <args>'."
   ;; strip off any null commands, which can only happen if a variable
   ;; evaluates to nil, such as "$var x", where `var' is nil.  The
   ;; command name in that case becomes `x', for compatibility with
diff --git a/lisp/files-x.el b/lisp/files-x.el
index a130ffc..524ad49 100644
--- a/lisp/files-x.el
+++ b/lisp/files-x.el
@@ -189,7 +189,7 @@ from the Local Variables list ignoring the input argument 
VALUE."
        (unless (let ((case-fold-search t))
                  (goto-char beg)
                  (search-forward "Local Variables:" nil t))
-         (throw 'exit (message "Can't add file-local variables"))))
+         (throw 'exit (message "Can’t add file-local variables"))))
 
       ;; prefix is what comes before "local variables:" in its line.
       ;; suffix is what comes after "local variables:" in its line.
diff --git a/lisp/filesets.el b/lisp/filesets.el
index a30c187..8e2b145 100644
--- a/lisp/filesets.el
+++ b/lisp/filesets.el
@@ -416,7 +416,7 @@ Possible uses: If you don't want to save `filesets-data' in 
your normal
 configuration file, you can add a something like this
 
        \(lambda ()
-             \(insert (format \"(setq-default filesets-data '%S)\"
+             \(insert (format \"(setq-default filesets-data \\='%S)\"
                              filesets-data))
              \(newline 2))
 
@@ -975,7 +975,7 @@ being an association list with the fields:
 
 :pattern DIR PATTERN ... a base directory and a regexp matching
                          files in that directory.  Usually,
-                         PATTERN has the form '^REGEXP$'.  Unlike
+                         PATTERN has the form `^REGEXP$'.  Unlike
                          :tree, this form does not descend
                          recursively into subdirectories.
 
@@ -1799,7 +1799,7 @@ User will be queried, if no fileset name is provided."
                     (current-buffer)))
         (name   (or name
                     (completing-read
-                     (format "Add '%s' to fileset: " buffer)
+                     (format-message "Add ‘%s’ to fileset: " buffer)
                      filesets-data nil)))
          (entry  (or (assoc name filesets-data)
                      (when (y-or-n-p
@@ -1819,13 +1819,13 @@ User will be queried, if no fileset name is provided."
                                        :test 'filesets-files-equalp)))
          (cond
           (inlist
-           (message "Filesets: '%s' is already in '%s'" this name))
+           (message "Filesets: ‘%s’ is already in ‘%s’" this name))
           ((and (equal (filesets-entry-mode entry) ':files)
                 this)
            (filesets-entry-set-files entry (cons this files) t)
            (filesets-set-config name 'filesets-data filesets-data))
           (t
-           (message "Filesets: Can't add '%s' to fileset '%s'" this name)))))))
+           (message "Filesets: Can't add ‘%s’ to fileset ‘%s’" this name)))))))
 
 (defun filesets-remove-buffer (&optional name buffer)
   "Remove BUFFER (or current buffer) to fileset NAME.
@@ -1835,7 +1835,7 @@ User will be queried, if no fileset name is provided."
                     (current-buffer)))
         (name   (or name
                     (completing-read
-                     (format "Remove '%s' from fileset: " buffer)
+                     (format-message "Remove ‘%s’ from fileset: " buffer)
                      filesets-data nil t)))
                 (entry (assoc name filesets-data)))
     (if entry
@@ -1848,7 +1848,7 @@ User will be queried, if no fileset name is provided."
              (let ((new (list (cons ':files (delete (car inlist) files)))))
                (setcdr entry new)
                (filesets-set-config name 'filesets-data filesets-data))
-           (message "Filesets: Can't remove '%s' from fileset '%s'"
+           (message "Filesets: Can't remove ‘%s’ from fileset ‘%s’"
                     this
                     name))))))
 
@@ -2437,38 +2437,38 @@ fileset thinks this is necessary or not."
   (filesets-menu-cache-file-load))
 
 (defun filesets-update-pre010505 ()
-  (let ((msg
+  (let ((msg (format-message
 "Filesets: manual editing of user data required!
 
 Filesets has detected that you were using an older version before,
-which requires some manual updating. Type 'y' for editing the startup
+which requires some manual updating. Type ‘y’ for editing the startup
 file now.
 
-The layout of `filesets-data' has changed. Please delete your cache file
+The layout of ‘filesets-data’ has changed. Please delete your cache file
 and edit your startup file as shown below:
 
-1. `filesets-data': Edit all :pattern filesets in your startup file and
+1. ‘filesets-data’: Edit all :pattern filesets in your startup file and
 transform all entries as shown in this example:
 
        \(\"Test\" (:pattern \"~/dir/^pattern$\"))
        --> \(\"Test\" (:pattern \"~/dir/\" \"^pattern$\"))
 
-2. `filesets-data': Change all occurrences of \":document\" to \":ingroup\":
+2. ‘filesets-data’: Change all occurrences of \":document\" to \":ingroup\":
 
       \(\(\"Test\" \(:document \"~/dir/file\"))
       --> \(\(\"Test\" \(:ingroup \"~/dir/file\"))
 
-3. `filesets-subdocument-patterns': If you already modified the variable
-previously called `filesets-subdocument-patterns', change its name to
-`filesets-ingroup-patterns'.
+3. ‘filesets-subdocument-patterns’: If you already modified the variable
+previously called ‘filesets-subdocument-patterns’, change its name to
+‘filesets-ingroup-patterns’.
 
-4. `filesets-menu-cache-contents': If you already modified this
-variable, change the entry `filesets-subdocument--cache' to
-`filesets-ingroup-cache'.
+4. ‘filesets-menu-cache-contents’: If you already modified this
+variable, change the entry ‘filesets-subdocument--cache’ to
+‘filesets-ingroup-cache’.
 
 5. Type M-x filesets-update-cleanup and restart Emacs.
 
-We apologize for the inconvenience."))
+We apologize for the inconvenience.")))
     (let* ((cf (or custom-file user-init-file)))
       (switch-to-buffer-other-frame "*Filesets update*")
       (insert msg)
diff --git a/lisp/find-cmd.el b/lisp/find-cmd.el
index 7230761..8e41906 100644
--- a/lisp/find-cmd.el
+++ b/lisp/find-cmd.el
@@ -140,8 +140,8 @@ the string will be quoted).")
   "Initiate the building of a find command.
 For example:
 
-\(find-cmd '\(prune \(name \".svn\" \".git\" \".CVS\"\)\)
-          '\(and \(or \(name \"*.pl\" \"*.pm\" \"*.t\"\)
+\(find-cmd \\='\(prune \(name \".svn\" \".git\" \".CVS\"\)\)
+          \\='\(and \(or \(name \"*.pl\" \"*.pm\" \"*.t\"\)
                     \(mtime \"+1\"\)\)
                 \(fstype \"nfs\" \"ufs\"\)\)\)\)
 
@@ -161,7 +161,7 @@ result is a string that should be ready for the command 
line."
   "And FORMs together, so:
   \(and \(mtime \"+1\"\) \(name \"something\"\)\)
 will produce:
-  find . \\\( -mtime '+1' -and -name 'something' \\\)"
+  find . \\\( -mtime +1 -and -name something \\\)"
   (if (< (length form) 2)
       (find-to-string (car form))
       (concat "\\( "
@@ -172,7 +172,7 @@ will produce:
   "Or FORMs together, so:
   \(or \(mtime \"+1\"\) \(name \"something\"\)\)
 will produce:
-  find . \\\( -mtime '+1' -or -name 'something' \\\)"
+  find . \\\( -mtime +1 -or -name something \\\)"
   (if (< (length form) 2)
       (find-to-string (car form))
       (concat "\\( "
@@ -183,19 +183,19 @@ will produce:
   "Or FORMs together and prefix with a -not, so:
   \(not \(mtime \"+1\"\) \(name \"something\"\)\)
 will produce:
-  -not \\\( -mtime '+1' -or -name 'something' \\\)
+  -not \\\( -mtime +1 -or -name something \\\)
 If you wanted the FORMs -and(ed) together instead then this would
 suffice:
   \(not \(and \(mtime \"+1\"\) \(name \"something\"\)\)\)"
   (concat "-not " (find-or (mapcar #'find-to-string form))))
 
 (defun find-prune (form)
-  "-or together FORMs postfix '-prune' and then -or that with a
+  "-or together FORMs postfix `-prune' and then -or that with a
 -true, so:
-  \(prune \(name \".svn\" \".git\"\)\) \(name \"*.pm\"\)
+  \(\(prune \(name \".svn\" \".git\"\)\) \(name \"*.pm\"\)\)
 will produce (unwrapped):
-  \\\( \\\( \\\( -name '.svn' -or -name '.git' \\\) /
-  -prune -or -true \\\) -and -name '*.pm' \\\)"
+  \\\( \\\( \\\( -name .svn -or -name .git \\\) /
+  -prune -or -true \\\) -and -name *.pm \\\)"
   (find-or
    (list
     (concat (find-or (mapcar #'find-to-string form)) (find-generic "prune"))
@@ -209,7 +209,7 @@ args that OPTION can receive and ARGS are the arguments for 
OPTION.
 If DONT-QUOTE is non-nil, arguments are quoted for passing them to
 the shell."
   (when (and (numberp argcount) (< (length args) argcount))
-    (error "'%s' needs at least %d arguments" option argcount))
+    (error "‘%s’ needs at least %d arguments" option argcount))
   (let ((oper (or oper 'find-or)))
     (if (and args (length args))
         (funcall oper (mapcar (lambda (x)
@@ -247,7 +247,7 @@ them into valid switches.  The result is -and(ed) together."
             (find-to-string
              (find-generic option oper argcnt (cdr form) dont-quote))))
          (t
-          (error "Sorry I don't know how to handle '%s'" (car form))))))))
+          (error "Sorry I don't know how to handle ‘%s’" (car form))))))))
 
 (provide 'find-cmd)
 
diff --git a/lisp/find-dired.el b/lisp/find-dired.el
index 0dc98de..c5b8828 100644
--- a/lisp/find-dired.el
+++ b/lisp/find-dired.el
@@ -238,7 +238,7 @@ and run Dired on those files.
 PATTERN is a shell wildcard (not an Emacs regexp) and need not be quoted.
 The default command run (after changing into DIR) is
 
-    find . -name 'PATTERN' -ls
+    find . -name \\='PATTERN\\=' -ls
 
 See `find-name-arg' to customize the arguments."
   (interactive
diff --git a/lisp/finder.el b/lisp/finder.el
index 715dd94..51226ae 100644
--- a/lisp/finder.el
+++ b/lisp/finder.el
@@ -393,7 +393,7 @@ FILE should be in a form suitable for passing to 
`locate-library'."
       (if (locate-library (match-string 1))
           (make-text-button (match-beginning 1) (match-end 1)
                             'xref (match-string-no-properties 1)
-                            'help-echo "Read this file's commentary"
+                            'help-echo "Read this file’s commentary"
                             :type 'finder-xref)))
     (goto-char (point-min))
     (setq buffer-read-only t)
diff --git a/lisp/font-core.el b/lisp/font-core.el
index 5dd6ad3..6d8588b 100644
--- a/lisp/font-core.el
+++ b/lisp/font-core.el
@@ -106,7 +106,7 @@ fontifying different parts of buffer text, use 
\\[customize-face].
 You can enable Font Lock mode in any major mode automatically by turning on in
 the major mode's hook.  For example, put in your ~/.emacs:
 
- (add-hook 'c-mode-hook 'turn-on-font-lock)
+ (add-hook \\='c-mode-hook \\='turn-on-font-lock)
 
 Alternatively, you can use Global Font Lock mode to automagically turn on Font
 Lock mode in buffers whose major mode supports it and whose major mode is one
diff --git a/lisp/font-lock.el b/lisp/font-lock.el
index 2fba6a8..5f12c6c 100644
--- a/lisp/font-lock.el
+++ b/lisp/font-lock.el
@@ -696,12 +696,12 @@ pass nil for MODE and add the call to c-mode-hook.
 
 For example:
 
- (add-hook 'c-mode-hook
+ (add-hook \\='c-mode-hook
   (lambda ()
    (font-lock-add-keywords nil
-    '((\"\\\\\\=<\\\\(FIXME\\\\):\" 1 'font-lock-warning-face prepend)
+    \\='((\"\\\\\\=<\\\\(FIXME\\\\):\" 1 \\='font-lock-warning-face prepend)
       (\"\\\\\\=<\\\\(and\\\\|or\\\\|not\\\\)\\\\\\=>\" .
-       'font-lock-keyword-face)))))
+       \\='font-lock-keyword-face)))))
 
 The above procedure may fail to add keywords to derived modes if
 some involved major mode does not follow the standard conventions.
diff --git a/lisp/gnus/auth-source.el b/lisp/gnus/auth-source.el
index 0c0e63b..367ef6a 100644
--- a/lisp/gnus/auth-source.el
+++ b/lisp/gnus/auth-source.el
@@ -577,25 +577,25 @@ port keys.
 
 Here's an example:
 
-\(let ((auth-source-creation-defaults '((user . \"defaultUser\")
+\(let ((auth-source-creation-defaults \\='((user . \"defaultUser\")
                                         (A    . \"default A\"))))
-  (auth-source-search :host \"mine\" :type 'netrc :max 1
+  (auth-source-search :host \"mine\" :type \\='netrc :max 1
                       :P \"pppp\" :Q \"qqqq\"
                       :create t))
 
 which says:
 
-\"Search for any entry matching host 'mine' in backends of type
- 'netrc', maximum one result.
+\"Search for any entry matching host `mine' in backends of type
+ `netrc', maximum one result.
 
  Create a new entry if you found none.  The netrc backend will
  automatically require host, user, and port.  The host will be
- 'mine'.  We prompt for the user with default 'defaultUser' and
+ `mine'.  We prompt for the user with default `defaultUser' and
  for the port without a default.  We will not prompt for A, Q,
  or P.  The resulting token will only have keys user, host, and
  port.\"
 
-:create '(A B C) also means to create a token if possible.
+:create \\='(A B C) also means to create a token if possible.
 
 The behavior is like :create t but if the list contains any
 parameter, that parameter will be required in the resulting
@@ -604,32 +604,32 @@ search parameters or from user input.  If any queries are 
needed,
 the alist `auth-source-creation-defaults' will be checked for the
 default value.  If the user, host, or port are missing, the alist
 `auth-source-creation-prompts' will be used to look up the
-prompts IN THAT ORDER (so the 'user prompt will be queried first,
-then 'host, then 'port, and finally 'secret).  Each prompt string
+prompts IN THAT ORDER (so the `user' prompt will be queried first,
+then `host', then `port', and finally `secret').  Each prompt string
 can use %u, %h, and %p to show the user, host, and port.
 
 Here's an example:
 
-\(let ((auth-source-creation-defaults '((user . \"defaultUser\")
+\(let ((auth-source-creation-defaults \\='((user . \"defaultUser\")
                                         (A    . \"default A\")))
        (auth-source-creation-prompts
-        '((password . \"Enter IMAP password for %h:%p: \"))))
-  (auth-source-search :host '(\"nonesuch\" \"twosuch\") :type 'netrc :max 1
+        \\='((password . \"Enter IMAP password for %h:%p: \"))))
+  (auth-source-search :host \\='(\"nonesuch\" \"twosuch\") :type \\='netrc 
:max 1
                       :P \"pppp\" :Q \"qqqq\"
-                      :create '(A B Q)))
+                      :create \\='(A B Q)))
 
 which says:
 
-\"Search for any entry matching host 'nonesuch'
- or 'twosuch' in backends of type 'netrc', maximum one result.
+\"Search for any entry matching host `nonesuch'
+ or `twosuch' in backends of type `netrc', maximum one result.
 
  Create a new entry if you found none.  The netrc backend will
  automatically require host, user, and port.  The host will be
- 'nonesuch' and Q will be 'qqqq'.  We prompt for the password
+ `nonesuch' and Q will be `qqqq'.  We prompt for the password
  with the shown prompt.  We will not prompt for Q.  The resulting
  token will have keys user, host, port, A, B, and Q.  It will not
  have P with any value, even though P is used in the search to
- find only entries that have P set to 'pppp'.\"
+ find only entries that have P set to `pppp'.\"
 
 When multiple values are specified in the search parameter, the
 user is prompted for which one.  So :host (X Y Z) would ask the
@@ -650,8 +650,8 @@ property.
 Use `auth-source-delete' in ELisp code instead of calling
 `auth-source-search' directly with this parameter.
 
-:type (X Y Z) will check only those backend types.  'netrc and
-'secrets are the only ones supported right now.
+:type (X Y Z) will check only those backend types.  `netrc' and
+`secrets' are the only ones supported right now.
 
 :max N means to try to return at most N items (defaults to 1).
 More than N items may be returned, depending on the search and
@@ -1097,7 +1097,7 @@ Note that the MAX parameter is used so we can exit the 
parse early."
           (if (equal item2 "machine")
               (progn
                 (gnus-error 1
-                 "%s: Unexpected 'machine' token at line %d"
+                 "%s: Unexpected ‘machine’ token at line %d"
                  "auth-source-netrc-parse-entries"
                  (auth-source-current-line))
                 (forward-line 1))
@@ -1554,23 +1554,23 @@ matching, do a wider search and narrow it down yourself.
 
 You'll get back all the properties of the token as a plist.
 
-Here's an example that looks for the first item in the 'Login'
+Here's an example that looks for the first item in the `Login'
 Secrets collection:
 
- \(let ((auth-sources '(\"secrets:Login\")))
+ \(let ((auth-sources \\='(\"secrets:Login\")))
     (auth-source-search :max 1)
 
-Here's another that looks for the first item in the 'Login'
-Secrets collection whose label contains 'gnus':
+Here's another that looks for the first item in the `Login'
+Secrets collection whose label contains `gnus':
 
- \(let ((auth-sources '(\"secrets:Login\")))
+ \(let ((auth-sources \\='(\"secrets:Login\")))
     (auth-source-search :max 1 :label \"gnus\")
 
-And this one looks for the first item in the 'Login' Secrets
+And this one looks for the first item in the `Login' Secrets
 collection that's a Google Chrome entry for the git.gnus.org site
 authentication tokens:
 
- \(let ((auth-sources '(\"secrets:Login\")))
+ \(let ((auth-sources \\='(\"secrets:Login\")))
     (auth-source-search :max 1 :signon_realm \"https://git.gnus.org/Git\";))
 "
 
@@ -1674,8 +1674,8 @@ matching, do a wider search and narrow it down yourself.
 
 You'll get back all the properties of the token as a plist.
 
-The :type key is either 'macos-keychain-internet or
-'macos-keychain-generic.
+The :type key is either `macos-keychain-internet' or
+`macos-keychain-generic'.
 
 For the internet keychain type, the :label key searches the
 item's labels (\"-l LABEL\" passed to \"/usr/bin/security\").
@@ -1691,19 +1691,19 @@ field), :user maps to \"-a USER\", and :port maps to 
\"-s PORT\".
 Here's an example that looks for the first item in the default
 generic MacOS Keychain:
 
- \(let ((auth-sources '(macos-keychain-generic)))
+ \(let ((auth-sources \\='(macos-keychain-generic)))
     (auth-source-search :max 1)
 
 Here's another that looks for the first item in the internet
-MacOS Keychain collection whose label is 'gnus':
+MacOS Keychain collection whose label is `gnus':
 
- \(let ((auth-sources '(macos-keychain-internet)))
+ \(let ((auth-sources \\='(macos-keychain-internet)))
     (auth-source-search :max 1 :label \"gnus\")
 
 And this one looks for the first item in the internet keychain
 entries for git.gnus.org:
 
- \(let ((auth-sources '(macos-keychain-internet\")))
+ \(let ((auth-sources \\='(macos-keychain-internet\")))
     (auth-source-search :max 1 :host \"git.gnus.org\"))
 "
   ;; TODO
diff --git a/lisp/gnus/gnus-agent.el b/lisp/gnus/gnus-agent.el
index f779f3c..5f1ffe7 100644
--- a/lisp/gnus/gnus-agent.el
+++ b/lisp/gnus/gnus-agent.el
@@ -1721,7 +1721,7 @@ and that there are no duplicates."
               (or backed-up
                   (setq backed-up (gnus-agent-backup-overview-buffer)))
              (gnus-message 1
-                           "Overview buffer contains garbage '%s'."
+                           "Overview buffer contains garbage ‘%s’."
                            (buffer-substring
                             p (point-at-eol))))
             ((= cur prev-num)
@@ -1901,7 +1901,7 @@ article numbers will be returned."
 
       (when articles
        (gnus-message
-        10 "gnus-agent-fetch-headers: undownloaded articles are '%s'"
+        10 "gnus-agent-fetch-headers: undownloaded articles are ‘%s’"
         (gnus-compress-sequence articles t)))
 
       (with-current-buffer nntp-server-buffer
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el
index b26fe06..1a439ec 100644
--- a/lisp/gnus/gnus-art.el
+++ b/lisp/gnus/gnus-art.el
@@ -399,7 +399,7 @@ advertisements.  For example:
   "*Alist that says how to fontify certain phrases.
 Each item looks like this:
 
-  (\"_\\\\(\\\\w+\\\\)_\" 0 1 'underline)
+  (\"_\\\\(\\\\w+\\\\)_\" 0 1 \\='underline)
 
 The first element is a regular expression to be matched.  The second
 is a number that says what regular expression grouping used to find
diff --git a/lisp/gnus/gnus-int.el b/lisp/gnus/gnus-int.el
index 4e870bb..1c098fa 100644
--- a/lisp/gnus/gnus-int.el
+++ b/lisp/gnus/gnus-int.el
@@ -164,8 +164,8 @@ If CONFIRM is non-nil, the user will be asked for an NNTP 
server."
        (gnus-open-server gnus-select-method)
        gnus-batch-mode
        (gnus-y-or-n-p
-       (format
-        "%s (%s) open error: '%s'.  Continue? "
+       (gnus-format-message
+        "%s (%s) open error: ‘%s’.  Continue? "
         (car gnus-select-method) (cadr gnus-select-method)
         (gnus-status-message gnus-select-method)))
        (gnus-error 1 "Couldn't open server on %s"
@@ -555,7 +555,7 @@ the group's summary.
   (let ((saved-display
          (gnus-group-get-parameter group 'display :allow-list)))
 
-    ;; Tell gnus we really don't want any articles 
+    ;; Tell gnus we really don't want any articles
     (gnus-group-set-parameter group 'display 0)
 
     (unwind-protect
@@ -573,7 +573,7 @@ the group's summary.
   ;; Create it now and insert the message
   (let ((group-is-new (gnus-summary-setup-buffer group)))
     (condition-case err
-        (let ((article-number 
+        (let ((article-number
                (gnus-summary-insert-subject message-id)))
           (unless article-number
             (signal 'error "message-id not in group"))
diff --git a/lisp/gnus/gnus-registry.el b/lisp/gnus/gnus-registry.el
index 5044397..e91dd98 100644
--- a/lisp/gnus/gnus-registry.el
+++ b/lisp/gnus/gnus-registry.el
@@ -558,7 +558,7 @@ See the Info node `(gnus)Fancy Mail Splitting' for more 
details."
                      do (gnus-message
                          ;; warn more if gnus-registry-track-extra
                          (if gnus-registry-track-extra 7 9)
-                         "%s (extra tracking) traced subject '%s' to %s"
+                         "%s (extra tracking) traced subject ‘%s’ to %s"
                          log-agent subject group)
                     and collect group))
          ;; filter the found groups and return them
@@ -585,7 +585,7 @@ See the Info node `(gnus)Fancy Mail Splitting' for more 
details."
                      do (gnus-message
                          ;; warn more if gnus-registry-track-extra
                          (if gnus-registry-track-extra 7 9)
-                         "%s (extra tracking) traced sender '%s' to %s"
+                         "%s (extra tracking) traced sender ‘%s’ to %s"
                          log-agent sender group)
                      and collect group)))
 
@@ -615,7 +615,7 @@ See the Info node `(gnus)Fancy Mail Splitting' for more 
details."
                          do (gnus-message
                              ;; warn more if gnus-registry-track-extra
                              (if gnus-registry-track-extra 7 9)
-                             "%s (extra tracking) traced recipient '%s' to %s"
+                             "%s (extra tracking) traced recipient ‘%s’ to %s"
                              log-agent recp group)
                         and collect group)))))
 
@@ -630,7 +630,7 @@ See the Info node `(gnus)Fancy Mail Splitting' for more 
details."
 (defun gnus-registry-post-process-groups (mode key groups)
   "Inspects GROUPS found by MODE for KEY to determine which ones to follow.
 
-MODE can be 'subject' or 'sender' for example.  The KEY is the
+MODE can be `subject' or `sender' for example.  The KEY is the
 value by which MODE was searched.
 
 Transforms each group name to the equivalent short name.
@@ -712,12 +712,12 @@ possible.  Uses `gnus-registry-split-strategy'."
      ((null out)
       (gnus-message
        5
-       "%s: no matches for %s '%s'."
+       "%s: no matches for %s ‘%s’."
        log-agent mode key)
       nil)
      (t (gnus-message
          5
-         "%s: too many extra matches (%s) for %s '%s'.  Returning none."
+         "%s: too many extra matches (%s) for %s ‘%s’.  Returning none."
          log-agent out mode key)
         nil))))
 
diff --git a/lisp/gnus/gnus-score.el b/lisp/gnus/gnus-score.el
index 7f3ab5e..ffd8696 100644
--- a/lisp/gnus/gnus-score.el
+++ b/lisp/gnus/gnus-score.el
@@ -626,7 +626,7 @@ current score file."
              (if mimic
                  (progn
                    (sit-for 1) (message "%c %c-" prefix hchar))
-               (message "%s header '%s' with match type (%s?): "
+               (message "%s header ‘%s’ with match type (%s?): "
                         (if increase "Increase" "Lower")
                         (nth 1 entry)
                         (mapconcat (lambda (s) (char-to-string (car s)))
diff --git a/lisp/gnus/gnus-sieve.el b/lisp/gnus/gnus-sieve.el
index 5f8cb32..cde9376 100644
--- a/lisp/gnus/gnus-sieve.el
+++ b/lisp/gnus/gnus-sieve.el
@@ -139,7 +139,7 @@ Return nil if no rule could be guessed."
   "Convert an elisp string list to a Sieve string list.
 
 For example:
-\(gnus-sieve-string-list '(\"to\" \"cc\"))
+\(gnus-sieve-string-list \\='(\"to\" \"cc\"))
   => \"[\\\"to\\\", \\\"cc\\\"]\"
 "
   (concat "[\"" (mapconcat 'identity list "\", \"") "\"]"))
@@ -148,7 +148,7 @@ For example:
   "Convert an elisp test list to a Sieve test list.
 
 For example:
-\(gnus-sieve-test-list '((address \"sender\" \"address@hidden") (size :over 
4K)))
+\(gnus-sieve-test-list \\='((address \"sender\" \"address@hidden") (size :over 
4K)))
   => \"(address \\\"sender\\\" \\\"address@hidden", size :over 4K)\""
   (concat "(" (mapconcat 'gnus-sieve-test list ", ") ")"))
 
@@ -157,13 +157,13 @@ For example:
   "Convert an elisp test token to a Sieve test token.
 
 For example:
-\(gnus-sieve-test-token 'address)
+\(gnus-sieve-test-token \\='address)
   => \"address\"
 
 \(gnus-sieve-test-token \"sender\")
   => \"\\\"sender\\\"\"
 
-\(gnus-sieve-test-token '(\"to\" \"cc\"))
+\(gnus-sieve-test-token \\='(\"to\" \"cc\"))
   => \"[\\\"to\\\", \\\"cc\\\"]\""
   (cond
    ((symbolp token)            ;; Keyword
@@ -184,10 +184,10 @@ For example:
   "Convert an elisp test to a Sieve test.
 
 For example:
-\(gnus-sieve-test '(address \"sender\" \"address@hidden"))
+\(gnus-sieve-test \\='(address \"sender\" \"address@hidden"))
   => \"address \\\"sender\\\" \\\"address@hidden"\"
 
-\(gnus-sieve-test '(anyof ((header :contains (\"to\" \"cc\") \"address@hidden")
+\(gnus-sieve-test \\='(anyof ((header :contains (\"to\" \"cc\") 
\"address@hidden")
                          (size :over 100K))))
   => \"anyof (header :contains [\\\"to\\\", \\\"cc\\\"] \\\"address@hidden",
             size :over 100K)\""
diff --git a/lisp/gnus/gnus-start.el b/lisp/gnus/gnus-start.el
index 0c0246a..4f26db4 100644
--- a/lisp/gnus/gnus-start.el
+++ b/lisp/gnus/gnus-start.el
@@ -2369,7 +2369,7 @@ If FORCE is non-nil, the .newsrc file is read."
                   (while (let (c
                                (cursor-in-echo-area t)
                                (echo-keystrokes 0))
-                           (message "Convert gnus from version '%s' to '%s'? 
(n/y/?)"
+                           (message "Convert gnus from version ‘%s’ to ‘%s’? 
(n/y/?)"
                                     gnus-newsrc-file-version gnus-version)
                            (setq c (read-char-exclusive))
 
@@ -2390,8 +2390,8 @@ If FORCE is non-nil, the .newsrc file is read."
 
               (funcall func convert-to)))
           (gnus-dribble-enter
-           (format ";Converted gnus from version '%s' to '%s'."
-                   gnus-newsrc-file-version gnus-version)))))))
+           (gnus-format-message ";Converted gnus from version ‘%s’ to ‘%s’."
+                               gnus-newsrc-file-version gnus-version)))))))
 
 (defun gnus-convert-mark-converter-prompt (converter no-prompt)
   "Indicate whether CONVERTER requires gnus-convert-old-newsrc to
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el
index f98f485..e4c144b 100644
--- a/lisp/gnus/gnus-sum.el
+++ b/lisp/gnus/gnus-sum.el
@@ -8429,7 +8429,7 @@ articles that are younger than AGE days."
     (gnus-summary-position-point)))
 
 (defun gnus-summary-limit-to-extra (header regexp &optional not-matching)
-  "Limit the summary buffer to articles that match an 'extra' header."
+  "Limit the summary buffer to articles that match an `extra' header."
   (interactive
    (let ((header
          (intern
diff --git a/lisp/gnus/gnus-topic.el b/lisp/gnus/gnus-topic.el
index 656ef80..cde1d97 100644
--- a/lisp/gnus/gnus-topic.el
+++ b/lisp/gnus/gnus-topic.el
@@ -1525,7 +1525,7 @@ If NON-RECURSIVE (which is the prefix) is t, don't unmark 
its subtopics."
           (read-string (format "Rename %s to: " topic) topic))))
   ;; Check whether the new name exists.
   (when (gnus-topic-find-topology new-name)
-    (error "Topic '%s' already exists" new-name))
+    (error "Topic ‘%s’ already exists" new-name))
   ;; "nil" is an invalid name, for reasons I'd rather not go
   ;; into here.  Trust me.
   (when (equal new-name "nil")
diff --git a/lisp/gnus/gnus-util.el b/lisp/gnus/gnus-util.el
index 12b319b..8dd8ea9 100644
--- a/lisp/gnus/gnus-util.el
+++ b/lisp/gnus/gnus-util.el
@@ -1974,6 +1974,11 @@ to case differences."
               (string-equal (downcase str1) (downcase prefix))
             (string-equal str1 prefix))))))
 
+(if (fboundp 'format-message)
+    (defalias 'gnus-format-message 'format-message)
+  ;; for Emacs < 25, and XEmacs, don't worry about quote translation.
+  (defalias 'gnus-format-message 'format-message))
+
 ;; Simple check: can be a macro but this way, although slow, it's really clear.
 ;; We don't use `bound-and-true-p' because it's not in XEmacs.
 (defun gnus-bound-and-true-p (sym)
diff --git a/lisp/gnus/gnus-uu.el b/lisp/gnus/gnus-uu.el
index 94f01c6..881ff4e 100644
--- a/lisp/gnus/gnus-uu.el
+++ b/lisp/gnus/gnus-uu.el
@@ -79,10 +79,10 @@ To change the behavior, you can either edit this variable 
or set
 
 For example:
 
-To make gnus-uu use 'xli' to display JPEG and GIF files, put the
+To make gnus-uu use `xli' to display JPEG and GIF files, put the
 following in your .emacs file:
 
-  (setq gnus-uu-user-view-rules '((\"jpg$\\\\|gif$\" \"xli\")))
+  (setq gnus-uu-user-view-rules \\='((\"jpg$\\\\|gif$\" \"xli\")))
 
 Both these variables are lists of lists with two string elements.  The
 first string is a regular expression.  If the file name matches this
@@ -140,7 +140,7 @@ details."
 
 (defcustom gnus-uu-user-archive-rules nil
   "A list that can be set to override the default archive unpacking commands.
-To use, for instance, 'untar' to unpack tar files and 'zip -x' to
+To use, for instance, `untar' to unpack tar files and `zip -x' to
 unpack zip files, say the following:
   (setq gnus-uu-user-archive-rules
     '((\"\\\\.tar$\" \"untar\")
diff --git a/lisp/gnus/gnus.el b/lisp/gnus/gnus.el
index 4545ed0..6362d9a 100644
--- a/lisp/gnus/gnus.el
+++ b/lisp/gnus/gnus.el
@@ -1308,11 +1308,11 @@ news is to be fetched, the second is the address.
 For instance, if you want to get your news via \"flab.flab.edu\" using
 NNTP, you could say:
 
-\(setq gnus-select-method '(nntp \"flab.flab.edu\"))
+\(setq gnus-select-method \\='(nntp \"flab.flab.edu\"))
 
 If you want to use your local spool, say:
 
-\(setq gnus-select-method (list 'nnspool (system-name)))
+\(setq gnus-select-method (list \\='nnspool (system-name)))
 
 If you use this variable, you must set `gnus-nntp-server' to nil.
 
@@ -1397,7 +1397,7 @@ This is a list where each element is a complete select 
method (see
 If, for instance, you want to read your mail with the nnml back end,
 you could set this variable:
 
-\(setq gnus-secondary-select-methods '((nnml \"\")))"
+\(setq gnus-secondary-select-methods \\='((nnml \"\")))"
   :group 'gnus-server
   :type '(repeat gnus-select-method))
 
diff --git a/lisp/gnus/legacy-gnus-agent.el b/lisp/gnus/legacy-gnus-agent.el
index bd69087..8331077 100644
--- a/lisp/gnus/legacy-gnus-agent.el
+++ b/lisp/gnus/legacy-gnus-agent.el
@@ -147,14 +147,19 @@ converted to the compressed format."
             (insert "The definition of gnus-agent-expire-days has been 
changed.\nYou currently have it set to the list:\n  ")
             (gnus-pp gnus-agent-expire-days)
 
-            (insert "\nIn order to use version '" converting-to "' of gnus, 
you will need to set\n")
+           (insert
+            (gnus-format-message
+             "\nIn order to use version ‘%s’ of gnus, you will need to set\n"
+             converting-to))
             (insert "gnus-agent-expire-days to an integer. If you still wish 
to set different\n")
             (insert "expiration days to individual groups, you must instead 
set the\n")
-            (insert "'agent-days-until-old group and/or topic parameter.\n")
+            (insert (gnus-format-message
+                    "‘agent-days-until-old’ group and/or topic parameter.\n"))
             (insert "\n")
             (insert "If you would like, gnus can iterate over every group 
comparing its name to the\n")
             (insert "regular expressions that you currently have in 
gnus-agent-expire-days.  When\n")
-            (insert "gnus finds a match, it will update that group's 
'agent-days-until-old group\n")
+            (insert (gnus-format-message
+                    "gnus finds a match, it will update that group's 
‘agent-days-until-old’ group\n"))
             (insert "parameter to the value associated with the regular 
expression.\n")
             (insert "\n")
             (insert "Whether gnus assigns group parameters, or not, gnus will 
terminate with an\n")
diff --git a/lisp/gnus/mail-source.el b/lisp/gnus/mail-source.el
index 94c8950..cb74228 100644
--- a/lisp/gnus/mail-source.el
+++ b/lisp/gnus/mail-source.el
@@ -934,7 +934,7 @@ authentication.  To do that, you need to set the
 `message-send-mail-function' variable as `message-smtpmail-send-it'
 and put the following line in your ~/.gnus.el file:
 
-\(add-hook 'message-send-mail-hook 'mail-source-touch-pop)
+\(add-hook \\='message-send-mail-hook \\='mail-source-touch-pop)
 
 See the Gnus manual for details."
   (let ((sources (if mail-source-primary-source
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index 0a11bf0..d74ce43 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -541,7 +541,7 @@ The provided functions are:
       newsgroup), in brackets followed by the subject
 * `message-forward-subject-name-subject' Source of article (name of author
       or newsgroup), in brackets followed by the subject
-* `message-forward-subject-fwd' Subject of article with 'Fwd:' prepended
+* `message-forward-subject-fwd' Subject of article with `Fwd:' prepended
       to it."
   :group 'message-forwarding
   :link '(custom-manual "(message)Forwarding")
@@ -7210,7 +7210,7 @@ want to get rid of this query permanently."))
 
 (defun message-is-yours-p ()
   "Non-nil means current article is yours.
-If you have added 'cancel-messages to `message-shoot-gnksa-feet', all articles
+If you have added `cancel-messages' to `message-shoot-gnksa-feet', all articles
 are yours except those that have Cancel-Lock header not belonging to you.
 Instead of shooting GNKSA feet, you should modify `message-alternative-emails'
 regexp to match all of yours addresses."
@@ -8177,7 +8177,7 @@ The following arguments may contain lists of values."
 (defun message-flatten-list (list)
   "Return a new, flat list that contains all elements of LIST.
 
-\(message-flatten-list '(1 (2 3 (4 5 (6))) 7))
+\(message-flatten-list \\='(1 (2 3 (4 5 (6))) 7))
 => (1 2 3 4 5 6 7)"
   (cond ((consp list)
         (apply 'append (mapcar 'message-flatten-list list)))
diff --git a/lisp/gnus/nnheader.el b/lisp/gnus/nnheader.el
index 2ce5cb8..c88f4af 100644
--- a/lisp/gnus/nnheader.el
+++ b/lisp/gnus/nnheader.el
@@ -114,7 +114,7 @@ Shorter values mean quicker response, but are more CPU 
intensive.")
 For instance, if \":\" is invalid as a file character in file names
 on your system, you could say something like:
 
-\(setq nnheader-file-name-translation-alist '((?: . ?_)))")
+\(setq nnheader-file-name-translation-alist \\='((?: . ?_)))")
 
 (defvar nnheader-directory-separator-character
   (string-to-char (substring (file-name-as-directory ".") -1))
diff --git a/lisp/gnus/nnmail.el b/lisp/gnus/nnmail.el
index 71bc916..2292849 100644
--- a/lisp/gnus/nnmail.el
+++ b/lisp/gnus/nnmail.el
@@ -288,7 +288,7 @@ running (\"xwatch\", etc.)
 
 E.g.:
 
-\(add-hook 'nnmail-read-incoming-hook
+\(add-hook \\='nnmail-read-incoming-hook
          (lambda ()
            (call-process \"/local/bin/mailsend\" nil nil nil
                          \"read\"
@@ -301,11 +301,11 @@ read.
 
 If you use `display-time', you could use something like this:
 
-\(add-hook 'nnmail-read-incoming-hook
+\(add-hook \\='nnmail-read-incoming-hook
          (lambda ()
            ;; Update the displayed time, since that will clear out
            ;; the flag that says you have mail.
-           (when (eq (process-status \"display-time\") 'run)
+           (when (eq (process-status \"display-time\") \\='run)
              (display-time-filter display-time-process \"\"))))"
   :group 'nnmail-prepare
   :type 'hook)
@@ -480,12 +480,12 @@ GROUP can contain \\& and \\N which will substitute from 
matching
 
 Example:
 
-\(setq nnmail-split-methods 'nnmail-split-fancy
+\(setq nnmail-split-methods \\='nnmail-split-fancy
       nnmail-split-fancy
       ;; Messages from the mailer daemon are not crossposted to any of
       ;; the ordinary groups.  Warnings are put in a separate group
       ;; from real errors.
-      '(| (\"from\" mail (| (\"subject\" \"warn.*\" \"mail.warning\")
+      \\='(| (\"from\" mail (| (\"subject\" \"warn.*\" \"mail.warning\")
                          \"mail.misc\"))
          ;; Non-error messages are crossposted to all relevant
          ;; groups, but we don't crosspost between the group for the
diff --git a/lisp/gnus/nnmairix.el b/lisp/gnus/nnmairix.el
index 0a4dbff..e34b708 100644
--- a/lisp/gnus/nnmairix.el
+++ b/lisp/gnus/nnmairix.el
@@ -243,7 +243,7 @@ unused nnmairix groups on the back end using
 
 (defcustom nnmairix-mairix-update-options '("-F" "-Q")
   "Options when calling mairix for updating the database.
-The default is '-F' and '-Q' for making updates faster.  You
+The default is \"-F\" and \"-Q\" for making updates faster.  You
 should call mairix without these options from time to
 time (e.g. via cron job)."
   :version "23.1"
@@ -252,7 +252,7 @@ time (e.g. via cron job)."
 
 (defcustom nnmairix-mairix-search-options '("-Q")
   "Options when calling mairix for searching.
-The default is '-Q' for making searching faster."
+The default is \"-Q\" for making searching faster."
   :version "23.1"
   :type '(repeat string)
   :group 'nnmairix)
@@ -1943,7 +1943,7 @@ Fill in VALUES if based on an article."
     (kill-all-local-variables)
     (erase-buffer)
     (widget-insert "Specify your query for Mairix (check boxes for activating 
fields):\n\n")
-    (widget-insert "(Whitespaces will be converted to ',' (i.e. AND). Use '/' 
for OR.)\n\n")
+    (widget-insert "(Whitespaces will be converted to ‘,’ (i.e. AND). Use ‘/’ 
for OR.)\n\n")
 ;    (make-local-variable 'nnmairix-widgets)
     (setq nnmairix-widgets (nnmairix-widget-build-editable-fields values))
     (when (member 'flags nnmairix-widget-other)
diff --git a/lisp/gnus/nntp.el b/lisp/gnus/nntp.el
index b617a1b..8d09781 100644
--- a/lisp/gnus/nntp.el
+++ b/lisp/gnus/nntp.el
@@ -291,7 +291,7 @@ update their active files often, this can help.")
 (defvar nntp-async-process-list nil)
 
 (defvar nntp-authinfo-rejected nil
-"A custom error condition used to report 'Authentication Rejected' errors.
+"A custom error condition used to report `Authentication Rejected' errors.
 Condition handlers that match just this condition ensure that the nntp
 backend doesn't catch this error.")
 (put 'nntp-authinfo-rejected 'error-conditions '(error nntp-authinfo-rejected))
diff --git a/lisp/gnus/registry.el b/lisp/gnus/registry.el
index 7bada9f..783ff36 100644
--- a/lisp/gnus/registry.el
+++ b/lisp/gnus/registry.el
@@ -222,9 +222,9 @@ When SET is not nil, set it for VAL (use t for an empty 
list)."
 
 (defmethod registry-search ((db registry-db) &rest spec)
   "Search for SPEC across the registry-db THIS.
-For example calling with :member '(a 1 2) will match entry '((a 3 1)).
+For example calling with :member \\='(a 1 2) will match entry \\='((a 3 1)).
 Calling with :all t (any non-nil value) will match all.
-Calling with :regex '\(a \"h.llo\") will match entry '((a \"hullo\" \"bye\").
+Calling with :regex \\='\(a \"h.llo\") will match entry \\='((a \"hullo\" 
\"bye\").
 The test order is to check :all first, then :member, then :regex."
   (when db
     (let ((all (plist-get spec :all))
diff --git a/lisp/gnus/spam.el b/lisp/gnus/spam.el
index 02ec695..93613a8 100644
--- a/lisp/gnus/spam.el
+++ b/lisp/gnus/spam.el
@@ -2054,7 +2054,7 @@ See the Info node `(gnus)Fancy Mail Splitting' for more 
details."
                 (if spam-use-dig
                     (let ((query-result (query-dig query-string)))
                       (when query-result
-                        (gnus-message 6 "(DIG): positive blackhole check '%s'"
+                        (gnus-message 6 "(DIG): positive blackhole check ‘%s’"
                                       query-result)
                         (push (list ip server query-result)
                               matches)))
diff --git a/lisp/help-fns.el b/lisp/help-fns.el
index 6ff30b3..5f0dc87 100644
--- a/lisp/help-fns.el
+++ b/lisp/help-fns.el
@@ -45,7 +45,7 @@ The functions will receive the function name as argument.")
 
 (defvar describe-function-orig-buffer nil
   "Buffer that was current when `describe-function' was invoked.
-Functions on 'help-fns-describe-function-functions' can use this
+Functions on `help-fns-describe-function-functions' can use this
 to get buffer-local values.")
 
 ;;;###autoload
diff --git a/lisp/hilit-chg.el b/lisp/hilit-chg.el
index 8d01294..2f69bbc 100644
--- a/lisp/hilit-chg.el
+++ b/lisp/hilit-chg.el
@@ -731,7 +731,7 @@ You can automatically rotate colors when the buffer is 
saved by adding
 this function to `write-file-functions' as a buffer-local value.  To do
 this, eval the following in the buffer to be saved:
 
-  (add-hook 'write-file-functions 'highlight-changes-rotate-faces nil t)"
+  (add-hook \\='write-file-functions \\='highlight-changes-rotate-faces nil t)"
   (interactive)
   (when (and highlight-changes-mode highlight-changes-visible-mode)
     (let ((modified (buffer-modified-p))
diff --git a/lisp/htmlfontify.el b/lisp/htmlfontify.el
index 97e7d0f..310a074 100644
--- a/lisp/htmlfontify.el
+++ b/lisp/htmlfontify.el
@@ -187,13 +187,13 @@ It takes only one argument, the filename."
   :type  '(string))
 
 (defcustom hfy-src-doc-link-style "text-decoration: underline;"
-  "String to add to the '<style> a' variant of an htmlfontify CSS class."
+  "String to add to the ‘<style> a’ variant of an htmlfontify CSS class."
   :group 'htmlfontify
   :tag   "src-doc-link-style"
   :type  '(string))
 
 (defcustom hfy-src-doc-link-unstyle " text-decoration: none;"
-  "Regex to remove from the <style> a variant of an htmlfontify CSS class."
+  "Regex to remove from the ‘<style> a’ variant of an htmlfontify CSS class."
   :group 'htmlfontify
   :tag   "src-doc-link-unstyle"
   :type  '(string))
@@ -330,7 +330,7 @@ done;")
 (defcustom hfy-etags-cmd-alist
   hfy-etags-cmd-alist-default
   "Alist of possible shell commands that will generate etags output that
-`htmlfontify' can use.  '%s' will be replaced by `hfy-etags-bin'."
+`htmlfontify' can use.  `%s' will be replaced by `hfy-etags-bin'."
   :group 'htmlfontify
   :tag   "etags-cmd-alist"
   :type  '(alist :key-type (string) :value-type (string)))
@@ -389,8 +389,8 @@ exuberant-ctags' etags respectively."
 
 (defcustom hfy-istext-command "file %s | sed -e 'address@hidden:]*:[ \t]*@@'"
   "Command to run with the name of a file, to see whether it is a text file
-or not.  The command should emit a string containing the word 'text' if
-the file is a text file, and a string not containing 'text' otherwise."
+or not.  The command should emit a string containing the word `text' if
+the file is a text file, and a string not containing `text' otherwise."
   :group 'htmlfontify
   :tag   "istext-command"
   :type  '(string))
@@ -500,12 +500,12 @@ tagged items, not the locations of their definitions.")
 (defvar hfy-style-assoc 'please-ignore-this-line
   "An assoc representing/describing an Emacs face.
 Properties may be repeated, in which case later properties should be
-treated as if they were inherited from a 'parent' font.
+treated as if they were inherited from a `parent' font.
 \(For some properties, only the first encountered value is of any importance,
 for others the values might be cumulative, and for others they might be
 cumulative in a complex way.)\n
 Some examples:\n
-\(hfy-face-to-style 'default) =>
+\(hfy-face-to-style \\='default) =>
   ((\"background\"      . \"rgb(0, 0, 0)\")
    (\"color\"           . \"rgb(255, 255, 255)\")
    (\"font-style\"      . \"normal\")
@@ -514,7 +514,7 @@ Some examples:\n
    (\"font-family\"     . \"misc-fixed\")
    (\"font-size\"       . \"13pt\")
    (\"text-decoration\" . \"none\"))\n
-\(hfy-face-to-style 'Info-title-3-face) =>
+\(hfy-face-to-style \\='Info-title-3-face) =>
   ((\"font-weight\"     . \"700\")
    (\"font-family\"     . \"helv\")
    (\"font-size\"       . \"120%\")
@@ -527,14 +527,14 @@ Some examples:\n
 
 (defvar hfy-facemap-assoc 'please-ignore-this-line
   "An assoc of (point . FACE-SYMBOL) or (point . DEFFACE-LIST)
-and (point . 'end) elements, in descending order of point value
+and (point . \\='end) elements, in descending order of point value
 \(ie from the file's end to its beginning).\n
 The map is in reverse order because inserting a <style> tag (or any other
 string) at `point' invalidates the map for all entries with a greater value of
 point.  By traversing the map from greatest to least point, we still invalidate
 the map as we go, but only those points we have already dealt with (and
 therefore no longer care about) will be invalid at any time.\n
-'((64820 . end)
+\\='((64820 . end)
   (64744 . font-lock-comment-face)
   (64736 . end)
   (64722 . font-lock-string-face)
diff --git a/lisp/ibuf-ext.el b/lisp/ibuf-ext.el
index 1088771..e5df999 100644
--- a/lisp/ibuf-ext.el
+++ b/lisp/ibuf-ext.el
@@ -1557,7 +1557,7 @@ You can then feed the file name(s) to other commands with 
\\[yank]."
 
 ;;;###autoload
 (defun ibuffer-mark-special-buffers ()
-  "Mark all buffers whose name begins and ends with '*'."
+  "Mark all buffers whose name begins and ends with `*'."
   (interactive)
   (ibuffer-mark-on-buffer
    #'(lambda (buf) (string-match "^\\*.+\\*$"
diff --git a/lisp/ibuffer.el b/lisp/ibuffer.el
index c426976..b8c4835 100644
--- a/lisp/ibuffer.el
+++ b/lisp/ibuffer.el
@@ -2303,7 +2303,7 @@ buffers which are visiting a file."
 (defun ibuffer (&optional other-window-p name qualifiers noselect
                          shrink filter-groups formats)
   "Begin using Ibuffer to edit a list of buffers.
-Type 'h' after entering ibuffer for more information.
+Type ‘h’ after entering ibuffer for more information.
 
 All arguments are optional.
 OTHER-WINDOW-P says to use another window.
@@ -2362,122 +2362,122 @@ particular subset of them, and sorting by various 
criteria.
 
 Operations on marked buffers:
 \\<ibuffer-mode-map>
-  '\\[ibuffer-do-save]' - Save the marked buffers
-  '\\[ibuffer-do-view]' - View the marked buffers in this frame.
-  '\\[ibuffer-do-view-other-frame]' - View the marked buffers in another frame.
-  '\\[ibuffer-do-revert]' - Revert the marked buffers.
-  '\\[ibuffer-do-toggle-read-only]' - Toggle read-only state of marked buffers.
-  '\\[ibuffer-do-delete]' - Kill the marked buffers.
-  '\\[ibuffer-do-isearch]' - Do incremental search in the marked buffers.
-  '\\[ibuffer-do-isearch-regexp]' - Isearch for regexp in the marked buffers.
-  '\\[ibuffer-do-replace-regexp]' - Replace by regexp in each of the marked
+  `\\[ibuffer-do-save]' - Save the marked buffers
+  `\\[ibuffer-do-view]' - View the marked buffers in this frame.
+  `\\[ibuffer-do-view-other-frame]' - View the marked buffers in another frame.
+  `\\[ibuffer-do-revert]' - Revert the marked buffers.
+  `\\[ibuffer-do-toggle-read-only]' - Toggle read-only state of marked buffers.
+  `\\[ibuffer-do-delete]' - Kill the marked buffers.
+  `\\[ibuffer-do-isearch]' - Do incremental search in the marked buffers.
+  `\\[ibuffer-do-isearch-regexp]' - Isearch for regexp in the marked buffers.
+  `\\[ibuffer-do-replace-regexp]' - Replace by regexp in each of the marked
           buffers.
-  '\\[ibuffer-do-query-replace]' - Query replace in each of the marked buffers.
-  '\\[ibuffer-do-query-replace-regexp]' - As above, with a regular expression.
-  '\\[ibuffer-do-print]' - Print the marked buffers.
-  '\\[ibuffer-do-occur]' - List lines in all marked buffers which match
+  `\\[ibuffer-do-query-replace]' - Query replace in each of the marked buffers.
+  `\\[ibuffer-do-query-replace-regexp]' - As above, with a regular expression.
+  `\\[ibuffer-do-print]' - Print the marked buffers.
+  `\\[ibuffer-do-occur]' - List lines in all marked buffers which match
           a given regexp (like the function `occur').
-  '\\[ibuffer-do-shell-command-pipe]' - Pipe the contents of the marked
+  `\\[ibuffer-do-shell-command-pipe]' - Pipe the contents of the marked
           buffers to a shell command.
-  '\\[ibuffer-do-shell-command-pipe-replace]' - Replace the contents of the 
marked
+  `\\[ibuffer-do-shell-command-pipe-replace]' - Replace the contents of the 
marked
           buffers with the output of a shell command.
-  '\\[ibuffer-do-shell-command-file]' - Run a shell command with the
+  `\\[ibuffer-do-shell-command-file]' - Run a shell command with the
           buffer's file as an argument.
-  '\\[ibuffer-do-eval]' - Evaluate a form in each of the marked buffers.  This
+  `\\[ibuffer-do-eval]' - Evaluate a form in each of the marked buffers.  This
           is a very flexible command.  For example, if you want to make all
           of the marked buffers read only, try using (read-only-mode 1) as
           the input form.
-  '\\[ibuffer-do-view-and-eval]' - As above, but view each buffer while the 
form
+  `\\[ibuffer-do-view-and-eval]' - As above, but view each buffer while the 
form
           is evaluated.
-  '\\[ibuffer-do-kill-lines]' - Remove the marked lines from the *Ibuffer* 
buffer,
+  `\\[ibuffer-do-kill-lines]' - Remove the marked lines from the *Ibuffer* 
buffer,
           but don't kill the associated buffer.
-  '\\[ibuffer-do-kill-on-deletion-marks]' - Kill all buffers marked for 
deletion.
+  `\\[ibuffer-do-kill-on-deletion-marks]' - Kill all buffers marked for 
deletion.
 
 Marking commands:
 
-  '\\[ibuffer-mark-forward]' - Mark the buffer at point.
-  '\\[ibuffer-toggle-marks]' - Unmark all currently marked buffers, and mark
+  `\\[ibuffer-mark-forward]' - Mark the buffer at point.
+  `\\[ibuffer-toggle-marks]' - Unmark all currently marked buffers, and mark
           all unmarked buffers.
-  '\\[ibuffer-unmark-forward]' - Unmark the buffer at point.
-  '\\[ibuffer-unmark-backward]' - Unmark the buffer at point, and move to the
+  `\\[ibuffer-unmark-forward]' - Unmark the buffer at point.
+  `\\[ibuffer-unmark-backward]' - Unmark the buffer at point, and move to the
           previous line.
-  '\\[ibuffer-unmark-all]' - Unmark all marked buffers.
-  '\\[ibuffer-mark-by-mode]' - Mark buffers by major mode.
-  '\\[ibuffer-mark-unsaved-buffers]' - Mark all \"unsaved\" buffers.
+  `\\[ibuffer-unmark-all]' - Unmark all marked buffers.
+  `\\[ibuffer-mark-by-mode]' - Mark buffers by major mode.
+  `\\[ibuffer-mark-unsaved-buffers]' - Mark all \"unsaved\" buffers.
           This means that the buffer is modified, and has an associated file.
-  '\\[ibuffer-mark-modified-buffers]' - Mark all modified buffers,
+  `\\[ibuffer-mark-modified-buffers]' - Mark all modified buffers,
           regardless of whether or not they have an associated file.
-  '\\[ibuffer-mark-special-buffers]' - Mark all buffers whose name begins and
-          ends with '*'.
-  '\\[ibuffer-mark-dissociated-buffers]' - Mark all buffers which have
+  `\\[ibuffer-mark-special-buffers]' - Mark all buffers whose name begins and
+          ends with `*'.
+  `\\[ibuffer-mark-dissociated-buffers]' - Mark all buffers which have
           an associated file, but that file doesn't currently exist.
-  '\\[ibuffer-mark-read-only-buffers]' - Mark all read-only buffers.
-  '\\[ibuffer-mark-dired-buffers]' - Mark buffers in `dired' mode.
-  '\\[ibuffer-mark-help-buffers]' - Mark buffers in `help-mode', 
`apropos-mode', etc.
-  '\\[ibuffer-mark-old-buffers]' - Mark buffers older than `ibuffer-old-time'.
-  '\\[ibuffer-mark-for-delete]' - Mark the buffer at point for deletion.
-  '\\[ibuffer-mark-by-name-regexp]' - Mark buffers by their name, using a 
regexp.
-  '\\[ibuffer-mark-by-mode-regexp]' - Mark buffers by their major mode, using 
a regexp.
-  '\\[ibuffer-mark-by-file-name-regexp]' - Mark buffers by their filename, 
using a regexp.
+  `\\[ibuffer-mark-read-only-buffers]' - Mark all read-only buffers.
+  `\\[ibuffer-mark-dired-buffers]' - Mark buffers in `dired' mode.
+  `\\[ibuffer-mark-help-buffers]' - Mark buffers in `help-mode', 
`apropos-mode', etc.
+  `\\[ibuffer-mark-old-buffers]' - Mark buffers older than `ibuffer-old-time'.
+  `\\[ibuffer-mark-for-delete]' - Mark the buffer at point for deletion.
+  `\\[ibuffer-mark-by-name-regexp]' - Mark buffers by their name, using a 
regexp.
+  `\\[ibuffer-mark-by-mode-regexp]' - Mark buffers by their major mode, using 
a regexp.
+  `\\[ibuffer-mark-by-file-name-regexp]' - Mark buffers by their filename, 
using a regexp.
 
 Filtering commands:
 
-  '\\[ibuffer-filter-by-mode]' - Add a filter by any major mode.
-  '\\[ibuffer-filter-by-used-mode]' - Add a filter by a major mode now in use.
-  '\\[ibuffer-filter-by-derived-mode]' - Add a filter by derived mode.
-  '\\[ibuffer-filter-by-name]' - Add a filter by buffer name.
-  '\\[ibuffer-filter-by-content]' - Add a filter by buffer content.
-  '\\[ibuffer-filter-by-filename]' - Add a filter by filename.
-  '\\[ibuffer-filter-by-size-gt]' - Add a filter by buffer size.
-  '\\[ibuffer-filter-by-size-lt]' - Add a filter by buffer size.
-  '\\[ibuffer-filter-by-predicate]' - Add a filter by an arbitrary Lisp 
predicate.
-  '\\[ibuffer-save-filters]' - Save the current filters with a name.
-  '\\[ibuffer-switch-to-saved-filters]' - Switch to previously saved filters.
-  '\\[ibuffer-add-saved-filters]' - Add saved filters to current filters.
-  '\\[ibuffer-or-filter]' - Replace the top two filters with their logical OR.
-  '\\[ibuffer-pop-filter]' - Remove the top filter.
-  '\\[ibuffer-negate-filter]' - Invert the logical sense of the top filter.
-  '\\[ibuffer-decompose-filter]' - Break down the topmost filter.
-  '\\[ibuffer-filter-disable]' - Remove all filtering currently in effect.
+  `\\[ibuffer-filter-by-mode]' - Add a filter by any major mode.
+  `\\[ibuffer-filter-by-used-mode]' - Add a filter by a major mode now in use.
+  `\\[ibuffer-filter-by-derived-mode]' - Add a filter by derived mode.
+  `\\[ibuffer-filter-by-name]' - Add a filter by buffer name.
+  `\\[ibuffer-filter-by-content]' - Add a filter by buffer content.
+  `\\[ibuffer-filter-by-filename]' - Add a filter by filename.
+  `\\[ibuffer-filter-by-size-gt]' - Add a filter by buffer size.
+  `\\[ibuffer-filter-by-size-lt]' - Add a filter by buffer size.
+  `\\[ibuffer-filter-by-predicate]' - Add a filter by an arbitrary Lisp 
predicate.
+  `\\[ibuffer-save-filters]' - Save the current filters with a name.
+  `\\[ibuffer-switch-to-saved-filters]' - Switch to previously saved filters.
+  `\\[ibuffer-add-saved-filters]' - Add saved filters to current filters.
+  `\\[ibuffer-or-filter]' - Replace the top two filters with their logical OR.
+  `\\[ibuffer-pop-filter]' - Remove the top filter.
+  `\\[ibuffer-negate-filter]' - Invert the logical sense of the top filter.
+  `\\[ibuffer-decompose-filter]' - Break down the topmost filter.
+  `\\[ibuffer-filter-disable]' - Remove all filtering currently in effect.
 
 Filter group commands:
 
-  '\\[ibuffer-filters-to-filter-group]' - Create filter group from filters.
-  '\\[ibuffer-pop-filter-group]' - Remove top filter group.
-  '\\[ibuffer-forward-filter-group]' - Move to the next filter group.
-  '\\[ibuffer-backward-filter-group]' - Move to the previous filter group.
-  '\\[ibuffer-clear-filter-groups]' - Remove all active filter groups.
-  '\\[ibuffer-save-filter-groups]' - Save the current groups with a name.
-  '\\[ibuffer-switch-to-saved-filter-groups]' - Restore previously saved 
groups.
-  '\\[ibuffer-delete-saved-filter-groups]' - Delete previously saved groups.
+  `\\[ibuffer-filters-to-filter-group]' - Create filter group from filters.
+  `\\[ibuffer-pop-filter-group]' - Remove top filter group.
+  `\\[ibuffer-forward-filter-group]' - Move to the next filter group.
+  `\\[ibuffer-backward-filter-group]' - Move to the previous filter group.
+  `\\[ibuffer-clear-filter-groups]' - Remove all active filter groups.
+  `\\[ibuffer-save-filter-groups]' - Save the current groups with a name.
+  `\\[ibuffer-switch-to-saved-filter-groups]' - Restore previously saved 
groups.
+  `\\[ibuffer-delete-saved-filter-groups]' - Delete previously saved groups.
 
 Sorting commands:
 
-  '\\[ibuffer-toggle-sorting-mode]' - Rotate between the various sorting modes.
-  '\\[ibuffer-invert-sorting]' - Reverse the current sorting order.
-  '\\[ibuffer-do-sort-by-alphabetic]' - Sort the buffers lexicographically.
-  '\\[ibuffer-do-sort-by-filename/process]' - Sort the buffers by the file 
name.
-  '\\[ibuffer-do-sort-by-recency]' - Sort the buffers by last viewing time.
-  '\\[ibuffer-do-sort-by-size]' - Sort the buffers by size.
-  '\\[ibuffer-do-sort-by-major-mode]' - Sort the buffers by major mode.
+  `\\[ibuffer-toggle-sorting-mode]' - Rotate between the various sorting modes.
+  `\\[ibuffer-invert-sorting]' - Reverse the current sorting order.
+  `\\[ibuffer-do-sort-by-alphabetic]' - Sort the buffers lexicographically.
+  `\\[ibuffer-do-sort-by-filename/process]' - Sort the buffers by the file 
name.
+  `\\[ibuffer-do-sort-by-recency]' - Sort the buffers by last viewing time.
+  `\\[ibuffer-do-sort-by-size]' - Sort the buffers by size.
+  `\\[ibuffer-do-sort-by-major-mode]' - Sort the buffers by major mode.
 
 Other commands:
 
-  '\\[ibuffer-update]' - Regenerate the list of all buffers.
+  `\\[ibuffer-update]' - Regenerate the list of all buffers.
           Prefix arg means to toggle whether buffers that match
           `ibuffer-maybe-show-predicates' should be displayed.
 
-  '\\[ibuffer-switch-format]' - Change the current display format.
-  '\\[forward-line]' - Move point to the next line.
-  '\\[previous-line]' - Move point to the previous line.
-  '\\[describe-mode]' - This help.
-  '\\[ibuffer-diff-with-file]' - View the differences between this buffer
+  `\\[ibuffer-switch-format]' - Change the current display format.
+  `\\[forward-line]' - Move point to the next line.
+  `\\[previous-line]' - Move point to the previous line.
+  `\\[describe-mode]' - This help.
+  `\\[ibuffer-diff-with-file]' - View the differences between this buffer
           and its associated file.
-  '\\[ibuffer-visit-buffer]' - View the buffer on this line.
-  '\\[ibuffer-visit-buffer-other-window]' - As above, but in another window.
-  '\\[ibuffer-visit-buffer-other-window-noselect]' - As both above, but don't 
select
+  `\\[ibuffer-visit-buffer]' - View the buffer on this line.
+  `\\[ibuffer-visit-buffer-other-window]' - As above, but in another window.
+  `\\[ibuffer-visit-buffer-other-window-noselect]' - As both above, but don't 
select
           the new window.
-  '\\[ibuffer-bury-buffer]' - Bury (not kill!) the buffer on this line.
+  `\\[ibuffer-bury-buffer]' - Bury (not kill!) the buffer on this line.
 
 ** Information on Filtering:
 
@@ -2485,7 +2485,7 @@ Other commands:
 buffer has its own stack of active filters.  For example, suppose you
 are working on an Emacs Lisp project.  You can create an Ibuffer
 buffer displays buffers in just `emacs-lisp' modes via
-'\\[ibuffer-filter-by-mode] emacs-lisp-mode RET'.  In this case, there
+`\\[ibuffer-filter-by-mode] emacs-lisp-mode RET'.  In this case, there
 is just one entry on the filtering stack.
 
 You can also combine filters.  The various filtering commands push a
@@ -2493,21 +2493,21 @@ new filter onto the stack, and the filters combine to 
show just
 buffers which satisfy ALL criteria on the stack.  For example, suppose
 you only want to see buffers in `emacs-lisp' mode, whose names begin
 with \"gnus\".  You can accomplish this via:
-'\\[ibuffer-filter-by-mode] emacs-lisp-mode RET
+`\\[ibuffer-filter-by-mode] emacs-lisp-mode RET
 \\[ibuffer-filter-by-name] ^gnus RET'.
 
 Additionally, you can OR the top two filters together with
-'\\[ibuffer-or-filters]'.  To see all buffers in either
+`\\[ibuffer-or-filters]'.  To see all buffers in either
 `emacs-lisp-mode' or `lisp-interaction-mode', type:
 
-'\\[ibuffer-filter-by-mode] emacs-lisp-mode RET \\[ibuffer-filter-by-mode] 
lisp-interaction-mode RET \\[ibuffer-or-filters]'.
+`\\[ibuffer-filter-by-mode] emacs-lisp-mode RET \\[ibuffer-filter-by-mode] 
lisp-interaction-mode RET \\[ibuffer-or-filters]'.
 
 Filters can also be saved and restored using mnemonic names: see the
 functions `ibuffer-save-filters' and `ibuffer-switch-to-saved-filters'.
 
-To remove the top filter on the stack, use '\\[ibuffer-pop-filter]', and
+To remove the top filter on the stack, use `\\[ibuffer-pop-filter]', and
 to disable all filtering currently in effect, use
-'\\[ibuffer-filter-disable]'.
+`\\[ibuffer-filter-disable]'.
 
 ** Filter Groups:
 
@@ -2515,12 +2515,12 @@ Once one has mastered filters, the next logical step up 
is \"filter
 groups\".  A filter group is basically a named group of buffers which
 match a filter, which are displayed together in an Ibuffer buffer.  To
 create a filter group, simply use the regular functions to create a
-filter, and then type '\\[ibuffer-filters-to-filter-group]'.
+filter, and then type `\\[ibuffer-filters-to-filter-group]'.
 
 A quick example will make things clearer.  Suppose that one wants to
 group all of one's Emacs Lisp buffers together.  To do this, type
 
-'\\[ibuffer-filter-by-mode] emacs-lisp-mode RET 
\\[ibuffer-filters-to-filter-group] RET emacs lisp buffers RET'
+`\\[ibuffer-filter-by-mode] emacs-lisp-mode RET 
\\[ibuffer-filters-to-filter-group] RET emacs lisp buffers RET'
 
 You may, of course, name the group whatever you want; it doesn't have
 to be \"emacs lisp buffers\".  Filter groups may be composed of any
@@ -2532,7 +2532,7 @@ multiple filter groups; instead, the first filter group 
is used.  The
 filter groups are displayed in this order of precedence.
 
 You may rearrange filter groups by using the regular
-'\\[ibuffer-kill-line]' and '\\[ibuffer-yank]' pair.  Yanked groups
+`\\[ibuffer-kill-line]' and `\\[ibuffer-yank]' pair.  Yanked groups
 will be inserted before the group at point."
   ;; Include state info next to the mode name.
   (set (make-local-variable 'mode-line-process)
@@ -2944,7 +2944,7 @@ Mark buffers which have not been viewed in 
`ibuffer-old-time' hours.
 \(fn)" t nil)
 
 (autoload 'ibuffer-mark-special-buffers "ibuf-ext" "\
-Mark all buffers whose name begins and ends with '*'.
+Mark all buffers whose name begins and ends with `*'.
 
 \(fn)" t nil)
 
diff --git a/lisp/icomplete.el b/lisp/icomplete.el
index b1894ca..9c712db 100644
--- a/lisp/icomplete.el
+++ b/lisp/icomplete.el
@@ -122,7 +122,7 @@ This hook is run during minibuffer setup if Icomplete is 
active.
 It is intended for use in customizing Icomplete for interoperation
 with other features and packages.  For instance:
 
-  (add-hook 'icomplete-minibuffer-setup-hook
+  (add-hook \\='icomplete-minibuffer-setup-hook
             (lambda () (setq-local max-mini-window-height 3)))
 
 will constrain Emacs to a maximum minibuffer height of 3 lines when
diff --git a/lisp/ido.el b/lisp/ido.el
index 1f12fbf..ab461bd 100644
--- a/lisp/ido.el
+++ b/lisp/ido.el
@@ -941,7 +941,7 @@ This hook is run during minibuffer setup if Ido is active.
 It is intended for use in customizing Ido for interoperation
 with other packages.  For instance:
 
-  (add-hook 'ido-minibuffer-setup-hook
+  (add-hook \\='ido-minibuffer-setup-hook
            (lambda () (setq-local max-mini-window-height 3)))
 
 will constrain Emacs to a maximum minibuffer height of 3 lines when
diff --git a/lisp/ielm.el b/lisp/ielm.el
index d5b2ba8..183f8a6 100644
--- a/lisp/ielm.el
+++ b/lisp/ielm.el
@@ -62,11 +62,11 @@ narrowing in effect.  This way you will be certain that 
none of
 the remaining prompts will be accidentally messed up.  You may
 wish to put something like the following in your init file:
 
-\(add-hook 'ielm-mode-hook
+\(add-hook \\='ielm-mode-hook
           (lambda ()
-             (define-key ielm-map \"\\C-w\" 'comint-kill-region)
+             (define-key ielm-map \"\\C-w\" \\='comint-kill-region)
              (define-key ielm-map [C-S-backspace]
-               'comint-kill-whole-line)))
+               \\='comint-kill-whole-line)))
 
 If you set `comint-prompt-read-only' to t, you might wish to use
 `comint-mode-hook' and `comint-mode-map' instead of
diff --git a/lisp/info.el b/lisp/info.el
index 74ca947..0e0e91d 100644
--- a/lisp/info.el
+++ b/lisp/info.el
@@ -3838,7 +3838,7 @@ START is a regular expression which will match the
     beginning of the tokens delimited string.
 ALL is a regular expression with a single
     parenthesized subpattern which is the token to be
-    returned.  E.g. '{\(.*\)}' would return any string
+    returned.  E.g. `{\(.*\)}' would return any string
     enclosed in braces around POS.
 ERRORSTRING optional fourth argument, controls action on no match:
     nil: return nil
diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el
index 16666ac..4ee3b28 100644
--- a/lisp/international/mule-cmds.el
+++ b/lisp/international/mule-cmds.el
@@ -397,7 +397,7 @@ A coding system that requires automatic detection of 
text+encoding
 
 To prefer, for instance, utf-8, say the following:
 
-  \(prefer-coding-system 'utf-8)"
+  \(prefer-coding-system \\='utf-8)"
   (interactive "zPrefer coding system: ")
   (if (not (and coding-system (coding-system-p coding-system)))
       (error "Invalid coding system ‘%s’" coding-system))
diff --git a/lisp/ldefs-boot.el b/lisp/ldefs-boot.el
index afe1e76..c571ca9 100644
--- a/lisp/ldefs-boot.el
+++ b/lisp/ldefs-boot.el
@@ -147,7 +147,7 @@ Find a change log file for \\[add-change-log-entry] and 
return the name.
 
 Optional arg FILE-NAME specifies the file to use.
 If FILE-NAME is nil, use the value of `change-log-default-name'.
-If `change-log-default-name' is nil, behave as though it were 'ChangeLog'
+If `change-log-default-name' is nil, behave as though it were \"ChangeLog\"
 \(or whatever we use on this operating system).
 
 If `change-log-default-name' contains a leading directory component, then
@@ -1679,7 +1679,7 @@ without being changed in the part that is already in the 
buffer.
 Turn on Auto-Revert Mode.
 
 This function is designed to be added to hooks, for example:
-  (add-hook 'c-mode-hook #'turn-on-auto-revert-mode)
+  (add-hook \\='c-mode-hook #\\='turn-on-auto-revert-mode)
 
 \(fn)" nil nil)
 
@@ -1707,7 +1707,7 @@ Use `auto-revert-mode' for changes other than appends!
 Turn on Auto-Revert Tail mode.
 
 This function is designed to be added to hooks, for example:
-  (add-hook 'my-logfile-mode-hook #'turn-on-auto-revert-tail-mode)
+  (add-hook \\='my-logfile-mode-hook #\\='turn-on-auto-revert-tail-mode)
 
 \(fn)" nil nil)
 
@@ -4451,11 +4451,11 @@ Last shell command used to do a compilation; default 
for next compilation.
 Sometimes it is useful for files to supply local values for this variable.
 You might also use mode hooks to specify it in certain modes, like this:
 
-    (add-hook 'c-mode-hook
+    (add-hook \\='c-mode-hook
        (lambda ()
         (unless (or (file-exists-p \"makefile\")
                     (file-exists-p \"Makefile\"))
-          (set (make-local-variable 'compile-command)
+          (set (make-local-variable \\='compile-command)
                (concat \"make -k \"
                        (if buffer-file-name
                          (shell-quote-argument
@@ -11132,7 +11132,7 @@ invoking `ispell-change-dictionary'.
 
 Consider using the `ispell-parser' to check your text.  For instance
 consider adding:
-\(add-hook 'tex-mode-hook (function (lambda () (setq ispell-parser 'tex))))
+\(add-hook \\='tex-mode-hook (function (lambda () (setq ispell-parser 
\\='tex))))
 in your init file.
 
 \\[flyspell-region] checks all words inside a region.
@@ -13997,7 +13997,7 @@ You can automatically rotate colors when the buffer is 
saved by adding
 this function to `write-file-functions' as a buffer-local value.  To do
 this, eval the following in the buffer to be saved:
 
-  (add-hook 'write-file-functions 'highlight-changes-rotate-faces nil t)
+  (add-hook \\='write-file-functions \\='highlight-changes-rotate-faces nil t)
 
 \(fn)" t nil)
 
@@ -16423,14 +16423,14 @@ The `X' command aborts sending the message so that 
you can edit the buffer.
 
 To spell-check whenever a message is sent, include the appropriate lines
 in your init file:
-   (add-hook 'message-send-hook 'ispell-message)  ;; GNUS 5
-   (add-hook 'news-inews-hook 'ispell-message)    ;; GNUS 4
-   (add-hook 'mail-send-hook  'ispell-message)
-   (add-hook 'mh-before-send-letter-hook 'ispell-message)
+   (add-hook \\='message-send-hook \\='ispell-message)  ;; GNUS 5
+   (add-hook \\='news-inews-hook \\='ispell-message)    ;; GNUS 4
+   (add-hook \\='mail-send-hook  \\='ispell-message)
+   (add-hook \\='mh-before-send-letter-hook \\='ispell-message)
 
 You can bind this to the key C-c i in GNUS or mail by adding to
 `news-reply-mode-hook' or `mail-mode-hook' the following lambda expression:
-   (function (lambda () (local-set-key \"\\C-ci\" 'ispell-message)))
+   (function (lambda () (local-set-key \"\\C-ci\" \\='ispell-message)))
 
 \(fn)" t nil)
 
diff --git a/lisp/leim/quail/cyrillic.el b/lisp/leim/quail/cyrillic.el
index ecee243..89a58cf 100644
--- a/lisp/leim/quail/cyrillic.el
+++ b/lisp/leim/quail/cyrillic.el
@@ -618,7 +618,7 @@
  "cyrillic-ukrainian" "Ukrainian" "ЖU" nil
  "ЄЇЕРТЗ-ІЎ UKRAINIAN
 
-Sorry, but 'ghe with upturn' is not included in ISO 8859-5."
+Sorry, but `ghe with upturn' is not included in ISO 8859-5."
  nil t t t t nil nil nil nil nil t)
 
 ;;  1! 2" 3# 4$ 5% 6& 7' 8( 9) 0= /? +* <>
@@ -839,7 +839,7 @@ Sorry, but 'ghe with upturn' is not included in ISO 8859-5."
  "ЯВЕРТЫ Roman transcription
 
 This layout is based on Roman transcription by phonemic resemblance.
-When preceded by a '/', the second and the third rows (number key row) change
+When preceded by a ‘/’, the second and the third rows (number key row) change
 as follows.
 
   keytop | Q  W  E  R  T  Y  U  I  O  P  A  S  D
@@ -1007,14 +1007,14 @@ are included.  Should handle most cases.  However:
   э (REVERSE ROUNDED E) = \"e\\\"
   х (KHA) when after с (S) = \"x\" or \"kh\"
   ъ (HARD SIGN) = \"~\", Ъ (CAPITAL HARD SIGN) = \"~~\",
-  ь (SOFT SIGN) = \"'\", Ь (CAPITAL SOFT SIGN) = \"''\",
+  ь (SOFT SIGN) = \"\\='\", Ь (CAPITAL SOFT SIGN) = \"\\='\\='\",
   я (YA) = \"ya\", \"ja\" or \"q\".
 
-Russian alphabet: a b v=w g d e yo=jo zh z i j=j' k l m n o p r s t
-u f h=kh=x c ch sh shch=sj=/s=/sht ~ y ' e\\ yu=ju ya=ja=q
+Russian alphabet: a b v=w g d e yo=jo zh z i j=j\\=' k l m n o p r s t
+u f h=kh=x c ch sh shch=sj=/s=/sht ~ y \\=' e\\ yu=ju ya=ja=q
 
 Also included are Ukrainian є (YE) = \"/e\", ї (YI) = \"yi\",
-ґ (GHE WITH UPTURN) = \"g'\",
+ґ (GHE WITH UPTURN) = \"g\\='\",
 Belarusian ў (SHORT U) = \"u~\",
 Serbo-Croatian ђ (DJE) = \"/d\", ћ (CHJE)= \"/ch\",
 Macedonian ѓ (GJE) = \"/g\", ѕ (DZE) = \"/s\", ќ (KJE) = \"/k\",
@@ -1410,7 +1410,7 @@ This keyboard layout is standard for Bulgarian 
typewriters.
 The letters Ц, М, Ч, Р, Л, Б and Ы are not affected by Caps Lock.
 
 In addition to original Bulgarian typewriter layout, keys \\ and |
-are transformed into ' and Ы respectively.  Some keyboards mark these
+are transformed into \\=' and Ы respectively.  Some keyboards mark these
 keys as being transformed into ( and ) respectively.  For ( and ), use
 \\=` and ~ respectively.  This input method follows XKB."
  nil t t t t nil nil nil nil nil t)
diff --git a/lisp/leim/quail/greek.el b/lisp/leim/quail/greek.el
index cf99150..1dfc93a 100644
--- a/lisp/leim/quail/greek.el
+++ b/lisp/leim/quail/greek.el
@@ -178,7 +178,7 @@ koppa               &               %
 mark           key
 ------------------------
 ypogegrammeni  J
-psili          '  or  v
+psili          \\='  or  v
 dasia          \\=`  or  V
 oxia           /
 varia          ?
@@ -461,9 +461,9 @@ mark                key
 ypogegrammeni  |
 psili          >
 dasia          <
-oxia           '
-koronis         ''
-varia          `
+oxia           \\='
+koronis                \\='\\='
+varia          \\=`
 perispomeni    ~
 dialytika      \"
 ano teleia     ;
diff --git a/lisp/leim/quail/hebrew.el b/lisp/leim/quail/hebrew.el
index 1601e1e..ac67fbf 100644
--- a/lisp/leim/quail/hebrew.el
+++ b/lisp/leim/quail/hebrew.el
@@ -36,8 +36,8 @@
 
 Based on SI-1452 keyboard layout.
 Only Hebrew-related characters are considered.
- 'q' is used to switch levels instead of Alt-Gr.
- Maqaaf (־) is mapped to '/פ'.
+ ‘q’ is used to switch levels instead of Alt-Gr.
+ Maqaaf (־) is mapped to ‘/פ’.
 " nil t t t t nil nil nil nil nil t)
 
 (quail-define-rules
@@ -457,8 +457,8 @@ Provides access to all Hebrew characters suitable to Modern 
Hebrew.
 
 Based on Society of Biblical Literature's Tiro keyboard layout.
 Not suitable for modern Hebrew input.
- 'q' is used to switch levels instead of Alt-Gr.
- Combining dot above (Called Masora dot) (̇) is mapped to 'q1'.
+ ‘q’ is used to switch levels instead of Alt-Gr.
+ Combining dot above (Called Masora dot) (̇) is mapped to ‘q1’.
 " nil t t t t nil nil nil nil nil t)
 
 (quail-define-rules
diff --git a/lisp/leim/quail/latin-alt.el b/lisp/leim/quail/latin-alt.el
index 0614ecb..935a471 100644
--- a/lisp/leim/quail/latin-alt.el
+++ b/lisp/leim/quail/latin-alt.el
@@ -48,7 +48,7 @@ special (so you can use that to enter a slash).
 
              | postfix | examples
  ------------+---------+----------
-  acute      |    '    | a' -> á
+  acute      |    \\='    | a\\=' -> á
   grave      |    \\=`    | a\\=` -> à
   circumflex |    ^    | a^ -> â
   diaeresis  |    \"    | a\" -> ä
@@ -62,7 +62,7 @@ It seems natural to use comma for cedillas, but that is
 inconvenient in practice because commas are needed very
 often after a letter.
 
-Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
+Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\='
 " nil t nil nil nil nil nil nil nil nil t)
 
 (quail-define-rules
@@ -213,7 +213,7 @@ comma and period are not special (use \\=` instead).
 
              | postfix | examples
  ------------+---------+----------
-  acute      |    '    | a' -> á
+  acute      |    \\='    | a\\=' -> á
   ogonek     |    \\=`    | a\\=` -> ą
   diaeresis  |    \"    | a\" -> ä
   circumflex |    ^    | a^ -> â
@@ -230,7 +230,7 @@ It seems natural to use period and comma for dots/rings and
 cedillas/ogoneks, but that is inconvenient in practice, because
 periods and commas are needed very often after a letter.
 
-Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
+Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\='
 " nil t nil nil nil nil nil nil nil nil t)
 
 (quail-define-rules
@@ -408,7 +408,7 @@ special (use slash instead).
 
              | postfix | examples
  ------------+---------+----------
-  acute      |    '    | a' -> á
+  acute      |    \\='    | a\\=' -> á
   grave      |    \\=`    | a\\=` -> à
   circumflex |    ^    | a^ -> â
   diaeresis  |    \"    | a\" -> ä
@@ -423,7 +423,7 @@ It would be natural to use period and comma for dots and 
cedillas, but
 that would inconvenient in practice, because periods and commas are
 needed very often after a letter.
 
-Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
+Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\='
 " nil t nil nil nil nil nil nil nil nil t)
 
 (quail-define-rules
@@ -581,7 +581,7 @@ special (use ~ instead).
 
              | postfix | examples
  ------------+---------+----------
-  acute      |    '    | a' -> á
+  acute      |    \\='    | a\\=' -> á
   circumflex |    ^    | a^ -> â
   diaeresis  |    \"    | a\" -> ä
   ogonek     |    \\=`    | a\\=` -> ą
@@ -598,7 +598,7 @@ It seems natural to use period and comma for dots and
 cedillas/ogoneks, but that is inconvenient in practice, because
 periods and commas are needed very often after a letter.
 
-Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
+Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\='
 " nil t nil nil nil nil nil nil nil nil t)
 
 (quail-define-rules
@@ -778,7 +778,7 @@ special (use / instead).
 
              | postfix | examples
  ------------+---------+----------
-  acute      |    '    | a' -> á
+  acute      |    \\='    | a\\=' -> á
   grave      |    \\=`    | a\\=` -> à
   circumflex |    ^    | a^ -> â
   diaeresis  |    \"    | a\" -> ä
@@ -793,7 +793,7 @@ It seems natural to use period and comma for dots and 
cedillas, but
 that is inconvenient in practice, because periods and commas are
 needed very often after a letter.
 
-Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
+Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\='
 " nil t nil nil nil nil nil nil nil nil t)
 
 (quail-define-rules
@@ -930,13 +930,13 @@ Doubling the postfix separates the letter and postfix: 
e.g. a'' -> a'
  "french-alt-postfix" "French" "FR<" t
  "French (Français) input method with postfix modifiers
 
-\\=` pour grave, ' pour aigu, ^ pour circonflexe, et \" pour tréma.
-Par exemple: a\\=` -> à   e' -> é.
+\\=` pour grave, \\=' pour aigu, ^ pour circonflexe, et \" pour tréma.
+Par exemple: a\\=` -> à   e\\=' -> é.
 
 Ç, «, et » sont produits par C/, <<, et >>.
 
 En doublant la frappe des diacritiques, ils s'isoleront de la lettre.
-Par exemple: e'' -> e'
+Par exemple: e\\='\\=' -> e\\='
 
 Πest produit par O/."
  nil t nil nil nil nil nil nil nil nil t)
@@ -1011,11 +1011,11 @@ Par exemple: e'' -> e'
  "italian-alt-postfix" "Latin-1" "IT<" t
  "Italian (Italiano) input method with postfix modifiers
 
-a' -> á    A' -> Á    a\\=` -> à    A\\=` -> À    i^ -> î    << -> «
-e' -> é    E' -> É    e\\=` -> è    E\\=` -> È    I^ -> Î    >> -> »
-i' -> í    I' -> Í    i\\=` -> ì    I\\=` -> Ì               o_ -> º
-o' -> ó    O' -> Ó    o\\=` -> ò    O\\=` -> Ò               a_ -> ª
-u' -> ú    U' -> Ú    u\\=` -> ù    U\\=` -> Ù
+a\\=' -> á    A\\=' -> Á    a\\=` -> à    A\\=` -> À    i^ -> î    << -> «
+e\\=' -> é    E\\=' -> É    e\\=` -> è    E\\=` -> È    I^ -> Î    >> -> »
+i\\=' -> í    I\\=' -> Í    i\\=` -> ì    I\\=` -> Ì               o_ -> º
+o\\=' -> ó    O\\=' -> Ó    o\\=` -> ò    O\\=` -> Ò               a_ -> ª
+u\\=' -> ú    U\\=' -> Ú    u\\=` -> ù    U\\=` -> Ù
 
 This method is for purists who like accents the old way.
 
@@ -1160,7 +1160,7 @@ Caters for French and Turkish as well as Dutch.
  ------------+---------+----------
              | postfix |
  ------------+---------+----------
-  acute      |    '    | a' -> á
+  acute      |    \\='    | a\\=' -> á
   grave      |    \\=`    | a\\=` -> à
   circumflex |    ^    | a^ -> â
   Turkish    | various | i/ -> ı  s, -> ş  g^ -> ğ   I/ -> İ
@@ -1170,7 +1170,7 @@ Caters for French and Turkish as well as Dutch.
  ------------+---------+----------
   diaeresis  |    \"    | \"a -> ä
 
-Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
+Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\='
 " nil t nil nil nil nil nil nil nil nil t)
 
 (quail-define-rules
@@ -1338,7 +1338,7 @@ of characters from a single Latin-N charset.
 
              | postfix | examples
  ------------+---------+----------
-  acute      |    '    | a' -> á
+  acute      |    \\='    | a\\=' -> á
   grave      |    \\=`    | a\\=` -> à
   circumflex |    ^    | a^ -> â
   diaeresis  |    \"    | a\" -> ä
@@ -1359,7 +1359,7 @@ It would be natural to use comma for cedillas, but that 
would be
 inconvenient in practice because commas are needed very often after a
 letter.
 
-Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
+Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\='
 " nil t nil nil nil nil nil nil nil nil t)
 
 ;; Fixme: ¦ § ¨ © ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ ¼ ½ ¾ × ÷
diff --git a/lisp/leim/quail/latin-post.el b/lisp/leim/quail/latin-post.el
index 5106bd2..25fd450 100644
--- a/lisp/leim/quail/latin-post.el
+++ b/lisp/leim/quail/latin-post.el
@@ -40,7 +40,7 @@
 
              | postfix | examples
  ------------+---------+----------
-  acute      |    '    | a' -> á
+  acute      |    \\='    | a\\=' -> á
   grave      |    \\=`    | a\\=` -> à
   circumflex |    ^    | a^ -> â
   diaeresis  |    \"    | a\" -> ä
@@ -50,7 +50,7 @@
   others     |    /    | s/ -> ß   ?/ -> ¿   !/ -> ¡   // -> °
              | various | << -> «   >> -> »   o_ -> º   a_ -> ª
 
-Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
+Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\='
 " nil t nil nil nil nil nil nil nil nil t)
 
 (quail-define-rules
@@ -201,7 +201,7 @@ Doubling the postfix separates the letter and postfix: e.g. 
a'' -> a'
 
              | postfix | examples
  ------------+---------+----------
-  acute      |    '    | a' -> á
+  acute      |    \\='    | a\\=' -> á
   ogonek     |    ,    | a, -> ą
   diaeresis  |    \"    | a\" -> ä
   circumflex |    ^    | a^ -> â
@@ -214,7 +214,7 @@ Doubling the postfix separates the letter and postfix: e.g. 
a'' -> a'
   stroke     |    /    | d/ -> đ
   others     |    /    | s/ -> ß
 
-Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
+Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\='
 " nil t nil nil nil nil nil nil nil nil t)
 
 (quail-define-rules
@@ -389,7 +389,7 @@ Doubling the postfix separates the letter and postfix: e.g. 
a'' -> a'
 
              | postfix | examples
  ------------+---------+----------
-  acute      |    '    | a' -> á
+  acute      |    \\='    | a\\=' -> á
   grave      |    \\=`    | a\\=` -> à
   circumflex |    ^    | a^ -> â
   diaeresis  |    \"    | a\" -> ä
@@ -400,7 +400,7 @@ Doubling the postfix separates the letter and postfix: e.g. 
a'' -> a'
   stroke     |    /    | h/ -> ħ
   others     |    /    | s/ -> ß
 
-Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
+Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\='
 " nil t nil nil nil nil nil nil nil nil t)
 
 (quail-define-rules
@@ -555,7 +555,7 @@ Doubling the postfix separates the letter and postfix: e.g. 
a'' -> a'
 
              | postfix | examples
  ------------+---------+----------
-  acute      |    '    | a' -> á
+  acute      |    \\='    | a\\=' -> á
   circumflex |    ^    | a^ -> â
   diaeresis  |    \"    | a\" -> ä
   ogonek     |    ,    | a, -> ą
@@ -568,7 +568,7 @@ Doubling the postfix separates the letter and postfix: e.g. 
a'' -> a'
   nordic     |    /    | a/ -> å   e/ -> æ   o/ -> ø
   others     |    /    | s/ -> ß   n/ -> ŋ   k/ -> ĸ
 
-Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
+Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\='
 " nil t nil nil nil nil nil nil nil nil t)
 
 (quail-define-rules
@@ -745,7 +745,7 @@ Doubling the postfix separates the letter and postfix: e.g. 
a'' -> a'
 
              | postfix | examples
  ------------+---------+----------
-  acute      |    '    | a' -> á
+  acute      |    \\='    | a\\=' -> á
   grave      |    \\=`    | a\\=` -> à
   circumflex |    ^    | a^ -> â
   diaeresis  |    \"    | a\" -> ä
@@ -756,7 +756,7 @@ Doubling the postfix separates the letter and postfix: e.g. 
a'' -> a'
   nordic     |    /    | a/ -> å   e/ -> æ   o/ -> ø
   others     |    /    | s/ -> ß
 
-Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
+Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\='
 " nil t nil nil nil nil nil nil nil nil t)
 
 (quail-define-rules
@@ -889,7 +889,7 @@ Doubling the postfix separates the letter and postfix: e.g. 
a'' -> a'
 
 (quail-define-package
  "danish-postfix" "Latin-1" "DA<" t
- "Danish input method (rule: AE -> Æ, OE -> Ø, AA -> Å, E' -> É)
+ "Danish input method (rule: AE -> Æ, OE -> Ø, AA -> Å, E\\=' -> É)
 
 Doubling the postfix separates the letter and postfix: e.g. aee -> ae
 "
@@ -923,7 +923,7 @@ A following ^ or x will produce an accented character,
 e.g. c^ -> ĉ   gx -> ĝ   u^ -> ŭ.
 
 Doubling the postfix separates the letter and postfix,
-e.g. a'' -> a'.
+e.g. a\\='\\=' -> a\\='.
 " nil t nil nil nil nil nil nil nil nil t)
 
 (quail-define-rules
@@ -1005,13 +1005,13 @@ OEE -> OE
  "french-postfix" "French" "FR<" t
  "French (Français) input method with postfix modifiers
 
-\\=` pour grave, ' pour aigu, ^ pour circonflexe, et \" pour tréma.
-Par exemple: a\\=` -> à   e' -> é.
+\\=` pour grave, \\=' pour aigu, ^ pour circonflexe, et \" pour tréma.
+Par exemple: a\\=` -> à   e\\=' -> é.
 
 Ç, «, et » sont produits par C,, <<, et >>.
 
 En doublant la frappe des diacritiques, ils s'isoleront de la lettre.
-Par exemple: e'' -> e'
+Par exemple: e\\='\\=' -> e\\='
 
 Πest produit par O/."
  nil t nil nil nil nil nil nil nil nil t)
@@ -1124,18 +1124,18 @@ szz -> sz
  "icelandic-postfix" "Latin-1" "IS<" t
  "Icelandic (Íslenska) input method with postfix modifiers
 
-A' -> Á
-E' -> É
-I' -> Í
-O' -> Ó
-U' -> Ú
-Y' -> Ý
+A\\=' -> Á
+E\\=' -> É
+I\\=' -> Í
+O\\=' -> Ó
+U\\=' -> Ú
+Y\\=' -> Ý
 AE -> Æ
 OE -> Ö
 D/ -> Ð (eth)
 T/ -> Þ (thorn)
 
-Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
+Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\='
 " nil t nil nil nil nil nil nil nil nil t)
 
 (quail-define-rules
@@ -1186,8 +1186,8 @@ Doubling the postfix separates the letter and postfix: 
e.g. a'' -> a'
  "italian-postfix" "Latin-1" "IT<" t
  "Italian (Italiano) input method with postfix modifiers
 
-a\\=` -> à    A\\=` -> À    e' -> é    << -> «
-e\\=` -> è    E\\=` -> È    E' -> É    >> -> »
+a\\=` -> à    A\\=` -> À    e\\=' -> é    << -> «
+e\\=` -> è    E\\=` -> È    E\\=' -> É    >> -> »
 i\\=` -> ì    I\\=` -> Ì               o_ -> º
 o\\=` -> ò    O\\=` -> Ò               a_ -> ª
 u\\=` -> ù    U\\=` -> Ù
@@ -1235,7 +1235,7 @@ Doubling the postfix separates the letter and postfix: 
e.g. a\\=`\\=` -> a\\=`
 
 (quail-define-package
  "norwegian-postfix" "Latin-1" "NO<" t
- "Norwegian (Norsk) input method (rule: AE->Æ   OE->Ø   AA->Å   E'->É)
+ "Norwegian (Norsk) input method (rule: AE->Æ   OE->Ø   AA->Å   E\\='->É)
 
 Doubling the postfix separates the letter and postfix: e.g. aee -> ae
 "
@@ -1271,7 +1271,7 @@ oe -> ø
 aa -> å
 a\" -> ä
 o\" -> ö
-e' -> é
+e\\=' -> é
 
 Doubling the postfix separates the letter and postfix:
 aee -> ae   o\"\" -> o\"   etc.
@@ -1309,17 +1309,17 @@ aee -> ae   o\"\" -> o\"   etc.
  "spanish-postfix" "Spanish" "ES<" t
  "Spanish (Español) input method with postfix modifiers
 
-A' -> Á
-E' -> É
-I' -> Í
-O' -> Ó
-U' -> Ú
+A\\=' -> Á
+E\\=' -> É
+I\\=' -> Í
+O\\=' -> Ó
+U\\=' -> Ú
 N~ -> Ñ
 !/ -> ¡
 ?/ -> ¿
 
 Doubling the postfix separates the letter and postfix:
-a'' -> a'   n~~ -> n~, etc.
+a\\='\\=' -> a\\='   n~~ -> n~, etc.
 " nil t nil nil nil nil nil nil nil nil t)
 
 (quail-define-rules
@@ -1360,7 +1360,7 @@ a'' -> a'   n~~ -> n~, etc.
 
 (quail-define-package
  "swedish-postfix" "Latin-1" "SV<" t
- "Swedish (Svenska) input method (rule: AA -> Å   AE -> Ä   OE -> Ö   E' -> É)
+ "Swedish (Svenska) input method (rule: AA -> Å   AE -> Ä   OE -> Ö   E\\=' -> 
É)
 
 Doubling the postfix separates the letter and postfix: e.g. aee -> ae
 " nil t nil nil nil nil nil nil nil nil t)
@@ -2089,7 +2089,7 @@ of characters from a single Latin-N charset.
 
              | postfix | examples
  ------------+---------+----------
-  acute      |    '    | a' -> á
+  acute      |    \\='    | a\\=' -> á
   grave      |    \\=`    | a\\=` -> à
   circumflex |    ^    | a^ -> â
   diaeresis  |    \"    | a\" -> ä
@@ -2106,7 +2106,7 @@ of characters from a single Latin-N charset.
   others     |    /    | s/ -> ß   ?/ -> ¿   !/ -> ¡   // -> °   o/ -> œ
              | various | << -> «   >> -> »   o_ -> º   a_ -> ª
 
-Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
+Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\='
 " nil t nil nil nil nil nil nil nil nil t)
 
 ;; Fixme: ¦ § ¨ © ¬ ­ ® ¯ ± ² ³ ´ µ ¶ · ¸ ¹ ¼ ½ ¾ × ÷
diff --git a/lisp/leim/quail/latin-pre.el b/lisp/leim/quail/latin-pre.el
index 4e60d9c..7e4fd43 100644
--- a/lisp/leim/quail/latin-pre.el
+++ b/lisp/leim/quail/latin-pre.el
@@ -52,7 +52,7 @@
 
     effect   | prefix | examples
  ------------+--------+----------
-    acute    |   '    | 'a -> á, '' -> ´
+    acute    |   \\='    | \\='a -> á, \\='\\=' -> ´
     grave    |   \\=`    | \\=`a -> à
   circumflex |   ^    | ^a -> â
   diaeresis  |   \"    | \"a -> ä  \"\" -> ¨
@@ -183,7 +183,7 @@
 
     effect   | prefix | examples
  ------------+--------+----------
-    acute    |   '    | 'a -> á   '' -> ´
+    acute    |   \\='    | \\='a -> á   \\='\\=' -> ´
     grave    |   \\=`    | \\=`a -> à
   diaeresis  |   \"    | \"i -> ï   \"\" -> ¨
     tilde    |   ~    | ~n -> ñ
@@ -258,7 +258,7 @@ Key translation rules are:
 
     effect   | prefix | examples
  ------------+--------+----------
-    acute    |   '    | 'e -> é
+    acute    |   \\='    | \\='e -> é
     grave    |   \\=`    | \\=`a -> à
   circumflex |   ^    | ^a -> â
   diaeresis  |   \"    | \"i -> ï
@@ -338,9 +338,9 @@ Key translation rules are:
     effect   | prefix | examples
  ------------+--------+------------------
     tilde    |   \"    | \"a -> â
-  circumflex |   '    | 'a -> â, 'i -> î
-   cedilla   |   '    | 's -> ş, 't -> ţ
-   '         |   '    | '' -> '
+  circumflex |   \\='    | \\='a -> â, \\='i -> î
+   cedilla   |   \\='    | \\='s -> ş, \\='t -> ţ
+   \\='         |   \\='    | \\='\\=' -> \\='
    \"         |   \"    | \"\" -> \"
 " nil t nil nil nil nil nil nil nil nil t)
 
@@ -374,7 +374,7 @@ Key translation rules are:
  "irish-prefix" "Latin-1" "GA>" t
  "Irish input method with prefix modifiers
 Key translation rules are:
- 'A -> Á   'E -> É   'I -> Í   'O -> Ó   'U -> Ú
+ \\='A -> Á   \\='E -> É   \\='I -> Í   \\='O -> Ó   \\='U -> Ú
 " nil t nil nil nil nil nil nil nil nil t)
 
 (quail-define-rules
@@ -397,12 +397,12 @@ Key translation rules are:
 
     effect   | prefix | examples
  ------------+--------+----------
-    acute    |   '    | 'a -> á   '' -> ´
+    acute    |   \\='    | \\='a -> á   \\='\\=' -> ´
     grave    |   \\=`    | \\=`a -> à
   circumflex |   ^    | ^a -> â
   diaeresis  |   \"    | \"u -> ü
     tilde    |   ~    | ~a -> ã
-   cedilla   | ' or , | 'c -> ç   ,c -> ç
+   cedilla   | \\=' or , | \\='c -> ç   ,c -> ç
 " nil t nil nil nil nil nil nil nil nil t)
 
 (quail-define-rules
@@ -448,7 +448,7 @@ Key translation rules are:
 
     effect   | prefix | examples
  ------------+--------+----------
-    acute    |   '    | 'a -> á
+    acute    |   \\='    | \\='a -> á
   diaeresis  |   \"    | \"u -> ü
     tilde    |   ~    | ~n -> ñ
    symbol    |   ~    | ~> -> »   ~< -> «   ~! -> ¡   ~? -> ¿
@@ -484,13 +484,13 @@ Key translation rules are:
 
     effect   | prefix | examples
  ------------+--------+----------
-    acute    |   '    | 'a -> á   '' -> ?´
+    acute    |   \\='    | \\='a -> á   \\='\\=' -> ?´
   circumflex |   ^    | ^a -> â
   diaeresis  |   \"    | \"a -> ä   \"\" -> ¨
     breve    |   ~    | ~a -> ă
     caron    |   ~    | ~c -> č
    cedilla   |   \\=`    | \\=`c -> ç   \\=`e -> ?ę
-    misc     | ' \\=` ~  | 'd -> đ   \\=`l -> ł   \\=`z -> ż   ~o -> ő   ~u -> 
ű
+    misc     | \\=' \\=` ~  | \\='d -> đ   \\=`l -> ł   \\=`z -> ż   ~o -> ő   
~u -> ű
    symbol    |   ~    | \\=`. -> ˙   ~~ -> ˘   ~. -> ?¸
 " nil t nil nil nil nil nil nil nil nil t)
 
@@ -595,7 +595,7 @@ Key translation rules are:
 
     effect   | prefix | examples
  ------------+--------+----------
-    acute    |   '    | 'a -> á   '' -> ?´
+    acute    |   \\='    | \\='a -> á   \\='\\=' -> ?´
     grave    |   \\=`    | \\=`a -> à
   circumflex |   ^    | ^a -> â
   diaeresis  |   \"    | \"a -> ä   \"\" -> ¨
@@ -736,7 +736,7 @@ For example, the character named `aogonek' is obtained by 
`/a'."
 
     effect   | prefix | examples
  ------------+--------+----------
-    acute    |   '    | 'a -> á
+    acute    |   \\='    | \\='a -> á
     grave    |   \\=`    | \\=`a -> à
   circumflex |   ^    | ^a -> â
   diaeresis  |   \"    | \"a -> ä, \"Y -> Ÿ
@@ -871,7 +871,7 @@ For example, the character named `aogonek' is obtained by 
`/a'."
 
     effect   | prefix | examples
  ------------+--------+----------
-    acute    |   '    | 'a -> á
+    acute    |   \\='    | \\='a -> á
     grave    |   \\=`    | \\=`a -> à
   circumflex |   ^    | ^w -> ŵ
   diaeresis  |   \"    | \"a -> ä
@@ -996,7 +996,7 @@ of characters from a single Latin-N charset.
 
     effect   | prefix | examples
  ------------+--------+----------
-    acute    |   '    | 'a -> á, '' -> ´
+    acute    |   \\='    | \\='a -> á, \\='\\=' -> ´
     grave    |   \\=`    | \\=`a -> à
   circumflex |   ^    | ^a -> â
   diaeresis  |   \"    | \"a -> ä  \"\" -> ¨
diff --git a/lisp/leim/quail/tibetan.el b/lisp/leim/quail/tibetan.el
index 5dacf29..d5a92ca 100644
--- a/lisp/leim/quail/tibetan.el
+++ b/lisp/leim/quail/tibetan.el
@@ -134,7 +134,7 @@
     |ཏ་ t |ཐ་ th |ད་ d  |དྷ་ dh |ན་ n |   ོ o          ༑       ;
     |པ་ p |ཕ་ ph |བ་ b  |བྷ་ bh |མ་ m |   ཻ ai (ee, E) ༏        $
     |ཙ་ ts|ཚ་ tsh|ཛ་ dz |ཛྷ་ dzh|ཝ་ w |   ཽ au (oo, O) ༐        &
-    |ཞ་ zh|ཟ་ z  |འ་ '  |       |ཡ་ y |   ྀ I          ༄༅   *
+    |ཞ་ zh|ཟ་ z  |འ་ \\='  |       |ཡ་ y |   ྀ I          ༄༅   *
     |ར་ r |ལ་ l  |ཤ་ sh |ཥ་ SH |ས་ s |   ཿ :         ༄༅༅  #
     |ཧ་ h |ཨ་ A  |ཀྵ་ kSH|       |      |   ཾ M           ༼ ༽   < >
     +-------------------------------------+   ༔  %
@@ -155,7 +155,7 @@
             and to get da-drag in  -r-d, -l-d .)
   |     : Special signs.
 
-  Tsheg is assigned to SPC.  Space is assigned to period '.'.
+  Tsheg is assigned to SPC.  Space is assigned to period ‘.’.
 "
  nil nil nil nil nil nil nil nil
  'quail-tibetan-update-translation)
@@ -407,11 +407,11 @@
   +-------------------------------------------------------+
      |qཀ|wཁ|eག|rང|tཅ|yཆ|uཇ|iཉ|oཏ|pཐ|[ད|]ན|
      +-----------------------------------------------+
-      |aཔ| sཕ| dབ|fམ|gུ|h  |jོ|kཙ|lཚ|;ཛ|'ཝ|
+      |aཔ| sཕ| dབ|fམ|gུ|h  |jོ|kཙ|lཚ|;ཛ|\\='ཝ|
       +---------------------------------------------+
          |zཞ|xཟ|cའ|vཡ|bར|nལ|mཤ|,ས|.ཧ|/ཨ|
          +---------------------------------------+
-  The key 'h' is used for consonant stacking.
+  The key ‘h’ is used for consonant stacking.
 
   [SHIFTED]
 
@@ -427,14 +427,14 @@
 
   DIFFERENCE FROM THE ORIGINAL TIBKEY:
 
-    1. Vowel 'a' should be typed explicitly by the key 'A'.
+    1. Vowel ‘a’ should be typed explicitly by the key ‘A’.
        This is really inconvenient.  But to make the coding
        scheme clear, it is desirable to have an explicit
-       vowel sign for 'a'.
+       vowel sign for ‘a’.
     2. Tsheg is assigned to SPC key.  You can input a space
-       by typing '>'.
+       by typing ‘>’.
     4. To avoid the default stacking ���� and to obtain གཡ,
-       type 'E' instead of 'v' (=ཡ).
+       type ‘E’ instead of ‘v’ (=ཡ).
     3. There are many characters that are not supported in the
        current implementation (especially special signs).
        I hope I'll complete in a future revision.
diff --git a/lisp/leim/quail/viqr.el b/lisp/leim/quail/viqr.el
index 570a16b..879fba4 100644
--- a/lisp/leim/quail/viqr.el
+++ b/lisp/leim/quail/viqr.el
@@ -52,7 +52,7 @@
   circumflex |    ^    | a^ -> â
     horn     |    +    | o+ -> ơ
  ------------+---------+----------
-    acute    |    '    | a' -> á
+    acute    |    \\='    | a\\=' -> á
     grave    |    \\=`    | a\\=` -> à
   hook above |    ?    | a? -> ả
     tilde    |    ~    | a~ -> ã
diff --git a/lisp/mail/feedmail.el b/lisp/mail/feedmail.el
index 857cfcc..a94a81c 100644
--- a/lisp/mail/feedmail.el
+++ b/lisp/mail/feedmail.el
@@ -1354,7 +1354,7 @@ If you have `mail-send-hook' functions that should only 
be called for sending/
 queueing messages or only be called for the sending of queued messages, this is
 for you.  Add this function to `mail-send-hook' with something like this:
 
-       (add-hook 'mail-send-hook 'feedmail-mail-send-hook-splitter)
+       (add-hook \\='mail-send-hook \\='feedmail-mail-send-hook-splitter)
 
 Then add the functions you want called to either 
`feedmail-mail-send-hook-queued'
 or `feedmail-mail-send-hook', as appropriate.  The distinction is that
@@ -1551,7 +1551,7 @@ See feedmail-binmail-template documentation."
                                           "/bin/rmail %s" "/bin/mail %s"))
   "Command template for the subprocess which will get rid of the mail.
 It can result in any command understandable by /bin/sh.  Might not
-work at all in non-UNIX environments.  The single '%s', if present,
+work at all in non-UNIX environments.  The single `%s', if present,
 gets replaced by the space-separated, simplified list of addressees.
 Used in `feedmail-buffer-to-binmail' to form the shell command which
 will receive the contents of the prepped buffer as stdin.  The default
@@ -2053,7 +2053,7 @@ backup file names and the like)."
                ;; the handler for the condition-case
                (error (setq messages-skipped (1+ messages-skipped))
                       (ding t)
-                      (message "FQM: Trapped '%s', message left in queue." 
(car signal-stuff))
+                      (message "FQM: Trapped ‘%s’, message left in queue." 
(car signal-stuff))
                       (sit-for 3)
                       (message "FQM: Trap details: \"%s\""
                                (mapconcat 'identity (cdr signal-stuff) "\" 
\""))
diff --git a/lisp/mail/metamail.el b/lisp/mail/metamail.el
index c962dcc..6f406c3 100644
--- a/lisp/mail/metamail.el
+++ b/lisp/mail/metamail.el
@@ -150,7 +150,7 @@ redisplayed as output is inserted."
 
 ;;;###autoload
 (defun metamail-region (beg end &optional viewmode buffer nodisplay)
-  "Process current region through 'metamail'.
+  "Process current region through `metamail'.
 Optional argument VIEWMODE specifies the value of the
 EMACS_VIEW_MODE environment variable (defaulted to 1).
 Optional argument BUFFER specifies a buffer to be filled (nil
diff --git a/lisp/mail/rfc2368.el b/lisp/mail/rfc2368.el
index 77fa0f5..3c4e9b2 100644
--- a/lisp/mail/rfc2368.el
+++ b/lisp/mail/rfc2368.el
@@ -66,16 +66,16 @@
 
 ;; describes 'mailto:'
 (defconst rfc2368-mailto-scheme-index 1
-  "Describes the 'mailto:' portion of the url.")
+  "Describes the ‘mailto:’ portion of the url.")
 ;; i'm going to call this part the 'prequery'
 (defconst rfc2368-mailto-prequery-index 2
-  "Describes the portion of the url between 'mailto:' and '?'.")
+  "Describes the portion of the url between ‘mailto:’ and ‘?’.")
 ;; i'm going to call this part the 'query'
 (defconst rfc2368-mailto-query-index 4
-  "Describes the portion of the url after '?'.")
+  "Describes the portion of the url after ‘?’.")
 
 (defun rfc2368-unhexify-string (string)
-  "Unhexify STRING -- e.g. 'hello%20there' -> 'hello there'."
+  "Unhexify STRING -- e.g. ‘hello%20there’ -> ‘hello there’."
   (replace-regexp-in-string "%[[:xdigit:]]\\{2\\}"
                            (lambda (match)
                              (string (string-to-number (substring match 1)
@@ -85,7 +85,7 @@
 (defun rfc2368-parse-mailto-url (mailto-url)
   "Parse MAILTO-URL, and return an alist of header-name, header-value pairs.
 MAILTO-URL should be a RFC 2368 (mailto) compliant url.  A cons cell w/ a
-key of 'Body' is a special case and is considered a header for this purpose.
+key of `Body' is a special case and is considered a header for this purpose.
 The returned alist is intended for use w/ the `compose-mail' interface.
 Note: make sure MAILTO-URL has been 'unhtmlized' (e.g. &amp; -> &), before
 calling this function."
diff --git a/lisp/mh-e/mh-mime.el b/lisp/mh-e/mh-mime.el
index 31685e9..60b796b 100644
--- a/lisp/mh-e/mh-mime.el
+++ b/lisp/mh-e/mh-mime.el
@@ -1801,7 +1801,7 @@ initialized. Always use the command 
`mh-have-file-command'.")
 
 ;;;###mh-autoload
 (defun mh-have-file-command ()
-  "Return t if 'file' command is on the system.
+  "Return t if `file' command is on the system.
 'file -i' is used to get MIME type of composition insertion."
   (when (eq mh-have-file-command 'undefined)
     (setq mh-have-file-command
diff --git a/lisp/mh-e/mh-search.el b/lisp/mh-e/mh-search.el
index f30e6a6..7d066b0 100644
--- a/lisp/mh-e/mh-search.el
+++ b/lisp/mh-e/mh-search.el
@@ -1160,7 +1160,7 @@ the file \"/home/user/Mail/.namazu/mknmzrc\" with the 
following
 contents:
 
      package conf;  # Don't remove this line!
-     $ADDRESS = 'address@hidden';
+     $ADDRESS = \\='address@hidden';
      $ALLOW_FILE = \"[0-9]*\";
      $EXCLUDE_PATH = \"^/home/user/Mail/(mhe-index|spam)\";
 
diff --git a/lisp/mh-e/mh-seq.el b/lisp/mh-e/mh-seq.el
index 8fd477c..2e73f62 100644
--- a/lisp/mh-e/mh-seq.el
+++ b/lisp/mh-e/mh-seq.el
@@ -390,7 +390,7 @@ then a non-empty sequence is read."
   "Read and return a sequence name.
 Prompt with PROMPT, raise an error if the sequence is empty and
 the NOT-EMPTY flag is non-nil, and supply an optional DEFAULT
-sequence. A reply of '%' defaults to the first sequence
+sequence. A reply of ‘%’ defaults to the first sequence
 containing the current message."
   (let* ((input (completing-read (format "%s sequence%s: " prompt
                                          (if default
@@ -766,7 +766,7 @@ completion is over."
   "Parse LINE to generate folder name, unseen messages and total messages.
 If CURRENT-FOLDER is non-nil then it contains the current folder
 name and it is used to avoid problems in corner cases involving
-folders whose names end with a '+' character."
+folders whose names end with a ‘+’ character."
   (with-temp-buffer
     (insert line)
     (goto-char (point-max))
diff --git a/lisp/mh-e/mh-utils.el b/lisp/mh-e/mh-utils.el
index a9e9847..060da46 100644
--- a/lisp/mh-e/mh-utils.el
+++ b/lisp/mh-e/mh-utils.el
@@ -419,21 +419,21 @@ names and the function is called when OUTPUT is 
available."
                                         return-nil-if-folder-empty)
   "Normalizes FOLDER name.
 
-Makes sure that two '/' characters never occur next to each
-other. Also all occurrences of \"..\" and \".\" are suitably
+Makes sure that two ‘/’ characters never occur next to each
+other. Also all occurrences of ‘..’ and ‘.’ are suitably
 processed. So \"+inbox/../news\" will be normalized to \"+news\".
 
-If optional argument EMPTY-STRING-OKAY is nil then a '+' is added
+If optional argument EMPTY-STRING-OKAY is nil then a ‘+’ is added
 at the front if FOLDER lacks one. If non-nil and FOLDER is the
 empty string then nothing is added.
 
 If optional argument DONT-REMOVE-TRAILING-SLASH is non-nil then a
-trailing '/' if present is retained (if present), otherwise it is
+trailing ‘/’ if present is retained (if present), otherwise it is
 removed.
 
 If optional argument RETURN-NIL-IF-FOLDER-EMPTY is non-nil, then
 return nil if FOLDER is \"\" or \"+\". This is useful when
-normalizing the folder for the \"folders\" command which displays
+normalizing the folder for the ‘folders’ command which displays
 the directories in / if passed \"+\". This is usually not
 desired. If this argument is non-nil, then EMPTY-STRING-OKAY has
 no effect."
@@ -653,7 +653,7 @@ with \"+\"."
 ;;;###mh-autoload
 (defun mh-expand-file-name (filename &optional default)
   "Expand FILENAME like `expand-file-name', but also handle MH folder names.
-Any filename that starts with '+' is treated as a folder name.
+Any filename that starts with `+' is treated as a folder name.
 See `expand-file-name' for description of DEFAULT."
   (if (mh-folder-name-p filename)
       (expand-file-name (substring filename 1) mh-user-path)
diff --git a/lisp/mpc.el b/lisp/mpc.el
index fb59adf..59581f3 100644
--- a/lisp/mpc.el
+++ b/lisp/mpc.el
@@ -1751,7 +1751,7 @@ A value of t means the main playlist.")
                      (completing-read "Rename playlist: "
                                       (mpc-cmd-list 'Playlist)
                                       nil 'require-match)))
-          (newname (read-string (format "Rename '%s' to: " oldname))))
+          (newname (read-string (format-message "Rename ‘%s’ to: " oldname))))
      (if (zerop (length newname))
          (error "Aborted")
        (list oldname newname))))
diff --git a/lisp/net/ange-ftp.el b/lisp/net/ange-ftp.el
index 62ee316..38b1604 100644
--- a/lisp/net/ange-ftp.el
+++ b/lisp/net/ange-ftp.el
@@ -4626,7 +4626,7 @@ NEWNAME should be the name to give the new compressed or 
uncompressed file.")
            (format  "%s %s \"%s\""     ; remsh -l USER does not work well
                                        ; on a hp-ux machine I tried
                     remote-shell-program host command))
-      (ange-ftp-message "Remote command '%s' ..." command)
+      (ange-ftp-message "Remote command ‘%s’ ..." command)
       ;; Cannot call ange-ftp-real-dired-run-shell-command here as it
       ;; would prepend "cd default-directory" --- which bombs because
       ;; default-directory is in ange-ftp syntax for remote file names.
@@ -5978,7 +5978,7 @@ Other orders of $ and _ seem to all work just fine.")
 
 (defcustom ange-ftp-bs2000-special-prefix
   "X"
-  "Prefix used for filenames starting with '#' or '@'."
+  "Prefix used for filenames starting with ‘#’ or address@hidden"
   :group 'ange-ftp
   :type 'string)
 
diff --git a/lisp/net/mairix.el b/lisp/net/mairix.el
index 2d7d46b..8a9236c 100644
--- a/lisp/net/mairix.el
+++ b/lisp/net/mairix.el
@@ -116,7 +116,7 @@ You can add further options here if you want to, but better 
use
 
 (defcustom mairix-update-options '("-F" "-Q")
   "Options when calling mairix for updating the database.
-The default is '-F' and '-Q' for making updates faster.  You
+The default is \"-F\" and \"-Q\" for making updates faster.  You
 should call mairix without these options from time to
 time (e.g. via cron job)."
   :type '(repeat string)
@@ -124,7 +124,7 @@ time (e.g. via cron job)."
 
 (defcustom mairix-search-options '("-Q")
   "Options when calling mairix for searching.
-The default is '-Q' for making searching faster."
+The default is \"-Q\" for making searching faster."
   :type '(repeat string)
   :group 'mairix)
 
@@ -398,7 +398,7 @@ Overwrite existing entry? ")
                                (concat "\n\n" (make-string 65 ?=)
 "\nYou can now customize your saved Mairix searches by modifying\n\
 the variable mairix-saved-searches. Don't forget to save your\nchanges \
-in your .emacs by pressing 'Save for Future Sessions'.\n"
+in your .emacs by pressing ‘Save for Future Sessions’.\n"
 (make-string 65 ?=) "\n")))
 
 (autoload 'mail-strip-quoted-names "mail-utils")
@@ -667,7 +667,8 @@ Fill in VALUES if based on an article."
             "                  up to N errors(missing/extra/different 
letters)\n"
             "    ^substring=  to match the substring at the beginning of a 
word.\n"))
     (widget-insert
-     "Whitespace will be converted to ',' (i.e. AND).  Use '/' for OR.\n\n")
+     (format-message
+      "Whitespace will be converted to ‘,’ (i.e. AND).  Use ‘/’ for OR.\n\n"))
     (setq mairix-widgets (mairix-widget-build-editable-fields values))
     (when (member 'flags mairix-widget-other)
       (widget-insert "\nFlags:\n      Seen:     ")
diff --git a/lisp/net/newst-backend.el b/lisp/net/newst-backend.el
index 0175548..9277b09 100644
--- a/lisp/net/newst-backend.el
+++ b/lisp/net/newst-backend.el
@@ -343,8 +343,8 @@ pattern-list is checked: The new headline will be marked as 
AGE
 if REGEXP matches the headline's TITLE-OR-DESCRIPTION.
 
 If, for example, `newsticker-auto-mark-filter-list' looks like
- \((slashdot ('old 'title \"^Forget me!$\") ('immortal 'title \"Read me\")
-  \('immortal 'all \"important\"))))
+ \((slashdot (\\='old \\='title \"^Forget me!$\") (\\='immortal \\='title 
\"Read me\")
+  \(\\='immortal \\='all \"important\"))))
 
 then all articles from slashdot are marked as old if they have
 the title \"Forget me!\".  All articles with a title containing
diff --git a/lisp/net/newst-plainview.el b/lisp/net/newst-plainview.el
index 4ab0007..0cb5d8c 100644
--- a/lisp/net/newst-plainview.el
+++ b/lisp/net/newst-plainview.el
@@ -251,7 +251,7 @@ assures that the current feed is completely visible."
   "List of functions run after the newsticker buffer has been updated.
 Each function is called after `newsticker-buffer-update' has been called.
 
-The default value '`newsticker-w3m-show-inline-images' loads inline
+The default value `\\='newsticker-w3m-show-inline-images' loads inline
 images."
   :type 'hook
   :group 'newsticker-plainview-hooks)
@@ -263,7 +263,7 @@ Each function is called after
 `newsticker-toggle-auto-narrow-to-feed' or
 `newsticker-toggle-auto-narrow-to-item' has been called.
 
-The default value '`newsticker-w3m-show-inline-images' loads inline
+The default value `\\='newsticker-w3m-show-inline-images' loads inline
 images."
   :type 'hook
   :group 'newsticker-plainview-hooks)
diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el
index 13a7cfa..cd5bbbd 100644
--- a/lisp/net/rcirc.el
+++ b/lisp/net/rcirc.el
@@ -926,7 +926,7 @@ The list is updated automatically by 
`defun-rcirc-command'.")
 
 (defun rcirc-complete ()
   "Cycle through completions from list of nicks in channel or IRC commands.
-IRC command completion is performed only if '/' is the first input char."
+IRC command completion is performed only if ‘/’ is the first input char."
   (interactive)
   (unless (rcirc-looking-at-input)
     (error "Point not located after rcirc prompt"))
diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el
index b12c417..3239107 100644
--- a/lisp/net/tramp-sh.el
+++ b/lisp/net/tramp-sh.el
@@ -97,7 +97,7 @@ e.g. \"$HOME/.sh_history\"."
    "///%s#$"
    (md5 (concat (prin1-to-string process-environment) (current-time-string))))
   "String used to recognize end of output.
-The '$' character at the end is quoted; the string cannot be
+The ‘$’ character at the end is quoted; the string cannot be
 detected as prompt when being sent on echoing hosts, therefore.")
 
 ;;;###tramp-autoload
diff --git a/lisp/newcomment.el b/lisp/newcomment.el
index 172a563..037d294 100644
--- a/lisp/newcomment.el
+++ b/lisp/newcomment.el
@@ -286,8 +286,8 @@ makes the comment easier to read.  Default is 1.  nil means 
0."
 This is useful when style-conventions require a certain minimal offset.
 Python's PEP8 for example recommends two spaces, so you could do:
 
-\(add-hook 'python-mode-hook
-   (lambda () (set (make-local-variable 'comment-inline-offset) 2)))
+\(add-hook \\='python-mode-hook
+   (lambda () (set (make-local-variable \\='comment-inline-offset) 2)))
 
 See `comment-padding' for whole-line comments."
   :version "24.3"
diff --git a/lisp/nxml/nxml-rap.el b/lisp/nxml/nxml-rap.el
index e6857a9..5689b12 100644
--- a/lisp/nxml/nxml-rap.el
+++ b/lisp/nxml/nxml-rap.el
@@ -128,7 +128,7 @@ Return nil if the character at POS is not inside."
 The change happened between START and END.
 Return position after which lexical state is unchanged.
 END must be > `nxml-prolog-end'.  START must be outside
-any 'inside' regions and at the beginning of a token."
+any “inside” regions and at the beginning of a token."
   (if (>= start nxml-scan-end)
       nxml-scan-end
     (let ((inside-remove-start start)
@@ -234,10 +234,10 @@ Sets variables like `nxml-token-after'."
     xmltok-type))
 
 (defun nxml-move-tag-backwards (bound)
-  "Move point backwards outside any 'inside' regions or tags.
+  "Move point backwards outside any “inside” regions or tags.
 Point will not move past `nxml-prolog-end'.
-Point will either be at BOUND or a '<' character starting a tag
-outside any 'inside' regions.
+Point will either be at BOUND or a `<' character starting a tag
+outside any “inside” regions.
 As a precondition, point must be >= BOUND."
   (nxml-move-outside-backwards)
   (when (not (equal (char-after) ?<))
diff --git a/lisp/obsolete/iso-acc.el b/lisp/obsolete/iso-acc.el
index 499a9da..c612849 100644
--- a/lisp/obsolete/iso-acc.el
+++ b/lisp/obsolete/iso-acc.el
@@ -55,7 +55,7 @@
 ;;
 ;; If the pseudo-accent is followed by anything else than a
 ;; self-insert-command, the dead-key code is terminated, the
-;; pseudo-accent inserted 'as is' and the bell is rung to signal this.
+;; pseudo-accent inserted ‘as is’ and the bell is rung to signal this.
 ;;
 ;; Function `iso-accents-mode' can be used to enable the iso accents
 ;; minor mode, or disable it.
@@ -272,7 +272,7 @@ See the function `iso-accents-mode'."
 
 (defcustom iso-accents-enable '(?' ?` ?^ ?\" ?~ ?/)
   "List of accent keys that become prefixes in ISO Accents mode.
-The default is (?' ?\\=` ?^ ?\" ?~ ?/), which contains all the supported
+The default is (?\\=' ?\\=` ?^ ?\" ?~ ?/), which contains all the supported
 accent keys.  If you set this variable to a list in which some of those
 characters are missing, the missing ones do not act as accents.
 
@@ -346,7 +346,7 @@ the language you choose)."
   "Toggle ISO Accents mode, in which accents modify the following letter.
 This permits easy insertion of accented characters according to ISO-8859-1.
 When Iso-accents mode is enabled, accent character keys
-\(\\=`, ', \", ^, / and ~) do not self-insert; instead, they modify the 
following
+\(\\=`, \\=', \", ^, / and ~) do not self-insert; instead, they modify the 
following
 letter key so that it inserts an ISO accented letter.
 
 You can customize ISO Accents mode to a particular language
diff --git a/lisp/obsolete/iswitchb.el b/lisp/obsolete/iswitchb.el
index e0d78e1..61f9d7f 100644
--- a/lisp/obsolete/iswitchb.el
+++ b/lisp/obsolete/iswitchb.el
@@ -389,8 +389,8 @@ See documentation of `walk-windows' for useful values."
 
 This hook is run during minibuffer setup if `iswitchb' is active.
 For instance:
-\(add-hook 'iswitchb-minibuffer-setup-hook
-         '\(lambda () (set (make-local-variable 'max-mini-window-height) 3)))
+\(add-hook \\='iswitchb-minibuffer-setup-hook
+         \\='\(lambda () (set (make-local-variable \\='max-mini-window-height) 
3)))
 will constrain the minibuffer to a maximum height of 3 lines when
 iswitchb is running."
   :type 'hook
diff --git a/lisp/obsolete/landmark.el b/lisp/obsolete/landmark.el
index cd397ae..39684a7 100644
--- a/lisp/obsolete/landmark.el
+++ b/lisp/obsolete/landmark.el
@@ -866,7 +866,7 @@ If the game is finished, this command requests for another 
game."
   (move-to-column (+ landmark-x-offset (* landmark-square-width (1- x)))))
 
 (defun landmark-plot-square (square value)
-  "Draw 'X', 'O' or '.' on SQUARE depending on VALUE, leave point there."
+  "Draw ‘X’, ‘O’ or ‘.’ on SQUARE depending on VALUE, leave point there."
   (or (= value 1)
       (landmark-goto-square square))
   (let ((inhibit-read-only t))
diff --git a/lisp/obsolete/lmenu.el b/lisp/obsolete/lmenu.el
index e4886ab..9764382 100644
--- a/lisp/obsolete/lmenu.el
+++ b/lisp/obsolete/lmenu.el
@@ -160,9 +160,9 @@ The syntax, more precisely:
    active-p    :=  <t, nil, or a form to evaluate to decide whether this
                    button should be selectable>
    name                :=  <string>
-   partition   :=  'nil'
-   button      :=  '['  name callback active-p ']'
-   dialog      :=  '(' name [ button ]+ [ partition [ button ]+ ] ')'"
+   partition   :=  `nil'
+   button      :=  `['  name callback active-p `]'
+   dialog      :=  `(' name [ button ]+ [ partition [ button ]+ ] `)'"
   (let ((name (car data))
        (tail (cdr data))
        converted
diff --git a/lisp/obsolete/old-whitespace.el b/lisp/obsolete/old-whitespace.el
index 4619a58..00b3214 100644
--- a/lisp/obsolete/old-whitespace.el
+++ b/lisp/obsolete/old-whitespace.el
@@ -259,7 +259,7 @@ These are mostly programming and documentation modes.  But 
you may add other
 modes that you want whitespaces checked in by adding something like the
 following to your `.emacs':
 
-\(setq whitespace-modes (cons 'my-mode (cons 'my-other-mode
+\(setq whitespace-modes (cons \\='my-mode (cons \\='my-other-mode
                                            whitespace-modes))\)
 
 Or, alternately, you can use the Emacs `customize' command to set this."
diff --git a/lisp/obsolete/otodo-mode.el b/lisp/obsolete/otodo-mode.el
index 04b8810..be067f8 100644
--- a/lisp/obsolete/otodo-mode.el
+++ b/lisp/obsolete/otodo-mode.el
@@ -648,7 +648,7 @@ If point is on an empty line, insert the entry there."
     (forward-line (1- todo-previous-line))
     (let ((item (todo-item-string-start)))
       (setq todo-previous-answer
-            (y-or-n-p (concat "More important than '" item "'? ")))))
+            (y-or-n-p (format-message "More important than ‘%s’? " item)))))
   todo-previous-answer)
 (defalias 'todo-ask-p 'todo-more-important-p)
 
@@ -734,7 +734,7 @@ If point is on an empty line, insert the entry there."
 Number of entries for each category is given by NOF-PRIORITIES which
 defaults to `todo-show-priorities'.
 
-If CATEGORY-PR-PAGE is non-nil, a page separator '^L' is inserted
+If CATEGORY-PR-PAGE is non-nil, a page separator `^L' is inserted
 between each category.
 INTERACTIVE should be non-nil if this function is called interactively."
 
diff --git a/lisp/obsolete/pgg-gpg.el b/lisp/obsolete/pgg-gpg.el
index 5b405e4..cd29c61 100644
--- a/lisp/obsolete/pgg-gpg.el
+++ b/lisp/obsolete/pgg-gpg.el
@@ -122,7 +122,7 @@
                  (insert-file-contents output-file-name)))
            (set-buffer errors-buffer)
            (if (memq status '(stop signal))
-               (error "%s exited abnormally: '%s'" program exit-status))
+               (error "%s exited abnormally: ‘%s’" program exit-status))
            (if (= 127 exit-status)
                (error "%s could not be found" program))))
       (if passphrase-with-newline
diff --git a/lisp/obsolete/pgg-pgp.el b/lisp/obsolete/pgg-pgp.el
index af2b2aa..ee7af04 100644
--- a/lisp/obsolete/pgg-pgp.el
+++ b/lisp/obsolete/pgg-pgp.el
@@ -99,7 +99,7 @@ Bourne shell or its equivalent \(not tcsh) is needed for 
\"2>\"."
            (pgg-convert-lbt-region (point-min)(point-max) 'LF)
 
            (if (memq status '(stop signal))
-               (error "%s exited abnormally: '%s'" program exit-status))
+               (error "%s exited abnormally: ‘%s’" program exit-status))
            (if (= 127 exit-status)
                (error "%s could not be found" program))
 
diff --git a/lisp/obsolete/pgg-pgp5.el b/lisp/obsolete/pgg-pgp5.el
index 97caedb..d87c6fd 100644
--- a/lisp/obsolete/pgg-pgp5.el
+++ b/lisp/obsolete/pgg-pgp5.el
@@ -35,22 +35,22 @@
   :group 'pgg)
 
 (defcustom pgg-pgp5-pgpe-program "pgpe"
-  "PGP 5.* 'pgpe' executable."
+  "PGP 5.* `pgpe' executable."
   :group 'pgg-pgp5
   :type 'string)
 
 (defcustom pgg-pgp5-pgps-program "pgps"
-  "PGP 5.* 'pgps' executable."
+  "PGP 5.* `pgps' executable."
   :group 'pgg-pgp5
   :type 'string)
 
 (defcustom pgg-pgp5-pgpk-program "pgpk"
-  "PGP 5.* 'pgpk' executable."
+  "PGP 5.* `pgpk' executable."
   :group 'pgg-pgp5
   :type 'string)
 
 (defcustom pgg-pgp5-pgpv-program "pgpv"
-  "PGP 5.* 'pgpv' executable."
+  "PGP 5.* `pgpv' executable."
   :group 'pgg-pgp5
   :type 'string)
 
@@ -115,7 +115,7 @@ Bourne shell or its equivalent \(not tcsh) is needed for 
\"2>\"."
            (pgg-convert-lbt-region (point-min)(point-max) 'LF)
 
            (if (memq status '(stop signal))
-               (error "%s exited abnormally: '%s'" program exit-status))
+               (error "%s exited abnormally: ‘%s’" program exit-status))
            (if (= 127 exit-status)
                (error "%s could not be found" program))
 
diff --git a/lisp/obsolete/scribe.el b/lisp/obsolete/scribe.el
index 68b2208..e28e0ab 100644
--- a/lisp/obsolete/scribe.el
+++ b/lisp/obsolete/scribe.el
@@ -50,7 +50,7 @@
   :group 'scribe)
 
 (defcustom scribe-electric-quote nil
-  "Non-nil makes insert of double quote use \\=`\\=` or '' depending on 
context."
+  "Non-nil makes insert of double quote use \\=`\\=` or \\='\\=' depending on 
context."
   :type 'boolean
   :group 'scribe)
 
@@ -124,7 +124,7 @@ Interesting variables:
   Non-nil makes Scribe mode use a different style of paragraph separation.
 
 `scribe-electric-quote'
-  Non-nil makes insert of double quote use \\=`\\=` or '' depending on context.
+  Non-nil makes insert of double quote use \\=`\\=` or \\='\\=' depending on 
context.
 
 `scribe-electric-parenthesis'
   Non-nil makes an open-parenthesis char (one of `([<{')
@@ -265,8 +265,8 @@ to skip backward."
   (forward-char -1))
 
 (defun scribe-insert-quote (count)
-  "Insert \\=`\\=`, '' or \" according to preceding character.
-If `scribe-electric-quote' is non-nil, insert \\=`\\=`, '' or \" according
+  "Insert \\=`\\=`, \\='\\=' or \" according to preceding character.
+If `scribe-electric-quote' is non-nil, insert \\=`\\=`, \\='\\=' or \" 
according
 to preceding character.  With numeric arg N, always insert N \" characters.
 Else just insert \"."
   (interactive "P")
diff --git a/lisp/obsolete/sregex.el b/lisp/obsolete/sregex.el
index 80b2c92..0a15f50 100644
--- a/lisp/obsolete/sregex.el
+++ b/lisp/obsolete/sregex.el
@@ -338,15 +338,15 @@ computed (i.e., non-constant) values in `sregexq' 
expressions.  So
 automatically quote its values.  Literal sregex clauses must be
 explicitly quoted like so:
 
-  (sregex '(or \"Bob\" \"Robert\"))  =>  \"Bob\\\\|Robert\"
+  (sregex \\='(or \"Bob\" \"Robert\"))  =>  \"Bob\\\\|Robert\"
 
 but computed clauses can be included easily, allowing for the reuse
 of common clauses:
 
-  (let ((dotstar '(0+ any))
-        (whitespace '(1+ (syntax ?-)))
-        (digits '(1+ (char (?0 . ?9)))))
-    (sregex 'bol dotstar \":\" whitespace digits))  =>  \"^.*:\\\\s-+[0-9]+\"
+  (let ((dotstar \\='(0+ any))
+        (whitespace \\='(1+ (syntax ?-)))
+        (digits \\='(1+ (char (?0 . ?9)))))
+    (sregex \\='bol dotstar \":\" whitespace digits))  =>  
\"^.*:\\\\s-+[0-9]+\"
 
 Here are the clauses allowed in an `sregex' or `sregexq' expression:
 
diff --git a/lisp/obsolete/tpu-edt.el b/lisp/obsolete/tpu-edt.el
index 9814265..adf6122 100644
--- a/lisp/obsolete/tpu-edt.el
+++ b/lisp/obsolete/tpu-edt.el
@@ -873,7 +873,7 @@ With argument, fill and justify."
   (set-frame-width (selected-frame) width))
 
 (defun tpu-toggle-newline-and-indent nil
-  "Toggle between 'newline and indent' and 'simple newline'."
+  "Toggle between ‘newline and indent’ and ‘simple newline’."
   (interactive)
   (cond (tpu-newline-and-indent-p
          (setq tpu-newline-and-indent-string "")
@@ -1124,7 +1124,7 @@ if ARG is omitted or nil."
 
     M-x help-for-help <CR> p <CR>
 
-  Where `M-x' might be any of `Gold-KP7', 'Do', or 'ESC-x'.
+  Where `M-x' might be any of `Gold-KP7', `Do', or `ESC-x'.
 
   When you successfully invoke this part of the Emacs help facility, you
   will see a buffer named `*Finder*' listing a number of topics.  Look for
@@ -1313,7 +1313,7 @@ kill modified buffers without asking."
                (if tpu-regexp-p "en" "dis"))))
 
 (defun tpu-regexp-prompt (prompt)
-  "Read a string, adding 'RE' to the prompt if tpu-regexp-p is set."
+  "Read a string, adding ‘RE ’ to the prompt if tpu-regexp-p is set."
   (let ((re-prompt (concat (if tpu-regexp-p "RE ") prompt)))
     (read-from-minibuffer re-prompt nil nil nil 'tpu-regexp-prompt-hist)))
 
diff --git a/lisp/obsolete/vc-arch.el b/lisp/obsolete/vc-arch.el
index 8b2454b..e6540ce 100644
--- a/lisp/obsolete/vc-arch.el
+++ b/lisp/obsolete/vc-arch.el
@@ -315,7 +315,7 @@ Only the value `maybe' can be trusted :-(."
 (declare-function vc-exec-after "vc-dispatcher" (code))
 
 (defun vc-arch-dir-status-files (dir _files callback)
-  "Run 'tla inventory' for DIR and pass results to CALLBACK.
+  "Run `tla inventory' for DIR and pass results to CALLBACK.
 CALLBACK expects (ENTRIES &optional MORE-TO-COME); see
 `vc-dir-refresh'."
   (let ((default-directory dir))
diff --git a/lisp/obsolete/vi.el b/lisp/obsolete/vi.el
index 40d2e22..2375eb5 100644
--- a/lisp/obsolete/vi.el
+++ b/lisp/obsolete/vi.el
@@ -428,16 +428,16 @@ Major differences between this mode and real vi :
   - Search patterns with line offset (e.g. /pat/+3 or /pat/z.) are
     not supported.
   - Ex commands are not implemented; try ':' to get some hints.
-  - No line undo (i.e. the 'U' command), but multi-undo is a standard feature.
+  - No line undo (i.e. the `U' command), but multi-undo is a standard feature.
 
 * Modifications
   - The stopping positions for some point motion commands (word boundary,
-    pattern search) are slightly different from standard 'vi'.
+    pattern search) are slightly different from standard `vi'.
     Also, no automatic wrap around at end of buffer for pattern searching.
   - Since changes are done in two steps (deletion then insertion), you need
     to undo twice to completely undo a change command.  But this is not needed
     for undoing a repeated change command.
-  - No need to set/unset 'magic', to search for a string with regular expr
+  - No need to set/unset `magic', to search for a string with regular expr
     in it just put a prefix arg for the search commands.  Replace cmds too.
   - ^R is bound to incremental backward search, so use ^L to redraw screen.
 
@@ -520,7 +520,7 @@ set sw=n     M-x set-variable vi-shift-width n "
 (defun vi-goto-insert-state (repetition &optional prefix-code do-it-now-p)
   "Go into insert state, the text entered will be repeated if REPETITION > 1.
 If PREFIX-CODE is given, do it before insertion begins if DO-IT-NOW-P is T.
-In any case, the prefix-code will be done before each 'redo-insert'.
+In any case, the prefix-code will be done before each `redo-insert'.
 This function expects `overwrite-mode' being set properly beforehand."
   (if do-it-now-p (apply (car prefix-code) (cdr prefix-code)))
   (setq vi-ins-point (point))
@@ -832,7 +832,7 @@ Possible prefix-arg cases are nil, INTEGER, (nil . CHAR) or 
(INTEGER . CHAR)."
 
 (defun vi-goto-mark (mark-char &optional line-flag)
   "Go to marked position or line (if line-flag is given).
-Goto mark '@' means jump into and pop the top mark on the mark ring."
+Goto mark address@hidden means jump into and pop the top mark on the mark 
ring."
   (cond ((char-equal mark-char last-command-event)     ; `` or ''
         (exchange-point-and-mark) (if line-flag (back-to-indentation)))
        ((char-equal mark-char ?@)      ; jump and pop mark
diff --git a/lisp/org/ob-core.el b/lisp/org/ob-core.el
index bb46267..ffc7df4 100644
--- a/lisp/org/ob-core.el
+++ b/lisp/org/ob-core.el
@@ -1677,7 +1677,7 @@ If the point is not on a source block then return nil."
     (if point
         ;; taken from `org-open-at-point'
         (progn (org-mark-ring-push) (goto-char point) (org-show-context))
-      (message "source-code block '%s' not found in this buffer" name))))
+      (message "source-code block ‘%s’ not found in this buffer" name))))
 
 (defun org-babel-find-named-block (name)
   "Find a named source-code block.
@@ -1712,7 +1712,7 @@ org-babel-named-src-block-regexp."
     (if point
         ;; taken from `org-open-at-point'
         (progn (goto-char point) (org-show-context))
-      (message "result '%s' not found in this buffer" name))))
+      (message "result ‘%s’ not found in this buffer" name))))
 
 (defun org-babel-find-named-result (name &optional point)
   "Find a named result.
@@ -2207,7 +2207,7 @@ file's directory then expand relative links."
   "Make true to capitalize begin/end example markers inserted by code blocks.")
 
 (defun org-babel-examplize-region (beg end &optional results-switches)
-  "Comment out region using the inline '==' or ': ' org example quote."
+  "Comment out region using the inline ‘==’ or ‘: ’ org example quote."
   (interactive "*r")
   (let ((chars-between (lambda (b e)
                         (not (string-match "^[\\s]*$" (buffer-substring b 
e)))))
@@ -2406,7 +2406,7 @@ CONTEXT may be one of :tangle, :export or :eval."
   "Expand Noweb references in the body of the current source code block.
 
 For example the following reference would be replaced with the
-body of the source-code block named 'example-block'.
+body of the source-code block named `example-block'.
 
 <<example-block>>
 
@@ -2419,7 +2419,7 @@ This function must be called from inside of the buffer 
containing
 the source-code block which holds BODY.
 
 In addition the following syntax can be used to insert the
-results of evaluating the source-code block named 'example-block'.
+results of evaluating the source-code block named `example-block'.
 
 <<example-block()>>
 
@@ -2583,7 +2583,7 @@ block but are passed literally to the \"example-block\"."
 (defun org-babel-read (cell &optional inhibit-lisp-eval)
   "Convert the string value of CELL to a number if appropriate.
 Otherwise if cell looks like lisp (meaning it starts with a
-\"(\", \"'\", \"\\=`\" or a \"[\") then read it as lisp,
+\"(\", \"\\='\", \"\\=`\" or a \"[\") then read it as lisp,
 otherwise return it unmodified as a string.  Optional argument
 NO-LISP-EVAL inhibits lisp evaluation for situations in which is
 it not appropriate."
diff --git a/lisp/org/ob-exp.el b/lisp/org/ob-exp.el
index 3bfa8c5..92006f8 100644
--- a/lisp/org/ob-exp.el
+++ b/lisp/org/ob-exp.el
@@ -98,7 +98,7 @@ be executed."
 
 (defun org-babel-exp-src-block (&rest headers)
   "Process source block for export.
-Depending on the 'export' headers argument, replace the source
+Depending on the `export' headers argument, replace the source
 code block like this:
 
 both ---- display the code and the results
diff --git a/lisp/org/ob-fortran.el b/lisp/org/ob-fortran.el
index 30b5350..0e6eb4f 100644
--- a/lisp/org/ob-fortran.el
+++ b/lisp/org/ob-fortran.el
@@ -108,7 +108,7 @@ it's header arguments."
   "Wrap body in a \"program ... end program\" block if none exists."
   (if (string-match "^[ \t]*program[ \t]*.*" (capitalize body))
       (let ((vars (mapcar #'cdr (org-babel-get-header params :var))))
-       (if vars (error "Cannot use :vars if 'program' statement is present"))
+       (if vars (error "Cannot use :vars if ‘program’ statement is present"))
        body)
     (format "program main\n%s\nend program main\n" body)))
 
diff --git a/lisp/org/ob-python.el b/lisp/org/ob-python.el
index 3d441a3..4abe7af 100644
--- a/lisp/org/ob-python.el
+++ b/lisp/org/ob-python.el
@@ -64,7 +64,7 @@ This will typically be either 'python or 'python-mode."
   :type 'string)
 
 (defcustom org-babel-python-None-to 'hline
-  "Replace 'None' in python tables with this before returning."
+  "Replace ‘None’ in python tables with this before returning."
   :group 'org-babel
   :version "24.4"
   :package-version '(Org . "8.0")
diff --git a/lisp/org/ob-ref.el b/lisp/org/ob-ref.el
index e5085ac..472d3e6 100644
--- a/lisp/org/ob-ref.el
+++ b/lisp/org/ob-ref.el
@@ -176,7 +176,7 @@ the variable."
            ;;       buffer (marker-buffer id-loc)
            ;;       loc (marker-position id-loc))
            ;; (move-marker id-loc nil)
-           (error "Reference '%s' not found in this buffer" ref))
+           (error "Reference ‘%s’ not found in this buffer" ref))
          (cond
           (lob-info (setq type 'lob))
           (id (setq type 'id))
diff --git a/lisp/org/ob-scheme.el b/lisp/org/ob-scheme.el
index 02b9dc3..419b9a6 100644
--- a/lisp/org/ob-scheme.el
+++ b/lisp/org/ob-scheme.el
@@ -109,7 +109,7 @@ For a named session, the buffer name will be the session 
name.
 
 If the session is unnamed (nil), generate a name.
 
-If the session is 'none', use nil for the session name, and
+If the session is ‘none’, use nil for the session name, and
 org-babel-scheme-execute-with-geiser will use a temporary session."
   (let ((result
         (cond ((not name)
diff --git a/lisp/org/org-agenda.el b/lisp/org/org-agenda.el
index 3df9fb6..b73e130 100644
--- a/lisp/org/org-agenda.el
+++ b/lisp/org/org-agenda.el
@@ -1211,7 +1211,7 @@ For example, 9:30am would become 09:30 rather than  9:30."
   :type 'boolean)
 
 (defun org-agenda-time-of-day-to-ampm (time)
-  "Convert TIME of a string like '13:45' to an AM/PM style time string."
+  "Convert TIME of a string like ‘13:45’ to an AM/PM style time string."
   (let* ((hour-number (string-to-number (substring time 0 -3)))
          (minute (substring time -2))
          (ampm "am"))
@@ -1975,7 +1975,7 @@ estimate."
   :type 'boolean)
 
 (defcustom org-agenda-auto-exclude-function nil
-  "A function called with a tag to decide if it is filtered on '/ RET'.
+  "A function called with a tag to decide if it is filtered on ‘/ RET’.
 The sole argument to the function, which is called once for each
 possible tag, is a string giving the name of the tag.  The
 function should return either nil if the tag should be included
@@ -3625,9 +3625,9 @@ FILTER-ALIST is an alist of filters we need to apply when
          ;; Popup existing buffer
          (org-agenda-prepare-window (get-buffer org-agenda-buffer-name)
                                     filter-alist)
-         (message "Sticky Agenda buffer, use `r' to refresh")
+         (message "Sticky Agenda buffer, use ‘r’ to refresh")
          (or org-agenda-multi (org-agenda-fit-window-to-buffer))
-         (throw 'exit "Sticky Agenda buffer, use `r' to refresh"))
+         (throw 'exit "Sticky Agenda buffer, use ‘r’ to refresh"))
       (setq org-todo-keywords-for-agenda nil)
       (setq org-drawers-for-agenda nil)
       (put 'org-agenda-tag-filter :preset-filter
diff --git a/lisp/org/org-bibtex.el b/lisp/org/org-bibtex.el
index 8b5da8f..2eb2d12 100644
--- a/lisp/org/org-bibtex.el
+++ b/lisp/org/org-bibtex.el
@@ -190,7 +190,7 @@
     (:booktitle    . "Title of a book, part of which is being cited.  See the 
LaTeX book for how to type titles.  For book entries, use the title field 
instead.")
     (:chapter      . "A chapter (or section or whatever) number.")
     (:crossref     . "The database key of the entry being cross referenced.")
-    (:edition      . "The edition of a book for example, 'Second'.  This 
should be an ordinal, and should have the first letter capitalized, as shown 
here; the standard styles convert to lower case when necessary.")
+    (:edition      . "The edition of a book for example, ‘Second’.  This 
should be an ordinal, and should have the first letter capitalized, as shown 
here; the standard styles convert to lower case when necessary.")
     (:editor       . "Name(s) of editor(s), typed as indicated in the LaTeX 
book.  If there is also an author field, then the editor field gives the editor 
of the book or collection in which the reference appears.")
     (:howpublished . "How something strange has been published.  The first 
word should be capitalized.")
     (:institution  . "The sponsoring institution of a technical report.")
@@ -205,9 +205,9 @@
     (:school       . "The name of the school where a thesis was written.")
     (:series       . "The name of a series or set of books.  When citing an 
entire book, the title field gives its title and an optional series field gives 
the name of a series or multi-volume set in which the book is published.")
     (:title        . "The work’s title, typed as explained in the LaTeX book.")
-    (:type         . "The type of a technical report for example, 'Research 
Note'.")
+    (:type         . "The type of a technical report for example, ‘Research 
Note’.")
     (:volume       . "The volume of a journal or multi-volume book.")
-    (:year         . "The year of publication or, for an unpublished work, the 
year it was written.  Generally it should consist of four numerals, such as 
1984, although the standard styles can handle any year whose last four 
nonpunctuation characters are numerals, such as '(about 1984)'"))
+    (:year         . "The year of publication or, for an unpublished work, the 
year it was written.  Generally it should consist of four numerals, such as 
1984, although the standard styles can handle any year whose last four 
nonpunctuation characters are numerals, such as ‘(about 1984)’"))
   "Bibtex fields with descriptions.")
 
 (defvar org-bibtex-entries nil
@@ -221,7 +221,7 @@
 
 (defcustom org-bibtex-prefix nil
   "Optional prefix for all bibtex property names.
-For example setting to 'BIB_' would allow interoperability with fireforg."
+For example setting to ‘BIB_’ would allow interoperability with fireforg."
   :group 'org-bibtex
   :version "24.1"
   :type  '(choice
diff --git a/lisp/org/org-clock.el b/lisp/org/org-clock.el
index c0a45b3..aee91ce 100644
--- a/lisp/org/org-clock.el
+++ b/lisp/org/org-clock.el
@@ -389,8 +389,8 @@ nil          current clock is not displayed"
 (defcustom org-clock-frame-title-format '(t org-mode-line-string)
   "The value for `frame-title-format' when clocking in.
 
-When `org-clock-clocked-in-display' is set to 'frame-title
-or 'both, clocking in will replace `frame-title-format' with
+When `org-clock-clocked-in-display' is set to `frame-title'
+or `both', clocking in will replace `frame-title-format' with
 this value.  Clocking out will restore `frame-title-format'.
 
 `org-frame-title-string' is a format string using the same
@@ -717,8 +717,9 @@ Notification is shown only once."
          (unless org-clock-notification-was-shown
            (setq org-clock-notification-was-shown t)
            (org-notify
-            (format "Task '%s' should be finished by now. (%s)"
-                    org-clock-heading org-clock-effort) org-clock-sound))
+            (format-message "Task ‘%s’ should be finished by now. (%s)"
+                             org-clock-heading org-clock-effort)
+             org-clock-sound))
        (setq org-clock-notification-was-shown nil)))))
 
 (defun org-notify (notification &optional play-sound)
@@ -937,7 +938,7 @@ was started."
                (org-clock-jump-to-current-clock clock))
              (unless org-clock-resolve-expert
                (with-output-to-temp-buffer "*Org Clock*"
-                 (princ "Select a Clock Resolution Command:
+                 (princ (format-message "Select a Clock Resolution Command:
 
 i/q      Ignore this question; the same as keeping all the idle time.
 
@@ -946,8 +947,8 @@ k/K      Keep X minutes of the idle time (default is all).  
If this
          that many minutes after the time that idling began, and then
          clocked back in at the present time.
 
-g/G      Indicate that you \"got back\" X minutes ago.  This is quite
-         different from 'k': it clocks you out from the beginning of
+g/G      Indicate that you “got back” X minutes ago.  This is quite
+         different from ‘k’: it clocks you out from the beginning of
          the idle period and clock you back in X minutes ago.
 
 s/S      Subtract the idle time from the current clock.  This is the
@@ -959,7 +960,7 @@ C        Cancel the open timer altogether.  It will be as 
though you
 j/J      Jump to the current clock, to make manual adjustments.
 
 For all these options, using uppercase makes your final state
-to be CLOCKED OUT.")))
+to be CLOCKED OUT."))))
              (org-fit-window-to-buffer (get-buffer-window "*Org Clock*"))
              (let (char-pressed)
                (when (featurep 'xemacs)
diff --git a/lisp/org/org-element.el b/lisp/org/org-element.el
index 651ce67..573d7ee 100644
--- a/lisp/org/org-element.el
+++ b/lisp/org/org-element.el
@@ -4141,12 +4141,12 @@ Assuming TREE is a variable containing an Org buffer 
parse tree,
 the following example will return a flat list of all `src-block'
 and `example-block' elements in it:
 
-  \(org-element-map tree '(example-block src-block) 'identity)
+  \(org-element-map tree \\='(example-block src-block) \\='identity)
 
 The following snippet will find the first headline with a level
 of 1 and a \"phone\" tag, and will return its beginning position:
 
-  \(org-element-map tree 'headline
+  \(org-element-map tree \\='headline
    \(lambda (hl)
      \(and (= (org-element-property :level hl) 1)
           \(member \"phone\" (org-element-property :tags hl))
@@ -4156,15 +4156,15 @@ of 1 and a \"phone\" tag, and will return its beginning 
position:
 The next example will return a flat list of all `plain-list' type
 elements in TREE that are not a sub-list themselves:
 
-  \(org-element-map tree 'plain-list 'identity nil nil 'plain-list)
+  \(org-element-map tree \\='plain-list \\='identity nil nil \\='plain-list)
 
 Eventually, this example will return a flat list of all `bold'
 type objects containing a `latex-snippet' type object, even
 looking into captions:
 
-  \(org-element-map tree 'bold
+  \(org-element-map tree \\='bold
    \(lambda (b)
-     \(and (org-element-map b 'latex-snippet 'identity nil t) b))
+     \(and (org-element-map b \\='latex-snippet \\='identity nil t) b))
    nil nil nil t)"
   ;; Ensure TYPES and NO-RECURSION are a list, even of one element.
   (unless (listp types) (setq types (list types)))
diff --git a/lisp/org/org-feed.el b/lisp/org/org-feed.el
index f012124..22e543c 100644
--- a/lisp/org/org-feed.el
+++ b/lisp/org/org-feed.el
@@ -690,7 +690,8 @@ formatted as a string, not the original XML data."
                                  (xml-node-children content)))))
         (t
          (setq entry (plist-put entry :description
-                                (format "Unknown '%s' content." type)))))))
+                                (format-message
+                                  "Unknown ‘%s’ content." type)))))))
     entry))
 
 (provide 'org-feed)
diff --git a/lisp/org/org-habit.el b/lisp/org/org-habit.el
index cf2f4c8..7911dcf 100644
--- a/lisp/org/org-habit.el
+++ b/lisp/org/org-habit.el
@@ -180,7 +180,7 @@ This list represents a \"habit\" for the rest of this 
module."
        (error "Habit %s has no scheduled date" habit-entry))
       (unless scheduled-repeat
        (error
-        "Habit '%s' has no scheduled repeat period or has an incorrect one"
+        "Habit ‘%s’ has no scheduled repeat period or has an incorrect one"
         habit-entry))
       (setq sr-days (org-habit-duration-to-days scheduled-repeat))
       (unless (> sr-days 0)
diff --git a/lisp/org/org-irc.el b/lisp/org/org-irc.el
index 62f3d95..fc3294f 100644
--- a/lisp/org/org-irc.el
+++ b/lisp/org/org-irc.el
@@ -108,7 +108,7 @@ attributes that are found."
 (defun org-irc-ellipsify-description (string &optional after)
   "Remove unnecessary white space from STRING and add ellipses if necessary.
 Strip starting and ending white space from STRING and replace any
-chars that the value AFTER with '...'"
+chars that the value AFTER with ‘...’"
   (let* ((after (number-to-string (or after 30)))
         (replace-map (list (cons "^[ \t]*" "")
                            (cons "[ \t]*$" "")
@@ -172,7 +172,7 @@ the session itself."
            (org-store-link-props
             :type "irc"
             :link (concat "irc:/" link-text)
-            :description (concat "irc session '" link-text "'")
+            :description (concat "irc session `" link-text "'")
             :server (car (car link))
             :port (or (string-to-number (cadr (pop link))) erc-default-port)
             :nick (pop link))
diff --git a/lisp/org/org-list.el b/lisp/org/org-list.el
index 432e431..28bed8d 100644
--- a/lisp/org/org-list.el
+++ b/lisp/org/org-list.el
@@ -230,7 +230,7 @@ This variable needs to be set before org.el is loaded.  If 
you
 need to make a change while Emacs is running, use the customize
 interface or run the following code after updating it:
 
-  \(when (featurep 'org-element) (load \"org-element\" t t))"
+  \(when (featurep \\='org-element) (load \"org-element\" t t))"
   :group 'org-plain-lists
   :version "24.1"
   :type 'boolean
diff --git a/lisp/org/org-mouse.el b/lisp/org/org-mouse.el
index 9b21814..a52c196 100644
--- a/lisp/org/org-mouse.el
+++ b/lisp/org/org-mouse.el
@@ -378,7 +378,7 @@ nor a function, elements of KEYWORDS are used directly."
 (defvar org-mouse-priority-regexp "\\[#\\([A-Z]\\)\\]"
   "Regular expression matching the priority indicator.
 Differs from `org-priority-regexp' in that it doesn't contain the
-leading '.*?'.")
+leading `.*?'.")
 
 (defun org-mouse-get-priority (&optional default)
   "Return the priority of the current headline.
@@ -539,7 +539,7 @@ SCHEDULED: or DEADLINE: or ANYTHINGLIKETHIS:"
                ((stringp (nth 2 entry))
                 (concat (org-mouse-agenda-type (nth 1 entry))
                         (nth 2 entry)))
-               (t "Agenda Command '%s'"))
+               (t "Agenda Command ‘%s’"))
               30))))
      "--"
      ["Delete Blank Lines" delete-blank-lines
@@ -566,7 +566,7 @@ SCHEDULED: or DEADLINE: or ANYTHINGLIKETHIS:"
       (save-excursion (org-apply-on-list wrap-fun nil)))))
 
 (defun org-mouse-bolp ()
-  "Return true if there only spaces, tabs, and '*' before point.
+  "Return true if there only spaces, tabs, and ‘*’ before point.
 This means, between the beginning of line and the point."
   (save-excursion
     (skip-chars-backward " \t*") (bolp)))
@@ -708,9 +708,9 @@ This means, between the beginning of line and the point."
      ((org-mouse-looking-at ":\\([A-Za-z0-9_]+\\):" "A-Za-z0-9_" -1) ;tags
       (popup-menu
        `(nil
-        [,(format "Display '%s'" (match-string 1))
+        [,(format-message "Display ‘%s’" (match-string 1))
          (org-tags-view nil ,(match-string 1))]
-        [,(format "Sparse Tree '%s'" (match-string 1))
+        [,(format-message "Sparse Tree ‘%s’" (match-string 1))
          (org-tags-sparse-tree nil ,(match-string 1))]
         "--"
         ,@(org-mouse-tag-menu))))
diff --git a/lisp/org/org-plot.el b/lisp/org/org-plot.el
index f092c71..7024ed6 100644
--- a/lisp/org/org-plot.el
+++ b/lisp/org/org-plot.el
@@ -94,7 +94,7 @@ Return value is the point at the beginning of the table."
   (goto-char (org-table-begin)))
 
 (defun org-plot/collect-options (&optional params)
-  "Collect options from an org-plot '#+Plot:' line.
+  "Collect options from an org-plot ‘#+Plot:’ line.
 Accepts an optional property list PARAMS, to which the options
 will be added.  Returns the resulting property list."
   (interactive)
diff --git a/lisp/org/org-protocol.el b/lisp/org/org-protocol.el
index d0750f7..4d9e79f 100644
--- a/lisp/org/org-protocol.el
+++ b/lisp/org/org-protocol.el
@@ -394,7 +394,7 @@ The sub-protocol used to reach this function is set in
 `org-protocol-protocol-alist'.
 
 This function detects an URL, title and optional text, separated
-by '/'.  The location for a browser's bookmark looks like this:
+by `/'.  The location for a browser's bookmark looks like this:
 
   javascript:location.href='org-protocol://capture://'+ \\
         encodeURIComponent(location.href)+'/' \\
diff --git a/lisp/org/org-src.el b/lisp/org/org-src.el
index 12d7fa1..4f79986 100644
--- a/lisp/org/org-src.el
+++ b/lisp/org/org-src.el
@@ -865,9 +865,9 @@ This command is not bound to a key by default, to avoid 
conflicts
 with language major mode bindings.  To bind it to C-c @ in all
 language major modes, you could use
 
-  (add-hook 'org-src-mode-hook
+  (add-hook \\='org-src-mode-hook
             (lambda () (define-key org-src-mode-map \"address@hidden"
-                    'org-src-do-key-sequence-at-code-block)))
+                    \\='org-src-do-key-sequence-at-code-block)))
 
 In that case, for example, C-c @ t issued in code edit buffers
 would tangle the current Org code block, C-c @ e would execute
diff --git a/lisp/org/org-table.el b/lisp/org/org-table.el
index d84c51b..fb59367 100644
--- a/lisp/org/org-table.el
+++ b/lisp/org/org-table.el
@@ -3404,7 +3404,7 @@ Parameters get priority."
     (if (eq org-table-use-standard-references t)
        (org-table-fedit-toggle-ref-type))
     (org-goto-line startline)
-    (message "Edit formulas, finish with `C-c C-c' or `C-c ' '.  See menu for 
more commands.")))
+    (message "Edit formulas, finish with ‘C-c C-c’ or ‘C-c '’.  See menu for 
more commands.")))
 
 (defun org-table-fedit-post-command ()
   (when (not (memq this-command '(lisp-complete-symbol)))
diff --git a/lisp/org/org.el b/lisp/org/org.el
index 326fb96..acfc6f0 100644
--- a/lisp/org/org.el
+++ b/lisp/org/org.el
@@ -381,7 +381,7 @@ core modules, nor modules from the CONTRIB directory).  
Just add symbols
 to the end of the list.  If the package is called org-xyz.el, then you need
 to add the symbol `xyz', and the package must have a call to:
 
-   \(provide 'org-xyz)
+   \(provide \\='org-xyz)
 
 For export specific modules, see also `org-export-backends'."
   :group 'org
@@ -471,20 +471,20 @@ value of the variable, after updating it:
            \(lambda (backend)
              \(let ((name (org-export-backend-name backend)))
                \(or (memq name val)
-                   \(catch 'parentp
+                   \(catch \\='parentp
                      \(dolist (b val)
                        \(and (org-export-derived-backend-p b name)
-                            \(throw 'parentp t)))))))
+                            \(throw \\='parentp t)))))))
            org-export--registered-backends))
-    \(let ((new-list (mapcar 'org-export-backend-name
+    \(let ((new-list (mapcar \\='org-export-backend-name
                             org-export--registered-backends)))
       \(dolist (backend val)
         \(cond
          \((not (load (format \"ox-%s\" backend) t t))
-          \(message \"Problems while trying to load export back-end `%s'\"
+          \(message \"Problems while trying to load export back-end ‘%s’\"
                    backend))
          \((not (memq backend new-list)) (push backend new-list))))
-      \(set-default 'org-export-backends new-list)))
+      \(set-default \\='org-export-backends new-list)))
 
 Adding a back-end to this list will also pull the back-end it
 depends on, if any."
@@ -1548,8 +1548,8 @@ links in Org-mode buffers can have an optional tag after 
a double colon, e.g.
 
      [[linkkey:tag][description]]
 
-The 'linkkey' must be a word word, starting with a letter, followed
-by letters, numbers, '-' or '_'.
+The `linkkey' must be a word word, starting with a letter, followed
+by letters, numbers, `-' or `_'.
 
 If REPLACE is a string, the tag will simply be appended to create the link.
 If the string contains \"%s\", the tag will be inserted there.  If the string
@@ -2487,7 +2487,7 @@ TODO state changes
 ------------------
 :type  todo-state-change
 :from  previous state (keyword as a string), or nil, or a symbol
-       'todo' or 'done', to indicate the general type of state.
+       `todo' or `done', to indicate the general type of state.
 :to    new state, like in :from")
 
 (defcustom org-enforce-todo-dependencies nil
@@ -3291,10 +3291,10 @@ Instead of customizing this variable directly, you 
might want to
 set it locally for capture buffers, because there no list of
 tags in that file can be created dynamically (there are none).
 
-  (add-hook 'org-capture-mode-hook
+  (add-hook \\='org-capture-mode-hook
             (lambda ()
               (set (make-local-variable
-                    'org-complete-tags-always-offer-all-agenda-tags)
+                    \\='org-complete-tags-always-offer-all-agenda-tags)
                    t)))"
   :group 'org-tags
   :version "24.1"
@@ -3974,7 +3974,7 @@ lines to the buffer:
 
 (defcustom org-hidden-keywords nil
   "List of symbols corresponding to keywords to be hidden the org buffer.
-For example, a value '(title) for this list will make the document's title
+For example, a value \\='(title) for this list will make the document's title
 appear in the buffer without the initial #+TITLE: keyword."
   :group 'org-appearance
   :version "24.1"
@@ -11187,7 +11187,7 @@ org-open-file.
 It assumes that is the case when the entry uses a regular
 expression which has at least one grouping construct and the
 action is either a lisp form or a command string containing
-'%1', i.e. using at least one subexpression match as a
+`%1', i.e. using at least one subexpression match as a
 parameter."
   (let ((selector (car entry))
        (action (cdr entry)))
@@ -21871,8 +21871,8 @@ for the search purpose."
 
 For example, in this alist:
 
-\(org-uniquify-alist '((a 1) (b 2) (a 3)))
-  => '((a 1 3) (b 2))
+\(org-uniquify-alist \\='((a 1) (b 2) (a 3)))
+  => \\='((a 1 3) (b 2))
 
 merge (a 1) and (a 3) into (a 1 3).
 
diff --git a/lisp/org/ox-latex.el b/lisp/org/ox-latex.el
index bfc860a..cea02ff 100644
--- a/lisp/org/ox-latex.el
+++ b/lisp/org/ox-latex.el
@@ -601,7 +601,7 @@ in order to mimic default behavior:
          title
          \(when tags
             \(format \"\\\\hfill{}\\\\textsc{:%s:}\"
-                    \(mapconcat 'identity tags \":\")))))
+                    \(mapconcat \\='identity tags \":\")))))
     \(format (concat \"\\\\begin{center}\\n\"
                    \"\\\\fbox{\\n\"
                    \"\\\\begin{minipage}[c]{.6\\\\textwidth}\\n\"
@@ -626,21 +626,21 @@ listings package, and if you want to have color, the color
 package.  Just add these to `org-latex-packages-alist', for
 example using customize, or with something like:
 
-  \(require 'ox-latex)
-  \(add-to-list 'org-latex-packages-alist '(\"\" \"listings\"))
-  \(add-to-list 'org-latex-packages-alist '(\"\" \"color\"))
+  \(require \\='ox-latex)
+  \(add-to-list \\='org-latex-packages-alist \\='(\"\" \"listings\"))
+  \(add-to-list \\='org-latex-packages-alist \\='(\"\" \"color\"))
 
 Alternatively,
 
-  \(setq org-latex-listings 'minted)
+  \(setq org-latex-listings \\='minted)
 
 causes source code to be exported using the minted package as
 opposed to listings.  If you want to use minted, you need to add
 the minted package to `org-latex-packages-alist', for example
 using customize, or with
 
-  \(require 'ox-latex)
-  \(add-to-list 'org-latex-packages-alist '(\"\" \"minted\"))
+  \(require \\='ox-latex)
+  \(add-to-list \\='org-latex-packages-alist \\='(\"\" \"minted\"))
 
 In addition, it is necessary to install pygments
 \(http://pygments.org), and to configure the variable
diff --git a/lisp/org/ox-publish.el b/lisp/org/ox-publish.el
index f35df1b..08762fb 100644
--- a/lisp/org/ox-publish.el
+++ b/lisp/org/ox-publish.el
@@ -61,7 +61,7 @@ Blocks could hash sha1 values here.")
 
 (defcustom org-publish-project-alist nil
   "Association list to control publishing behavior.
-Each element of the alist is a publishing 'project.'  The CAR of
+Each element of the alist is a publishing “project”.  The CAR of
 each element is a string, uniquely identifying the project.  The
 CDR of each element is in one of the following forms:
 
@@ -711,7 +711,7 @@ If `:auto-sitemap' is set, publish the sitemap too.  If
 (defun org-publish-org-sitemap (project &optional sitemap-filename)
   "Create a sitemap of pages in set defined by PROJECT.
 Optionally set the filename of the sitemap with SITEMAP-FILENAME.
-Default for SITEMAP-FILENAME is 'sitemap.org'."
+Default for SITEMAP-FILENAME is `sitemap.org'."
   (let* ((project-plist (cdr project))
         (dir (file-name-as-directory
               (plist-get project-plist :base-directory)))
diff --git a/lisp/org/ox-texinfo.el b/lisp/org/ox-texinfo.el
index c77a239..d5e650a 100644
--- a/lisp/org/ox-texinfo.el
+++ b/lisp/org/ox-texinfo.el
@@ -217,7 +217,7 @@ order to reproduce the default set-up:
          text
          \(when tags
             \(format \"\\\\hfill{}\\\\textsc{%s}\"
-              \(mapconcat 'identity tags \":\"))))"
+              \(mapconcat \\='identity tags \":\"))))"
   :group 'org-export-texinfo
   :type 'function)
 
@@ -347,7 +347,7 @@ in order to mimic default behavior:
          title
          \(when tags
             \(format \":%s:\"
-                    \(mapconcat 'identity tags \":\")))))
+                    \(mapconcat \\='identity tags \":\")))))
     \(format (concat \"@center %s\n\n\"
                    \"%s\"
                     \"\n\"))
diff --git a/lisp/org/ox.el b/lisp/org/ox.el
index efac2f8..a0573d0 100644
--- a/lisp/org/ox.el
+++ b/lisp/org/ox.el
@@ -1180,12 +1180,12 @@ keywords are understood:
 As an example, here is how one could define \"my-latex\" back-end
 as a variant of `latex' back-end with a custom template function:
 
-  \(org-export-define-derived-backend 'my-latex 'latex
-     :translate-alist '((template . my-latex-template-fun)))
+  \(org-export-define-derived-backend \\='my-latex \\='latex
+     :translate-alist \\='((template . my-latex-template-fun)))
 
 The back-end could then be called with, for example:
 
-  \(org-export-to-buffer 'my-latex \"*Test my-latex*\")"
+  \(org-export-to-buffer \\='my-latex \"*Test my-latex*\")"
   (declare (indent 2))
   (let (blocks filters menu-entry options transcoders contents)
     (while (keywordp (car body))
@@ -5553,7 +5553,7 @@ and `org-export-to-file' for more specialized functions."
                                       (kill-buffer proc-buffer))))
                            (org-export-add-to-stack proc-buffer nil p)
                            (ding)
-                           (message "Process '%s' exited abnormally" p))
+                           (message "Process ‘%s’ exited abnormally" p))
                        (unless org-export-async-debug
                          (delete-file ,,temp-file)))))))))))))
 
@@ -5589,7 +5589,7 @@ use it to set a major mode there, e.g,
   \(defun org-latex-export-as-latex
     \(&optional async subtreep visible-only body-only ext-plist)
     \(interactive)
-    \(org-export-to-buffer 'latex \"*Org LATEX Export*\"
+    \(org-export-to-buffer \\='latex \"*Org LATEX Export*\"
       async subtreep visible-only body-only ext-plist (lambda () 
(LaTeX-mode))))
 
 This function returns BUFFER."
@@ -5650,7 +5650,7 @@ to send the output file through additional processing, 
e.g,
     \(&optional async subtreep visible-only body-only ext-plist)
     \(interactive)
     \(let ((outfile (org-export-output-file-name \".tex\" subtreep)))
-      \(org-export-to-file 'latex outfile
+      \(org-export-to-file \\='latex outfile
         async subtreep visible-only body-only ext-plist
         \(lambda (file) (org-latex-compile file)))
 
diff --git a/lisp/pcmpl-cvs.el b/lisp/pcmpl-cvs.el
index 6b63695..33446af 100644
--- a/lisp/pcmpl-cvs.el
+++ b/lisp/pcmpl-cvs.el
@@ -38,7 +38,7 @@
 ;; User Variables:
 
 (defcustom pcmpl-cvs-binary (or (executable-find "cvs") "cvs")
-  "The full path of the 'cvs' binary."
+  "The full path of the ‘cvs’ binary."
   :type 'file
   :group 'pcmpl-cvs)
 
@@ -154,7 +154,7 @@
 (defun pcmpl-cvs-entries (&optional opers)
   "Return the Entries for the current directory.
 If OPERS is a list of characters, return entries for which that
-operation character applies, as displayed by 'cvs -n update'."
+operation character applies, as displayed by ‘cvs -n update’."
   (let* ((arg (pcomplete-arg))
         (dir (file-name-as-directory
               (or (file-name-directory arg) "")))
diff --git a/lisp/pcmpl-x.el b/lisp/pcmpl-x.el
index 7072d92..e6fb5bf 100644
--- a/lisp/pcmpl-x.el
+++ b/lisp/pcmpl-x.el
@@ -223,7 +223,7 @@
 ;;;###autoload
 (defun pcomplete/ack ()
   "Completion for the `ack' command.
-Start an argument with '-' to complete short options and '--' for
+Start an argument with `-' to complete short options and `--' for
 long options."
   ;; No space after =
   (while t
diff --git a/lisp/pcomplete.el b/lisp/pcomplete.el
index 90f0695..65dd8e7 100644
--- a/lisp/pcomplete.el
+++ b/lisp/pcomplete.el
@@ -193,7 +193,7 @@ current command argument."
 
 (defcustom pcomplete-expand-before-complete nil
   "If non-nil, expand the current argument before completing it.
-This means that typing something such as '$HOME/bi' followed by
+This means that typing something such as `$HOME/bi' followed by
 \\[pcomplete-argument] will cause the variable reference to be
 resolved first, and the resultant value that will be completed against
 to be inserted in the buffer.  Note that exactly what gets expanded
@@ -1022,8 +1022,8 @@ string, use it as the completion stub instead of the 
default (which is
 the entire text of the current argument).
 
 For an example of when you might want to use STUB: if the current
-argument text is 'long-path-name/', you don't want the completions
-list display to be cluttered by 'long-path-name/' appearing at the
+argument text is `long-path-name/', you don't want the completions
+list display to be cluttered by `long-path-name/' appearing at the
 beginning of every alternative.  Not only does this make things less
 intelligible, but it is also inefficient.  Yet, if the completion list
 does not begin with this string for every entry, the current argument
diff --git a/lisp/play/bubbles.el b/lisp/play/bubbles.el
index 2c40310..5ca792d 100644
--- a/lisp/play/bubbles.el
+++ b/lisp/play/bubbles.el
@@ -101,31 +101,31 @@ and a shift mode."
   :group 'bubbles)
 
 (defun bubbles-set-game-easy ()
-  "Set game theme to 'easy'."
+  "Set game theme to ‘easy’."
   (interactive)
   (setq bubbles-game-theme 'easy)
   (bubbles))
 
 (defun bubbles-set-game-medium ()
-  "Set game theme to 'medium'."
+  "Set game theme to ‘medium’."
   (interactive)
   (setq bubbles-game-theme 'medium)
   (bubbles))
 
 (defun bubbles-set-game-difficult ()
-  "Set game theme to 'difficult'."
+  "Set game theme to ‘difficult’."
   (interactive)
   (setq bubbles-game-theme 'difficult)
   (bubbles))
 
 (defun bubbles-set-game-hard ()
-  "Set game theme to 'hard'."
+  "Set game theme to ‘hard’."
   (interactive)
   (setq bubbles-game-theme 'hard)
   (bubbles))
 
 (defun bubbles-set-game-userdefined ()
-  "Set game theme to 'user-defined'."
+  "Set game theme to ‘user-defined’."
   (interactive)
   (setq bubbles-game-theme 'user-defined)
   (bubbles))
diff --git a/lisp/play/dunnet.el b/lisp/play/dunnet.el
index 205189e..ba137f5 100644
--- a/lisp/play/dunnet.el
+++ b/lisp/play/dunnet.el
@@ -894,7 +894,7 @@ to swim.")
     (dun-mprincl " endgame points out of a possible 110.")
     (if (= (dun-endgame-score) 110)
        (dun-mprincl
-"\n\nCongratulations.  You have won.  The wizard password is 'moby'"))))
+"\n\nCongratulations.  You have won.  The wizard password is ‘moby’"))))
 
 (defun dun-help (args)
   (dun-mprincl
@@ -902,7 +902,7 @@ to swim.")
 Here is some useful information (read carefully because there are one
 or more clues in here):
 - If you have a key that can open a door, you do not need to explicitly
-  open it.  You may just use 'in' or walk in the direction of the door.
+  open it.  You may just use ‘in’ or walk in the direction of the door.
 
 - If you have a lamp, it is always lit.
 
@@ -916,8 +916,8 @@ or more clues in here):
   If this happens, your score will decrease, and in many cases you can never
   get credit for it again.
 
-- You can save your game with the 'save' command, and use restore it
-  with the 'restore' command.
+- You can save your game with the ‘save’ command, and use restore it
+  with the ‘restore’ command.
 
 - There are no limits on lengths of object names.
 
@@ -1053,7 +1053,7 @@ for a moment, then straighten yourself up.
 (if (not dun-endgame-questions)
     (progn
       (dun-mprincl "Your question is:")
-      (dun-mprincl "No more questions, just do 'answer foo'.")
+      (dun-mprincl "No more questions, just do ‘answer foo’.")
       (setq dun-correct-answer '("foo")))
   (let (which i newques)
     (setq i 0)
@@ -1464,8 +1464,8 @@ kept.  The exit is to the west."
 "You are in a computer room.  It seems like most of the equipment has
 been removed.  There is a VAX 11/780 in front of you, however, with
 one of the cabinets wide open.  A sign on the front of the machine
-says: This VAX is named 'pokey'.  To type on the console, use the
-'type' command.  The exit is to the east."
+says: This VAX is named ‘pokey’.  To type on the console, use the
+‘type’ command.  The exit is to the east."
                "Computer room"
               )
              (
@@ -1475,7 +1475,7 @@ to the west, and a door leads to the south."
               )
              (
 "You are in a round, stone room with a door to the east.  There
-is a sign on the wall that reads: 'receiving room'."
+is a sign on the wall that reads: ‘receiving room’."
                "Receiving room"
               )
              (
@@ -1552,7 +1552,7 @@ northeast through the brush you can see the bear hangout."
              (
 "The entrance to a cave is to the south.  To the north, a road leads
 towards a deep lake.  On the ground nearby there is a chute, with a sign
-that says 'put treasures here for points'."
+that says ‘put treasures here for points’."
                "Cave Entrance"                      ;28
               )
              (
@@ -1831,13 +1831,13 @@ starvation.  Doors lead out to the south and east."
               )
              (
 "You are in some sort of maintenance room for the museum.  There is a
-switch on the wall labeled 'BL'.  There are doors to the west and north."
+switch on the wall labeled ‘BL’.  There are doors to the west and north."
                "Maintenance room"                   ;87
               )
              (
 "You are in a classroom where school children were taught about natural
-history.  On the blackboard is written, 'No children allowed downstairs.'
-There is a door to the east with an 'exit' sign on it.  There is another
+history.  On the blackboard is written, ‘No children allowed downstairs.’
+There is a door to the east with an ‘exit’ sign on it.  There is another
 door to the west."
                "Classroom"                          ;88
               )
@@ -1871,7 +1871,7 @@ a room to the northeast."
              (
 "You are in another computer room.  There is a computer in here larger
 than you have ever seen.  It has no manufacturers name on it, but it
-does have a sign that says: This machine's name is 'endgame'.  The
+does have a sign that says: This machine's name is ‘endgame’.  The
 exit is to the southwest.  There is no console here on which you could
 type."
                "Endgame computer room"         ;95
@@ -1882,7 +1882,7 @@ type."
               )
              (
 "You have reached a question room.  You must answer a question correctly in
-order to get by.  Use the 'answer' command to answer the question."
+order to get by.  Use the ‘answer’ command to answer the question."
                "Question room 1"              ;97
               )
              (
@@ -1913,7 +1913,7 @@ a hallway leads to the south."
              (
 "You have reached a dead end.  There is a PC on the floor here.  Above
 it is a sign that reads:
-          Type the 'reset' command to type on the PC.
+          Type the ‘reset’ command to type on the PC.
 A hole leads north."
                "PC area"                       ;104
                )
@@ -2357,8 +2357,8 @@ nil))
 2 Megabytes of RAM onboard."
 "It looks like some kind of meat.  Smells pretty bad."
 nil
-"The paper says: Don't forget to type 'help' for help.  Also, remember
-this word: 'worms'"
+"The paper says: Don't forget to type ‘help’ for help.  Also, remember
+this word: ‘worms’"
 "The statuette is of the likeness of Richard Stallman, the author of the
 famous EMACS editor.  You notice that he is not wearing any shoes."
 nil
@@ -2414,10 +2414,10 @@ flush handle is so clean that you can see your 
reflection in it."
 nil
 nil
 "The box has a slit in the top of it, and on it, in sloppy handwriting, is
-written: 'For key upgrade, put key in here.'"
+written: ‘For key upgrade, put key in here.’"
 nil
-"It says 'express mail' on it."
-"It is a 35 passenger bus with the company name 'mobytours' on it."
+"It says ‘express mail’ on it."
+"It is a 35 passenger bus with the company name ‘mobytours’ on it."
 "It is a large metal gate that is too big to climb over."
 "It is a HIGH cliff."
 "Unfortunately you do not know enough about dinosaurs to tell very much about
@@ -2449,14 +2449,14 @@ nil
 
 (setq dun-endgame-questions '(
                          (
-"What is your password on the machine called 'pokey'?" "robert")
+"What is your password on the machine called ‘pokey’?" "robert")
                          (
 "What password did you use during anonymous ftp to gamma?" "foo")
                          (
 "Excluding the endgame, how many places are there where you can put
 treasures for points?" "4" "four")
                          (
-"What is your login name on the 'endgame' machine?" "toukmond"
+"What is your login name on the ‘endgame’ machine?" "toukmond"
 )
                          (
 "What is the nearest whole dollar to the price of the shovel?" "20" "twenty")
diff --git a/lisp/play/gomoku.el b/lisp/play/gomoku.el
index 8e6165f..702376c 100644
--- a/lisp/play/gomoku.el
+++ b/lisp/play/gomoku.el
@@ -977,7 +977,7 @@ If the game is finished, this command requests for another 
game."
   (move-to-column (+ gomoku-x-offset (* gomoku-square-width (1- x)))))
 
 (defun gomoku-plot-square (square value)
-  "Draw 'X', 'O' or '.' on SQUARE depending on VALUE, leave point there."
+  "Draw ‘X’, ‘O’ or ‘.’ on SQUARE depending on VALUE, leave point there."
   (or (= value 1)
       (gomoku-goto-square square))
   (let ((inhibit-read-only t))
diff --git a/lisp/play/morse.el b/lisp/play/morse.el
index 5352341..bbd3e6b 100644
--- a/lisp/play/morse.el
+++ b/lisp/play/morse.el
@@ -144,7 +144,7 @@
                        (")" . "Close")
                        ("@" . "At"))
   "NATO phonetic alphabet.
-See ''International Code of Signals'' (INTERCO), United States
+See “International Code of Signals” (INTERCO), United States
 Edition, 1969 Edition (Revised 2003) available from National
 Geospatial-Intelligence Agency at URL `http://www.nga.mil/'")
 
diff --git a/lisp/progmodes/ada-mode.el b/lisp/progmodes/ada-mode.el
index c1bc79c..70af389 100644
--- a/lisp/progmodes/ada-mode.el
+++ b/lisp/progmodes/ada-mode.el
@@ -286,11 +286,11 @@ type A is
   :type 'boolean :group 'ada)
 
 (defcustom ada-indent-is-separate t
-  "Non-nil means indent 'is separate' or 'is abstract' if on a single line."
+  "Non-nil means indent ‘is separate’ or ‘is abstract’ if on a single line."
   :type 'boolean :group 'ada)
 
 (defcustom ada-indent-record-rel-type 3
-  "Indentation for 'record' relative to 'type' or 'use'.
+  "Indentation for ‘record’ relative to ‘type’ or ‘use’.
 
 An example is:
    type A is
@@ -309,7 +309,7 @@ An example is:
   :type 'integer :group 'ada)
 
 (defcustom ada-indent-return 0
-  "Indentation for 'return' relative to the matching 'function' statement.
+  "Indentation for `return' relative to the matching `function' statement.
 If `ada-indent-return' is null or negative, the indentation is done relative to
 the open parenthesis (if there is no parenthesis, `ada-broken-indent' is used).
 
@@ -349,7 +349,7 @@ This is also used for <<..>> labels"
   :type '(choice (const ada83) (const ada95) (const ada2005)) :group 'ada)
 
 (defcustom ada-move-to-declaration nil
-  "Non-nil means `ada-move-to-start' moves to the subprogram declaration, not 
to 'begin'."
+  "Non-nil means `ada-move-to-start' moves to the subprogram declaration, not 
to `begin'."
   :type 'boolean :group 'ada)
 
 (defcustom ada-popup-key '[down-mouse-3]
@@ -397,7 +397,7 @@ Must be one of :
   :group 'ada)
 
 (defcustom ada-use-indent ada-broken-indent
-  "Indentation for the lines in a 'use' statement.
+  "Indentation for the lines in a ‘use’ statement.
 
 An example is:
    use Ada.Text_IO,
@@ -405,7 +405,7 @@ An example is:
   :type 'integer :group 'ada)
 
 (defcustom ada-when-indent 3
-  "Indentation for 'when' relative to 'exception' or 'case'.
+  "Indentation for ‘when’ relative to ‘exception’ or ‘case’.
 
 An example is:
    case A is
@@ -413,7 +413,7 @@ An example is:
   :type 'integer :group 'ada)
 
 (defcustom ada-with-indent ada-broken-indent
-  "Indentation for the lines in a 'with' statement.
+  "Indentation for the lines in a ‘with’ statement.
 
 An example is:
    with Ada.Text_IO,
@@ -493,7 +493,7 @@ Used to define `ada-*-keywords.'"))
   "Alist of substrings (entities) that have special casing.
 The substrings are detected for word constituent when the word
 is not itself in `ada-case-exception', and only for substrings that
-either are at the beginning or end of the word, or start after '_'.")
+either are at the beginning or end of the word, or start after `_'.")
 
 (defvar ada-lfd-binding nil
   "Variable to save key binding of LFD when casing is activated.")
@@ -1689,7 +1689,7 @@ See also `ada-auto-case' to disable auto casing 
altogether."
   nil)
 
 (defun ada-capitalize-word (&optional _arg)
-  "Upcase first letter and letters following '_', lower case other letters.
+  "Upcase first letter and letters following `_', lower case other letters.
 ARG is ignored, and is there for compatibility with `capitalize-word' only."
   (interactive)
   (let ((end   (save-excursion (skip-syntax-forward  "w") (point)))
@@ -2834,7 +2834,7 @@ ORGPOINT is the limit position used in the calculation."
       (save-excursion
        (goto-char (car match-cons))
        (unless (ada-search-ignore-string-comment "when" t opos)
-         (error "Missing 'when' between 'case' and '=>'"))
+         (error "Missing ‘when’ between ‘case’ and ‘=>’"))
        (list (save-excursion (back-to-indentation) (point)) 'ada-indent)))
      ;;
      ;; case..is..when
@@ -3003,7 +3003,7 @@ ORGPOINT is the limit position used in the calculation."
       (list cur-indent 'ada-broken-indent)))))
 
 (defun ada-get-indent-noindent (orgpoint)
-  "Calculate the indentation when point is just before a 'noindent stmt'.
+  "Calculate the indentation when point is just before a ‘noindent stmt’.
 ORGPOINT is the limit position used in the calculation."
   (let ((label 0))
     (save-excursion
@@ -3429,7 +3429,7 @@ Return the new position of point or nil if not found."
 Moves point to the matching block start."
   (ada-goto-matching-start 0)
   (unless (looking-at (concat "\\<" keyword "\\>"))
-    (error "Matching start is not '%s'" keyword)))
+    (error "Matching start is not ‘%s’" keyword)))
 
 
 (defun ada-check-defun-name (defun-name)
@@ -3667,7 +3667,7 @@ otherwise throw error."
   "Move point to the beginning of a block-start.
 Which block depends on the value of NEST-LEVEL, which defaults to zero.
 If NOERROR is non-nil, it only returns nil if no matching start was found.
-If GOTOTHEN is non-nil, point moves to the 'then' following 'if'."
+If GOTOTHEN is non-nil, point moves to the ‘then’ following ‘if’."
   (let ((nest-count (if nest-level nest-level 0))
        (found nil)
 
@@ -3734,7 +3734,7 @@ If GOTOTHEN is non-nil, point moves to the 'then' 
following 'if'."
                (if pos
                    (goto-char (car pos))
                  (error (concat
-                         "No matching 'is' or 'renames' for 'package' at"
+                         "No matching ‘is’ or ‘renames’ for ‘package’ at"
                          " line "
                          (number-to-string (count-lines 1 (1+ current)))))))
              (unless (looking-at "renames")
@@ -3862,7 +3862,7 @@ If GOTOTHEN is non-nil, point moves to the 'then' 
following 'if'."
             ((looking-at "do")
              (unless (ada-search-ignore-string-comment
                       "\\<accept\\|return\\>" t)
-               (error "Missing 'accept' or 'return' in front of 'do'"))))
+               (error "Missing ‘accept’ or ‘return’ in front of ‘do’"))))
            (point))
 
        (if noerror
@@ -4073,7 +4073,7 @@ Assumes point to be at the end of a statement."
 
 
 (defun ada-looking-at-semi-or ()
-  "Return t if looking at an 'or' following a semicolon."
+  "Return t if looking at an ‘or’ following a semicolon."
   (save-excursion
     (and (looking-at "\\<or\\>")
         (progn
@@ -4146,7 +4146,7 @@ Return nil if the private is part of the package name, as 
in
                           "type\\)\\>"))))))
 
 (defun ada-search-ignore-complex-boolean (regexp backwardp)
-  "Search for REGEXP, ignoring comments, strings, 'and then', 'or else'.
+  "Search for REGEXP, ignoring comments, strings, ‘and then’, ‘or else’.
 If BACKWARDP is non-nil, search backward; search forward otherwise."
   (let (result)
   (while (and (setq result (ada-search-ignore-string-comment regexp backwardp))
@@ -4366,7 +4366,7 @@ of the region.  Otherwise, operate only on the current 
line."
 
 (defun ada-move-to-end ()
   "Move point to the end of the block around point.
-Moves to 'begin' if in a declarative part."
+Moves to ‘begin’ if in a declarative part."
   (interactive)
   (let ((pos (point))
        decl-start)
diff --git a/lisp/progmodes/ada-prj.el b/lisp/progmodes/ada-prj.el
index 4b1c1c2..7e354bc 100644
--- a/lisp/progmodes/ada-prj.el
+++ b/lisp/progmodes/ada-prj.el
@@ -309,13 +309,13 @@ where the compilation is done.")
 "If you want to remotely compile, debug and
 run your application, specify the name of a
 remote machine here. This capability requires
-the 'rsh' protocol on the remote machine.")
+the ‘rsh’ protocol on the remote machine.")
     (ada-prj-field 'cross_prefix "Prefix used in for the cross tool chain"
 "When working on multiple cross targets, it is
 most convenient to specify the prefix of the
 tool chain here. For instance, on PowerPc
-vxworks, you would enter 'powerpc-wrs-vxworks-'.
-To use JGNAT, enter 'j'.")
+vxworks, you would enter ‘powerpc-wrs-vxworks-’.
+To use JGNAT, enter ‘j’.")
     )
 
 
diff --git a/lisp/progmodes/ada-xref.el b/lisp/progmodes/ada-xref.el
index 771dc2a..6f2f78f 100644
--- a/lisp/progmodes/ada-xref.el
+++ b/lisp/progmodes/ada-xref.el
@@ -236,7 +236,7 @@ we need to use `/d' or the drive is never changed.")
   "Associative list of project files with properties.
 It has the format: (project project ...)
 A project has the format: (project-file . project-plist)
-\(See 'apropos plist' for operations on property lists).
+\(See `apropos plist' for operations on property lists).
 See `ada-default-prj-properties' for the list of valid properties.
 The current project is retrieved with `ada-xref-current-project'.
 Properties are retrieved with `ada-xref-get-project-field', set with
@@ -286,7 +286,7 @@ On Windows systems, this will properly handle .exe 
extension as well."
                    (ada-find-file-in-dir (concat exec-name ".exe") 
exec-path))))
     (if result
        result
-      (error "'%s' not found in path" exec-name))))
+      (error "‘%s’ not found in path" exec-name))))
 
 (defun ada-initialize-runtime-library (cross-prefix)
   "Initialize the variables for the runtime library location.
@@ -667,7 +667,7 @@ the same base name as the Ada file, but extension given by
 `ada-prj-file-extension' (default .adp).  If not found, search for *.adp
 in the current directory; if several are found, and NO-USER-QUESTION
 is non-nil, prompt the user to select one.  If none are found, return
-'default.adp'."
+\"default.adp\"."
 
   (let (selected)
 
diff --git a/lisp/progmodes/antlr-mode.el b/lisp/progmodes/antlr-mode.el
index 28049e9..d59948e 100644
--- a/lisp/progmodes/antlr-mode.el
+++ b/lisp/progmodes/antlr-mode.el
@@ -448,7 +448,7 @@ The standard value is (\"file\" \"grammar\" \"rule\" 
\"subrule\").  See
             "Generate default exception handler for each rule? "))
      ("codeGenMakeSwitchThreshold" nil
       (20600 antlr-read-value
-            "Min number of alternatives for 'switch': "))
+            "Min number of alternatives for `switch': "))
      ("codeGenBitsetTestThreshold" nil
       (20600 antlr-read-value
             "Min size of lookahead set for bitset test: "))
diff --git a/lisp/progmodes/bug-reference.el b/lisp/progmodes/bug-reference.el
index 53d2958..a78c57c 100644
--- a/lisp/progmodes/bug-reference.el
+++ b/lisp/progmodes/bug-reference.el
@@ -58,7 +58,7 @@ It can use `match-string' to get parts matched against
 There is no default setting for this, it must be set per file.
 If you set it to a symbol in the file Local Variables section,
 you need to add a `bug-reference-url-format' property to it:
-\(put 'my-bug-reference-url-format 'bug-reference-url-format t)
+\(put \\='my-bug-reference-url-format \\='bug-reference-url-format t)
 so that it is considered safe, see `enable-local-variables'.")
 
 ;;;###autoload
diff --git a/lisp/progmodes/cc-align.el b/lisp/progmodes/cc-align.el
index 0b96b4a..b0c4a64 100644
--- a/lisp/progmodes/cc-align.el
+++ b/lisp/progmodes/cc-align.el
@@ -325,10 +325,10 @@ operator you typically want to use it together with some 
other line-up
 settings, e.g. as follows \(the arglist-close setting is just a
 suggestion to get a consistent style):
 
-\(c-set-offset 'arglist-cont '(c-lineup-arglist-operators 0))
-\(c-set-offset 'arglist-cont-nonempty '(c-lineup-arglist-operators
+\(c-set-offset \\='arglist-cont \\='(c-lineup-arglist-operators 0))
+\(c-set-offset \\='arglist-cont-nonempty \\='(c-lineup-arglist-operators
                                         c-lineup-arglist))
-\(c-set-offset 'arglist-close '(c-lineup-arglist-close-under-paren))
+\(c-set-offset \\='arglist-close \\='(c-lineup-arglist-close-under-paren))
 
 Works with: arglist-cont, arglist-cont-nonempty."
   (save-excursion
diff --git a/lisp/progmodes/cc-defs.el b/lisp/progmodes/cc-defs.el
index 9826035..0422ca0 100644
--- a/lisp/progmodes/cc-defs.el
+++ b/lisp/progmodes/cc-defs.el
@@ -1642,11 +1642,11 @@ surrounds the matched alternative, and the regexp will 
also not match
 a prefix of any identifier.  Adorned regexps cannot be appended.  The
 language variable `c-nonsymbol-key' is used to make the adornment.
 
-A value 'appendable for ADORN is like above, but all alternatives in
+A value `appendable' for ADORN is like above, but all alternatives in
 the list that end with a word constituent char will have \\> appended
 instead, so that the regexp remains appendable.  Note that this
 variant doesn't always guarantee that an identifier prefix isn't
-matched since the symbol constituent '_' is normally considered a
+matched since the symbol constituent `_' is normally considered a
 nonword token by \\>.
 
 The optional MODE specifies the language to get `c-nonsymbol-key' from
@@ -1920,30 +1920,30 @@ There are many flavors of Emacs out there, each with 
different
 features supporting those needed by CC Mode.  The following values
 might be present:
 
-'8-bit              8 bit syntax entry flags (XEmacs style).
-'1-bit              1 bit syntax entry flags (Emacs style).
-'argumentative-bod-function        beginning-of-defun and end-of-defun pass
+`8-bit'             8 bit syntax entry flags (XEmacs style).
+`1-bit'             1 bit syntax entry flags (Emacs style).
+`argumentative-bod-function'    beginning-of-defun and end-of-defun pass
                    ARG through to beginning/end-of-defun-function.
-'syntax-properties  It works to override the syntax for specific characters
-                   in the buffer with the 'syntax-table property.  It's
+`syntax-properties' It works to override the syntax for specific characters
+                   in the buffer with the `syntax-table' property.  It's
                    always set - CC Mode no longer works in emacsen without
                    this feature.
-'category-properties Syntax routines can add a level of indirection to text
-                   properties using the 'category property.
-'gen-comment-delim  Generic comment delimiters work
+`category-properties' Syntax routines can add a level of indirection to text
+                   properties using the `category' property.
+`gen-comment-delim' Generic comment delimiters work
                    (i.e. the syntax class `!').
-'gen-string-delim   Generic string delimiters work
+`gen-string-delim'  Generic string delimiters work
                    (i.e. the syntax class `|').
-'pps-extended-state `parse-partial-sexp' returns a list with at least 10
+`pps-extended-state' `parse-partial-sexp' returns a list with at least 10
                    elements, i.e. it contains the position of the start of
                    the last comment or string.  It's always set - CC Mode
                     no longer works in emacsen without this feature.
-'posix-char-classes The regexp engine understands POSIX character classes.
-'col-0-paren        It's possible to turn off the ad-hoc rule that a paren
+`posix-char-classes' The regexp engine understands POSIX character classes.
+`col-0-paren'       It's possible to turn off the ad-hoc rule that a paren
                    in column zero is the start of a defun.
-'infodock           This is Infodock (based on XEmacs).
+`infodock'           This is Infodock (based on XEmacs).
 
-'8-bit and '1-bit are mutually exclusive.")
+`8-bit' and `1-bit' are mutually exclusive.")
 
 
 ;;; Some helper constants.
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el
index 6c6a454..1223db3 100644
--- a/lisp/progmodes/cc-engine.el
+++ b/lisp/progmodes/cc-engine.el
@@ -671,8 +671,8 @@ position if that is less ('same is returned in this case).
 
 NOERROR turns off error logging to `c-parsing-error'.
 
-Normally only ';' and virtual semicolons are considered to delimit
-statements, but if COMMA-DELIM is non-nil then ',' is treated
+Normally only `;' and virtual semicolons are considered to delimit
+statements, but if COMMA-DELIM is non-nil then `,' is treated
 as a delimiter too.
 
 Note that this function might do hidden buffer changes.  See the
diff --git a/lisp/progmodes/cc-langs.el b/lisp/progmodes/cc-langs.el
index 46da7f9..235ef21 100644
--- a/lisp/progmodes/cc-langs.el
+++ b/lisp/progmodes/cc-langs.el
@@ -457,7 +457,7 @@ the new syntax, as accepted by `modify-syntax-entry'."
       (modify-syntax-entry (car mod) (cdr mod) table))
     table)
   "Syntax table built on the mode syntax table but additionally
-classifies symbol constituents like '_' and '$' as word constituents,
+classifies symbol constituents like `_' and `$' as word constituents,
 so that all identifiers are recognized as words.")
 
 (c-lang-defconst c-get-state-before-change-functions
@@ -578,8 +578,8 @@ EOL terminated statements."
 (c-lang-defvar c-has-bitfields (c-lang-const c-has-bitfields))
 
 (c-lang-defconst c-modified-constant
-  "Regexp that matches a \"modified\" constant literal such as \"L'a'\",
-a \"long character\".  In particular, this recognizes forms of constant
+  "Regexp that matches a “modified” constant literal such as \"L\\='a\\='\",
+a “long character”.  In particular, this recognizes forms of constant
 which `c-backward-sexp' needs to be called twice to move backwards over."
   t nil
   (c c++ objc) "L'\\([^\\'\t\f\n\r]\\|\\\\.\\)'")
@@ -2101,7 +2101,7 @@ one of `c-type-list-kwds', `c-ref-list-kwds',
   "Keywords introducing declarations that can contain a block which
 might be followed by variable declarations, e.g. like \"foo\" in
 \"class Foo { ... } foo;\".  So if there is a block in a declaration
-like that, it ends with the following ';' and not right away.
+like that, it ends with the following `;' and not right away.
 
 The keywords on list are assumed to also be present on one of the
 `*-decl-kwds' lists."
@@ -2344,7 +2344,7 @@ Keywords here should also be in `c-block-stmt-1-kwds'."
 
 (c-lang-defconst c-paren-stmt-kwds
   "Statement keywords followed by a parenthesis expression that
-nevertheless contains a list separated with ';' and not ','."
+nevertheless contains a list separated with `;' and not `,'."
   t    '("for")
   idl  nil)
 
@@ -2806,7 +2806,7 @@ the \"class Foo: public Bar\" part of:
 If parens can occur, the chars inside those aren't filtered with this
 list.
 
-'<' and '>' should be disallowed even if angle bracket arglists can
+`<' and `>' should be disallowed even if angle bracket arglists can
 occur.  That since the search function needs to stop at them anyway to
 ensure they are given paren syntax.
 
diff --git a/lisp/progmodes/cfengine.el b/lisp/progmodes/cfengine.el
index 108ccb6..96bb8d3 100644
--- a/lisp/progmodes/cfengine.el
+++ b/lisp/progmodes/cfengine.el
@@ -157,7 +157,7 @@ bundle agent rcfiles
   "Whether `cfengine-mode' should print debugging info.")
 
 (defvar cfengine-mode-syntax-cache nil
-  "Cache for `cfengine-mode' syntax trees obtained from 'cf-promises -s 
json'.")
+  "Cache for `cfengine-mode' syntax trees obtained from `cf-promises -s 
json'.")
 
 (defconst cfengine3-fallback-syntax
   '((functions
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index 9d1d148..a6e9ed8 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -650,11 +650,11 @@ The value nil as an element means to try the default 
directory."
 Sometimes it is useful for files to supply local values for this variable.
 You might also use mode hooks to specify it in certain modes, like this:
 
-    (add-hook 'c-mode-hook
+    (add-hook \\='c-mode-hook
        (lambda ()
         (unless (or (file-exists-p \"makefile\")
                     (file-exists-p \"Makefile\"))
-          (set (make-local-variable 'compile-command)
+          (set (make-local-variable \\='compile-command)
                (concat \"make -k \"
                        (if buffer-file-name
                          (shell-quote-argument
diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el
index 826b3ee..322024e 100644
--- a/lisp/progmodes/cperl-mode.el
+++ b/lisp/progmodes/cperl-mode.el
@@ -7607,7 +7607,7 @@ than a line.  Your contribution to update/shorten it is 
appreciated."
 
 (defvar cperl-short-docs 'please-ignore-this-line
   ;; Perl4 version was written by Johan Vromans (address@hidden)
-  "# based on '@(#)@ perl-descr.el 1.9 - describe-perl-symbol' [Perl 5]
+  "# based on \\='@(#)@ perl-descr.el 1.9 - describe-perl-symbol\\=' [Perl 5]
 ...    Range (list context); flip/flop [no flop when flip] (scalar context).
 ! ...  Logical negation.
 ... != ...     Numeric inequality.
@@ -7630,7 +7630,7 @@ $7        Match of the 7th set of parentheses in the last 
match (auto-local).
 $8     Match of the 8th set of parentheses in the last match (auto-local).
 $9     Match of the 9th set of parentheses in the last match (auto-local).
 $&     The string matched by the last pattern match (auto-local).
-$'     The string after what was matched by the last match (auto-local).
+$\\='  The string after what was matched by the last match (auto-local).
 $\\=`  The string before what was matched by the last match (auto-local).
 
 $(     The real gid of this process.
@@ -7886,7 +7886,7 @@ pop(ARRAY)
 print [FILEHANDLE] [(LIST)]
 printf [FILEHANDLE] (FORMAT,LIST)
 push(ARRAY,LIST)
-q/STRING/      Synonym for 'STRING'
+q/STRING/      Synonym for \\='STRING\\='
 qq/STRING/     Synonym for \"STRING\"
 qx/STRING/     Synonym for \\=`STRING\\=`
 rand[(EXPR)]
@@ -7988,7 +7988,7 @@ DESTROY           Shorthand for `sub DESTROY {...}'.
 abs [ EXPR ]   absolute value
 ... and ...            Low-precedence synonym for &&.
 bless REFERENCE [, PACKAGE]    Makes reference into an object of a package.
-chomp [LIST]   Strips $/ off LIST/$_.  Returns count.  Special if $/ eq ''!
+chomp [LIST]   Strips $/ off LIST/$_.  Returns count.  Special if $/ eq 
\\='\\='!
 chr            Converts a number to char with the same ordinal.
 else           Part of if/unless {BLOCK} elsif {BLOCK} else {BLOCK}.
 elsif          Part of if/unless {BLOCK} elsif {BLOCK} else {BLOCK}.
@@ -8005,7 +8005,7 @@ not ...           Low-precedence synonym for ! - negation.
 ... or ...             Low-precedence synonym for ||.
 pos STRING    Set/Get end-position of the last match over this string, see \\G.
 quotemeta [ EXPR ]     Quote regexp metacharacters.
-qw/WORD1 .../          Synonym of split('', 'WORD1 ...')
+qw/WORD1 .../          Synonym of split(\\='\\=', \\='WORD1 ...\\=')
 readline FH    Synonym of <FH>.
 readpipe CMD   Synonym of \\=`CMD\\=`.
 ref [ EXPR ]   Type of EXPR when dereferenced.
diff --git a/lisp/progmodes/dcl-mode.el b/lisp/progmodes/dcl-mode.el
index eab4ae8..4c997bd 100644
--- a/lisp/progmodes/dcl-mode.el
+++ b/lisp/progmodes/dcl-mode.el
@@ -173,7 +173,7 @@ It can have the following values:
   first-line  indentation for the first line in a buffer or SUBROUTINE.
 CUR-INDENT is the indentation of the preceding command line.
 EXTRA-INDENT is the default change in indentation for this line
-\(a negative number for 'outdent).
+\(a negative number for “outdent”).
 LAST-POINT is the buffer position of the first significant word on the
 previous line or nil if the current line is the first line.
 THIS-POINT is the buffer position of the first significant word on the
diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el
index 1942271..f220633 100644
--- a/lisp/progmodes/flymake.el
+++ b/lisp/progmodes/flymake.el
@@ -785,7 +785,7 @@ Perhaps use text from LINE-ERR-INFO-LIST to enhance 
highlighting."
        (when (flymake-same-files real-file-name source-file-name)
          (setq line-err-info (flymake-ler-set-file line-err-info nil))
          (setq err-info-list (flymake-add-err-info err-info-list 
line-err-info))))
-      (flymake-log 3 "parsed '%s', %s line-err-info" (nth idx lines) (if 
line-err-info "got" "no"))
+      (flymake-log 3 "parsed ‘%s’, %s line-err-info" (nth idx lines) (if 
line-err-info "got" "no"))
       (setq idx (1+ idx)))
     err-info-list))
 
@@ -1084,8 +1084,10 @@ For the format of LINE-ERR-INFO, see 
`flymake-ler-make-ler'."
                      default-directory)
         process)
     (error
-     (let* ((err-str (format "Failed to launch syntax check process '%s' with 
args %s: %s"
-                             cmd args (error-message-string err)))
+     (let* ((err-str
+             (format-message
+              "Failed to launch syntax check process ‘%s’ with args %s: %s"
+              cmd args (error-message-string err)))
             (source-file-name buffer-file-name)
             (cleanup-f        (flymake-get-cleanup-function source-file-name)))
        (flymake-log 0 err-str)
diff --git a/lisp/progmodes/gdb-mi.el b/lisp/progmodes/gdb-mi.el
index 4af8ac6..9942e17 100644
--- a/lisp/progmodes/gdb-mi.el
+++ b/lisp/progmodes/gdb-mi.el
@@ -2195,10 +2195,10 @@ value when the message is complete.
 
 Implement the following GDB/MI output grammar rule:
   result-class ==>
-       'done' | 'running' | 'connected' | 'error' | 'exit'
+       `done' | `running' | `connected' | `error' | `exit'
 
   async-class ==>
-       'stopped' | others (where others will be added depending on the needs
+       `stopped' | others (where others will be added depending on the needs
                            --this is still in development).")
 
 (defun gdbmi-bnf-result-and-async-record-impl ()
diff --git a/lisp/progmodes/idlw-shell.el b/lisp/progmodes/idlw-shell.el
index 23f9d4a..b5e7998 100644
--- a/lisp/progmodes/idlw-shell.el
+++ b/lisp/progmodes/idlw-shell.el
@@ -379,15 +379,15 @@ This mechanism is useful for correct interaction with the 
IDL function
 GET_KBRD, because in normal operation IDLWAVE only sends \\n terminated
 strings.  Here is some example code which makes use of the default spells.
 
-  print,'<chars>'               ; Make IDLWAVE switch to character mode
+  print,\\='<chars>\\='               ; Make IDLWAVE switch to character mode
   REPEAT BEGIN
       A = GET_KBRD(1)
       PRINT, BYTE(A)
-  ENDREP UNTIL A EQ 'q'
-  print,'</chars>'              ; Make IDLWAVE switch back to line mode
+  ENDREP UNTIL A EQ \\='q\\='
+  print,\\='</chars>\\='              ; Make IDLWAVE switch back to line mode
 
-  print,'Quit the program, y or n?'
-  print,'<onechar>'             ; Ask IDLWAVE to send one character
+  print,\\='Quit the program, y or n?\\='
+  print,\\='<onechar>\\='             ; Ask IDLWAVE to send one character
   answer = GET_KBRD(1)
 
 Since the IDLWAVE shell defines the system variable `!IDLWAVE_VERSION',
@@ -403,11 +403,11 @@ idlwave_char_input,/off          ; End the loop to send 
characters
 
 pro idlwave_char_input,on=on,off=off
   ;; Test if we are running under Emacs
-  defsysv,'!idlwave_version',exists=running_emacs
+  defsysv,\\='!idlwave_version\\=',exists=running_emacs
   if running_emacs then begin
-      if keyword_set(on) then         print,'<chars>' $
-        else if keyword_set(off) then print,'</chars>' $
-        else                          print,'<onechar>'
+      if keyword_set(on) then         print,\\='<chars>\\=' $
+        else if keyword_set(off) then print,\\='</chars>\\=' $
+        else                          print,\\='<onechar>\\='
   endif
 end"
   :group 'idlwave-shell-command-setup
diff --git a/lisp/progmodes/prog-mode.el b/lisp/progmodes/prog-mode.el
index b8cd9d9..8f50887 100644
--- a/lisp/progmodes/prog-mode.el
+++ b/lisp/progmodes/prog-mode.el
@@ -192,9 +192,9 @@ in `prettify-symbols-alist' (which see), which are locally 
defined
 by major modes supporting prettifying.  To add further customizations
 for a given major mode, you can modify `prettify-symbols-alist' thus:
 
-  (add-hook 'emacs-lisp-mode-hook
+  (add-hook \\='emacs-lisp-mode-hook
             (lambda ()
-              (push '(\"<=\" . ?≤) prettify-symbols-alist)))
+              (push \\='(\"<=\" . ?≤) prettify-symbols-alist)))
 
 You can enable this mode locally in desired buffers, or use
 `global-prettify-symbols-mode' to enable it for all modes that
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index abae8af..35f10e5 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -4005,8 +4005,8 @@ The skeleton will be bound to python-skeleton-NAME."
   (declare (indent 2))
   (let* ((name (symbol-name name))
          (function-name (intern (concat "python-skeleton--" name)))
-         (msg (format
-               "Add '%s' clause? " name)))
+         (msg (format-message
+               "Add ‘%s’ clause? " name)))
     (when (not skel)
       (setq skel
             `(< ,(format "%s:" name) \n \n
diff --git a/lisp/progmodes/sql.el b/lisp/progmodes/sql.el
index 3800cfb..18f445c 100644
--- a/lisp/progmodes/sql.el
+++ b/lisp/progmodes/sql.el
@@ -3799,7 +3799,7 @@ Note that SQL doesn't have an escape character unless you 
specify
 one.  If you specify backslash as escape character in SQL, you
 must tell Emacs.  Here's how to do that in your init file:
 
-\(add-hook 'sql-mode-hook
+\(add-hook \\='sql-mode-hook
           (lambda ()
            (modify-syntax-entry ?\\\\ \".\" sql-mode-syntax-table)))"
   :group 'SQL
@@ -3896,9 +3896,9 @@ If you want to make SQL buffers limited in length, add 
the function
 Here is an example for your init file.  It keeps the SQLi buffer a
 certain length.
 
-\(add-hook 'sql-interactive-mode-hook
+\(add-hook \\='sql-interactive-mode-hook
     \(function (lambda ()
-        \(setq comint-output-filter-functions 'comint-truncate-buffer))))
+        \(setq comint-output-filter-functions \\='comint-truncate-buffer))))
 
 Here is another example.  It will always put point back to the statement
 you entered, right above the output it created.
@@ -4276,7 +4276,7 @@ passed as command line arguments."
     ;; work for remote hosts; we suppress the check there.
     (unless (or (file-remote-p default-directory)
                (executable-find program))
-      (error "Unable to locate SQL program \'%s\'" program))
+      (error "Unable to locate SQL program ‘%s’" program))
     ;; Make sure buffer name is unique.
     (when (sql-buffer-live-p (format "*%s*" buf-name))
       (setq buf-name (format "SQL-%s" product))
diff --git a/lisp/progmodes/verilog-mode.el b/lisp/progmodes/verilog-mode.el
index 3244805..107dee5 100644
--- a/lisp/progmodes/verilog-mode.el
+++ b/lisp/progmodes/verilog-mode.el
@@ -4477,7 +4477,7 @@ More specifically, after a generate and before an 
endgenerate."
     (= nest 0) )) ; return nest
 
 (defun verilog-in-deferred-immediate-final-p ()
-  "Return true if inside an 'assert/assume/cover final' statement."
+  "Return true if inside an ‘assert/assume/cover final’ statement."
   (interactive)
   (and (looking-at "final")
        (verilog-looking-back "\\<\\(?:assert\\|assume\\|cover\\)\\>\\s-+" nil))
@@ -7221,7 +7221,7 @@ will be completed at runtime and should not be added to 
this list.")
 
 (defun verilog-func-completion (type)
   "Build regular expression for module/task/function names.
-TYPE is 'module, 'tf for task or function, or t if unknown."
+TYPE is ‘module’, ‘tf’ for task or function, or t if unknown."
   (if (string= verilog-str "")
       (setq verilog-str "[a-zA-Z_]"))
   (let ((verilog-str (concat (cond
@@ -7294,7 +7294,7 @@ must be a function to be called for every match to check 
if this should
 really be a match.  If VERILOG-FLAG is t, the function returns a list of
 all possible completions.  If VERILOG-FLAG is nil it returns a string,
 the longest possible completion, or t if VERILOG-STR is an exact match.
-If VERILOG-FLAG is 'lambda, the function returns t if VERILOG-STR is an
+If VERILOG-FLAG is ‘lambda’, the function returns t if VERILOG-STR is an
 exact match, nil otherwise."
   (save-excursion
     (let ((verilog-all nil))
@@ -7489,7 +7489,7 @@ VERILOG-PRED is non-nil, it must be a function to be 
called for every match
 to check if this should really be a match.  If VERILOG-FLAG is t, the
 function returns a list of all possible completions.  If it is nil it
 returns a string, the longest possible completion, or t if VERILOG-STR is
-an exact match.  If VERILOG-FLAG is 'lambda, the function returns t if
+an exact match.  If VERILOG-FLAG is ‘lambda’, the function returns t if
 VERILOG-STR is an exact match, nil otherwise."
   (save-excursion
     (let ((verilog-all nil)
@@ -8666,7 +8666,7 @@ Return an array of [outputs inouts inputs wire reg assign 
const]."
 
 (defun verilog-read-sub-decls-expr (submoddecls comment port expr)
   "For `verilog-read-sub-decls-line', parse a subexpression and add signals."
-  ;;(message "vrsde: '%s'" expr)
+  ;;(message "vrsde: ‘%s’" expr)
   ;; Replace special /*[....]*/ comments inserted by verilog-auto-inst-port
   (setq expr (verilog-string-replace-matches "/\\*\\(\\[[^*]+\\]\\)\\*/" "\\1" 
nil nil expr))
   ;; Remove front operators
@@ -8685,25 +8685,25 @@ Return an array of [outputs inouts inputs wire reg 
assign const]."
     (let (sig vec multidim)
       ;; Remove leading reduction operators, etc
       (setq expr (verilog-string-replace-matches "^\\s-*[---+~!|&]+\\s-*" "" 
nil nil expr))
-      ;;(message "vrsde-ptop: '%s'" expr)
+      ;;(message "vrsde-ptop: ‘%s’" expr)
       (cond  ; Find \signal. Final space is part of escaped signal name
        ((string-match "^\\s-*\\(\\\\[^ \t\n\f]+\\s-\\)" expr)
-       ;;(message "vrsde-s: '%s'" (match-string 1 expr))
+       ;;(message "vrsde-s: ‘%s’" (match-string 1 expr))
        (setq sig (match-string 1 expr)
              expr (substring expr (match-end 0))))
        ;; Find signal
        ((string-match "^\\s-*\\([a-zA-Z_][a-zA-Z_0-9]*\\)" expr)
-       ;;(message "vrsde-s: '%s'" (match-string 1 expr))
+       ;;(message "vrsde-s: ‘%s’" (match-string 1 expr))
        (setq sig (verilog-string-remove-spaces (match-string 1 expr))
              expr (substring expr (match-end 0)))))
       ;; Find [vector] or [multi][multi][multi][vector]
       (while (string-match "^\\s-*\\(\\[[^]]+\\]\\)" expr)
-       ;;(message "vrsde-v: '%s'" (match-string 1 expr))
+       ;;(message "vrsde-v: ‘%s’" (match-string 1 expr))
        (when vec (setq multidim (cons vec multidim)))
        (setq vec (match-string 1 expr)
              expr (substring expr (match-end 0))))
       ;; If found signal, and nothing unrecognized, add the signal
-      ;;(message "vrsde-rem: '%s'" expr)
+      ;;(message "vrsde-rem: ‘%s’" expr)
       (when (and sig (string-match "^\\s-*$" expr))
        (verilog-read-sub-decls-sig submoddecls comment port sig vec 
multidim))))))
 
@@ -9285,8 +9285,8 @@ Parameters must be simple assignments to constants, or 
have their own
 \"parameter\" label rather than a list of parameters.  Thus:
 
     parameter X = 5, Y = 10;   // Ok
-    parameter X = {1'b1, 2'h2};        // Ok
-    parameter X = {1'b1, 2'h2}, Y = 10;        // Bad, make into 2 parameter 
lines
+    parameter X = {1\\='b1, 2\\='h2};  // Ok
+    parameter X = {1\\='b1, 2\\='h2}, Y = 10;  // Bad, make into 2 parameter 
lines
 
 Defines must be simple text substitutions, one on a line, starting
 at the beginning of the line.  Any ifdefs or multiline comments around the
@@ -10099,7 +10099,7 @@ if non-nil."
 
 ;; Combined
 (defun verilog-decls-get-signals (decls)
-  "Return all declared signals in DECLS, excluding 'assign' statements."
+  "Return all declared signals in DECLS, excluding ‘assign’ statements."
   (append
    (verilog-decls-get-outputs decls)
    (verilog-decls-get-inouts decls)
@@ -11484,14 +11484,14 @@ Lisp Templates:
   Lisp functions:
 
        vl-name        Name portion of the input/output port.
-       vl-bits        Bus bits portion of the input/output port ('[2:0]').
-       vl-mbits       Multidimensional array bits for port ('[2:0][3:0]').
-       vl-width       Width of the input/output port ('3' for [2:0]).
+       vl-bits        Bus bits portion of the input/output port (‘[2:0]’).
+       vl-mbits       Multidimensional array bits for port (‘[2:0][3:0]’).
+       vl-width       Width of the input/output port (‘3’ for [2:0]).
                        May be a (...) expression if bits isn't a constant.
        vl-dir         Direction of the pin input/output/inout/interface.
        vl-modport     The modport, if an interface with a modport.
-       vl-cell-type   Module name/type of the cell ('InstModule').
-       vl-cell-name   Instance name of the cell ('instName').
+       vl-cell-type   Module name/type of the cell (‘InstModule’).
+       vl-cell-name   Instance name of the cell (‘instName’).
 
   Normal Lisp variables may be used in expressions.  See
   `verilog-read-defines' which can set vh-{definename} variables for use
@@ -13017,9 +13017,9 @@ An example of making a stub for another module:
        /*AUTOINOUTMODULE(\"Foo\")*/
         /*AUTOTIEOFF*/
         // verilator lint_off UNUSED
-        wire _unused_ok = &{1'b0,
+        wire _unused_ok = &{1\\='b0,
                             /*AUTOUNUSED*/
-                            1'b0};
+                            1\\='b0};
         // verilator lint_on  UNUSED
     endmodule
 
@@ -13034,7 +13034,7 @@ Typing \\[verilog-auto] will make this into:
 
         /*AUTOTIEOFF*/
         // Beginning of autotieoff
-        wire [2:0] foo = 3'b0;
+        wire [2:0] foo = 3\\='b0;
         // End of automatics
         ...
     endmodule"
@@ -13159,7 +13159,7 @@ with \"unused\" in the signal name.
 
 To reduce simulation time, the _unused_ok signal should be forced to a
 constant to prevent wiggling.  The easiest thing to do is use a
-reduction-and with 1'b0 as shown.
+reduction-and with 1\\='b0 as shown.
 
 This way all unused signals are in one place, making it convenient to add
 your tool's specific pragmas around the assignment to disable any unused
@@ -13175,9 +13175,9 @@ An example of making a stub for another module:
        /*AUTOINOUTMODULE(\"Examp\")*/
         /*AUTOTIEOFF*/
         // verilator lint_off UNUSED
-        wire _unused_ok = &{1'b0,
+        wire _unused_ok = &{1\\='b0,
                             /*AUTOUNUSED*/
-                            1'b0};
+                            1\\='b0};
         // verilator lint_on  UNUSED
     endmodule
 
@@ -13185,14 +13185,14 @@ Typing \\[verilog-auto] will make this into:
 
         ...
         // verilator lint_off UNUSED
-        wire _unused_ok = &{1'b0,
+        wire _unused_ok = &{1\\='b0,
                             /*AUTOUNUSED*/
                            // Beginning of automatics
                            unused_input_a,
                            unused_input_b,
                            unused_input_c,
                            // End of automatics
-                            1'b0};
+                            1\\='b0};
         // verilator lint_on  UNUSED
     endmodule"
   (interactive)
@@ -13267,9 +13267,9 @@ An example:
 
        //== State enumeration
        parameter [2:0] // synopsys enum state_info
-                          SM_IDLE =  3'b000,
-                          SM_SEND =  3'b001,
-                          SM_WAIT1 = 3'b010;
+                          SM_IDLE =  3\\='b000,
+                          SM_SEND =  3\\='b001,
+                          SM_WAIT1 = 3\\='b010;
        //== State variables
        reg [2:0]  /* synopsys enum state_info */
                   state_r;  /* synopsys state_vector state_r */
@@ -14177,7 +14177,7 @@ Files are checked based on `verilog-library-flags'."
                             (match-string 1) (buffer-file-name))))
          (when warn
            (message
-            "File '%s' isn't readable, use shift-mouse2 to paste in this field"
+            "File ‘%s’ isn't readable, use shift-mouse2 to paste in this field"
             (match-string 1))))))))
 
 
diff --git a/lisp/recentf.el b/lisp/recentf.el
index 89c1517..da263fc 100644
--- a/lisp/recentf.el
+++ b/lisp/recentf.el
@@ -781,7 +781,7 @@ Filenames are relative to the `default-directory'."
     )
   "List of rules used by `recentf-arrange-by-rule' to build sub-menus.
 A rule is a pair (SUB-MENU-TITLE . MATCHER).  SUB-MENU-TITLE is the
-displayed title of the sub-menu where a '%d' `format' pattern is
+displayed title of the sub-menu where a `%d' `format' pattern is
 replaced by the number of items in the sub-menu.  MATCHER is a regexp
 or a list of regexps.  Items matching one of the regular expressions in
 MATCHER are added to the corresponding sub-menu.
@@ -798,7 +798,7 @@ may have been modified to match another rule."
   "Title of the `recentf-arrange-by-rule' sub-menu.
 This is for the menu where items that don't match any
 `recentf-arrange-rules' are displayed.  If nil these items are
-displayed in the main recent files menu.  A '%d' `format' pattern in
+displayed in the main recent files menu.  A `%d' `format' pattern in
 the title is replaced by the number of items in the sub-menu."
   :group 'recentf-filters
   :type '(choice (const  :tag "Main menu" nil)
diff --git a/lisp/server.el b/lisp/server.el
index bcadcc4..5a8afb4 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -574,7 +574,7 @@ If the key is not valid, signal an error."
   (if server-auth-key
     (if (string-match-p "^[!-~]\\{64\\}$" server-auth-key)
         server-auth-key
-      (error "The key '%s' is invalid" server-auth-key))
+      (error "The key ‘%s’ is invalid" server-auth-key))
     (server-generate-key)))
 
 ;;;###autoload
diff --git a/lisp/skeleton.el b/lisp/skeleton.el
index 2c017dd..69bd500 100644
--- a/lisp/skeleton.el
+++ b/lisp/skeleton.el
@@ -484,7 +484,7 @@ This allows for context-sensitive checking whether pairing 
is appropriate.")
 Each alist element, which looks like (ELEMENT ...), is passed to
 `skeleton-insert' with no interactor.  Variable `str' does nothing.
 
-Elements might be (?\\=` ?\\=` _ \"''\"), (?\\( ?  _ \" )\") or (?{ \\n > _ 
\\n ?} >).")
+Elements might be (?\\=` ?\\=` _ \"\\='\\='\"), (?\\( ?  _ \" )\") or (?{ \\n 
> _ \\n ?} >).")
 
 (defvar skeleton-pair-default-alist '((?( _ ?)) (?\))
                                      (?[ _ ?]) (?\])
diff --git a/lisp/subr.el b/lisp/subr.el
index 6d99c6c..21e277b 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -4768,7 +4768,7 @@ Examples of version conversion:
 
 See documentation for `version-separator' and `version-regexp-alist'."
   (or (and (stringp ver) (> (length ver) 0))
-      (error "Invalid version string: '%s'" ver))
+      (error "Invalid version string: ‘%s’" ver))
   ;; Change .x.y to 0.x.y
   (if (and (>= (length ver) (length version-separator))
           (string-equal (substring ver 0 (length version-separator))
@@ -4800,9 +4800,9 @@ See documentation for `version-separator' and 
`version-regexp-alist'."
                  ((string-match "^[-_+ ]?\\([a-zA-Z]\\)$" s)
                   (push (- (aref (downcase (match-string 1 s)) 0) ?a -1)
                         lst))
-                 (t (error "Invalid version syntax: '%s'" ver))))))
+                 (t (error "Invalid version syntax: ‘%s’" ver))))))
       (if (null lst)
-         (error "Invalid version syntax: '%s'" ver)
+         (error "Invalid version syntax: ‘%s’" ver)
        (nreverse lst)))))
 
 
diff --git a/lisp/textmodes/bib-mode.el b/lisp/textmodes/bib-mode.el
index 12b7fc4..2ed5ad8 100644
--- a/lisp/textmodes/bib-mode.el
+++ b/lisp/textmodes/bib-mode.el
@@ -82,8 +82,8 @@ A uthor               T itle          D ate           J ournal
 V olume                N umber         P age           K eywords
 B in book or proceedings       E ditor         C ity & state
 I nstitution, school, or publisher
-R eport number or 'phd thesis' or 'masters thesis' or 'draft' or
-     'unnumbered' or 'unpublished'
+R eport number or `phd thesis' or `masters thesis' or `draft' or
+     `unnumbered' or `unpublished'
 W here can be found locally (login name, or ailib, etc.)
 X comments (not used in indexing)
 
diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el
index 14f8744..6c4a731 100644
--- a/lisp/textmodes/flyspell.el
+++ b/lisp/textmodes/flyspell.el
@@ -501,7 +501,7 @@ invoking `ispell-change-dictionary'.
 
 Consider using the `ispell-parser' to check your text.  For instance
 consider adding:
-\(add-hook 'tex-mode-hook (function (lambda () (setq ispell-parser 'tex))))
+\(add-hook \\='tex-mode-hook (function (lambda () (setq ispell-parser 
\\='tex))))
 in your init file.
 
 \\[flyspell-region] checks all words inside a region.
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
index 8627404..76e147a 100644
--- a/lisp/textmodes/ispell.el
+++ b/lisp/textmodes/ispell.el
@@ -1896,7 +1896,7 @@ Currently the only other valid parser is `tex'.
 
 You can set this variable in hooks in your init file -- eg:
 
-\(add-hook 'tex-mode-hook (lambda () (setq ispell-parser 'tex)))")
+\(add-hook \\='tex-mode-hook (lambda () (setq ispell-parser \\='tex)))")
 
 (defvar ispell-region-end (make-marker)
   "Marker that allows spelling continuations.")
@@ -4039,14 +4039,14 @@ The `X' command aborts sending the message so that you 
can edit the buffer.
 
 To spell-check whenever a message is sent, include the appropriate lines
 in your init file:
-   (add-hook 'message-send-hook 'ispell-message)  ;; GNUS 5
-   (add-hook 'news-inews-hook 'ispell-message)    ;; GNUS 4
-   (add-hook 'mail-send-hook  'ispell-message)
-   (add-hook 'mh-before-send-letter-hook 'ispell-message)
+   (add-hook \\='message-send-hook \\='ispell-message)  ;; GNUS 5
+   (add-hook \\='news-inews-hook \\='ispell-message)    ;; GNUS 4
+   (add-hook \\='mail-send-hook  \\='ispell-message)
+   (add-hook \\='mh-before-send-letter-hook \\='ispell-message)
 
 You can bind this to the key C-c i in GNUS or mail by adding to
 `news-reply-mode-hook' or `mail-mode-hook' the following lambda expression:
-   (function (lambda () (local-set-key \"\\C-ci\" 'ispell-message)))"
+   (function (lambda () (local-set-key \"\\C-ci\" \\='ispell-message)))"
   (interactive)
   (save-excursion
     (goto-char (point-min))
diff --git a/lisp/textmodes/reftex-ref.el b/lisp/textmodes/reftex-ref.el
index d0e09bf..0714723 100644
--- a/lisp/textmodes/reftex-ref.el
+++ b/lisp/textmodes/reftex-ref.el
@@ -228,7 +228,7 @@ This function is controlled by the settings of 
reftex-insert-label-flags."
                                  (symbol-value reftex-docstruct-symbol)))
               (ding)
               (if (y-or-n-p
-                   (format "Label '%s' exists. Use anyway? " label))
+                   (format-message "Label ‘%s’ exists. Use anyway? " label))
                   (setq valid t)))
 
              ;; Label is ok
diff --git a/lisp/textmodes/reftex-toc.el b/lisp/textmodes/reftex-toc.el
index d51fb9b..b9d4b7c 100644
--- a/lisp/textmodes/reftex-toc.el
+++ b/lisp/textmodes/reftex-toc.el
@@ -876,7 +876,7 @@ label prefix determines the wording of a reference."
     (setq newlabel (read-string (format "Rename label \"%s\" to:" label)))
     (if (assoc newlabel (symbol-value reftex-docstruct-symbol))
         (if (not (y-or-n-p
-                  (format "Label '%s' exists.  Use anyway? " label)))
+                  (format-message "Label ‘%s’ exists.  Use anyway? " label)))
             (error "Abort")))
     (save-excursion
       (save-window-excursion
diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el
index 78cfbea..751c801 100644
--- a/lisp/textmodes/tex-mode.el
+++ b/lisp/textmodes/tex-mode.el
@@ -1035,7 +1035,7 @@ says which mode to use."
   "Major mode for editing files of input for plain TeX.
 Makes $ and } display the characters they match.
 Makes \" insert \\=`\\=` when it seems to be the beginning of a quotation,
-and '' when it appears to be the end; it inserts \" only after a \\.
+and \\='\\=' when it appears to be the end; it inserts \" only after a \\.
 
 Use \\[tex-region] to run TeX on the current region, plus a \"header\"
 copied from the top of the file (containing macro definitions, etc.),
@@ -1081,7 +1081,7 @@ special subshell is initiated, the hook `tex-shell-hook' 
is run."
   "Major mode for editing files of input for LaTeX.
 Makes $ and } display the characters they match.
 Makes \" insert \\=`\\=` when it seems to be the beginning of a quotation,
-and '' when it appears to be the end; it inserts \" only after a \\.
+and \\='\\=' when it appears to be the end; it inserts \" only after a \\.
 
 Use \\[tex-region] to run LaTeX on the current region, plus the preamble
 copied from the top of the file (containing \\documentstyle, etc.),
@@ -1163,7 +1163,7 @@ subshell is initiated, `tex-shell-hook' is run."
   "Major mode for editing files of input for SliTeX.
 Makes $ and } display the characters they match.
 Makes \" insert \\=`\\=` when it seems to be the beginning of a quotation,
-and '' when it appears to be the end; it inserts \" only after a \\.
+and \\='\\=' when it appears to be the end; it inserts \" only after a \\.
 
 Use \\[tex-region] to run SliTeX on the current region, plus the preamble
 copied from the top of the file (containing \\documentstyle, etc.),
@@ -1301,7 +1301,7 @@ Entering SliTeX mode runs the hook `text-mode-hook', then 
the hook
 (defun tex-insert-quote (arg)
   "Insert the appropriate quote marks for TeX.
 Inserts the value of `tex-open-quote' (normally \\=`\\=`) or `tex-close-quote'
-\(normally '') depending on the context.  With prefix argument, always
+\(normally \\='\\=') depending on the context.  With prefix argument, always
 inserts \" characters."
   (interactive "*P")
   ;; Discover if we'll be inserting normal double quotes.
diff --git a/lisp/textmodes/texinfmt.el b/lisp/textmodes/texinfmt.el
index 8e4a7e9..d08daea 100644
--- a/lisp/textmodes/texinfmt.el
+++ b/lisp/textmodes/texinfmt.el
@@ -1287,7 +1287,7 @@ Leave point after argument."
 (put 'uref 'texinfo-format 'texinfo-format-uref)
 (defun texinfo-format-uref ()
   "Format URL and optional URL-TITLE.
-Insert \\=` ... ' around URL if no URL-TITLE argument;
+Insert \\=` ... \\=' around URL if no URL-TITLE argument;
 otherwise, insert URL-TITLE followed by URL in parentheses."
   (let ((args (texinfo-format-parse-args)))
     (texinfo-discard-command)
@@ -2447,7 +2447,7 @@ Use only the FILENAME arg; for Info, ignore the other 
arguments to @image."
 ;; not lead to inserted ` ... ' in a table, but does elsewhere.
 (put 'option 'texinfo-format 'texinfo-format-option)
 (defun texinfo-format-option ()
-  "Insert \\=` ... ' around arg unless inside a table; in that case, no 
quotes."
+  "Insert \\=` ... \\=' around arg unless inside a table; in that case, no 
quotes."
   ;; `looking-at-backward' not available in v. 18.57, 20.2
   (if (not (search-backward ""    ; searched-for character is a control-H
                     (line-beginning-position)
@@ -2494,7 +2494,7 @@ Enclose the verbatim text, including the delimiters, in 
braces.  Print
 text exactly as written (but not the delimiters) in a fixed-width.
 
 For example, @verb\{|@|\} results in @ and
address@hidden@'e?\\=`!\\=`+} results in @'e?\\=`!\\=`."
address@hidden@\\='e?\\=`!\\=`+} results in @\\='e?\\=`!\\=`."
 
   (let ((delimiter (buffer-substring-no-properties
                    (1+ texinfo-command-end) (+ 2 texinfo-command-end))))
diff --git a/lisp/textmodes/texinfo.el b/lisp/textmodes/texinfo.el
index 6b28249..2c6d5b3 100644
--- a/lisp/textmodes/texinfo.el
+++ b/lisp/textmodes/texinfo.el
@@ -690,7 +690,7 @@ Puts point on a blank line between them."
 (defun texinfo-insert-quote (&optional arg)
   "Insert the appropriate quote mark for Texinfo.
 Usually inserts the value of `texinfo-open-quote' (normally \\=`\\=`) or
-`texinfo-close-quote' (normally ''), depending on the context.
+`texinfo-close-quote' (normally \\='\\='), depending on the context.
 With prefix argument or inside @code or @example, inserts a plain \"."
   (interactive "*P")
   (let ((top (or (save-excursion (re-search-backward "@node\\>" nil t))
diff --git a/lisp/textmodes/texnfo-upd.el b/lisp/textmodes/texnfo-upd.el
index eefea1f..0ce7064 100644
--- a/lisp/textmodes/texnfo-upd.el
+++ b/lisp/textmodes/texnfo-upd.el
@@ -1407,7 +1407,7 @@ level in the Texinfo file; when looking for the 
`Previous' pointer,
 the section found will be at the same or higher hierarchical level in
 the Texinfo file; when looking for the `Up' pointer, the section found
 will be at some level higher in the Texinfo file.  The fourth argument
-\(one of 'next, 'previous, or 'up\) specifies whether to find the
+\(one of `next’, `previous’, or `up'\) specifies whether to find the
 `Next', `Previous', or `Up' pointer."
   (let ((case-fold-search t))
     (cond ((eq direction 'next)
diff --git a/lisp/time-stamp.el b/lisp/time-stamp.el
index 1e0fe99..b6a7340 100644
--- a/lisp/time-stamp.el
+++ b/lisp/time-stamp.el
@@ -255,7 +255,7 @@ time-stamped file itself.")
   "Update the time stamp string(s) in the buffer.
 A template in a file can be automatically updated with a new time stamp
 every time you save the file.  Add this line to your init file:
-    (add-hook 'before-save-hook 'time-stamp)
+    (add-hook \\='before-save-hook \\='time-stamp)
 or customize `before-save-hook' through Custom.
 Normally the template must appear in the first 8 lines of a file and
 look like one of the following:
diff --git a/lisp/vc/add-log.el b/lisp/vc/add-log.el
index c90413c..e24b6cc 100644
--- a/lisp/vc/add-log.el
+++ b/lisp/vc/add-log.el
@@ -685,7 +685,7 @@ nil, by matching `change-log-version-number-regexp-list'."
 
 Optional arg FILE-NAME specifies the file to use.
 If FILE-NAME is nil, use the value of `change-log-default-name'.
-If `change-log-default-name' is nil, behave as though it were 'ChangeLog'
+If `change-log-default-name' is nil, behave as though it were \"ChangeLog\"
 \(or whatever we use on this operating system).
 
 If `change-log-default-name' contains a leading directory component, then
diff --git a/lisp/vc/ediff-diff.el b/lisp/vc/ediff-diff.el
index d0c0f7b..b309394 100644
--- a/lisp/vc/ediff-diff.el
+++ b/lisp/vc/ediff-diff.el
@@ -1373,7 +1373,7 @@ affects only files whose names match the expression."
   ;; Normalize empty filter RE to nil.
   (unless (> (length filter-re) 0) (setq filter-re nil))
   ;; Indicate progress
-  (message "Comparing '%s' and '%s' modulo '%s'" d1 d2 filter-re)
+  (message "Comparing ‘%s’ and ‘%s’ modulo ‘%s’" d1 d2 filter-re)
   (cond
    ;; D1 & D2 directories => recurse
    ((and (file-directory-p d1)
diff --git a/lisp/vc/vc-cvs.el b/lisp/vc/vc-cvs.el
index 9a41905..298bcef 100644
--- a/lisp/vc/vc-cvs.el
+++ b/lisp/vc/vc-cvs.el
@@ -281,8 +281,8 @@ committed and support display of sticky tags."
     (propertize
      (if (zerop (length sticky-tag))
         string
-       (setq help-echo (format "%s on the '%s' branch"
-                              help-echo sticky-tag))
+       (setq help-echo (format-message "%s on the ‘%s’ branch"
+                                       help-echo sticky-tag))
        (concat string "[" sticky-tag "]"))
      'help-echo help-echo)))
 
diff --git a/lisp/vc/vc-svn.el b/lisp/vc/vc-svn.el
index 8d6eae5..755dbc1 100644
--- a/lisp/vc/vc-svn.el
+++ b/lisp/vc/vc-svn.el
@@ -83,7 +83,7 @@ If t, use no switches."
   t                       ;`svn' doesn't support common args like -c or -b.
   "String or list of strings specifying extra switches for svn diff under VC.
 If nil, use the value of `vc-diff-switches' (or `diff-switches'),
-together with \"-x --diff-cmd=\"`diff-command' (since 'svn diff'
+together with \"-x --diff-cmd=\"`diff-command' (since `svn diff'
 does not support the default \"-c\" value of `diff-switches').
 If you want to force an empty list of arguments, use t."
   :type '(choice (const :tag "Unspecified" nil)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]