I'd like to know that too. I thought I was the only one who didn't understand how these huge commits were created. -- Kaushal Modi On Tue, Oct 6, 2015 at 5:18 AM, Artur Malabarba wrote: > Quick question. Could someone explain to me what the subject of this > email means? > > master 94ed516 2/4: Merge branch 'master' of git.sv.gnu.org: > /srv/git/emacs > > Is that what you get when you merge the remote's master onto your local > master? > > 2015-10-05 15:00 GMT+01:00 Kenichi Handa : > > branch: master > > commit 94ed5167557112fb00eeca05e62589db744206de > > Merge: 33f2e00 10e7f7d > > Author: K. Handa > > Commit: K. Handa > > > > Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs > > --- > > ChangeLog.2 | 634 > +++++++++++++++++++++++++++++- > > admin/unidata/unidata-gen.el | 2 +- > > doc/emacs/building.texi | 2 +- > > doc/emacs/custom.texi | 2 +- > > doc/emacs/emacs.texi | 20 +- > > doc/emacs/files.texi | 2 +- > > doc/emacs/help.texi | 2 +- > > doc/emacs/package.texi | 2 +- > > doc/emacs/picture-xtra.texi | 2 +- > > doc/emacs/programs.texi | 1 - > > doc/emacs/search.texi | 4 +- > > doc/emacs/text.texi | 4 +- > > doc/emacs/trouble.texi | 8 +- > > doc/lispintro/emacs-lisp-intro.texi | 38 +- > > doc/lispref/anti.texi | 4 +- > > doc/lispref/buffers.texi | 2 +- > > doc/lispref/control.texi | 2 +- > > doc/lispref/display.texi | 8 +- > > doc/lispref/elisp.texi | 14 +- > > doc/lispref/eval.texi | 2 +- > > doc/lispref/files.texi | 4 +- > > doc/lispref/frames.texi | 2 +- > > doc/lispref/functions.texi | 4 +- > > doc/lispref/help.texi | 8 +- > > doc/lispref/loading.texi | 2 +- > > doc/lispref/markers.texi | 4 +- > > doc/lispref/modes.texi | 14 +- > > doc/lispref/os.texi | 29 +-- > > doc/lispref/package.texi | 6 +- > > doc/lispref/processes.texi | 4 +- > > doc/lispref/sequences.texi | 25 +- > > doc/lispref/strings.texi | 30 +- > > doc/lispref/text.texi | 4 +- > > doc/lispref/tips.texi | 8 +- > > doc/lispref/variables.texi | 2 +- > > doc/misc/ede.texi | 6 +- > > doc/misc/efaq.texi | 2 +- > > doc/misc/eieio.texi | 2 +- > > doc/misc/ert.texi | 2 +- > > doc/misc/gnus-faq.texi | 24 +- > > doc/misc/gnus.texi | 11 +- > > doc/misc/rcirc.texi | 2 +- > > doc/misc/tramp.texi | 18 + > > doc/misc/viper.texi | 2 +- > > etc/NEWS | 32 +- > > lisp/abbrev.el | 2 +- > > lisp/align.el | 2 +- > > lisp/allout-widgets.el | 10 +- > > lisp/allout.el | 24 +- > > lisp/apropos.el | 2 +- > > lisp/bookmark.el | 4 +- > > lisp/bs.el | 2 +- > > lisp/button.el | 6 +- > > lisp/calc/calc-aent.el | 10 +- > > lisp/calc/calc-embed.el | 2 +- > > lisp/calc/calc-ext.el | 2 +- > > lisp/calc/calc-graph.el | 2 +- > > lisp/calc/calc-help.el | 16 +- > > lisp/calc/calc-lang.el | 42 +- > > lisp/calc/calc-misc.el | 4 +- > > lisp/calc/calc-mode.el | 12 +- > > lisp/calc/calc-prog.el | 14 +- > > lisp/calc/calc-store.el | 2 +- > > lisp/calc/calc-units.el | 6 +- > > lisp/calc/calc-vec.el | 4 +- > > lisp/calc/calc-yank.el | 4 +- > > lisp/calc/calc.el | 12 +- > > lisp/calculator.el | 2 +- > > lisp/calendar/appt.el | 2 +- > > lisp/calendar/cal-bahai.el | 74 ++-- > > lisp/calendar/cal-hebrew.el | 2 +- > > lisp/calendar/cal-menu.el | 4 +- > > lisp/calendar/cal-tex.el | 2 +- > > lisp/calendar/calendar.el | 22 +- > > lisp/calendar/diary-lib.el | 18 +- > > lisp/calendar/holidays.el | 18 +- > > lisp/calendar/icalendar.el | 14 +- > > lisp/calendar/time-date.el | 4 +- > > lisp/calendar/timeclock.el | 10 +- > > lisp/calendar/todo-mode.el | 22 +- > > lisp/cedet/cedet-global.el | 2 +- > > lisp/cedet/ede.el | 2 +- > > lisp/cedet/ede/auto.el | 6 +- > > lisp/cedet/ede/pmake.el | 2 +- > > lisp/cedet/inversion.el | 4 +- > > lisp/cedet/mode-local.el | 12 +- > > lisp/cedet/semantic/analyze.el | 6 +- > > lisp/cedet/semantic/analyze/complete.el | 6 +- > > lisp/cedet/semantic/bovine/gcc.el | 6 +- > > lisp/cedet/semantic/complete.el | 4 +- > > lisp/cedet/semantic/db-find.el | 2 +- > > lisp/cedet/semantic/decorate/include.el | 2 +- > > lisp/cedet/semantic/fw.el | 8 +- > > lisp/cedet/semantic/java.el | 2 +- > > lisp/cedet/semantic/tag-ls.el | 10 +- > > lisp/cedet/semantic/wisent/javascript.el | 12 +- > > lisp/cedet/srecode/insert.el | 6 +- > > lisp/cedet/srecode/srt-mode.el | 4 +- > > lisp/comint.el | 2 +- > > lisp/cus-edit.el | 2 +- > > lisp/cus-start.el | 2 +- > > lisp/cus-theme.el | 4 +- > > lisp/custom.el | 12 +- > > lisp/descr-text.el | 32 +- > > lisp/dired-x.el | 8 +- > > lisp/dired.el | 6 +- > > lisp/electric.el | 12 +- > > lisp/emacs-lisp/advice.el | 42 +- > > lisp/emacs-lisp/byte-opt.el | 24 +- > > lisp/emacs-lisp/byte-run.el | 4 +- > > lisp/emacs-lisp/bytecomp.el | 88 +++-- > > lisp/emacs-lisp/cconv.el | 6 +- > > lisp/emacs-lisp/chart.el | 2 +- > > lisp/emacs-lisp/check-declare.el | 10 +- > > lisp/emacs-lisp/checkdoc.el | 29 +- > > lisp/emacs-lisp/cl-extra.el | 22 +- > > lisp/emacs-lisp/cl-generic.el | 10 +- > > lisp/emacs-lisp/cl-macs.el | 36 +- > > lisp/emacs-lisp/cl.el | 8 +- > > lisp/emacs-lisp/copyright.el | 4 +- > > lisp/emacs-lisp/disass.el | 63 ++-- > > lisp/emacs-lisp/edebug.el | 2 +- > > lisp/emacs-lisp/eieio-base.el | 2 +- > > lisp/emacs-lisp/eieio-core.el | 19 +- > > lisp/emacs-lisp/eieio-opt.el | 4 +- > > lisp/emacs-lisp/eieio-speedbar.el | 4 +- > > lisp/emacs-lisp/eieio.el | 17 +- > > lisp/emacs-lisp/elint.el | 16 +- > > lisp/emacs-lisp/ert.el | 23 +- > > lisp/emacs-lisp/find-func.el | 6 +- > > lisp/emacs-lisp/generator.el | 2 +- > > lisp/emacs-lisp/gv.el | 2 +- > > lisp/emacs-lisp/lisp-mnt.el | 14 +- > > lisp/emacs-lisp/macroexp.el | 4 +- > > lisp/emacs-lisp/map-ynp.el | 6 +- > > lisp/emacs-lisp/map.el | 13 +- > > lisp/emacs-lisp/nadvice.el | 6 +- > > lisp/emacs-lisp/package-x.el | 2 +- > > lisp/emacs-lisp/package.el | 186 +++++---- > > lisp/emacs-lisp/pcase.el | 10 +- > > lisp/emacs-lisp/re-builder.el | 2 +- > > lisp/emacs-lisp/regexp-opt.el | 2 +- > > lisp/emacs-lisp/ring.el | 4 +- > > lisp/emacs-lisp/rx.el | 38 +- > > lisp/emacs-lisp/seq.el | 32 +- > > lisp/emacs-lisp/smie.el | 6 +- > > lisp/emacs-lisp/subr-x.el | 2 +- > > lisp/emacs-lisp/tabulated-list.el | 2 +- > > lisp/emacs-lisp/testcover.el | 2 +- > > lisp/emacs-lisp/timer.el | 2 +- > > lisp/emulation/viper-cmd.el | 10 +- > > lisp/emulation/viper-init.el | 2 +- > > lisp/emulation/viper-keym.el | 2 +- > > lisp/emulation/viper-macs.el | 8 +- > > lisp/env.el | 4 +- > > lisp/erc/erc-backend.el | 14 +- > > lisp/erc/erc-button.el | 2 +- > > lisp/erc/erc-dcc.el | 2 +- > > lisp/erc/erc.el | 18 +- > > lisp/eshell/em-dirs.el | 4 +- > > lisp/eshell/em-glob.el | 6 +- > > lisp/eshell/em-pred.el | 22 +- > > lisp/eshell/em-script.el | 4 +- > > lisp/eshell/esh-opt.el | 2 +- > > lisp/eshell/esh-util.el | 2 +- > > lisp/eshell/esh-var.el | 2 +- > > lisp/facemenu.el | 10 +- > > lisp/faces.el | 32 +- > > lisp/ffap.el | 6 +- > > lisp/filenotify.el | 114 +++--- > > lisp/files-x.el | 2 +- > > lisp/files.el | 38 +- > > lisp/filesets.el | 34 +- > > lisp/find-cmd.el | 4 +- > > lisp/finder.el | 2 +- > > lisp/font-lock.el | 9 +- > > lisp/format.el | 6 +- > > lisp/frame.el | 4 +- > > lisp/fringe.el | 2 +- > > lisp/gnus/gmm-utils.el | 2 +- > > lisp/gnus/gnus-art.el | 22 +- > > lisp/gnus/gnus-registry.el | 6 +- > > lisp/gnus/gnus-start.el | 3 +- > > lisp/gnus/gnus-sum.el | 2 +- > > lisp/gnus/gnus-uu.el | 2 +- > > lisp/gnus/gnus.el | 4 +- > > lisp/gnus/mail-source.el | 11 +- > > lisp/gnus/message.el | 2 +- > > lisp/gnus/nnimap.el | 6 +- > > lisp/gnus/nnir.el | 20 +- > > lisp/gnus/nnmail.el | 4 +- > > lisp/gnus/nnmairix.el | 4 +- > > lisp/gnus/nntp.el | 2 +- > > lisp/help-fns.el | 72 ++-- > > lisp/help.el | 10 +- > > lisp/hi-lock.el | 2 +- > > lisp/htmlfontify.el | 10 +- > > lisp/ibuffer.el | 2 +- > > lisp/ido.el | 4 +- > > lisp/image.el | 4 +- > > lisp/info.el | 6 +- > > lisp/international/ccl.el | 3 +- > > lisp/international/fontset.el | 2 +- > > lisp/international/mule-cmds.el | 30 +- > > lisp/international/mule-conf.el | 8 +- > > lisp/international/mule-diag.el | 14 +- > > lisp/international/ogonek.el | 26 +- > > lisp/json.el | 2 +- > > lisp/kermit.el | 2 +- > > lisp/leim/quail/cyrillic.el | 6 +- > > lisp/leim/quail/hebrew.el | 16 +- > > lisp/leim/quail/latin-ltx.el | 8 +- > > lisp/leim/quail/thai.el | 6 +- > > lisp/leim/quail/tibetan.el | 12 +- > > lisp/ls-lisp.el | 2 +- > > lisp/mail/feedmail.el | 16 +- > > lisp/mail/mailalias.el | 6 +- > > lisp/mail/rfc2368.el | 8 +- > > lisp/mail/sendmail.el | 28 +- > > lisp/man.el | 2 +- > > lisp/mh-e/mh-comp.el | 2 +- > > lisp/mh-e/mh-compat.el | 2 +- > > lisp/mh-e/mh-e.el | 6 +- > > lisp/mh-e/mh-seq.el | 4 +- > > lisp/mh-e/mh-utils.el | 10 +- > > lisp/mouse-copy.el | 2 +- > > lisp/mouse-drag.el | 4 +- > > lisp/mouse.el | 2 +- > > lisp/mpc.el | 12 +- > > lisp/msb.el | 2 +- > > lisp/net/ange-ftp.el | 4 +- > > lisp/net/browse-url.el | 2 +- > > lisp/net/imap.el | 4 +- > > lisp/net/mairix.el | 4 +- > > lisp/net/newst-backend.el | 4 +- > > lisp/net/newst-treeview.el | 4 +- > > lisp/net/ntlm.el | 159 ++++++-- > > lisp/net/rcirc.el | 2 +- > > lisp/net/rlogin.el | 2 +- > > lisp/net/soap-client.el | 2 +- > > lisp/net/tls.el | 2 +- > > lisp/net/tramp.el | 6 +- > > lisp/obsolete/fast-lock.el | 4 +- > > lisp/obsolete/iswitchb.el | 2 +- > > lisp/obsolete/landmark.el | 2 +- > > lisp/obsolete/lazy-lock.el | 2 +- > > lisp/obsolete/otodo-mode.el | 2 +- > > lisp/obsolete/pgg-gpg.el | 2 +- > > lisp/obsolete/pgg-pgp.el | 2 +- > > lisp/obsolete/pgg-pgp5.el | 2 +- > > lisp/obsolete/sym-comp.el | 6 +- > > lisp/obsolete/tpu-edt.el | 4 +- > > lisp/obsolete/vi.el | 2 +- > > lisp/org/ob-core.el | 6 +- > > 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 | 18 +- > > lisp/org/org-bibtex.el | 8 +- > > lisp/org/org-capture.el | 4 +- > > lisp/org/org-clock.el | 4 +- > > lisp/org/org-ctags.el | 2 +- > > lisp/org/org-feed.el | 2 +- > > lisp/org/org-habit.el | 2 +- > > lisp/org/org-irc.el | 2 +- > > lisp/org/org-mouse.el | 8 +- > > lisp/org/org-plot.el | 2 +- > > lisp/org/org-protocol.el | 18 +- > > lisp/org/org-src.el | 6 +- > > lisp/org/org-table.el | 6 +- > > lisp/org/org.el | 20 +- > > lisp/org/ox.el | 12 +- > > lisp/pcmpl-cvs.el | 4 +- > > lisp/play/bubbles.el | 10 +- > > lisp/play/gomoku.el | 2 +- > > lisp/proced.el | 2 +- > > lisp/progmodes/ada-mode.el | 28 +- > > lisp/progmodes/ada-prj.el | 6 +- > > lisp/progmodes/ada-xref.el | 2 +- > > lisp/progmodes/cc-engine.el | 18 +- > > lisp/progmodes/cc-langs.el | 12 +- > > lisp/progmodes/cc-vars.el | 2 +- > > lisp/progmodes/cperl-mode.el | 2 +- > > lisp/progmodes/ebrowse.el | 2 +- > > lisp/progmodes/elisp-mode.el | 2 +- > > lisp/progmodes/etags.el | 4 +- > > lisp/progmodes/f90.el | 2 +- > > lisp/progmodes/flymake.el | 6 +- > > lisp/progmodes/fortran.el | 8 +- > > lisp/progmodes/gdb-mi.el | 18 +- > > lisp/progmodes/idlw-shell.el | 22 +- > > lisp/progmodes/idlwave.el | 22 +- > > lisp/progmodes/make-mode.el | 2 +- > > lisp/progmodes/prolog.el | 12 +- > > lisp/progmodes/python.el | 6 +- > > lisp/progmodes/sql.el | 2 +- > > lisp/progmodes/verilog-mode.el | 22 +- > > lisp/progmodes/vhdl-mode.el | 20 +- > > lisp/progmodes/xref.el | 4 +- > > lisp/recentf.el | 2 +- > > lisp/replace.el | 8 +- > > lisp/scroll-bar.el | 2 +- > > lisp/server.el | 2 +- > > lisp/simple.el | 36 +- > > lisp/speedbar.el | 8 +- > > lisp/startup.el | 58 ++-- > > lisp/subr.el | 14 +- > > lisp/term/common-win.el | 6 +- > > lisp/term/x-win.el | 4 +- > > lisp/textmodes/ispell.el | 4 +- > > lisp/textmodes/reftex-ref.el | 2 +- > > lisp/textmodes/reftex-toc.el | 2 +- > > lisp/textmodes/reftex-vars.el | 6 +- > > lisp/textmodes/reftex.el | 4 +- > > lisp/textmodes/rst.el | 6 +- > > lisp/textmodes/sgml-mode.el | 2 +- > > lisp/textmodes/table.el | 24 +- > > lisp/textmodes/tex-mode.el | 2 + > > lisp/textmodes/texnfo-upd.el | 2 +- > > lisp/textmodes/tildify.el | 2 +- > > lisp/textmodes/two-column.el | 2 +- > > lisp/thingatpt.el | 4 +- > > lisp/thumbs.el | 2 +- > > lisp/tree-widget.el | 6 +- > > lisp/tutorial.el | 10 +- > > lisp/type-break.el | 2 +- > > lisp/url/url-util.el | 2 +- > > lisp/url/url-vars.el | 6 +- > > lisp/vc/ediff-mult.el | 5 +- > > lisp/vc/ediff-ptch.el | 2 +- > > lisp/vc/vc-git.el | 4 +- > > lisp/vc/vc-hooks.el | 28 +- > > lisp/wdired.el | 8 +- > > lisp/whitespace.el | 8 +- > > lisp/widget.el | 2 +- > > lisp/window.el | 2 +- > > lisp/woman.el | 12 +- > > src/dispextern.h | 1 + > > src/doc.c | 14 +- > > src/editfns.c | 4 +- > > src/keyboard.c | 46 ++- > > src/keyboard.h | 5 +- > > src/process.c | 12 +- > > src/w32.c | 33 ++- > > src/xdisp.c | 22 +- > > src/xfaces.c | 2 + > > test/automated/Makefile.in | 8 +- > > test/automated/flymake-tests.el | 1 + > > test/automated/map-tests.el | 44 +-- > > test/automated/python-tests.el | 21 +- > > test/automated/seq-tests.el | 21 +- > > test/automated/textprop-tests.el | 2 +- > > test/automated/tildify-tests.el | 3 + > > 354 files changed, 2575 insertions(+), 1704 deletions(-) > > > > diff --git a/ChangeLog.2 b/ChangeLog.2 > > index 856cb58..c4912f7 100644 > > --- a/ChangeLog.2 > > +++ b/ChangeLog.2 > > @@ -1,3 +1,635 @@ > > +2015-09-05 Paul Eggert > > + > > + Spelling fix (Bug#21420) > > + > > +2015-09-05 Nicolas Petton > > + > > + Improve the semantic of map-some > > + Update map-some to return the returned by the predicate, similar > to > > + seq-some. > > + * lisp/emacs-lisp/map.el (map-some): Update the function to > return the > > + return value of the predicate. > > + * test/automated/map-tests.el (test-map-some): Update the test > to check > > + for non-nil values only. > > + > > + Rename map-contains-key-p and map-some-p > > + Remove the "-p" suffix from both function names. > > + * lisp/emacs-lisp/map.el (map-contains-key, map-some): Rename > the functions. > > + * test/automated/map-tests.el (test-map-contains-key, > test-map-some): > > + Update both test functions. > > + > > + Improve the semantic of seq-some > > + Update seq-some to return non-nil if the predicate returns > non-nil for > > + any element of the seq, in which case the returned value is the > one > > + returned by the predicate. > > + * lisp/emacs-lisp/seq.el (seq-some): Update the function and its > > + docstring. > > + * test/automated/seq-tests.el (test-seq-some): Add a regression > test. > > + * doc/lispref/sequences.texi (Sequence Functions): Update the > > + documentation for seq-some. > > + > > + Rename seq-some-p to seq-some and seq-contains-p to seq-contains > > + * lisp/emacs-lisp/seq.el (seq-some, seq-contains): Rename the > functions > > + without the "-p" prefix. > > + * test/automated/seq-tests.el (test-seq-some, > test-seq-contains): Update > > + the tests accordingly. > > + * doc/lispref/sequences.texi (Sequence Functions): Update the > > + documentation for seq.el. > > + > > +2015-09-05 Paul Eggert > > + > > + text-quoting-style for usage of fn names with ‘’ > > + * lisp/help.el (help--docstring-quote): Don’t assume > > + text-quoting-style is ‘curve’ when generating usage strings for > > + functions whose names contain curved quotes. > > + > > +2015-09-05 Paul Eggert > > + > > + Fix fix for describe-function keybinding confusion > > + This fixes a bug introduced by the previous patch. > > + * lisp/help-fns.el (help-fns--signature): > > + Last arg of help-fns--signature is now a buffer, or nil if a > > + raw signature is wanted. All callers changed. > > + (describe-function-1): Use this to do the right thing with > signatures. > > + > > +2015-09-05 Johan Bockgård > > + > > + * doc/lispref/frames.texi (Mouse Tracking): Fix typo. > > + > > + Use PAT rather than UPAT in pcase macros > > + * lisp/emacs-lisp/cl-macs.el (cl-struct) : > > + * lisp/emacs-lisp/eieio.el (eieio) : Use PAT > rather > > + than UPAT. > > + > > +2015-09-05 Paul Eggert > > + > > + Fix describe-function keybinding confusion > > + * lisp/help-fns.el (describe-function-1): Compute signature > > + in the original buffer, not in standard-output, so that > > + substitute-command-keys uses the proper keybindings. > > + This fixes Bug#21412, introduced in commit > > + 2015-06-11T10:23:46-0700!eggert@cs.ucla.edu. > > + > > +2015-09-05 Xue Fuqiao > > + > > + * doc/emacs/programs.texi (Program Modes): Remove an index entry. > > + > > +2015-09-05 Robert Pluim (tiny change) > > + > > + Avoid read error messages from 'inotify' > > + * src/process.c (wait_reading_process_output): Add a > > + 'tls_available' set and manipulate it instead of 'Available' when > > + checking TLS inputs. Assign the value to 'Available' only if we > > + find any TLS data waiting to be read. This avoids error messages > > + from 'inotify' that tries to read data it shouldn't. (Bug#21337) > > + > > +2015-09-05 Eli Zaretskii > > + > > + Avoid errors in thing-at-point with 2nd argument non-nil > > + * lisp/thingatpt.el (thing-at-point): Only call 'length' on > > + sequences. (Bug#21391) > > + > > +2015-09-05 Philip (tiny change) > > + > > + Fix segfaults due to using a stale face ID > > + * src/xdisp.c (forget_escape_and_glyphless_faces): New function. > > + (display_echo_area_1, redisplay_internal): Call it to avoid > > + reusing stale face IDs for 'escape-glyph' and 'glyphless-char' > > + faces, which could case a segfault if the frame's face cache was > > + freed since the last redisplay. (Bug#21394) > > + * src/xfaces.c (free_realized_faces): Call > forget_escape_and_glyphless_faces. > > + * src/dispextern.h (forget_escape_and_glyphless_faces): Add > prototype. > > + > > +2015-09-04 Paul Eggert > > + > > + Fix minor problems with " in manual > > + > > +2015-09-04 Michael Albinus > > + > > + * doc/misc/tramp.texi (Frequently Asked Questions): New item for > ad-hoc > > + multi-hop files. > > + > > +2015-09-04 Paul Eggert > > + > > + Support automated ‘make check’ in non-C locale > > + This lets the builder optionally test Emacs behavior in other > locales. > > + The C locale is still the default for tests. > > + * test/automated/Makefile.in (TEST_LOCALE): New macro. > > + (emacs): Use it. > > + * test/automated/flymake-tests.el (flymake-tests--current-face): > > + Use C locale for subprocesses so that tests behave as expected. > > + * test/automated/python-tests.el: > > + (python-shell-prompt-validate-regexps-1) > > + (python-shell-prompt-validate-regexps-2) > > + (python-shell-prompt-validate-regexps-3) > > + (python-shell-prompt-validate-regexps-4) > > + (python-shell-prompt-validate-regexps-5) > > + (python-shell-prompt-validate-regexps-6) > > + (python-shell-prompt-set-calculated-regexps-1): > > + Adjust expected output to match locale. > > + * test/automated/tildify-tests.el (tildify-test--test) > > + (tildify-space-test--test, tildify-space-undo-test--test): > > + This test assumes UTF-8 encoding. > > + > > +2015-09-03 Paul Eggert > > + > > + Fix some more docstring etc. quoting problems > > + Mostly these fixes prevent the transliteration of apostrophes > > + that should stay apostrophes. Also, prefer curved quotes in > > + Bahá’í proper names, as that’s the preferred Bahá’í style and > > + these names are chock-full of non-ASCII characters anyway. > > + * lisp/emacs-lisp/eieio-core.el (eieio-defclass-autoload) > > + (eieio-defclass-internal): > > + * lisp/emacs-lisp/eieio.el (defclass): > > + * lisp/hi-lock.el (hi-lock-mode): > > + Don’t transliterate Lisp apostrophes when generating a > > + doc string or diagnostic. > > + * lisp/international/mule-diag.el (list-coding-systems-1): > > + * lisp/international/ogonek.el (ogonek-jak, ogonek-how): > > + * lisp/mail/sendmail.el (sendmail-query-user-about-smtp): > > + * lisp/vc/ediff-mult.el (ediff-redraw-registry-buffer): > > + * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map): > > + Substitute quotes before putting them in the help buffer. > > + > > +2015-09-03 Stefan Monnier > > + > > + Re-add the notion of echo_prompt lost in the translation > > + * src/keyboard.h (struct kboard): Replace echo_after_prompt with > new > > + echo_prompt which contains the actual string. Update all uses. > > + * src/keyboard.c (kset_echo_prompt): New function. > > + (echo_update): Add echo_prompt at the very beginning. > > + (read_char): Remove workaround for bug#19875, not needed any > more. > > + (read_key_sequence): Set echo_prompt rather than echo_string > (bug#21403). > > + (mark_kboards): Mark echo_prompt. > > + > > + Fix disassembly of non-compiled lexical functions (bug#21377) > > + * lisp/emacs-lisp/bytecomp.el (byte-compile): Handle `closure' > arg. > > + * lisp/emacs-lisp/disass.el: Use lexical-binding. > > + (disassemble): Recognize `closure's as well. > > + (disassemble-internal): Use indirect-function and > > + help-function-arglist, and accept `closure's. > > + (disassemble-internal): Use interactive-form. > > + (disassemble-1): Use functionp. > > + > > + (tex--prettify-symbols-compose-p): Don't compose in verbatim > blocks! > > + * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p): > > + Don't compose inside verbatim blocks! > > + > > +2015-09-03 Mark Oteiza > > + > > + * lisp/thingatpt.el (thing-at-point-uri-schemes): Add "man:" > > + (bug#19441) > > + > > + * lisp/mpc.el (mpc--proc-connect): Handle unix sockets > (bug#19394) > > + > > +2015-09-03 Dmitry Gutov > > + > > + vc-git-mode-line-string: Explicitly re-apply the face > > + * lisp/vc/vc-git.el (vc-git-mode-line-string): Explicitly > re-apply > > + the face (bug#21404). > > + > > +2015-09-02 Paul Eggert > > + > > + Treat initial-scratch-message as a doc string > > + * doc/emacs/building.texi (Lisp Interaction): > > + * doc/lispref/os.texi (Startup Summary): > > + * etc/NEWS: Document this. > > + * lisp/startup.el (initial-scratch-message): > > + Look up find-file’s key rather than hardcoding it. > > + (command-line-1): Substitute the doc string. > > + This also substitutes the quotes, which will help test display > > + quoting at startup. > > + > > + Fix describe-char bug with glyphs on terminals > > + * lisp/descr-text.el (describe-char): Terminals can have glyphs > in > > + buffers too, so don’t treat them differently from graphic > displays. > > + Without this fix, describe-char would throw an error on a > terminal > > + if given a glyph with a non-default face. > > + > > + Follow text-quoting-style in display table init > > + This attempts to fix a problem reported by Alan Mackenzie in: > > + > http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00112.html > > + * doc/lispref/display.texi (Active Display Table): > > + Mention how text-quoting-style affects it. > > + * doc/lispref/help.texi (Keys in Documentation): > > + Say how to set text-quoting-style in ~/.emacs. > > + * etc/NEWS: Document the change. > > + * lisp/startup.el (startup--setup-quote-display): > > + Follow user preference if text-quoting-style is set. > > + (command-line): Setup quote display again if user expresses > > + a preference in .emacs. > > + > > +2015-09-02 K. Handa > > + > > + Fix typo > > + * ftfont.c (ftfont_drive_otf): > otf_positioning_type_components_mask -> > OTF_positioning_type_components_mask. > > + > > + fix previous change > > + * ftfont.c (ftfont_drive_otf): Remember some bits of > > + OTF_Glyph->positioning_type in > MFLTGlyphFT->libotf_positioning_type. > > + > > +2015-09-01 David Caldwell (tiny change) > > + > > + * lisp/vc/vc-hooks.el (vc-refresh-state): New command > > + (vc-refresh-state): Rename from vc-find-file-hook and make > interactive. > > + (vc-find-file-hook): Redefine as obsolete alias. > > + > > +2015-09-01 Paul Eggert > > + > > + Escape ` and ' in doc > > + Escape apostrophes and grave accents in docstrings if they are > > + are supposed to stand for themselves and are not quotes. Remove > > + apostrophes from docstring examples like > ‘'(calendar-nth-named-day > > + -1 0 10 year)’ that confuse source code with data. Do some other > > + minor docstring fixups as well, e.g., insert a missing close > > + quote. > > + > > +2015-09-01 Stefan Monnier > > + > > + Generalize the prefix-command machinery of C-u > > + * lisp/simple.el (prefix-command-echo-keystrokes-functions) > > + (prefix-command-preserve-state-hook): New hooks. > > + (internal-echo-keystrokes-prefix): New function. > > + (prefix-command--needs-update, prefix-command--last-echo): New > vars. > > + (prefix-command-update, prefix-command-preserve): New functions. > > + (reset-this-command-lengths): New compatibility definition. > > + (universal-argument--mode): Call prefix-command-update. > > + (universal-argument, universal-argument-more, negative-argument) > > + (digit-argument): Call prefix-command-preserve-state. > > + * src/keyboard.c: Call internal-echo-keystrokes-prefix to build > > + the "prefix argument" to echo. > > + (this_command_key_count_reset, before_command_key_count) > > + (before_command_echo_length): Delete variables. > > + (echo_add_key): Always add a space. > > + (echo_char): Remove. > > + (echo_dash): Don't give up when this_command_key_count is 0, > since that > > + is now the case after a prefix command. > > + (echo_update): New function, extracted from echo_now. > > + (echo_now): Use it. > > + (add_command_key, read_char, record_menu_key): Remove old > disabled code. > > + (command_loop_1): Don't refrain from pushing an undo boundary > when > > + prefix-arg is set. Remove other prefix-arg special case, now > handled > > + directly in the prefix commands instead. But call echo_now if > there's > > + a prefix state to echo. > > + (read_char, record_menu_key): Use echo_update instead of > echo_char. > > + (read_key_sequence): Use echo_now rather than > echo_dash/echo_char. > > + (Freset_this_command_lengths): Delete function. > > + (syms_of_keyboard): Define Qinternal_echo_keystrokes_prefix. > > + (syms_of_keyboard): Don't defsubr Sreset_this_command_lengths. > > + * lisp/simple.el: Use those new hooks for C-u. > > + (universal-argument--description): New function. > > + (prefix-command-echo-keystrokes-functions): Use it. > > + (universal-argument--preserve): New function. > > + (prefix-command-preserve-state-hook): Use it. > > + (command-execute): Call prefix-command-update if needed. > > + * lisp/kmacro.el (kmacro-step-edit-prefix-commands) > > + (kmacro-step-edit-prefix-index): Delete variables. > > + (kmacro-step-edit-query, kmacro-step-edit-insert): Remove ad-hoc > > + support for prefix arg commands. > > + (kmacro-step-edit-macro): Don't bind > kmacro-step-edit-prefix-index. > > + * lisp/emulation/cua-base.el (cua--prefix-override-replay) > > + (cua--shift-control-prefix): Use prefix-command-preserve-state. > > + Remove now unused arg `arg'. > > + (cua--prefix-override-handler, cua--prefix-repeat-handler) > > + (cua--shift-control-c-prefix, cua--shift-control-x-prefix): > > + Update accordingly. > > + (cua--prefix-override-timeout): Don't call > reset-this-command-lengths > > + any more. > > + (cua--keep-active, cua-exchange-point-and-mark): Don't set > mark-active > > + if the mark is not set. > > + > > +2015-09-01 Paul Eggert > > + > > + Rework quoting in tutorial > > + * doc/lispintro/emacs-lisp-intro.texi (Sample let Expression) > > + (if in more detail, type-of-animal in detail, else): Rework the > > + early example to use " rather than ' so that we don’t burden > > + complete novices with the low-priority detail of text quoting > style. > > + (Complete zap-to-char, kill-region, Complete copy-region-as-kill) > > + (kill-new function, kill-ring-yank-pointer) > > + (Complete forward-sentence, Loading Files) > > + (Code for current-kill, Code for current-kill, yank): > > + Resurrect the Emacs 22 versions of the code, which uses grave > > + quoting style in doc strings. > > + (Complete zap-to-char): Mention how quoting works in doc strings. > > + > > + Setup quote display only if interactive > > + * lisp/startup.el (command-line): > > + Skip call to startup--setup-quote-display if noninteractive. > > + Without this change, python-shell-prompt-validate-regexps-1 > > + fails in test/automated/python-tests.el when run in an > > + en_US.utf8 locale on Fedora. > > + > > +2015-09-01 Katsumi Yamaoka > > + > > + Use defalias at the top level > > + * lisp/gnus/gnus-util.el (gnus-format-message): > > + * lisp/net/tls.el (tls-format-message): Use defalias at the top > level > > + so as to make eval-and-compile unnecessary. Thanks to Stefan > Monnier. > > + > > +2015-09-01 Paul Eggert > > + > > + terminal-init-w32console mimicks command-line > > + Problem reported by Eli Zaretskii. > > + * lisp/startup.el (startup--setup-quote-display): > > + New function, refactored from a part of ‘command-line’. > > + (command-line): Use it. > > + * lisp/term/w32console.el (terminal-init-w32console): > > + Use it, so that this function stays consistent with > ‘command-line’. > > + > > + Display replacement quotes with shadow glyphs > > + * lisp/startup.el (command-line): When displaying ASCII > > + replacements for curved quotes, use a shadow glyph instead of a > > + regular one, to avoid ambiguity. > > + > > +2015-09-01 Michael Albinus > > + > > + * lisp/net/tramp-sh.el (tramp-methods) : Mask "Password:". > > + > > +2015-09-01 Paul Eggert > > + > > + Docstring fixes re quotes in C code > > + Fix some docstring quoting problems, mostly by escaping > apostrophe. > > + > > +2015-09-01 Michael Albinus > > + > > + Some Tramp password fixes > > + * lisp/net/tramp.el (tramp-clear-passwd): Clear also the > passwords > > + of the hops. > > + * lisp/net/tramp-sh.el (tramp-methods) : Move "-p" > "Password:" > > + at the beginning of the command. Otherwise, it could be > > + interpreted as password prompt if the remote host echoes the > > + command. > > + (tramp-remote-coding-commands): Add "openssl enc -base64". > > + > > +2015-09-01 Dmitry Gutov > > + > > + Make vc-git-working-revision always return the commit hash > > + * lisp/vc/vc-git.el (vc-git-working-revision): > > + Return the commit hash (bug#21383). > > + (vc-git--symbolic-ref): New function, extracted from above. > > + (vc-git-mode-line-string): Use it. > > + > > +2015-09-01 K. Handa > > + > > + Use the new type MFLTGlyphFT for MFLTGlyphString.glyphs. > > + * ftfont.c (MFLTGlyphFT): New type. > > + (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_drive_otf) > > + (ftfont_shape_by_flt): Make MFLTGlyphFT the actual type of > > + elements in the array MFLTGlyphString.glyphs. > > + > > +2015-09-01 Stephen Leake > > + > > + Improve comments in elisp-mode.el, elisp-mode-tests.el > > + * lisp/progmodes/elisp-mode.el: Clean up FIXMEs, comments. > > + > > + Delete Emacs 25 test in mode-local.el > > + * lisp/cedet/mode-local.el (describe-mode-local-overload): Fix > missed an > > + edit in previous commit. > > + > > + Show all known mode-local overrides in *Help* > > + * lisp/cedet/mode-local.el (describe-mode-local-overload): > Assume Emacs > > + 25. Add all known mode-local overrides. > > + > > +2015-09-01 Katsumi Yamaoka > > + > > + * lisp/gnus/gnus-sum.el (gnus-summary-search-article): > > + Ensure that the article where the search word is found is > displayed > > + and pointed to in the summary buffer. > > + > > +2015-08-31 Zachary Kanfer (tiny change) > > + > > + * lisp/newcomment.el (comment-dwim): Use `use-region-p' > > + When the region is active, but is empty (length 0), act as though > > + the region was not active; that is, put a comment at the end of > > + the line. (Bug#21119) > > + > > +2015-08-31 Katsumi Yamaoka > > + > > + Port tls.el to older Emacs > > + * lisp/net/tls.el (tls-format-message): > > + Alias to format-message, or format if not available. > > + (open-tls-stream): Use it. > > + > > +2015-08-31 Rüdiger Sonderfeld > > + > > + hideif.el: Recognize .h++ as C++ header. > > + * lisp/progmodes/hideif.el (hide-ifdef-header-regexp): Add .h++. > > + > > + isearch: Document character folding mode. > > + * isearch.el (isearch-forward): Mention > `isearch-toggle-character-fold' > > + in docstring. > > + > > +2015-08-31 Paul Eggert > > + > > + Quoting fixes in ERC and Eshell > > + * lisp/erc/erc-autoaway.el (erc-autoaway-set-away): > > + * lisp/erc/erc-backend.el (define-erc-response-handler): > > + * lisp/erc/erc-fill.el (erc-fill-static-center): > > + * lisp/eshell/em-dirs.el (eshell-save-some-last-dir): > > + * lisp/eshell/em-glob.el (eshell-glob-entries): > > + * lisp/eshell/em-hist.el (eshell-save-some-history): > > + * lisp/eshell/em-unix.el (eshell-remove-entries, eshell/rm) > > + (eshell-shuffle-files): > > + * lisp/eshell/esh-cmd.el (eshell-do-eval): > > + * lisp/eshell/esh-proc.el (eshell-process-interact) > > + (eshell-query-kill-processes): > > + Respect ‘text-quoting-style’ in diagnostics and doc strings. > > + > > + Quoting fixes in Gnus > > + * lisp/gnus/gnus-agent.el: > > + (gnus-agent-possibly-synchronize-flags-server): > > + * lisp/gnus/gnus-art.el (gnus-article-browse-delete-temp-files): > > + * lisp/gnus/gnus-eform.el (gnus-edit-form): > > + * lisp/gnus/gnus-group.el (gnus-group-edit-group) > > + (gnus-group-nnimap-edit-acl): > > + * lisp/gnus/gnus-topic.el (gnus-topic-edit-parameters): > > + * lisp/gnus/mail-source.el (mail-source-delete-old-incoming): > > + * lisp/gnus/message.el (message-strip-subject-encoded-words) > > + (message-check-recipients, message-send-form-letter): > > + * lisp/gnus/mm-decode.el (mm-display-part): > > + * lisp/gnus/mm-uu.el (mm-uu-pgp-signed-extract-1): > > + * lisp/gnus/mml-smime.el (mml-smime-get-dns-cert) > > + (mml-smime-get-ldap-cert): > > + * lisp/gnus/spam-report.el (spam-report-process-queue): > > + Respect ‘text-quoting-style’ in diagnostics. > > + * lisp/gnus/gnus-art.el (article-display-face) > > + * lisp/gnus/gnus-fun.el (gnus-display-x-face-in-from): > > + Use straight quoting in email. > > + * lisp/gnus/rfc2231.el (rfc2231-decode-encoded-string): > > + Escape apostrophes in doc strings. > > + > > + Quoting fixes in lisp mail, mh-e, net, url > > + * lisp/mail/emacsbug.el (report-emacs-bug) > > + (report-emacs-bug-hook): Use straight quotes in outgoing email, > > + * lisp/mail/feedmail.el (feedmail-message-action-help-blat): > > + * lisp/mail/rmail.el (rmail-unknown-mail-followup-to): > > + * lisp/mail/rmailout.el (rmail-output-read-file-name): > > + * lisp/net/imap.el (imap-interactive-login): > > + * lisp/net/tls.el (open-tls-stream): > > + * lisp/url/url-auth.el (url-register-auth-scheme): > > + Respect ‘text-quoting-style’ in diagnostics. > > + * lisp/mh-e/mh-e.el (mh-sortm-args): > > + Quote docstring example using text quotes, not as a Lisp quote. > > + > > +2015-08-31 Stephen Leake > > + > > + Fix some byte-compiler warnings in EDE > > + This fixes a bug that caused ede-generic-new-autoloader to > overwrite the > > + existing autoloader list, rather than add to it. > > + * lisp/cedet/ede/auto.el (ede-project-class-files): Delete > obsolete name > > + argument to eieio class constructor. > > + (ede-show-supported-projects): New. > > + (ede-add-project-autoload): Replace obsolete > `eieio-object-name-string' > > + with (oref ... name). > > + (ede-auto-load-project): Use slot name, not initarg key. > > + * lisp/cedet/ede/generic.el (ede-generic-load, > > + ede-generic-find-matching-target): Use slot name, not initarg > key. > > + (ede-find-target): Use oref-default on class name. > > + (ede-generic-new-autoloader): Delete obsolete name argument to > eieio > > + class constructor. > > + (ede-enable-generic-projects): Make project type names unique. > > + > > +2015-08-31 Eli Zaretskii > > + > > + Fix directory accessibility tests for w32 network volumes > > + * src/w32.c (faccessat): Don't fail with network volumes without > a > > + share. > > + (w32_accessible_directory_p): Handle network volumes without a > > + share. > > + > > + Fix handling long file names in readdir on MS-Windows > > + * src/w32.c (sys_readdir): Append "\*" to the directory after > > + converting it to UTF-16/ANSI, not before, to avoid overflowing > the > > + 260-character limit on file names in filename_to_utf16/ansi. > > + > > + Make file-accessible-directory-p reliable on MS-Windows > > + * src/w32.c (w32_accessible_directory_p): New function. > > + * src/w32.h (w32_accessible_directory_p): Add prototype. > > + * src/fileio.c (file_accessible_directory_p) [WINDOWSNT]: Call > > + w32_accessible_directory_p to test a directory for accessibility > > + by the current user. (Bug#21346) > > + (Ffile_accessible_directory_p): Remove the w32 specific caveat > > + from the doc string. > > + > > +2015-08-31 Martin Rudalics > > + > > + Don't call do_pending_window_change in signal handlers > (Bug#21380) > > + * src/gtkutil.c (xg_frame_resized): > > + * src/xterm.c (x_set_window_size): > > + * src/w32term.c (x_set_window_size): Don't call > > + do_pending_window_change. > > + > > +2015-08-31 Paul Eggert > > + > > + Quoting fixes in lisp/org > > + * lisp/org/org-agenda.el (org-search-view, org-todo-list) > > + (org-tags-view): > > + * lisp/org/org-capture.el (org-capture-mode) > > + * lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file) > > + (org-ctags-ask-append-topic): > > + * lisp/org/org.el (org-time-string-to-time) > > + (org-time-string-to-absolute): > > + * lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file) > > + (org-ctags-ask-append-topic): > > + * lisp/org/org.el (org-time-string-to-time) > > + (org-time-string-to-absolute): > > + Respect ‘text-quoting-style’ in diagnostics. > > + * lisp/org/org-agenda.el (org-agenda-custom-commands) > > + (org-agenda-dim-blocked-tasks): Plural of TODO is TODOs, not > TODO’s. > > + * lisp/org/org-capture.el (org-capture-fill-template): > > + Avoid contraction in output file that might be ASCII. > > + * lisp/org/org-compat.el (format-message): > > + Define if not already defined, for backward compatibility. > > + * lisp/org/org-src.el (org-edit-src-save): > > + * lisp/org/org.el (org-cycle, org-ctrl-c-ctrl-c): > > + Escape apostrophes in diagnostics. > > + > > + Treat “instead” strings as docstrings > > + * lisp/emacs-lisp/bytecomp.el (byte-compile-form): > > + * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning): > > + Substitute quotes in instead strings. > > + > > +2015-08-31 Nicolas Petton > > + > > + Better documentation of seq-let > > + * doc/lispref/sequences.texi (Sequence Functions): Rephrase the > > + documentation of seq-let. > > + > > +2015-08-31 Paul Eggert > > + > > + * lisp/international/ccl.el: Fix quoting. > > + > > + Quoting fixes in lisp/international and lisp/leim > > + * lisp/international/ccl.el (ccl-dump, ccl-dump-call): > > + * lisp/international/ja-dic-utl.el (skkdic-lookup-key): > > + * lisp/international/mule-cmds.el: > > + (select-safe-coding-system-interactively, leim-list-file-name): > > + * lisp/international/quail.el (quail-use-package, quail-help): > > + * lisp/international/titdic-cnv.el (tit-process-header) > > + (miscdic-convert): > > + Respect text quoting style in doc strings and diagnostics. > > + * lisp/international/quail.el (lisp/international/quail.el): > > + * lisp/leim/quail/ethiopic.el ("ethiopic"): > > + Escape apostrophes in doc strings. > > + > > + Make ‘text-quoting-style’ a plain defvar > > + It doesn’t need customization, as it’s likely useful only by > experts. > > + Suggested by Stefan Monnier in: > > + > http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg01020.html > > + * lisp/cus-start.el: Remove doc.c section for builtin customized > vars. > > + > > + Quoting fixes in lisp/textmodes > > + * lisp/textmodes/bibtex.el (bibtex-validate) > > + (bibtex-validate-globally, bibtex-search-entries): > > + * lisp/textmodes/ispell.el (ispell-command-loop): > > + * lisp/textmodes/page-ext.el (search-pages, pages-directory): > > + * lisp/textmodes/texinfmt.el (texinfmt-version) > > + (texinfo-format-region, texinfo-format-buffer-1): > > + * lisp/textmodes/two-column.el (2C-split): > > + Respect text quoting style in doc strings and diagnostics. > > + * lisp/textmodes/conf-mode.el (conf-mode-map, conf-quote-normal): > > + * lisp/textmodes/sgml-mode.el (sgml-specials, sgml-mode): > > + Escape apostrophes in doc strings. > > + > > + Documentation fixes re quotes > > + Prefer curved quotes in examples if users will typically see > > + curved quotes when the examples run. > > + Mention format-message when appropriate. > > + Don’t use @code in examples. > > + Quote an apostrophe with @kbd. > > + > > + Quoting fixes in lisp/progmodes > > + * lisp/progmodes/cc-engine.el (c-bos-report-error): > > + * lisp/progmodes/cpp.el (cpp-edit-reset): > > + * lisp/progmodes/ebrowse.el (ebrowse-tags-apropos): > > + * lisp/progmodes/etags.el (etags-tags-apropos-additional) > > + (etags-tags-apropos, list-tags, tags-apropos): > > + * lisp/progmodes/executable.el (executable-set-magic): > > + * lisp/progmodes/octave.el (octave-sync-function-file-names) > > + (octave-help, octave-find-definition-default-filename) > > + (octave-find-definition): > > + Respect text quoting style in doc strings and diagnostics. > > + * lisp/progmodes/cc-langs.el (c-populate-syntax-table): > > + * lisp/progmodes/verilog-mode.el (verilog-auto-reset-widths): > > + * lisp/progmodes/vhdl-mode.el (vhdl-electric-quote): > > + Escape apostrophes in doc strings. > > + * lisp/progmodes/cmacexp.el (c-macro-expansion): > > + Use straight quoting in ASCII comment. > > + * lisp/progmodes/idlwave.el (idlwave-auto-fill-split-string) > > + (idlwave-pad-keyword): > > + * lisp/progmodes/vhdl-mode.el (vhdl-widget-directory-validate) > > + (vhdl-electric-open-bracket, vhdl-electric-close-bracket): > > + (vhdl-electric-semicolon, vhdl-electric-comma) > > + (vhdl-electric-period, vhdl-electric-equal): > > + Use directed quotes in diagnostics and doc strings. > > + > > +2015-08-30 Xue Fuqiao > > + > > + Minor documentation and NEWS tweak > > + * doc/lispintro/emacs-lisp-intro.texi (fwd-para let): Add an > index > > + entry. > > + > > 2015-08-30 Michael Albinus > > > > * lisp/net/tramp-sh.el (tramp-convert-file-attributes): > > @@ -11395,7 +12027,7 @@ > > > > This file records repository revisions from > > commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to > > -commit cc90c25a50e536669ac327f7e05ec9194d1650d0 (inclusive). > > +commit 88b9a8000da6cf2d4aede86e9eae4f00016d0d6b (inclusive). > > See ChangeLog.1 for earlier changes. > > > > ;; Local Variables: > > diff --git a/admin/unidata/unidata-gen.el b/admin/unidata/unidata-gen.el > > index 8d3f5b7..9e39fd0 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/doc/emacs/building.texi b/doc/emacs/building.texi > > index b4a99a1..1d40a2d 100644 > > --- a/doc/emacs/building.texi > > +++ b/doc/emacs/building.texi > > @@ -1549,7 +1549,7 @@ mode are the same as in Emacs Lisp mode. > > At startup, the @file{*scratch*} buffer contains a short message, in > > the form of a Lisp comment, that explains what it is for. This > > message is controlled by the variable @code{initial-scratch-message}, > > -which should be either a string, or @code{nil} (which means to > > +which should be either a documentation string, or @code{nil} (which > means to > > suppress the message). > > > > @findex ielm > > diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi > > index a2bea24..43c61d7 100644 > > --- a/doc/emacs/custom.texi > > +++ b/doc/emacs/custom.texi > > @@ -28,7 +28,7 @@ Reference Manual}. > > to decide what to do; by setting variables, > > you can control their functioning. > > * Key Bindings:: The keymaps say what command each key runs. > > - By changing them, you can "redefine keys". > > + By changing them, you can ``redefine keys''. > > * Init File:: How to write common customizations in the > > initialization file. > > @end menu > > diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi > > index 5f53f9b..ec82a07 100644 > > --- a/doc/emacs/emacs.texi > > +++ b/doc/emacs/emacs.texi > > @@ -160,7 +160,7 @@ Fundamental Editing Commands > > * Help:: Commands for asking Emacs about its commands. > > > > Important Text-Changing Commands > > -* Mark:: The mark: how to delimit a "region" of text. > > +* Mark:: The mark: how to delimit a ``region'' of text. > > * Killing:: Killing (cutting) and yanking (copying) text. > > * Registers:: Saving a text string or a location in the > buffer. > > * Display:: Controlling what text is displayed. > > @@ -172,7 +172,7 @@ Major Structures of Emacs > > * Files:: All about handling files. > > * Buffers:: Multiple buffers; editing several files at once. > > * Windows:: Viewing multiple pieces of text in one frame. > > -* Frames:: Using multiple "windows" on your display. > > +* Frames:: Using multiple ``windows'' on your display. > > * International:: Using non-@acronym{ASCII} character sets. > > > > Advanced Features > > @@ -200,7 +200,7 @@ Advanced Features > > @end ifnottex > > * Editing Binary Files:: Editing binary files with Hexl mode. > > * Saving Emacs Sessions:: Saving Emacs state from one session to the > next. > > -* Recursive Edit:: Performing edits while "within another command". > > +* Recursive Edit:: Performing edits while ``within another > command''. > > * Hyperlinking:: Following links in buffers. > > * Amusements:: Various games and hacks. > > * Packages:: Installing additional features. > > @@ -301,7 +301,7 @@ Help > > * Language Help:: Help relating to international language support. > > * Misc Help:: Other help commands. > > * Help Files:: Commands to display auxiliary help files. > > -* Help Echo:: Help on active text and tooltips ("balloon > help"). > > +* Help Echo:: Help on active text and tooltips (``balloon > help''). > > > > The Mark and the Region > > > > @@ -337,7 +337,7 @@ Yanking > > * Earlier Kills:: Yanking something killed some time ago. > > * Appending Kills:: Several kills in a row all yank together. > > > > -"Cut and Paste" Operations on Graphical Displays > > +``Cut and Paste'' Operations on Graphical Displays > > > > * Clipboard:: How Emacs uses the system clipboard. > > * Primary Selection:: The temporarily selected text selection. > > @@ -464,7 +464,7 @@ Saving Files > > * Customize Save:: Customizing the saving of files. > > * Interlocking:: How Emacs protects against simultaneous editing > > of one file by two users. > > -* File Shadowing:: Copying files to "shadows" automatically. > > +* File Shadowing:: Copying files to ``shadows'' automatically. > > * Time Stamps:: Emacs can update time stamps on saved files. > > > > Backup Files > > @@ -597,7 +597,7 @@ Commands for Human Languages > > * TeX Mode:: Editing TeX and LaTeX files. > > * HTML Mode:: Editing HTML and SGML files. > > * Nroff Mode:: Editing input to the nroff formatter. > > -* Enriched Text:: Editing text "enriched" with fonts, colors, etc. > > +* Enriched Text:: Editing text ``enriched'' with fonts, colors, > etc. > > * Text Based Tables:: Commands for editing text-based tables. > > * Two-Column:: Splitting text columns into separate windows. > > > > @@ -638,7 +638,7 @@ Enriched Text > > * Enriched Indentation:: Changing the left and right margins. > > * Enriched Justification:: Centering, setting text flush with the > > left or right margin, etc. > > -* Enriched Properties:: The "special" text properties submenu. > > +* Enriched Properties:: The ``special'' text properties submenu. > > > > @c The automatic texinfo menu update inserts some duplicate items here > > @c (faces, colors, indentation, justification, properties), because > > @@ -895,7 +895,7 @@ Editing Pictures > > > > * Basic Picture:: Basic concepts and simple commands of Picture > Mode. > > * Insert in Picture:: Controlling direction of cursor motion > > - after "self-inserting" characters. > > + after ``self-inserting'' characters. > > * Tabs in Picture:: Various features for tab stops and > indentation. > > * Rectangles in Picture:: Clearing and superimposing rectangles. > > @end ifnottex > > @@ -1092,7 +1092,7 @@ Customization > > to decide what to do; by setting variables, > > you can control their functioning. > > * Key Bindings:: The keymaps say what command each key runs. > > - By changing them, you can "redefine" keys. > > + By changing them, you can ``redefine'' keys. > > * Init File:: How to write common customizations in the > > initialization file. > > > > diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi > > index 6ff59b4..5985d8b 100644 > > --- a/doc/emacs/files.texi > > +++ b/doc/emacs/files.texi > > @@ -340,7 +340,7 @@ that was visited in the buffer. > > * Customize Save:: Customizing the saving of files. > > * Interlocking:: How Emacs protects against simultaneous editing > > of one file by two users. > > -* Shadowing: File Shadowing. Copying files to "shadows" automatically. > > +* Shadowing: File Shadowing. Copying files to ``shadows'' > automatically. > > * Time Stamps:: Emacs can update time stamps on saved files. > > @end menu > > > > diff --git a/doc/emacs/help.texi b/doc/emacs/help.texi > > index 5129c1c..6984250 100644 > > --- a/doc/emacs/help.texi > > +++ b/doc/emacs/help.texi > > @@ -72,7 +72,7 @@ inputs, but they all support @key{F1}.) > > * Language Help:: Help relating to international language support. > > * Misc Help:: Other help commands. > > * Help Files:: Commands to display auxiliary help files. > > -* Help Echo:: Help on active text and tooltips ("balloon > help"). > > +* Help Echo:: Help on active text and tooltips (``balloon > help''). > > @end menu > > > > @iftex > > diff --git a/doc/emacs/package.texi b/doc/emacs/package.texi > > index 68913d8..19d861a 100644 > > --- a/doc/emacs/package.texi > > +++ b/doc/emacs/package.texi > > @@ -232,7 +232,7 @@ in your init file depends on a package). In that > case, your init file > > should call the function @code{package-initialize}. It is up to you > > to ensure that relevant user options, such as @code{package-load-list} > > (see below), are set up prior to the @code{package-initialize} call. > > -You should also set @code{package-enable-at-startup} to @code{nil}, to > > +This will automatically set @code{package-enable-at-startup} to > @code{nil}, to > > avoid loading the packages again after processing the init file. > > Alternatively, you may choose to completely inhibit package loading at > > startup, and invoke the command @kbd{M-x package-initialize} to load > > diff --git a/doc/emacs/picture-xtra.texi b/doc/emacs/picture-xtra.texi > > index 6be84bd..a9ad2d5 100644 > > --- a/doc/emacs/picture-xtra.texi > > +++ b/doc/emacs/picture-xtra.texi > > @@ -53,7 +53,7 @@ Additional extensions to Picture mode can be found in > > @menu > > * Basic Picture:: Basic concepts and simple commands of Picture > Mode. > > * Insert in Picture:: Controlling direction of cursor motion > > - after "self-inserting" characters. > > + after ``self-inserting'' characters. > > * Tabs in Picture:: Various features for tab stops and > indentation. > > * Rectangles in Picture:: Clearing and superimposing rectangles. > > @end menu > > diff --git a/doc/emacs/programs.texi b/doc/emacs/programs.texi > > index 8f78a1a..ea8f82f 100644 > > --- a/doc/emacs/programs.texi > > +++ b/doc/emacs/programs.texi > > @@ -97,7 +97,6 @@ your favorite language, the mode might be implemented > in a package not > > distributed with Emacs (@pxref{Packages}); or you can contribute one. > > > > @kindex DEL @r{(programming modes)} > > -@findex c-electric-backspace > > @findex backward-delete-char-untabify > > In most programming languages, indentation should vary from line to > > line to illustrate the structure of the program. Therefore, in most > > diff --git a/doc/emacs/search.texi b/doc/emacs/search.texi > > index 34d4e8f..a0dfe22 100644 > > --- a/doc/emacs/search.texi > > +++ b/doc/emacs/search.texi > > @@ -1342,13 +1342,13 @@ to replace all remaining occurrences without > asking again. > > to replace all remaining occurrences in all remaining buffers in > > multi-buffer replacements (like the Dired @key{Q} command that performs > > query replace on selected files). It answers this question and all > > -subsequent questions in the series with "yes", without further > > +subsequent questions in the series with ``yes'', without further > > user interaction. > > > > @item N @r{(Upper-case)} > > to skip to the next buffer in multi-buffer replacements without > > replacing remaining occurrences in the current buffer. It answers > > -this question "no", gives up on the questions for the current buffer, > > +this question ``no'', gives up on the questions for the current buffer, > > and continues to the next buffer in the sequence. > > > > @item ^ > > diff --git a/doc/emacs/text.texi b/doc/emacs/text.texi > > index 31760b7..389ef5e 100644 > > --- a/doc/emacs/text.texi > > +++ b/doc/emacs/text.texi > > @@ -78,7 +78,7 @@ for editing such pictures. > > * TeX Mode:: Editing TeX and LaTeX files. > > * HTML Mode:: Editing HTML and SGML files. > > * Nroff Mode:: Editing input to the nroff formatter. > > -* Enriched Text:: Editing text "enriched" with fonts, colors, etc. > > +* Enriched Text:: Editing text ``enriched'' with fonts, colors, > etc. > > * Text Based Tables:: Commands for editing text-based tables. > > * Two-Column:: Splitting text columns into separate windows. > > @end menu > > @@ -2072,7 +2072,7 @@ serves as an example of the features of Enriched > mode. > > * Enriched Indentation:: Changing the left and right margins. > > * Enriched Justification:: Centering, setting text flush with the > > left or right margin, etc. > > -* Enriched Properties:: The "special" text properties submenu. > > +* Enriched Properties:: The ``special'' text properties submenu. > > @end menu > > > > @node Enriched Mode > > diff --git a/doc/emacs/trouble.texi b/doc/emacs/trouble.texi > > index fc01a97..2233376 100644 > > --- a/doc/emacs/trouble.texi > > +++ b/doc/emacs/trouble.texi > > @@ -1345,16 +1345,16 @@ Emacs has additional style and coding > conventions: > > @item > > @ifset WWW_GNU_ORG > > @ifhtml > > -the "Tips" Appendix in the Emacs Lisp Reference > > +the ``Tips'' Appendix in the Emacs Lisp Reference > > @url{http://www.gnu.org/software/emacs/manual/html_node/elisp/Tips.html > }. > > @end ifhtml > > @ifnothtml > > -@xref{Tips, "Tips" Appendix in the Emacs Lisp Reference, Tips > > +@xref{Tips, ``Tips'' Appendix in the Emacs Lisp Reference, Tips > > Appendix, elisp, Emacs Lisp Reference}. > > @end ifnothtml > > @end ifset > > @ifclear WWW_GNU_ORG > > -@xref{Tips, "Tips" Appendix in the Emacs Lisp Reference, Tips > > +@xref{Tips, ``Tips'' Appendix in the Emacs Lisp Reference, Tips > > Appendix, elisp, Emacs Lisp Reference}. > > @end ifclear > > > > @@ -1398,7 +1398,7 @@ See gnu-misc-discuss instead.) > > > > A copyright disclaimer is also a possibility, but we prefer an > assignment. > > Note that the disclaimer, like an assignment, involves you sending > > -signed paperwork to the FSF (simply saying "this is in the public > domain" > > +signed paperwork to the FSF (simply saying ``this is in the public > domain'' > > is not enough). Also, a disclaimer cannot be applied to future work, it > > has to be repeated each time you want to send something new. > > > > diff --git a/doc/lispintro/emacs-lisp-intro.texi > b/doc/lispintro/emacs-lisp-intro.texi > > index 3ac2418..d353241 100644 > > --- a/doc/lispintro/emacs-lisp-intro.texi > > +++ b/doc/lispintro/emacs-lisp-intro.texi > > @@ -9268,7 +9268,7 @@ documentation string. For example: > > @smallexample > > @group > > (defvar shell-command-default-error-buffer nil > > - "*Buffer name for ‘shell-command’ @dots{} error output. > > + "*Buffer name for `shell-command' @dots{} error output. > > @dots{} ") > > @end group > > @end smallexample > > @@ -11107,7 +11107,7 @@ up the number of pebbles in a triangle. > > @smallexample > > @group > > (defun triangle-using-dotimes (number-of-rows) > > - "Using ‘dotimes’, add up the number of pebbles in a triangle." > > + "Using `dotimes', add up the number of pebbles in a triangle." > > (let ((total 0)) ; otherwise a total is a void variable > > (dotimes (number number-of-rows total) > > (setq total (+ total (1+ number)))))) > > @@ -13514,8 +13514,8 @@ For example: > > @smallexample > > @group > > (let* ((foo 7) > > - (bar (* 3 foo))) > > - (message "‘bar’ is %d." bar)) > > + (bar (* 3 foo))) > > + (message "`bar' is %d." bar)) > > @result{} ‘bar’ is 21. > > @end group > > @end smallexample > > @@ -13758,7 +13758,7 @@ All this leads to the following function > definition: > > "Print number of words in the region. > > Words are defined as at least one word-constituent > > character followed by at least one character that > > -is not a word-constituent. The buffer’s syntax > > +is not a word-constituent. The buffer's syntax > > table determines which characters these are." > > (interactive "r") > > (message "Counting words in region ... ") > > @@ -13825,7 +13825,7 @@ parenthesis and type @kbd{C-x C-e} to install it. > > (defun @value{COUNT-WORDS} (beginning end) > > "Print number of words in the region. > > Words are defined as at least one word-constituent character followed > > -by at least one character that is not a word-constituent. The buffer’s > > +by at least one character that is not a word-constituent. The buffer's > > syntax table determines which characters these are." > > @end group > > @group > > @@ -13947,7 +13947,7 @@ What happens is this: the search is limited to > the region, and fails > > as you expect because there are no word-constituent characters in the > > region. Since it fails, we receive an error message. But we do not > > want to receive an error message in this case; we want to receive the > > -message that "The region does NOT have any words." > > +message ``The region does NOT have any words.'' > > > > The solution to this problem is to provide @code{re-search-forward} > > with a third argument of @code{t}, which causes the function to return > > @@ -14987,13 +14987,13 @@ beginning of the file. The function > definition looks like this: > > @smallexample > > @group > > (defun lengths-list-file (filename) > > - "Return list of definitions’ lengths within FILE. > > + "Return list of definitions' lengths within FILE. > > The returned list is a list of numbers. > > Each number is the number of words or > > symbols in one function definition." > > @end group > > @group > > - (message "Working on ‘%s’ ... " filename) > > + (message "Working on `%s' ... " filename) > > (save-excursion > > (let ((buffer (find-file-noselect filename)) > > (lengths-list)) > > @@ -15759,7 +15759,7 @@ simpler to write a list manually. Here it is: > > 160 170 180 190 200 > > 210 220 230 240 250 > > 260 270 280 290 300) > > - "List specifying ranges for ‘defuns-per-range’.") > > + "List specifying ranges for `defuns-per-range'.") > > @end group > > @end smallexample > > > > @@ -19943,7 +19943,7 @@ row, and the value of the width of the top line, > which is calculated > > @group > > (defun Y-axis-element (number full-Y-label-width) > > "Construct a NUMBERed label element. > > -A numbered element looks like this ‘ 5 - ’, > > +A numbered element looks like this ` 5 - ', > > and is padded as needed so all line up with > > the element for the largest number." > > @end group > > @@ -20044,7 +20044,7 @@ the @code{print-Y-axis} function, which inserts > the list as a column. > > Height must be the maximum height of the graph. > > Full width is the width of the highest label element." > > ;; Value of height and full-Y-label-width > > -;; are passed by ‘print-graph’. > > +;; are passed by print-graph. > > @end group > > @group > > (let ((start (point))) > > @@ -21169,7 +21169,7 @@ each column." > > @end group > > @group > > ;; Value of symbol-width and full-Y-label-width > > -;; are passed by ‘print-graph’. > > +;; are passed by print-graph. > > (let* ((leading-spaces > > (make-string full-Y-label-width ? )) > > ;; symbol-width @r{is provided by} graph-body-print > > @@ -21269,7 +21269,7 @@ Here are all the graphing definitions in their > final form: > > 110 120 130 140 150 > > 160 170 180 190 200 > > 210 220 230 240 250) > > - "List specifying ranges for ‘defuns-per-range’.") > > + "List specifying ranges for `defuns-per-range'.") > > @end group > > > > @group > > @@ -21330,14 +21330,14 @@ as graph-symbol.") > > @smallexample > > @group > > (defun lengths-list-file (filename) > > - "Return list of definitions’ lengths within FILE. > > + "Return list of definitions' lengths within FILE. > > The returned list is a list of numbers. > > Each number is the number of words or > > symbols in one function definition." > > @end group > > > > @group > > - (message "Working on ‘%s’ ... " filename) > > + (message "Working on `%s' ... " filename) > > (save-excursion > > (let ((buffer (find-file-noselect filename)) > > (lengths-list)) > > @@ -21467,7 +21467,7 @@ The strings are either graph-blank or > graph-symbol." > > @group > > (defun Y-axis-element (number full-Y-label-width) > > "Construct a NUMBERed label element. > > -A numbered element looks like this ‘ 5 - ’, > > +A numbered element looks like this ` 5 - ', > > and is padded as needed so all line up with > > the element for the largest number." > > @end group > > @@ -21497,7 +21497,7 @@ Optionally, print according to VERTICAL-STEP." > > @end group > > @group > > ;; Value of height and full-Y-label-width > > -;; are passed by ‘print-graph’. > > +;; are passed by 'print-graph'. > > (let ((start (point))) > > (insert-rectangle > > (Y-axis-column height full-Y-label-width vertical-step)) > > @@ -21662,7 +21662,7 @@ each column." > > @end group > > @group > > ;; Value of symbol-width and full-Y-label-width > > -;; are passed by ‘print-graph’. > > +;; are passed by 'print-graph'. > > (let* ((leading-spaces > > (make-string full-Y-label-width ? )) > > ;; symbol-width @r{is provided by} graph-body-print > > diff --git a/doc/lispref/anti.texi b/doc/lispref/anti.texi > > index c1773aa..2784fd9 100644 > > --- a/doc/lispref/anti.texi > > +++ b/doc/lispref/anti.texi > > @@ -56,8 +56,8 @@ there is no need to worry about the insertion of > right-to-left text > > messing up how lines and paragraphs are displayed, the function > > @code{bidi-string-mark-left-to-right} has been removed; so have many > > other functions and variables related to bidirectional display. > > -Unicode directionality characters like @code{U+200E} ("left-to-right > > -mark") have no special effect on display. > > +Unicode directionality characters like @code{U+200E} LEFT-TO-RIGHT > > +MARK have no special effect on display. > > > > @item > > Emacs windows now have most of their internal state hidden from Lisp. > > diff --git a/doc/lispref/buffers.texi b/doc/lispref/buffers.texi > > index 49bfe82..71261e0 100644 > > --- a/doc/lispref/buffers.texi > > +++ b/doc/lispref/buffers.texi > > @@ -23,7 +23,7 @@ not be displayed in any windows. > > * Buffer File Name:: The buffer file name indicates which file is > visited. > > * Buffer Modification:: A buffer is @dfn{modified} if it needs to be > saved. > > * Modification Time:: Determining whether the visited file was changed > > - "behind Emacs's back". > > + ``behind Emacs's back''. > > * Read Only Buffers:: Modifying text is not allowed in a read-only > buffer. > > * Buffer List:: How to look at all the existing buffers. > > * Creating Buffers:: Functions that create buffers. > > diff --git a/doc/lispref/control.texi b/doc/lispref/control.texi > > index 29d1bd5..421f5cc 100644 > > --- a/doc/lispref/control.texi > > +++ b/doc/lispref/control.texi > > @@ -315,7 +315,7 @@ between a few different constant values: > > @example > > (pcase (get-return-code x) > > (`success (message "Done!")) > > - (`would-block (message "Sorry, can’t do it now")) > > + (`would-block (message "Sorry, can't do it now")) > > (`read-only (message "The shmliblick is read-only")) > > (`access-denied (message "You do not have the needed rights")) > > (code (message "Unknown return code %S" code))) > > diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi > > index 9d82edc..14e2cd3 100644 > > --- a/doc/lispref/display.texi > > +++ b/doc/lispref/display.texi > > @@ -6531,8 +6531,12 @@ no buffer display table. > > The value of this variable is the standard display table, which is > > used when Emacs is displaying a buffer in a window with neither a > > window display table nor a buffer display table defined, or when Emacs > > -is outputting text to the standard output or error streams. Its > > -default is @code{nil}. > > +is outputting text to the standard output or error streams. Although > its > > +default is typically @code{nil}, in an interactive session if the > > +locale cannot display curved quotes, or if the initial value of > > +@code{text-quoting-style} specifies a preference for ASCII, its > > +default maps curved quotes to ASCII approximations. @xref{Keys in > > +Documentation}. > > @end defvar > > > > The @file{disp-table} library defines several functions for changing > > diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi > > index 9044fba..7b2b68a 100644 > > --- a/doc/lispref/elisp.texi > > +++ b/doc/lispref/elisp.texi > > @@ -453,7 +453,7 @@ Kinds of Forms > > we find the real function via the symbol. > > * Function Forms:: Forms that call functions. > > * Macro Forms:: Forms that call macros. > > -* Special Forms:: "Special forms" are idiosyncratic > primitives, > > +* Special Forms:: ``Special forms'' are idiosyncratic > primitives, > > most of them extremely important. > > * Autoloading:: Functions set up to load files > > containing their real definitions. > > @@ -485,7 +485,7 @@ Errors > > Variables > > > > * Global Variables:: Variable values that exist permanently, > everywhere. > > -* Constant Variables:: Certain "variables" have values that never > change. > > +* Constant Variables:: Certain ``variables'' have values that > never change. > > * Local Variables:: Variable values that exist only temporarily. > > * Void Variables:: Symbols that lack values. > > * Defining Variables:: A definition says a symbol is used as a > variable. > > @@ -599,7 +599,7 @@ Loading > > * Repeated Loading:: Precautions about loading a file twice. > > * Named Features:: Loading a library if it isn't already > loaded. > > * Where Defined:: Finding which file defined a certain symbol. > > -* Unloading:: How to "unload" a library that was loaded. > > +* Unloading:: How to ``unload'' a library that was loaded. > > * Hooks for Loading:: Providing code to be run when > > particular libraries are loaded. > > > > @@ -990,7 +990,7 @@ Buffers > > is visited. > > * Buffer Modification:: A buffer is @dfn{modified} if it needs to > be saved. > > * Modification Time:: Determining whether the visited file was > changed > > - "behind Emacs's back". > > + ``behind Emacs's back''. > > * Read Only Buffers:: Modifying text is not allowed in a > > read-only buffer. > > * Buffer List:: How to look at all the existing buffers. > > @@ -1117,8 +1117,8 @@ Markers > > * Marker Insertion Types:: Two ways a marker can relocate when you > > insert where it points. > > * Moving Markers:: Moving the marker to a new buffer or > position. > > -* The Mark:: How "the mark" is implemented with a marker. > > -* The Region:: How to access "the region". > > +* The Mark:: How ``the mark'' is implemented with a > marker. > > +* The Region:: How to access ``the region''. > > > > Text > > > > @@ -1152,7 +1152,7 @@ Text > > * Base 64:: Conversion to or from base 64 encoding. > > * Checksum/Hash:: Computing cryptographic hashes. > > * Parsing HTML/XML:: Parsing HTML and XML. > > -* Atomic Changes:: Installing several buffer changes > "atomically". > > +* Atomic Changes:: Installing several buffer changes > ``atomically''. > > * Change Hooks:: Supplying functions to be run when text is > changed. > > > > The Kill Ring > > diff --git a/doc/lispref/eval.texi b/doc/lispref/eval.texi > > index a185da7..f253e70 100644 > > --- a/doc/lispref/eval.texi > > +++ b/doc/lispref/eval.texi > > @@ -116,7 +116,7 @@ with the ``all other types'' which are > self-evaluating forms. > > we find the real function via the symbol. > > * Function Forms:: Forms that call functions. > > * Macro Forms:: Forms that call macros. > > -* Special Forms:: "Special forms" are idiosyncratic > primitives, > > +* Special Forms:: ``Special forms'' are idiosyncratic > primitives, > > most of them extremely important. > > * Autoloading:: Functions set up to load files > > containing their real definitions. > > diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi > > index f4c9abd..91b0c96 100644 > > --- a/doc/lispref/files.texi > > +++ b/doc/lispref/files.texi > > @@ -1291,10 +1291,10 @@ has only one name (the name @file{files.texi} in > the current default > > directory). > > > > @item "lh" > > -is owned by the user with name "lh". > > +is owned by the user with name @samp{lh}. > > > > @item "users" > > -is in the group with name "users". > > +is in the group with name @samp{users}. > > > > @item (20614 64019 50040 152000) > > was last accessed on October 23, 2012, at 20:12:03.050040152 UTC. > > diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi > > index 65eeec6..16fc495 100644 > > --- a/doc/lispref/frames.texi > > +++ b/doc/lispref/frames.texi > > @@ -2256,7 +2256,7 @@ indicates the release of the button, or whatever > kind of event means > > it is time to stop tracking. > > > > The @code{track-mouse} form causes Emacs to generate mouse motion > > -events by binding the variable @code{mouse-tracking} to a > > +events by binding the variable @code{track-mouse} to a > > non-@code{nil} value. If that variable has the special value > > @code{dragging}, it additionally instructs the display engine to > > refrain from changing the shape of the mouse pointer. This is > > diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi > > index 20eaf5d..a853d2f 100644 > > --- a/doc/lispref/functions.texi > > +++ b/doc/lispref/functions.texi > > @@ -1561,7 +1561,7 @@ Around advice such as: > > > > @example > > (defadvice foo (around foo-around) > > - "Ignore case in ‘foo’." > > + "Ignore case in `foo'." > > (let ((case-fold-search t)) > > ad-do-it)) > > (ad-activate 'foo) > > @@ -1571,7 +1571,7 @@ could translate into: > > > > @example > > (defun foo--foo-around (orig-fun &rest args) > > - "Ignore case in ‘foo’." > > + "Ignore case in `foo'." > > (let ((case-fold-search t)) > > (apply orig-fun args))) > > (advice-add 'foo :around #'foo--foo-around) > > diff --git a/doc/lispref/help.texi b/doc/lispref/help.texi > > index 44c09a2..b3042d7 100644 > > --- a/doc/lispref/help.texi > > +++ b/doc/lispref/help.texi > > @@ -345,7 +345,9 @@ quotes. If the variable's value is @code{curve}, > the style is > > apostrophes. If the value is @code{grave}, the style is @t{`like > > this'} with grave accent and apostrophe. The default value @code{nil} > > acts like @code{curve} if curved single quotes are displayable, and > > -like @code{grave} otherwise. > > +like @code{grave} otherwise. To use the traditional @code{grave} > > +style, put the line @code{(setq text-quoting-style 'grave)} into your > > +@file{~/.emacs} file. > > @end defvar > > > > @defun substitute-command-keys string > > @@ -375,7 +377,7 @@ specifies a key binding that the command does not > actually have. > > @smallexample > > @group > > (substitute-command-keys > > - "To abort recursive edit, type ‘\\[abort-recursive-edit]’.") > > + "To abort recursive edit, type `\\[abort-recursive-edit]'.") > > @result{} "To abort recursive edit, type ‘C-]’." > > @end group > > > > @@ -396,7 +398,7 @@ C-g abort-recursive-edit > > > > @group > > (substitute-command-keys > > - "To abort a recursive edit from the minibuffer, type\ > > + "To abort a recursive edit from the minibuffer, type \ > > `\\\\[abort-recursive-edit]'.") > > @result{} "To abort a recursive edit from the minibuffer, type ‘C-g’." > > @end group > > diff --git a/doc/lispref/loading.texi b/doc/lispref/loading.texi > > index fc1def6..91dc9a9 100644 > > --- a/doc/lispref/loading.texi > > +++ b/doc/lispref/loading.texi > > @@ -40,7 +40,7 @@ For on-demand loading of external libraries, > @pxref{Dynamic Libraries}. > > * Repeated Loading:: Precautions about loading a file twice. > > * Named Features:: Loading a library if it isn't already > loaded. > > * Where Defined:: Finding which file defined a certain symbol. > > -* Unloading:: How to "unload" a library that was loaded. > > +* Unloading:: How to ``unload'' a library that was loaded. > > * Hooks for Loading:: Providing code to be run when > > particular libraries are loaded. > > @end menu > > diff --git a/doc/lispref/markers.texi b/doc/lispref/markers.texi > > index 109e935..4f25b91 100644 > > --- a/doc/lispref/markers.texi > > +++ b/doc/lispref/markers.texi > > @@ -20,8 +20,8 @@ deleted, so that it stays with the two characters on > either side of it. > > * Marker Insertion Types:: Two ways a marker can relocate when you > > insert where it points. > > * Moving Markers:: Moving the marker to a new buffer or > position. > > -* The Mark:: How "the mark" is implemented with a > marker. > > -* The Region:: How to access "the region". > > +* The Mark:: How ``the mark'' is implemented with a > marker. > > +* The Region:: How to access ``the region''. > > @end menu > > > > @node Overview of Markers > > diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi > > index f00e481..a8b6bb1 100644 > > --- a/doc/lispref/modes.texi > > +++ b/doc/lispref/modes.texi > > @@ -1155,9 +1155,9 @@ Many other modes, such as `mail-mode', > `outline-mode' and > > "Major mode for editing text written for humans to read. > > In this mode, paragraphs are delimited only by blank or white lines. > > You can thus get the full benefit of adaptive filling > > - (see the variable ‘adaptive-fill-mode’). > > + (see the variable `adaptive-fill-mode'). > > \\@{text-mode-map@} > > -Turning on Text mode runs the normal hook ‘text-mode-hook’." > > +Turning on Text mode runs the normal hook `text-mode-hook'." > > @end group > > @group > > (set (make-local-variable 'text-mode-variant) t) > > @@ -1252,7 +1252,7 @@ And here is the code to set up the keymap for Lisp > mode: > > @dots{} > > map) > > "Keymap for ordinary Lisp mode. > > -All commands in ‘lisp-mode-shared-map’ are inherited by this map.") > > +All commands in `lisp-mode-shared-map' are inherited by this map.") > > @end group > > @end smallexample > > > > @@ -1268,12 +1268,12 @@ Delete converts tabs to spaces as it moves back. > > Blank lines separate paragraphs. Semicolons start comments. > > > > \\@{lisp-mode-map@} > > -Note that ‘run-lisp’ may be used either to start an inferior Lisp job > > +Note that `run-lisp' may be used either to start an inferior Lisp job > > or to switch back to an existing one. > > @end group > > > > @group > > -Entry to this mode calls the value of ‘lisp-mode-hook’ > > +Entry to this mode calls the value of `lisp-mode-hook' > > if that value is non-nil." > > (lisp-mode-variables nil t) > > (set (make-local-variable 'find-tag-default-function) > > @@ -1447,7 +1447,7 @@ will load the library that defines the mode. For > example: > > (defcustom msb-mode nil > > "Toggle msb-mode. > > Setting this variable directly does not take effect; > > -use either \\[customize] or the function ‘msb-mode’." > > +use either \\[customize] or the function `msb-mode'." > > :set 'custom-set-minor-mode > > :initialize 'custom-initialize-default > > :version "20.4" > > @@ -1605,7 +1605,7 @@ for this macro. > > Interactively with no argument, this command toggles the mode. > > A positive prefix argument enables the mode, any other prefix > > argument disables it. From Lisp, argument omitted or nil enables > > -the mode, ‘toggle’ toggles the state. > > +the mode, `toggle' toggles the state. > > > > When Hungry mode is enabled, the control delete key > > gobbles all preceding whitespace except the last. > > diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi > > index 64ebb45..6ef87df 100644 > > --- a/doc/lispref/os.texi > > +++ b/doc/lispref/os.texi > > @@ -195,7 +195,7 @@ It now exits if the option @code{--batch} was > specified. > > > > @item > > If the @file{*scratch*} buffer exists and is empty, it inserts > > -@code{initial-scratch-message} into that buffer. > > +@code{(substitute-command-keys initial-scratch-message)} into that > buffer. > > > > @item > > If @code{initial-buffer-choice} is a string, it visits the file (or > > @@ -314,6 +314,7 @@ file will not inhibit the message for someone else. > > > > @defopt initial-scratch-message > > This variable, if non-@code{nil}, should be a string, which is > > +treated as documentation to be > > inserted into the @file{*scratch*} buffer when Emacs starts up. If it > > is @code{nil}, the @file{*scratch*} buffer is empty. > > @end defopt > > @@ -1927,7 +1928,7 @@ idleness. Here's an example: > > > > @example > > (defvar my-resume-timer nil > > - "Timer for ‘my-timer-function’ to reschedule itself, or nil.") > > + "Timer for `my-timer-function' to reschedule itself, or nil.") > > > > (defun my-timer-function () > > ;; @r{If the user types a command while @code{my-resume-timer}} > > @@ -2479,7 +2480,7 @@ argument of another @code{notifications-notify} > call. For example: > > @end group > > > > @group > > -A message window opens on the desktop. Press "I agree" > > +A message window opens on the desktop. Press ``I agree''. > > @result{} Message 22, key "Confirm" pressed > > Message 22, closed due to "dismissed" > > @end group > > @@ -2674,32 +2675,14 @@ being reported. For example: > > @end example > > > > Whether the action @code{renamed} is returned, depends on the used > > -watch library. It can be expected, when a directory is watched, and > > -both @var{file} and @var{file1} belong to this directory. Otherwise, > > -the actions @code{deleted} and @code{created} could be returned in a > > -random order. > > +watch library. Otherwise, the actions @code{deleted} and > > +@code{created} could be returned in a random order. > > > > @example > > @group > > (rename-file "/tmp/foo" "/tmp/bla") > > @result{} Event (35025468 renamed "/tmp/foo" "/tmp/bla") > > @end group > > - > > -@group > > -(file-notify-add-watch > > - "/var/tmp" '(change attribute-change) 'my-notify-callback) > > - @result{} 35025504 > > -@end group > > - > > -@group > > -(rename-file "/tmp/bla" "/var/tmp/bla") > > - @result{} ;; gfilenotify > > - Event (35025468 renamed "/tmp/bla" "/var/tmp/bla") > > - > > - @result{} ;; inotify > > - Event (35025504 created "/var/tmp/bla") > > - Event (35025468 deleted "/tmp/bla") > > -@end group > > @end example > > @end defun > > > > diff --git a/doc/lispref/package.texi b/doc/lispref/package.texi > > index f8eba2a..7136286 100644 > > --- a/doc/lispref/package.texi > > +++ b/doc/lispref/package.texi > > @@ -113,8 +113,10 @@ package loading is disabled if the user option > > This function initializes Emacs' internal record of which packages are > > installed, and loads them. The user option @code{package-load-list} > > specifies which packages to load; by default, all installed packages > > -are loaded. @xref{Package Installation,,, emacs, The GNU Emacs > > -Manual}. > > +are loaded. If called during startup, this function also sets > > +@code{package-enable-at-startup} to @code{nil}, to avoid accidentally > > +loading the packages twice. @xref{Package Installation,,, emacs, The > > +GNU Emacs Manual}. > > > > The optional argument @var{no-activate}, if non-@code{nil}, causes > > Emacs to update its record of installed packages without actually > > diff --git a/doc/lispref/processes.texi b/doc/lispref/processes.texi > > index 98b3dfb..c9509b0 100644 > > --- a/doc/lispref/processes.texi > > +++ b/doc/lispref/processes.texi > > @@ -1720,13 +1720,13 @@ sentinel, the eventual call to the sentinel will > use the new one. > > @group > > (defun msg-me (process event) > > (princ > > - (format "Process: %s had the event ‘%s’" process event))) > > + (format "Process: %s had the event '%s'" process event))) > > (set-process-sentinel (get-process "shell") 'msg-me) > > @result{} msg-me > > @end group > > @group > > (kill-process (get-process "shell")) > > - @print{} Process: # had the event ‘killed’ > > + @print{} Process: # had the event 'killed' > > @result{} # > > @end group > > @end smallexample > > diff --git a/doc/lispref/sequences.texi b/doc/lispref/sequences.texi > > index 12ed881..f73779b 100644 > > --- a/doc/lispref/sequences.texi > > +++ b/doc/lispref/sequences.texi > > @@ -557,19 +557,24 @@ calling @var{function}. > > @end example > > @end defun > > > > -@defun seq-some-p predicate sequence > > - This function returns the first member of sequence for which > @var{predicate} > > -returns non-@code{nil}. > > +@defun seq-some predicate sequence > > + This function returns non-@code{nil} if @var{predicate} returns > > +non-@code{nil} for any element of @var{sequence}. If so, the returned > > +value is the value returned by @var{predicate}. > > > > @example > > @group > > -(seq-some-p #'numberp ["abc" 1 nil]) > > -@result{} 1 > > +(seq-some #'numberp ["abc" 1 nil]) > > +@result{} t > > @end group > > @group > > -(seq-some-p #'numberp ["abc" "def"]) > > +(seq-some #'numberp ["abc" "def"]) > > @result{} nil > > @end group > > +@group > > +(seq-some #'null ["abc" 1 nil]) > > +@result{} t > > +@end group > > @end example > > @end defun > > > > @@ -583,7 +588,7 @@ to every element of @var{sequence} returns non-@code > {nil}. > > @result{} t > > @end group > > @group > > -(seq-some-p #'numberp [2 4 "6"]) > > +(seq-some #'numberp [2 4 "6"]) > > @result{} nil > > @end group > > @end example > > @@ -621,18 +626,18 @@ according to @var{function}, a function of two > arguments that returns > > non-@code{nil} if the first argument should sort before the second. > > @end defun > > > > -@defun seq-contains-p sequence elt &optional function > > +@defun seq-contains sequence elt &optional function > > This function returns the first element in @var{sequence} that is > equal to > > @var{elt}. If the optional argument @var{function} is non-@code{nil}, > > it is a function of two arguments to use instead of the default > @code{equal}. > > > > @example > > @group > > -(seq-contains-p '(symbol1 symbol2) 'symbol1) > > +(seq-contains '(symbol1 symbol2) 'symbol1) > > @result{} symbol1 > > @end group > > @group > > -(seq-contains-p '(symbol1 symbol2) 'symbol3) > > +(seq-contains '(symbol1 symbol2) 'symbol3) > > @result{} nil > > @end group > > @end example > > diff --git a/doc/lispref/strings.texi b/doc/lispref/strings.texi > > index d882be4..f422507 100644 > > --- a/doc/lispref/strings.texi > > +++ b/doc/lispref/strings.texi > > @@ -486,8 +486,8 @@ accent Unicode characters: > > > > The optional argument @var{locale}, a string, overrides the setting of > > your current locale identifier for collation. The value is system > > -dependent; a @var{locale} "en_US.UTF-8" is applicable on POSIX > > -systems, while it would be, e.g., "enu_USA.1252" on MS-Windows > > +dependent; a @var{locale} @code{"en_US.UTF-8"} is applicable on POSIX > > +systems, while it would be, e.g., @code{"enu_USA.1252"} on MS-Windows > > systems. > > > > If @var{ignore-case} is non-@code{nil}, characters are converted to > lower-case > > @@ -495,7 +495,7 @@ before comparing them. > > > > To emulate Unicode-compliant collation on MS-Windows systems, > > bind @code{w32-collate-ignore-punctuation} to a non-@code{nil} value, > since > > -the codeset part of the locale cannot be "UTF-8" on MS-Windows. > > +the codeset part of the locale cannot be @code{"UTF-8"} on MS-Windows. > > > > If your system does not support a locale environment, this function > > behaves like @code{string-equal}. > > @@ -596,9 +596,9 @@ less significant for @ref{Sorting,,sorting}. > > > > The optional argument @var{locale}, a string, overrides the setting of > > your current locale identifier for collation. The value is system > > -dependent; a @var{locale} "en_US.UTF-8" is applicable on POSIX > > -systems, while it would be, e.g., "enu_USA.1252" on MS-Windows > > -systems. The @var{locale} "POSIX" lets @code{string-collate-lessp} > > +dependent; a @var{locale} @code{"en_US.UTF-8"} is applicable on POSIX > > +systems, while it would be, e.g., @code{"enu_USA.1252"} on MS-Windows > > +systems. The @var{locale} @code{"POSIX"} lets > @code{string-collate-lessp} > > behave like @code{string-lessp}: > > > > @example > > @@ -614,7 +614,7 @@ before comparing them. > > > > To emulate Unicode-compliant collation on MS-Windows systems, > > bind @code{w32-collate-ignore-punctuation} to a non-@code{nil} value, > since > > -the codeset part of the locale cannot be "UTF-8" on MS-Windows. > > +the codeset part of the locale cannot be @code{"UTF-8"} on MS-Windows. > > > > If your system does not support a locale environment, this function > > behaves like @code{string-lessp}. > > @@ -969,12 +969,12 @@ is not truncated. > > > > @example > > @group > > -(format "The word ‘%7s’ has %d letters in it." > > +(format "The word '%7s' has %d letters in it." > > "foo" (length "foo")) > > - @result{} "The word ‘ foo’ has 3 letters in it." > > -(format "The word ‘%7s’ has %d letters in it." > > + @result{} "The word ' foo' has 3 letters in it." > > +(format "The word '%7s' has %d letters in it." > > "specification" (length "specification")) > > - @result{} "The word ‘specification’ has 13 letters in it." > > + @result{} "The word 'specification' has 13 letters in it." > > @end group > > @end example > > > > @@ -1013,12 +1013,12 @@ ignored. > > (format "%06d is padded on the left with zeros" 123) > > @result{} "000123 is padded on the left with zeros" > > > > -(format "‘%-6d’ is padded on the right" 123) > > - @result{} "‘123 ’ is padded on the right" > > +(format "'%-6d' is padded on the right" 123) > > + @result{} "'123 ' is padded on the right" > > > > -(format "The word ‘%-7s’ actually has %d letters in it." > > +(format "The word '%-7s' actually has %d letters in it." > > "foo" (length "foo")) > > - @result{} "The word ‘foo ’ actually has 3 letters in it." > > + @result{} "The word 'foo ' actually has 3 letters in it." > > @end group > > @end example > > > > diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi > > index 245825a..55e550a 100644 > > --- a/doc/lispref/text.texi > > +++ b/doc/lispref/text.texi > > @@ -58,7 +58,7 @@ the character after point. > > * Base 64:: Conversion to or from base 64 encoding. > > * Checksum/Hash:: Computing cryptographic hashes. > > * Parsing HTML/XML:: Parsing HTML and XML. > > -* Atomic Changes:: Installing several buffer changes "atomically". > > +* Atomic Changes:: Installing several buffer changes ``atomically''. > > * Change Hooks:: Supplying functions to be run when text is changed. > > @end menu > > > > @@ -1960,7 +1960,7 @@ Called from a program, there are three arguments: > > @group > > REVERSE (non-nil means reverse order),\ > > BEG and END (region to sort). > > -The variable ‘sort-fold-case’ determines\ > > +The variable `sort-fold-case' determines\ > > whether alphabetic case affects > > the sort order." > > @end group > > diff --git a/doc/lispref/tips.texi b/doc/lispref/tips.texi > > index 7107bb4..3bde0a8 100644 > > --- a/doc/lispref/tips.texi > > +++ b/doc/lispref/tips.texi > > @@ -689,7 +689,7 @@ immediately before the symbol name. (Case makes no > difference in > > recognizing these indicator words.) For example, if you write > > > > @example > > -This function sets the variable ‘buffer-file-name’. > > +This function sets the variable `buffer-file-name'. > > @end example > > > > @noindent > > @@ -702,7 +702,7 @@ you can write the words @samp{symbol} or > @samp{program} before the > > symbol name to prevent making any hyperlink. For example, > > > > @example > > -If the argument KIND-OF-RESULT is the symbol ‘list’, > > +If the argument KIND-OF-RESULT is the symbol `list', > > this function returns a list of all the objects > > that satisfy the criterion. > > @end example > > @@ -727,7 +727,7 @@ name of the Info node (or anchor), preceded by > > anchor}. The Info file name defaults to @samp{emacs}. For example, > > > > @smallexample > > -See Info node ‘Font Lock’ and Info node ‘(elisp)Font Lock Basics’. > > +See Info node `Font Lock' and Info node `(elisp)Font Lock Basics'. > > @end smallexample > > > > Finally, to create a hyperlink to URLs, write the single-quoted URL, > > @@ -735,7 +735,7 @@ preceded by @samp{URL}. For example, > > > > @smallexample > > The home page for the GNU project has more information (see URL > > -‘http://www.gnu.org/’). > > +`http://www.gnu.org/'). > > @end smallexample > > > > @item > > diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi > > index 15491e5..369e8dd 100644 > > --- a/doc/lispref/variables.texi > > +++ b/doc/lispref/variables.texi > > @@ -25,7 +25,7 @@ representing the variable. > > > > @menu > > * Global Variables:: Variable values that exist permanently, > everywhere. > > -* Constant Variables:: Certain "variables" have values that > never change. > > +* Constant Variables:: Certain ``variables'' have values that > never change. > > * Local Variables:: Variable values that exist only > temporarily. > > * Void Variables:: Symbols that lack values. > > * Defining Variables:: A definition says a symbol is used as a > variable. > > diff --git a/doc/misc/ede.texi b/doc/misc/ede.texi > > index 565abb5..7a824ac 100644 > > --- a/doc/misc/ede.texi > > +++ b/doc/misc/ede.texi > > @@ -867,14 +867,14 @@ It would look like this: > > ) > > > > (defun MY-ROOT-FCN () > > - "Return the root fcn for ‘default-directory’" > > + "Return the root fcn for `default-directory'" > > ;; You might be able to use 'ede-cpp-root-project-root' > > ;; and not write this at all. > > ) > > > > (defun MY-LOAD (dir) > > - "Load a project of type ‘cpp-root’ for the directory DIR. > > -Return nil if there isn’t one." > > + "Load a project of type `cpp-root' for the directory DIR. > > +Return nil if there isn't one." > > ;; Use your preferred construction method here. > > (ede-cpp-root-project "NAME" :file (expand-file-name "FILE" dir) > > :locate-fcn 'MYFCN) > > diff --git a/doc/misc/efaq.texi b/doc/misc/efaq.texi > > index 75df1d4..3e9109d 100644 > > --- a/doc/misc/efaq.texi > > +++ b/doc/misc/efaq.texi > > @@ -4336,7 +4336,7 @@ best fix I've been able to come up with: > > > > @lisp > > (defun rmail-reply-t () > > - "Reply only to the sender of the current message. (See > ‘rmail-reply’.)" > > + "Reply only to the sender of the current message. (See rmail-reply.)" > > (interactive) > > (rmail-reply t)) > > > > diff --git a/doc/misc/eieio.texi b/doc/misc/eieio.texi > > index 7cee5c3..fb4e147 100644 > > --- a/doc/misc/eieio.texi > > +++ b/doc/misc/eieio.texi > > @@ -1529,7 +1529,7 @@ Currently, the default superclass is defined as > follows: > > nil > > "Default parent class for classes with no specified parent class. > > Its slots are automatically adopted by classes with no specified > > -parents. This class is not stored in the ‘parent’ slot of a class > vector." > > +parents. This class is not stored in the `parent' slot of a class > vector." > > :abstract t) > > @end example > > > > diff --git a/doc/misc/ert.texi b/doc/misc/ert.texi > > index 3192e4b..35d315c 100644 > > --- a/doc/misc/ert.texi > > +++ b/doc/misc/ert.texi > > @@ -861,7 +861,7 @@ The most common use of this is to run just the tests > for one > > particular module. Since symbol prefixes are the usual way of > > separating module namespaces in Emacs Lisp, test selectors already > > solve this by allowing regexp matching on test names; e.g., the > > -selector "^ert-" selects ERT's self-tests. > > +selector @code{"^ert-"} selects ERT's self-tests. > > > > Other uses include grouping tests by their expected execution time, > > e.g., to run quick tests during interactive development and slow tests > less > > diff --git a/doc/misc/gnus-faq.texi b/doc/misc/gnus-faq.texi > > index 0b856c7..19c78bf 100644 > > --- a/doc/misc/gnus-faq.texi > > +++ b/doc/misc/gnus-faq.texi > > @@ -892,11 +892,11 @@ more readable? > > > > @subsubheading Answer > > > > -Gnus offers you several functions to "wash" incoming mail, you can > > +Gnus offers you several functions to ``wash'' incoming mail, you can > > find them if you browse through the menu, item > > -Article->Washing. The most interesting ones are probably "Wrap > > -long lines" (@samp{W w}), "Decode ROT13" > > -(@samp{W r}) and "Outlook Deuglify" which repairs > > +Article->Washing. The most interesting ones are probably ``Wrap > > +long lines'' (@samp{W w}), ``Decode ROT13'' > > +(@samp{W r}) and ``Outlook Deuglify'' which repairs > > the dumb quoting used by many users of Microsoft products > > (@samp{W Y f} gives you full deuglify. > > See @samp{W Y C-h} or have a look at the menus for > > @@ -1016,8 +1016,8 @@ mail groups. Is this a bug? > > > > No, that's a matter of design of Gnus, fixing this would > > mean reimplementation of major parts of Gnus' > > -back ends. Gnus thinks "highest-article-number @minus{} > > -lowest-article-number = total-number-of-articles". This > > +back ends. Gnus thinks ``highest-article-number @minus{} > > +lowest-article-number = total-number-of-articles''. This > > works OK for Usenet groups, but if you delete and move > > many messages in mail groups, this fails. To cure the > > symptom, enter the group via @samp{C-u RET} > > @@ -1085,8 +1085,8 @@ You've got to play around with the variable > > gnus-summary-line-format. Its value is a string of > > symbols which stand for things like author, date, subject > > etc. A list of the available specifiers can be found in the > > -manual node "Summary Buffer Lines" and the often forgotten > > -node "Formatting Variables" and its sub-nodes. There > > +manual node ``Summary Buffer Lines'' and the often forgotten > > +node ``Formatting Variables'' and its sub-nodes. There > > you'll find useful things like positioning the cursor and > > tabulators which allow you a summary in table form, but > > sadly hard tabulators are broken in 5.8.8. > > @@ -1671,7 +1671,7 @@ instead (works for newer versions as well): > > (setq message-user-fqdn fqdn) > > (gnus-message 1 "Redefining `message-make-fqdn'.") > > (defun message-make-fqdn () > > - "Return user’s fully qualified domain name." > > + "Return user's fully qualified domain name." > > fqdn)))) > > @end example > > @noindent > > @@ -1765,9 +1765,9 @@ snippet by Frank Haun in > > > > @example > > (defun my-archive-article (&optional n) > > - "Copies one or more article(s) to a corresponding ‘nnml:’ group, e.g., > > -‘gnus.ding’ goes to ‘nnml:1.gnus.ding’. And ‘nnml:List-gnus.ding’ goes > > -to ‘nnml:1.List-gnus-ding’. > > + "Copies one or more article(s) to a corresponding `nnml:' group, e.g., > > +`gnus.ding' goes to `nnml:1.gnus.ding'. And `nnml:List-gnus.ding' goes > > +to `nnml:1.List-gnus-ding'. > > > > Use process marks or mark a region in the summary buffer to archive > > more then one article." > > diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi > > index 23a43f4..9093fa2 100644 > > --- a/doc/misc/gnus.texi > > +++ b/doc/misc/gnus.texi > > @@ -12565,7 +12565,7 @@ Gnus provides a few different methods for > storing the mail and news you > > send. The default method is to use the @dfn{archive virtual server} to > > store the messages. If you want to disable this completely, the > > @code{gnus-message-archive-group} variable should be @code{nil}. The > > -default is "sent.%Y-%m", which gives you one archive group per month. > > +default is @code{"sent.%Y-%m"}, which gives you one archive group per > month. > > > > For archiving interesting messages in a group you read, see the > > @kbd{B c} (@code{gnus-summary-copy-article}) command (@pxref{Mail > > @@ -15018,7 +15018,8 @@ corresponding keywords. > > > > @item :mailbox > > The name of the mailbox to get mail from. The default is @samp{INBOX} > > -which normally is the mailbox which receives incoming mail. > > +which normally is the mailbox which receives incoming mail. Instead of > > +a single mailbox, this can be a list of mailboxes to fetch mail from. > > > > @item :predicate > > The predicate used to find articles to fetch. The default, @samp{UNSEEN > > @@ -21033,8 +21034,8 @@ function: > > > > @lisp > > (defun gnus-decay-score (score) > > - "Decay SCORE according to ‘gnus-score-decay-constant’ > > -and ‘gnus-score-decay-scale’." > > + "Decay SCORE according to `gnus-score-decay-constant' > > +and `gnus-score-decay-scale'." > > (let ((n (- score > > (* (if (< score 0) -1 1) > > (min (abs score) > > @@ -24080,7 +24081,7 @@ spam. And here is the nifty function: > > > > @lisp > > (defun my-gnus-raze-spam () > > - "Submit SPAM to Vipul’s Razor, then mark it as expirable." > > + "Submit SPAM to Vipul's Razor, then mark it as expirable." > > (interactive) > > (gnus-summary-save-in-pipe "razor-report -f -d" t) > > (gnus-summary-mark-as-expirable 1)) > > diff --git a/doc/misc/rcirc.texi b/doc/misc/rcirc.texi > > index a0d74b4..a707ba5 100644 > > --- a/doc/misc/rcirc.texi > > +++ b/doc/misc/rcirc.texi > > @@ -909,7 +909,7 @@ The real answer, therefore, is a @code{/reconnect} > command: > > "Reconnect the server process." > > (interactive "i") > > (unless process > > - (error "There’s no process for this target")) > > + (error "There's no process for this target")) > > (let* ((server (car (process-contact process))) > > (port (process-contact process :service)) > > (nick (rcirc-nick process)) > > diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi > > index 012c586..87c7c80 100644 > > --- a/doc/misc/tramp.texi > > +++ b/doc/misc/tramp.texi > > @@ -3691,6 +3691,24 @@ I would like to thank all @value{tramp} users who > have contributed to > > the different recipes! > > > > > > +@item I have saved @value{tramp} file names as indicated. But it > > +doesn't work in a new @value{emacsname} session! > > + > > +If you have saved an ad-hoc multi-hop @value{tramp} file name > > +(@pxref{Ad-hoc multi-hops}) via bookmarks, recent files, > > +@ifset emacs > > +filecache, bbdb, > > +@end ifset > > +or another package, you must use the full ad-hoc file name including > > +all hops, like @file{@trampfn{ssh, bird, > > +bastion|ssh@value{postfixhop}news.my.domain, /opt/news/etc}}. > > + > > +Alternatively, if you save only the abbreviated multi-hop file name > > +@file{@trampfn{ssh, news, news.my.domain, /opt/news/etc}}, the > > +customer option @code{tramp-save-ad-hoc-proxies} must be set to a to a > > +non-@code{nil} value. > > + > > + > > @ifset emacs > > @item > > How can I use @value{tramp} to connect to a remote @value{emacsname} > > diff --git a/doc/misc/viper.texi b/doc/misc/viper.texi > > index f449e3b..8f57e8c 100644 > > --- a/doc/misc/viper.texi > > +++ b/doc/misc/viper.texi > > @@ -1961,7 +1961,7 @@ can include a line like this in your Viper > customization file: > > > > Viper lets you define hot keys, i.e., you can associate keyboard keys > > such as F1, Help, PgDn, etc., with Emacs Lisp functions (that may > already > > -exist or that you will write). Each key has a "preferred form" in > > +exist or that you will write). Each key has a ``preferred form'' in > > Emacs. For instance, the Up key's preferred form is [up], the Help > key's > > preferred form is [help], and the Undo key has the preferred form [f14]. > > You can find out the preferred form of a key by typing @kbd{M-x > > diff --git a/etc/NEWS b/etc/NEWS > > index c664e02..8a08a06 100644 > > --- a/etc/NEWS > > +++ b/etc/NEWS > > @@ -91,6 +91,10 @@ so if you want to use it, you can always take a copy > from an older Emacs. > > and *Buffer List*. This makes Emacs convenient to use from the > > command line when `initial-buffer-choice' is non-nil. > > > > ++++ > > +** The value of ‘initial-scratch-message’ is now treated as a doc string > > +and can contain escape sequences for command keys, quotes, and the like. > > + > > > > * Changes in Emacs 25.1 > > > > @@ -828,14 +832,6 @@ notifications, if Emacs is compiled with file > notification support. > > > > *** landmark.el (moved to elpa.gnu.org) > > > > -+++ > > -** The character classes [:graph:] and [:print:] in regular expressions > > -no longer match every multibyte character. Instead, Emacs now > > -consults the Unicode character properties to determine which > > -characters are graphic or printable. In particular, surrogates and > > -unassigned codepoints are now rejected. If you want the old behavior, > > -use [:multibyte:] instead. > > - > > > > * New Modes and Packages in Emacs 25.1 > > > > @@ -860,6 +856,13 @@ a typographically-correct documents. > > > > * Incompatible Lisp Changes in Emacs 25.1 > > > > ++++ > > +** `package-initialize' now sets `package-enable-at-startup' to nil if > > +called during startup. Users who call this function in their init > > +file and still expect it to be run after startup should set > > +`package-enable-at-startup' to t after the call to > > +`package-initialize'. > > + > > ** `:global' minor mode use `setq-default' rather than `setq'. > > This means that you can't use `make-local-variable' and expect them to > > "magically" become buffer-local. > > @@ -951,6 +954,14 @@ If you want the old behavior where they matched any > character with > > word syntax, use `\sw' instead. > > > > +++ > > +** The character classes [:graph:] and [:print:] in regular expressions > > +no longer match every multibyte character. Instead, Emacs now > > +consults the Unicode character properties to determine which > > +characters are graphic or printable. In particular, surrogates and > > +unassigned codepoints are now rejected. If you want the old behavior, > > +use [:multibyte:] instead. > > + > > ++++ > > ** The `diff' command uses the unified format now. To restore the old > > behavior, set `diff-switches' to `-c'. > > > > @@ -1113,8 +1124,9 @@ integers. > > ** New function `set-binary-mode' allows to switch a standard stream > > of the Emacs process to binary I/O mode. > > > > -** In locales that cannot display curved quotes, ASCII approximations > > -are installed in standard-display-table. > > +** ASCII approximations to curved quotes are put in > standard-display-table > > +if the locale cannot display curved quotes, or if text-quoting-style > > +initially specifies a preference for ASCII. > > > > ** Standard output and error streams now transliterate characters via > > standard-display-table, and encode output using locale-coding-system. > > diff --git a/lisp/abbrev.el b/lisp/abbrev.el > > index 0ba21da..f372a28 100644 > > --- a/lisp/abbrev.el > > +++ b/lisp/abbrev.el > > @@ -399,7 +399,7 @@ A prefix argument means don't query; expand all > abbrevs." > > (buffer-substring-no-properties > > (save-excursion (forward-word -1) (point)) > > pnt))) > > - (if (or noquery (y-or-n-p (format-message "Expand ‘%s’? " > string))) > > + (if (or noquery (y-or-n-p (format-message "Expand `%s'? " > string))) > > (expand-abbrev))))))) > > > > ;;; Abbrev properties. > > diff --git a/lisp/align.el b/lisp/align.el > > index 3020b6a..9eb04ef 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 f0a1cab..f31c3d8 100644 > > --- a/lisp/allout-widgets.el > > +++ b/lisp/allout-widgets.el > > @@ -384,9 +384,9 @@ The structure includes the guides lines, bullet, and > bullet cue.") > > > > Entries on the list are lists whose first element is a symbol indicating > > the change type and subsequent elements are data specific to that change > > -type. Specifically: > > +type. For example: > > > > - 'exposure `allout-exposure-from' `allout-exposure-to' > `allout-exposure-flag' > > + (exposure ALLOUT-EXPOSURE-FROM ALLOUT-EXPOSURE-TO > ALLOUT-EXPOSURE-FLAG) > > > > The changes are recorded in reverse order, with new values pushed > > onto the front.") > > @@ -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 `@' > > - 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 3ba440f..f705573 100644 > > --- a/lisp/allout.el > > +++ b/lisp/allout.el > > @@ -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)] > > @@ -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 > > @@ -2081,20 +2081,20 @@ OPEN: A TOPIC that is not CLOSED, though its > OFFSPRING or BODY may be." > > (and (not (string= allout-auto-activation "activate")) > > (if (string= allout-auto-activation "ask") > > (if (y-or-n-p (format-message > > - "Expose %s with layout ‘%s’? " > > + "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: > > @@ -3484,7 +3484,7 @@ Offer one suitable for current depth DEPTH as > default." > > (goto-char (allout-current-bullet-pos)) > > (setq choice (solicit-char-in-string > > (format-message > > - "Select bullet: %s (‘%s’ default): " > > + "Select bullet: %s (`%s' default): " > > sans-escapes > > (allout-substring-no-properties default-bullet)) > > sans-escapes > > @@ -5879,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. > > > > @@ -5941,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. > > > > @@ -6381,7 +6381,7 @@ for details on preparing Emacs for automatic > allout activation." > > (allout-open-topic 2) > > (insert (substitute-command-keys > > (concat "Dummy outline topic header -- see" > > - " ‘allout-mode’ docstring: > ‘\\[describe-mode]’."))) > > + " `allout-mode' docstring: > `\\[describe-mode]'."))) > > (allout-adjust-file-variable > > "allout-layout" (or allout-layout '(-1 : 0)))))) > > ;;;_ > allout-file-vars-section-data () > > @@ -6546,7 +6546,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/apropos.el b/lisp/apropos.el > > index ec21296..6d7dc8a 100644 > > --- a/lisp/apropos.el > > +++ b/lisp/apropos.el > > @@ -682,7 +682,7 @@ the output includes key-bindings of commands." > > symbols apropos-do-all > > (concat > > (format-message > > - "Library ‘%s’ provides: %s\nand requires: %s" > > + "Library `%s' provides: %s\nand requires: %s" > > file > > (mapconcat 'apropos-library-button > > (or provides '(nil)) " and ") > > diff --git a/lisp/bookmark.el b/lisp/bookmark.el > > index 308d1ca..0351481 100644 > > --- a/lisp/bookmark.el > > +++ b/lisp/bookmark.el > > @@ -843,10 +843,10 @@ whose annotation is being edited.") > > The default annotation text is simply some text explaining how to use > > annotations." > > (concat (format-message > > - "# Type the annotation for bookmark ‘%s’ here.\n" > > + "# Type the annotation for bookmark `%s' here.\n" > > bookmark-name) > > (format-message > > - "# All lines which start with a ‘#’ will be deleted.\n") > > + "# 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" > > diff --git a/lisp/bs.el b/lisp/bs.el > > index 6314bbb..1735c17 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/button.el b/lisp/button.el > > index 5fe5bf0..e7602dd 100644 > > --- a/lisp/button.el > > +++ b/lisp/button.el > > @@ -114,7 +114,7 @@ Mode-specific keymaps may want to use this as their > parent keymap.") > > "Return the symbol used by button-type TYPE to store properties. > > Buttons inherit them by setting their `category' property to that > symbol." > > (or (get type 'button-category-symbol) > > - (error "Unknown button type ‘%s’" type))) > > + (error "Unknown button type `%s'" type))) > > > > (defun define-button-type (name &rest properties) > > "Define a `button type' called NAME (a symbol). > > @@ -208,7 +208,7 @@ changes to a supertype are not reflected in its > subtypes)." > > (setq val (button-category-symbol val))) > > ((eq prop 'category) > > ;; Disallow updating the `category' property directly. > > - (error "Button ‘category’ property may not be set directly"))) > > + (error "Button `category' property may not be set directly"))) > > ;; Add the property. > > (cond ((overlayp button) > > (overlay-put button prop val)) > > @@ -333,7 +333,7 @@ Also see `insert-text-button'." > > (setq object beg beg 0 end (length object))) > > ;; Disallow setting the `category' property directly. > > (when (plist-get properties 'category) > > - (error "Button ‘category’ property may not be set directly")) > > + (error "Button `category' property may not be set directly")) > > (if (null type-entry) > > ;; The user didn't specify a `type' property, use the default. > > (setq properties (cons 'category (cons 'default-button > properties))) > > diff --git a/lisp/calc/calc-aent.el b/lisp/calc/calc-aent.el > > index 2c588c1..2319c48 100644 > > --- a/lisp/calc/calc-aent.el > > +++ b/lisp/calc/calc-aent.el > > @@ -1034,7 +1034,7 @@ in Calc algebraic input.") > > > > (defun math-restore-placeholders (x) > > "Replace placeholders by the proper characters in the symbol x. > > -This includes ‘#’ for ‘_’ and ‘'’ for ‘%’. > > +This includes `#' for `_' and `'' for `%'. > > If the current Calc language does not use placeholders, return nil." > > (if (or (memq calc-language calc-lang-allow-underscores) > > (memq calc-language calc-lang-allow-percentsigns)) > > @@ -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))))) > > > > @@ -1121,7 +1121,7 @@ If the current Calc language does not use > placeholders, return nil." > > (math-read-expr-list)))) > > (if (not (or (equal math-expr-data > calc-function-close) > > (eq math-exp-token 'end))) > > - (throw 'syntax "Expected ‘)’")) > > + (throw 'syntax "Expected `)'")) > > (math-read-token) > > (if (and (memq calc-language > > calc-lang-parens-are-subscripts) > > @@ -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)))) > > @@ -1246,7 +1246,7 @@ If the current Calc language does not use > placeholders, return nil." > > (if (not (or (equal math-expr-data ")") > > (and (equal math-expr-data "]") (eq (car-safe > exp) 'intv)) > > (eq math-exp-token 'end))) > > - (throw 'syntax "Expected ‘)’")) > > + (throw 'syntax "Expected `)'")) > > (math-read-token) > > exp)) > > ((eq math-exp-token 'string) > > diff --git a/lisp/calc/calc-embed.el b/lisp/calc/calc-embed.el > > index 3f6e83e..d0efe53 100644 > > --- a/lisp/calc/calc-embed.el > > +++ b/lisp/calc/calc-embed.el > > @@ -333,7 +333,7 @@ > > (message (concat > > "Embedded Calc mode enabled; " > > (if calc-embedded-quiet > > - "Type ‘C-x * x’" > > + "Type `C-x * x'" > > "Give this command again") > > " to return to normal"))))) > > (scroll-down 0)) ; fix a bug which occurs when truncate-lines is > changed. > > diff --git a/lisp/calc/calc-ext.el b/lisp/calc/calc-ext.el > > index 2442f02..cb6ab6f 100644 > > --- a/lisp/calc/calc-ext.el > > +++ b/lisp/calc/calc-ext.el > > @@ -1957,7 +1957,7 @@ calc-kill calc-kill-region calc-yank)))) > > (desc > > (if (symbolp func) > > (if (= (logand kind 3) 0) > > - (format-message "‘%c’ = %s" key name) > > + (format-message "`%c' = %s" key name) > > (if pos > > (format "%s%c%s" > > (downcase (substring name 0 pos)) > > diff --git a/lisp/calc/calc-graph.el b/lisp/calc/calc-graph.el > > index 8378b23..20b0249 100644 > > --- a/lisp/calc/calc-graph.el > > +++ b/lisp/calc/calc-graph.el > > @@ -958,7 +958,7 @@ This \"dumb\" driver will be present in Gnuplot 3.0." > > (define-key calc-dumb-map "\C-c\C-c" 'exit-recursive-edit))) > > (use-local-map calc-dumb-map) > > (setq truncate-lines t) > > - (message "Type ‘q’ or ‘C-c C-c’ to return to Calc") > > + (message "Type `q' or `C-c C-c' to return to Calc") > > (recursive-edit) > > (bury-buffer "*Gnuplot Trail*"))) > > > > diff --git a/lisp/calc/calc-help.el b/lisp/calc/calc-help.el > > index 395b12d..444bb5e 100644 > > --- a/lisp/calc/calc-help.el > > +++ b/lisp/calc/calc-help.el > > @@ -240,7 +240,7 @@ C-w Describe how there is no warranty for Calc." > > (if (string-match "\\` +" prompts) > > (setq prompts (substring prompts (match-end 0)))) > > (setq msg (format-message > > - "%s: %s%s‘%s’%s%s %s%s" > > + "%s: %s%s`%s'%s%s %s%s" > > (if (string-match > > "\\`\\(calc-[-a-zA-Z0-9]+\\) > *\\(.*\\)\\'" > > cmd) > > @@ -345,7 +345,7 @@ C-w Describe how there is no warranty for Calc." > > (calc-describe-thing var "Variable Index")) > > > > (defun calc-describe-thing (thing where &optional target not-quoted) > > - (message "Looking for ‘%s’ in %s..." thing where) > > + (message "Looking for `%s' in %s..." thing where) > > (let ((savewin (current-window-configuration))) > > (calc-info-goto-node where) > > (or (let ((case-fold-search nil)) > > @@ -361,7 +361,7 @@ C-w Describe how there is no warranty for Calc." > > (if Info-history > > (Info-last)) > > (set-window-configuration savewin) > > - (error "Can't find ‘%s’ in %s" thing where))) > > + (error "Can't find `%s' in %s" thing where))) > > (let (Info-history) > > (Info-goto-node (buffer-substring (match-beginning 1) (match-end > 1)))) > > (let* ((string-target (or target thing)) > > @@ -380,7 +380,7 @@ C-w Describe how there is no warranty for Calc." > > (re-search-forward quoted nil t) > > (search-forward string-target nil t))))) > > (beginning-of-line) > > - (message "Found ‘%s’ in %s" thing where))) > > + (message "Found `%s' in %s" thing where))) > > > > (defun calc-view-news () > > (interactive) > > @@ -400,9 +400,9 @@ C-w Describe how there is no warranty for Calc." > > (princ "GNU Emacs Calculator.\n") > > (princ " By Dave Gillespie.\n") > > (princ (format " %s\n\n" emacs-copyright)) > > - (princ (format-message "Type ‘h s’ for a more detailed summary.\n")) > > + (princ (format-message "Type `h s' for a more detailed summary.\n")) > > (princ (format-message > > - "Or type ‘h i’ to read the full Calc manual on-line.\n\n")) > > + "Or type `h i' to read the full Calc manual on-line.\n\n")) > > (princ "Basic keys:\n") > > (let* ((calc-full-help-flag t)) > > (mapc (function (lambda (x) (princ (format > > @@ -417,10 +417,10 @@ C-w Describe how there is no warranty for Calc." > > (princ > > (if (eq (nth 2 msgs) ?v) > > (format-message > > - "\n‘v’ or ‘V’ prefix > (vector/matrix) keys: \n") > > + "\n`v' or `V' prefix > (vector/matrix) keys: \n") > > (if (nth 2 msgs) > > (format-message > > - "\n‘%c’ prefix (%s) keys:\n" > > + "\n`%c' prefix (%s) keys:\n" > > (nth 2 msgs) > > (or (cdr (assq (nth 2 msgs) > > > calc-help-long-names)) > > diff --git a/lisp/calc/calc-lang.el b/lisp/calc/calc-lang.el > > index 70a9ff8..6b3b949 100644 > > --- a/lisp/calc/calc-lang.el > > +++ b/lisp/calc/calc-lang.el > > @@ -94,7 +94,7 @@ > > (interactive) > > (calc-wrapper > > (calc-set-language 'c) > > - (message "‘C’ language mode"))) > > + (message "C language mode"))) > > > > (put 'c 'math-oper-table > > '( ( "u!" calcFunc-lnot -1 1000 ) > > @@ -387,7 +387,7 @@ > > math-exp-token 'end > > math-expr-data "\000") > > x) > > - (throw 'syntax "Unmatched closing ‘/’"))) > > + (throw 'syntax "Unmatched closing `/'"))) > > > > (defun math-parse-fortran-subscr (sym args) > > (setq sym (math-build-var-name sym)) > > @@ -695,7 +695,7 @@ > > > > (defun math-parse-tex-sum (f val) > > (let (low high save) > > - (or (equal math-expr-data "_") (throw 'syntax "Expected ‘_’")) > > + (or (equal math-expr-data "_") (throw 'syntax "Expected `_'")) > > (math-read-token) > > (setq save math-exp-old-pos) > > (setq low (math-read-factor)) > > @@ -703,7 +703,7 @@ > > (progn > > (setq math-exp-old-pos (1+ save)) > > (throw 'syntax "Expected equation"))) > > - (or (equal math-expr-data "^") (throw 'syntax "Expected ‘^’")) > > + (or (equal math-expr-data "^") (throw 'syntax "Expected `^'")) > > (math-read-token) > > (setq high (math-read-factor)) > > (list (nth 2 f) (math-read-factor) (nth 1 low) (nth 2 low) high))) > > @@ -1165,14 +1165,14 @@ > > (while (assoc math-expr-data '(("ccol") ("lcol") ("rcol"))) > > (math-read-token) > > (or (equal math-expr-data calc-function-open) > > - (throw 'syntax "Expected ‘{’")) > > + (throw 'syntax "Expected `{'")) > > (math-read-token) > > (setq vec (cons (cons 'vec (math-read-expr-list)) vec)) > > (or (equal math-expr-data calc-function-close) > > - (throw 'syntax "Expected ‘}’")) > > + (throw 'syntax "Expected `}'")) > > (math-read-token)) > > (or (equal math-expr-data calc-function-close) > > - (throw 'syntax "Expected ‘}’")) > > + (throw 'syntax "Expected `}'")) > > (math-read-token) > > (math-transpose (cons 'vec (nreverse vec))))) > > > > @@ -1187,7 +1187,7 @@ > > (math-read-expr-list)))) > > (if (not (or (equal math-expr-data calc-function-close) > > (eq math-exp-token 'end))) > > - (throw 'syntax "Expected ‘)’")) > > + (throw 'syntax "Expected `)'")) > > (math-read-token) > > (cons (intern (format "calcFunc-%s'" (nth 1 x))) args))) > > (list 'var > > @@ -1211,7 +1211,7 @@ > > (interactive) > > (calc-wrapper > > (calc-set-language 'yacas) > > - (message "‘Yacas’ language mode"))) > > + (message "Yacas language mode"))) > > > > (put 'yacas 'math-vector-brackets "{}") > > > > @@ -1427,7 +1427,7 @@ > > (interactive) > > (calc-wrapper > > (calc-set-language 'maxima) > > - (message "‘Maxima’ language mode"))) > > + (message "Maxima language mode"))) > > > > (put 'maxima 'math-oper-table > > '(("+" + 100 100) > > @@ -1625,7 +1625,7 @@ > > (interactive) > > (calc-wrapper > > (calc-set-language 'giac) > > - (message "‘Giac’ language mode"))) > > + (message "Giac language mode"))) > > > > (put 'giac 'math-oper-table > > '( ( "[" (math-read-giac-subscr) 250 -1 ) > > @@ -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))) > > > > @@ -2237,7 +2237,7 @@ order to Calc's." > > (if (= sep ?\.) > > (setq h (1+ h))) > > (if (= sep ?\]) > > - (math-read-big-error (1- h) v "Expected ‘)’")) > > + (math-read-big-error (1- h) v "Expected `)'")) > > (if (= sep ?\)) > > (setq p (math-read-big-rec > > (1+ math-rb-h1) math-rb-v1 (1- h) > math-rb-v2 v)) > > @@ -2252,7 +2252,7 @@ order to Calc's." > > 0 1) > > p)))) > > ((= (math-read-big-char (1- h) v) ?\]) > > - (math-read-big-error (1- h) v "Expected ‘)’")) > > + (math-read-big-error (1- h) v "Expected `)'")) > > ((= sep ?\,) > > (or (and (math-realp (car p)) (math-realp (nth 1 > p))) > > (math-read-big-error > > @@ -2280,7 +2280,7 @@ order to Calc's." > > (setq h (math-read-big-balance (1+ hleft) v "[")) > > (if hright > > (or (= h hright) > > - (math-read-big-error hright v "Expected > ‘]’")) > > + (math-read-big-error hright v "Expected > `]'")) > > (setq hright h)) > > (setq p (cons (math-read-big-rec > > hleft v h (1+ v)) p)) > > @@ -2293,7 +2293,7 @@ order to Calc's." > > (setq h (1+ h))) > > (and (= (math-read-big-char h v) ?\]) > > (setq h (1+ h)))) > > - (math-read-big-error (1- h) v "Expected ‘]’")) > > + (math-read-big-error (1- h) v "Expected `]'")) > > (if (= (math-read-big-char h vtop) ?\,) > > (setq h (1+ h))) > > (math-read-big-emptyp math-rb-h1 (1+ v) (1- h) math-rb-v2 > nil t) > > @@ -2317,7 +2317,7 @@ order to Calc's." > > (setq widest (math-read-big-char (1- h) v)) > > (if (or (memq widest '(?\; ?\))) > > (and (eq widest ?\.) (cdr p))) > > - (math-read-big-error (1- h) v "Expected ‘]’")) > > + (math-read-big-error (1- h) v "Expected `]'")) > > (if (= widest ?\.) > > (setq h (1+ h) > > widest (math-read-big-balance h v "[") > > @@ -2369,7 +2369,7 @@ order to Calc's." > > h widest) > > (= (math-read-big-char (1- h) v) ?\,))) > > (or (= (math-read-big-char (1- h) v) ?\)) > > - (math-read-big-error (1- h) v "Expected ‘)’")) > > + (math-read-big-error (1- h) v "Expected `)'")) > > (setq p (cons line (nreverse p)))) > > (setq p (list 'var > > (intern (math-remove-dashes p)) > > @@ -2433,7 +2433,7 @@ order to Calc's." > > math-rb-v2 baseline nil t))) > > (or (= (math-read-big-char math-read-big-h2 baseline) > ?\:) > > (math-read-big-error math-read-big-h2 baseline > > - "Expected ‘:’")) > > + "Expected `:'")) > > (setq p (list (nth 1 widest) p y > > (math-read-big-rec > > (1+ math-read-big-h2) math-rb-v1 > math-rb-h2 math-rb-v2 > > @@ -2509,7 +2509,7 @@ order to Calc's." > > (if (>= h len) > > (if what > > (math-read-big-error nil v (format-message > > - "Unmatched ‘%s’" what)) > > + "Unmatched `%s'" what)) > > (setq count 0)) > > (if (memq (aref line h) '(?\( ?\[)) > > (setq count (1+ count)) > > diff --git a/lisp/calc/calc-misc.el b/lisp/calc/calc-misc.el > > index e141589..aa0ccb7 100644 > > --- a/lisp/calc/calc-misc.el > > +++ b/lisp/calc/calc-misc.el > > @@ -217,7 +217,7 @@ Calc user interface as before (either C-x * C or C-x > * K; initially C-x * C). > > (defun calc-help () > > (interactive) > > (let ((msgs > > - '("Press ‘h’ for complete help; press ‘?’ repeatedly for a > summary" > > + '("Press `h' for complete help; press `?' repeatedly for a > summary" > > "Letter keys: Negate; Precision; Yank; Why; Xtended cmd; Quit" > > "Letter keys: SHIFT + Undo, reDo; Inverse, Hyperbolic, Option" > > "Letter keys: SHIFT + sQrt; Sin, Cos, Tan; Exp, Ln, logB" > > @@ -953,7 +953,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 ‘\\[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-mode.el b/lisp/calc/calc-mode.el > > index b5eef7f..3ed9612 100644 > > --- a/lisp/calc/calc-mode.el > > +++ b/lisp/calc/calc-mode.el > > @@ -110,11 +110,11 @@ > > (setq n (and (not (eq calc-auto-why t)) (if calc-auto-why t 1)))) > > (calc-change-mode 'calc-auto-why n nil) > > (cond ((null n) > > - (message "User must press ‘w’ to explain unsimplified > results")) > > + (message "User must press `w' to explain unsimplified > results")) > > ((eq n t) > > - (message "Automatically doing ‘w’ to explain unsimplified > results")) > > + (message "Automatically doing `w' to explain unsimplified > results")) > > (t > > - (message "Automatically doing ‘w’ only for unusual > messages"))))) > > + (message "Automatically doing `w' only for unusual > messages"))))) > > > > (defun calc-group-digits (n) > > (interactive "P") > > @@ -272,7 +272,7 @@ > > (vals (mapcar (function (lambda (v) (symbol-value (car v)))) > > calc-mode-var-list))) > > (unless calc-settings-file > > - (error "No ‘calc-settings-file’ specified")) > > + (error "No `calc-settings-file' specified")) > > (set-buffer (find-file-noselect (substitute-in-file-name > > calc-settings-file))) > > (goto-char (point-min)) > > @@ -572,8 +572,8 @@ > > (calc-change-mode 'calc-auto-recompute arg nil t) > > (calc-refresh-evaltos) > > (message (if calc-auto-recompute > > - "Automatically recomputing ‘=>’ forms when necessary" > > - "Not recomputing ‘=>’ forms automatically")))) > > + "Automatically recomputing `=>' forms when necessary" > > + "Not recomputing `=>' forms automatically")))) > > > > (defun calc-working (n) > > (interactive "P") > > diff --git a/lisp/calc/calc-prog.el b/lisp/calc/calc-prog.el > > index 58d2b5c..57af0d2 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))) > > @@ -673,7 +673,7 @@ > > (or last-kbd-macro > > (error "No keyboard macro defined")) > > (setq calc-invocation-macro last-kbd-macro) > > - (message "Use ‘C-x * Z’ to invoke this macro")) > > + (message "Use `C-x * Z' to invoke this macro")) > > > > (defun calc-user-define-edit () > > (interactive) ; but no calc-wrapper! > > @@ -1899,7 +1899,7 @@ Redefine the corresponding command." > > `((and > > (,chk ,var) > > (math-reject-arg ,var ',qual))))) > > - (error "Unknown qualifier ‘%s’" qual-name)))))))) > > + (error "Unknown qualifier `%s'" qual-name)))))))) > > > > (defun math-do-arg-list-check (args is-opt is-rest) > > (cond ((null args) nil) > > diff --git a/lisp/calc/calc-store.el b/lisp/calc/calc-store.el > > index 4cf5b8c..3d8c865 100644 > > --- a/lisp/calc/calc-store.el > > +++ b/lisp/calc/calc-store.el > > @@ -443,7 +443,7 @@ > > (calc-edit-mode (list 'calc-finish-stack-edit (list 'quote var)) > > t > > (format-message > > - "Editing variable ‘%s’" (calc-var-name var))) > > + "Editing variable `%s'" (calc-var-name var))) > > (and value > > (insert (math-format-nice-expr value (frame-width)) > "\n"))))) > > (calc-show-edit-buffer)) > > diff --git a/lisp/calc/calc-units.el b/lisp/calc/calc-units.el > > index d56c0b2..4373e52 100644 > > --- a/lisp/calc/calc-units.el > > +++ b/lisp/calc/calc-units.el > > @@ -1625,10 +1625,10 @@ If COMP or STD is non-nil, put that in the units > table instead." > > (format-message > > (concat > > "(**) When in TeX or LaTeX display mode, the TeX > specific unit\n" > > - "names will not use the ‘tex’ prefix; the unit name for > a\n" > > - "TeX point will be ‘pt’ instead of ‘texpt’, for > example.\n" > > + "names will not use the `tex' prefix; the unit name for > a\n" > > + "TeX point will be `pt' instead of `texpt', for > example.\n" > > "To avoid conflicts, the unit names for pint and parsec > will\n" > > - "be ‘pint’ and ‘parsec’ instead of ‘pt’ and ‘pc’.")))) > > + "be `pint' and `parsec' instead of `pt' and `pc'.")))) > > (view-mode) > > (message "Formatting units table...done")) > > (setq math-units-table-buffer-valid t) > > diff --git a/lisp/calc/calc-vec.el b/lisp/calc/calc-vec.el > > index c7a3e716..cd15770 100644 > > --- a/lisp/calc/calc-vec.el > > +++ b/lisp/calc/calc-vec.el > > @@ -1618,13 +1618,13 @@ of two matrices is a matrix." > > (if (not (or (equal math-expr-data math-rb-close) > > (equal math-expr-data ")") > > (eq math-exp-token 'end))) > > - (throw 'syntax "Expected ‘]’"))) > > + (throw 'syntax "Expected `]'"))) > > (if (equal math-expr-data ";") > > (let ((math-exp-keep-spaces space-sep)) > > (setq vals (cons 'vec (math-read-matrix (list vals)))))) > > (if (not (or (equal math-expr-data math-rb-close) > > (eq math-exp-token 'end))) > > - (throw 'syntax "Expected ‘]’"))) > > + (throw 'syntax "Expected `]'"))) > > (or (eq math-exp-token 'end) > > (math-read-token)) > > vals))) > > diff --git a/lisp/calc/calc-yank.el b/lisp/calc/calc-yank.el > > index cce0470..5694a4e 100644 > > --- a/lisp/calc/calc-yank.el > > +++ b/lisp/calc/calc-yank.el > > @@ -603,9 +603,9 @@ To cancel the edit, simply kill the *Calc Edit* > buffer." > > (insert (propertize > > (concat > > (or title title "Calc Edit Mode. ") > > - (format-message "Press ‘C-c C-c’") > > + (format-message "Press `C-c C-c'") > > (if allow-ret "" " or RET") > > - (format-message " to finish, ‘C-x k RET’ to cancel.\n\n")) > > + (format-message " to finish, `C-x k RET' to cancel.\n\n")) > > 'font-lock-face 'italic 'read-only t 'rear-nonsticky t > 'front-sticky t)) > > (make-local-variable 'calc-edit-top) > > (setq calc-edit-top (point)))) > > diff --git a/lisp/calc/calc.el b/lisp/calc/calc.el > > index ea20986..b4b0ad8 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 > > @@ -1474,7 +1474,7 @@ commands given here will actually operate on the > *Calculator* stack." > > (and calc-display-trail > > (= (window-width) (frame-width)) > > (calc-trail-display 1 t))) > > - (message "Welcome to the GNU Emacs Calculator! Press ‘?’ or ‘h’ > for help, ‘q’ to quit") > > + (message "Welcome to the GNU Emacs Calculator! Press `?' or `h' > for help, `q' to quit") > > (run-hooks 'calc-start-hook) > > (and (windowp full-display) > > (window-point full-display) > > @@ -1622,7 +1622,7 @@ See calc-keypad for details." > > (stringp (nth 1 err)) > > (string-match > "max-specpdl-size\\|max-lisp-eval-depth" > > (nth 1 err))) > > - (error "Computation got stuck or ran too long. Type ‘M’ > to increase the limit") > > + (error "Computation got stuck or ran too long. Type `M' > to increase the limit") > > (setq calc-aborted-prefix nil) > > (signal (car err) (cdr err))))) > > (when calc-aborted-prefix > > @@ -3856,7 +3856,7 @@ Also looks for the equivalent TeX words, \\gets > and \\evalto." > > (defun calc-user-invocation () > > (interactive) > > (unless calc-invocation-macro > > - (error "Use ‘Z I’ inside Calc to define a ‘C-x * Z’ keyboard > macro")) > > + (error "Use `Z I' inside Calc to define a `C-x * Z' keyboard > macro")) > > (execute-kbd-macro calc-invocation-macro nil)) > > > > ;;; User-programmability. > > diff --git a/lisp/calculator.el b/lisp/calculator.el > > index 49d47a0..80b7c07 100644 > > --- a/lisp/calculator.el > > +++ b/lisp/calculator.el > > @@ -1551,7 +1551,7 @@ Used by `calculator-paste' and `get-register'." > > + - * / \\(div) %(rem) _(-X,postfix) ;(1/X,postfix) ^(exp) L(og) > > Q(sqrt) !(fact) S(in) C(os) T(an) |(or) #(xor) &(and) ~(not) > > * >/< repeats last binary operation with its 2nd (1st) arg as postfix op > > -* I inverses next trig function * '/\"/{} - display/display args > > +* I inverses next trig function * \\='/\"/{} - display/display > args > > * D - switch to all-decimal, or toggle deg/rad mode > > * B/O/H/X - binary/octal/hex mode for i/o (X is a shortcut for H) > > * i/o - prefix for d/b/o/x - set only input/output modes > > diff --git a/lisp/calendar/appt.el b/lisp/calendar/appt.el > > index 426bb28..d5d8a40 100644 > > --- a/lisp/calendar/appt.el > > +++ b/lisp/calendar/appt.el > > @@ -239,7 +239,7 @@ also calls `beep' for an audible reminder." > > (wrong-type-argument > > (if (not (listp mins)) > > (signal (car err) (cdr err)) > > - (message "Argtype error in ‘appt-disp-window-function’ > - \ > > + (message "Argtype error in `appt-disp-window-function' > - \ > > update it for multiple appts?") > > ;; Fallback to just displaying the first appt, as we > used to. > > (funcall appt-disp-window-function > > diff --git a/lisp/calendar/cal-bahai.el b/lisp/calendar/cal-bahai.el > > index b68ba8a..998dc6c 100644 > > --- a/lisp/calendar/cal-bahai.el > > +++ b/lisp/calendar/cal-bahai.el > > @@ -1,10 +1,10 @@ > > -;;; cal-bahai.el --- calendar functions for the Bahá'í calendar. > > +;;; cal-bahai.el --- calendar functions for the Bahá’í calendar. > > > > ;; Copyright (C) 2001-2015 Free Software Foundation, Inc. > > > > ;; Author: John Wiegley > > ;; Keywords: calendar > > -;; Human-Keywords: Bahá'í calendar, Bahá'í, Baha'i, Bahai, calendar, > diary > > +;; Human-Keywords: Bahá’í calendar, Bahá’í, Baha'i, Bahai, calendar, > diary > > ;; Package: calendar > > > > ;; This file is part of GNU Emacs. > > @@ -25,9 +25,9 @@ > > ;;; Commentary: > > > > ;; This collection of functions implements the features of calendar.el > > -;; and diary-lib.el that deal with the Bahá'í calendar. > > +;; and diary-lib.el that deal with the Bahá’í calendar. > > > > -;; The Bahá'í (http://www.bahai.org) calendar system is based on a > > +;; The Bahá’í (http://www.bahai.org) calendar system is based on a > > ;; solar cycle of 19 months with 19 days each. The four remaining > > ;; "intercalary" days are called the Ayyám-i-Há (days of Há), and are > > ;; placed between the 18th and 19th months. They are meant as a time > > @@ -59,13 +59,13 @@ > > ["Bahá" "Jalál" "Jamál" "‘Aẓamat" "Núr" "Raḥmat" "Kalimát" "Kamál" > > "Asmá’" "‘Izzat" "Mashíyyat" "‘Ilm" "Qudrat" "Qawl" "Masá’il" > > "Sharaf" "Sulṭán" "Mulk" "‘Alá’"] > > - "Array of the month names in the Bahá'í calendar.") > > + "Array of the month names in the Bahá’í calendar.") > > > > (defconst calendar-bahai-epoch (calendar-absolute-from-gregorian '(3 21 > 1844)) > > - "Absolute date of start of Bahá'í calendar = March 21, 1844 AD.") > > + "Absolute date of start of Bahá’í calendar = March 21, 1844 AD.") > > > > (defun calendar-bahai-leap-year-p (year) > > - "True if Bahá'í YEAR is a leap year in the Bahá'í calendar." > > + "True if Bahá’í YEAR is a leap year in the Bahá’í calendar." > > (calendar-leap-year-p (+ year 1844))) > > > > (defconst calendar-bahai-leap-base > > @@ -74,7 +74,7 @@ > > Used by `calendar-bahai-to-absolute'.") > > > > (defun calendar-bahai-to-absolute (date) > > - "Compute absolute date from Bahá'í date DATE. > > + "Compute absolute date from Bahá’í date DATE. > > The absolute date is the number of days elapsed since the (imaginary) > > Gregorian date Sunday, December 31, 1 BC." > > (let* ((month (calendar-extract-month date)) > > @@ -95,9 +95,9 @@ Gregorian date Sunday, December 31, 1 BC." > > day))) ; days so far this month > > > > (defun calendar-bahai-from-absolute (date) > > - "Bahá'í date (month day year) corresponding to the absolute DATE." > > + "Bahá’í date (month day year) corresponding to the absolute DATE." > > (if (< date calendar-bahai-epoch) > > - (list 0 0 0) ; pre-Bahá'í date > > + (list 0 0 0) ; pre-Bahá’í date > > (let* ((greg (calendar-gregorian-from-absolute date)) > > (gmonth (calendar-extract-month greg)) > > (year (+ (- (calendar-extract-year greg) 1844) > > @@ -116,7 +116,7 @@ Gregorian date Sunday, December 31, 1 BC." > > > > ;;;###cal-autoload > > (defun calendar-bahai-date-string (&optional date) > > - "String of Bahá'í date of Gregorian DATE. > > + "String of Bahá’í date of Gregorian DATE. > > Defaults to today's date if DATE is not given." > > (let* ((bahai-date (calendar-bahai-from-absolute > > (calendar-absolute-from-gregorian > > @@ -142,19 +142,19 @@ Defaults to today's date if DATE is not given." > > > > ;;;###cal-autoload > > (defun calendar-bahai-print-date () > > - "Show the Bahá'í calendar equivalent of the selected date." > > + "Show the Bahá’í calendar equivalent of the selected date." > > (interactive) > > (let ((s (calendar-bahai-date-string (calendar-cursor-to-date t)))) > > (if (string-equal s "") > > - (message "Date is pre-Bahá'í") > > - (message "Bahá'í date: %s" s)))) > > + (message "Date is pre-Bahá’í") > > + (message "Bahá’í date: %s" s)))) > > > > (defun calendar-bahai-read-date () > > - "Interactively read the arguments for a Bahá'í date command. > > + "Interactively read the arguments for a Bahá’í date command. > > Reads a year, month and day." > > (let* ((today (calendar-current-date)) > > (year (calendar-read > > - "Bahá'í calendar year (not 0): " > > + "Bahá’í calendar year (not 0): " > > (lambda (x) (not (zerop x))) > > (number-to-string > > (calendar-extract-year > > @@ -163,19 +163,19 @@ Reads a year, month and day." > > (completion-ignore-case t) > > (month (cdr (assoc > > (completing-read > > - "Bahá'í calendar month name: " > > + "Bahá’í calendar month name: " > > (mapcar 'list > > (append calendar-bahai-month-name-array > nil)) > > nil t) > > (calendar-make-alist > calendar-bahai-month-name-array > > 1)))) > > - (day (calendar-read "Bahá'í calendar day (1-19): " > > + (day (calendar-read "Bahá’í calendar day (1-19): " > > (lambda (x) (and (< 0 x) (<= x 19)))))) > > (list (list month day year)))) > > > > ;;;###cal-autoload > > (defun calendar-bahai-goto-date (date &optional noecho) > > - "Move cursor to Bahá'í date DATE; echo Bahá'í date unless NOECHO is > non-nil." > > + "Move cursor to Bahá’í date DATE; echo Bahá’í date unless NOECHO is > non-nil." > > (interactive (calendar-bahai-read-date)) > > (calendar-goto-date (calendar-gregorian-from-absolute > > (calendar-bahai-to-absolute date))) > > @@ -186,8 +186,8 @@ Reads a year, month and day." > > > > ;;;###holiday-autoload > > (defun holiday-bahai (month day string) > > - "Holiday on MONTH, DAY (Bahá'í) called STRING. > > -If MONTH, DAY (Bahá'í) is visible in the current calendar window, > > + "Holiday on MONTH, DAY (Bahá’í) called STRING. > > +If MONTH, DAY (Bahá’í) is visible in the current calendar window, > > returns the corresponding Gregorian date in the form of the > > list (((month day year) STRING)). Otherwise, returns nil." > > ;; Since the calendar window shows 3 months at a time, there are > > @@ -199,7 +199,7 @@ list (((month day year) STRING)). Otherwise, > returns nil." > > (m (calendar-extract-month bahai-date)) > > (y (calendar-extract-year bahai-date)) > > date) > > - (unless (< m 1) ; Bahá'í calendar doesn't apply > > + (unless (< m 1) ; Bahá’í calendar doesn't apply > > ;; Cf holiday-fixed, holiday-islamic. > > ;; With a +- 3 month calendar window, and 19 months per year, > > ;; month 16 is special. When m16 is central is when the > > @@ -209,7 +209,7 @@ list (((month day year) STRING)). Otherwise, > returns nil." > > ;; To see if other months are visible we can shift the range > > ;; accordingly. > > (calendar-increment-month m y (- 16 month) 19) > > - (and (> m 12) ; Bahá'í date might be visible > > + (and (> m 12) ; Bahá’í date might be visible > > (calendar-date-is-visible-p > > (setq date (calendar-gregorian-from-absolute > > (calendar-bahai-to-absolute (list month day > y))))) > > @@ -219,9 +219,9 @@ list (((month day year) STRING)). Otherwise, > returns nil." > > > > ;;;###holiday-autoload > > (defun holiday-bahai-new-year () > > - "Holiday entry for the Bahá'í New Year, if visible in the calendar > window." > > + "Holiday entry for the Bahá’í New Year, if visible in the calendar > window." > > (holiday-fixed 3 21 > > - (format "Bahá'í New Year (Naw-Ruz) %d" > > + (format "Bahá’í New Year (Naw-Ruz) %d" > > (- displayed-year (1- 1844))))) > > > > ;;;###holiday-autoload > > @@ -246,12 +246,12 @@ Only considers the first, ninth, and twelfth days, > unless ALL or > > > > ;;;###diary-autoload > > (defun diary-bahai-list-entries () > > - "Add any Bahá'í date entries from the diary file to > `diary-entries-list'. > > -Bahá'í date diary entries must be prefaced by `diary-bahai-entry-symbol' > > + "Add any Bahá’í date entries from the diary file to > `diary-entries-list'. > > +Bahá’í date diary entries must be prefaced by `diary-bahai-entry-symbol' > > \(normally a `B'). The same diary date forms govern the style of the > > -Bahá'í calendar entries, except that the Bahá'í month names cannot be > > -abbreviated. The Bahá'í months are numbered from 1 to 19 with Bahá > being > > -1 and 19 being `Alá. If a Bahá'í date diary entry begins with > > +Bahá’í calendar entries, except that the Bahá’í month names cannot be > > +abbreviated. The Bahá’í months are numbered from 1 to 19 with Bahá > being > > +1 and 19 being `Alá. If a Bahá’í date diary entry begins with > > `diary-nonmarking-symbol', the entry will appear in the diary listing, > but > > will not be marked in the calendar. This function is provided for use > with > > `diary-nongregorian-listing-hook'." > > @@ -263,7 +263,7 @@ will not be marked in the calendar. This function > is provided for use with > > > > ;;;###diary-autoload > > (defun calendar-bahai-mark-date-pattern (month day year &optional color) > > - "Mark dates in calendar window that conform to Bahá'í date > MONTH/DAY/YEAR. > > + "Mark dates in calendar window that conform to Bahá’í date > MONTH/DAY/YEAR. > > A value of 0 in any position is a wildcard. Optional argument COLOR is > > passed to `calendar-mark-visible-date' as MARK." > > (calendar-mark-1 month day year 'calendar-bahai-from-absolute > > @@ -273,7 +273,7 @@ passed to `calendar-mark-visible-date' as MARK." > > > > ;;;###diary-autoload > > (defun diary-bahai-mark-entries () > > - "Mark days in the calendar window that have Bahá'í date diary entries. > > + "Mark days in the calendar window that have Bahá’í date diary entries. > > Marks each entry in `diary-file' (or included files) visible in the > calendar > > window. See `diary-bahai-list-entries' for more information." > > (diary-mark-entries-1 'calendar-bahai-mark-date-pattern > > @@ -286,7 +286,7 @@ window. See `diary-bahai-list-entries' for more > information." > > ;;;###cal-autoload > > (defun diary-bahai-insert-entry (arg) > > "Insert a diary entry. > > -For the Bahá'í date corresponding to the date indicated by point. > > +For the Bahá’í date corresponding to the date indicated by point. > > Prefix argument ARG makes the entry nonmarking." > > (interactive "P") > > (diary-insert-entry-1 nil arg calendar-bahai-month-name-array > > @@ -296,7 +296,7 @@ Prefix argument ARG makes the entry nonmarking." > > ;;;###cal-autoload > > (defun diary-bahai-insert-monthly-entry (arg) > > "Insert a monthly diary entry. > > -For the day of the Bahá'í month corresponding to the date indicated by > point. > > +For the day of the Bahá’í month corresponding to the date indicated by > point. > > Prefix argument ARG makes the entry nonmarking." > > (interactive "P") > > (diary-insert-entry-1 'monthly arg calendar-bahai-month-name-array > > @@ -306,7 +306,7 @@ Prefix argument ARG makes the entry nonmarking." > > ;;;###cal-autoload > > (defun diary-bahai-insert-yearly-entry (arg) > > "Insert an annual diary entry. > > -For the day of the Bahá'í year corresponding to the date indicated by > point. > > +For the day of the Bahá’í year corresponding to the date indicated by > point. > > Prefix argument ARG will make the entry nonmarking." > > (interactive "P") > > (diary-insert-entry-1 'yearly arg calendar-bahai-month-name-array > > @@ -318,8 +318,8 @@ Prefix argument ARG will make the entry nonmarking." > > ;; To be called from diary-list-sexp-entries, where DATE is bound. > > ;;;###diary-autoload > > (defun diary-bahai-date () > > - "Bahá'í calendar equivalent of date diary entry." > > - (format "Bahá'í date: %s" (calendar-bahai-date-string date))) > > + "Bahá’í calendar equivalent of date diary entry." > > + (format "Bahá’í date: %s" (calendar-bahai-date-string date))) > > > > > > (provide 'cal-bahai) > > diff --git a/lisp/calendar/cal-hebrew.el b/lisp/calendar/cal-hebrew.el > > index 8a975d8..8bb1b88 100644 > > --- a/lisp/calendar/cal-hebrew.el > > +++ b/lisp/calendar/cal-hebrew.el > > @@ -611,7 +611,7 @@ is provided for use with > `diary-nongregorian-listing-hook'." > > "Mark dates in calendar window that conform to Hebrew date > MONTH/DAY/YEAR. > > A value of 0 in any position is a wildcard. Optional argument COLOR is > > passed to `calendar-mark-visible-date' as MARK." > > - ;; FIXME not the same as the Bahai and Islamic cases, so can't use > > + ;; FIXME not the same as the Bahá’í and Islamic cases, so can't use > > ;; calendar-mark-1. > > (with-current-buffer calendar-buffer > > (if (and (not (zerop month)) (not (zerop day))) > > diff --git a/lisp/calendar/cal-menu.el b/lisp/calendar/cal-menu.el > > index 7462df8..251d811 100644 > > --- a/lisp/calendar/cal-menu.el > > +++ b/lisp/calendar/cal-menu.el > > @@ -52,7 +52,7 @@ > > ["Insert Anniversary" diary-insert-anniversary-entry] > > ["Insert Block" diary-insert-block-entry] > > ["Insert Cyclic" diary-insert-cyclic-entry] > > - ("Insert Bahá'í" > > + ("Insert Bahá’í" > > ["One time" diary-bahai-insert-entry] > > ["Monthly" diary-bahai-insert-monthly-entry] > > ["Yearly" diary-bahai-insert-yearly-entry]) > > @@ -132,7 +132,7 @@ > > ["Astronomical Date" calendar-astro-goto-day-number] > > ["Hebrew Date" calendar-hebrew-goto-date] > > ["Persian Date" calendar-persian-goto-date] > > - ["Bahá'í Date" calendar-bahai-goto-date] > > + ["Bahá’í Date" calendar-bahai-goto-date] > > ["Islamic Date" calendar-islamic-goto-date] > > ["Julian Date" calendar-julian-goto-date] > > ["Chinese Date" calendar-chinese-goto-date] > > diff --git a/lisp/calendar/cal-tex.el b/lisp/calendar/cal-tex.el > > index e2e9182..e512fae 100644 > > --- a/lisp/calendar/cal-tex.el > > +++ b/lisp/calendar/cal-tex.el > > @@ -1602,7 +1602,7 @@ informative header, and run HOOK." > > (goto-char (point-min)) > > (when (search-forward "documentclass" nil t) > > (forward-line 1) > > - ;; Eg for some Bahai holidays. > > + ;; E.g., for some Bahá’í holidays. > > ;; FIXME latin1 might not always be right. > > (insert "\\usepackage[latin1]{inputenc}\n")))) > > (latex-mode) > > diff --git a/lisp/calendar/calendar.el b/lisp/calendar/calendar.el > > index 07977af..86e5477 100644 > > --- a/lisp/calendar/calendar.el > > +++ b/lisp/calendar/calendar.el > > @@ -42,7 +42,7 @@ > > ;; can be translated from the (usual) Gregorian calendar to the day of > > ;; the year/days remaining in year, to the ISO commercial calendar, to > > ;; the Julian (old style) calendar, to the Hebrew calendar, to the > > -;; Islamic calendar, to the Bahá'í calendar, to the French > > +;; Islamic calendar, to the Bahá’í calendar, to the French > > ;; Revolutionary calendar, to the Mayan calendar, to the Chinese > > ;; calendar, to the Coptic calendar, to the Ethiopic calendar, and to > > ;; the astronomical (Julian) day number. Times of sunrise/sunset can > > @@ -53,7 +53,7 @@ > > ;; The following files are part of the calendar/diary code: > > > > ;; appt.el Appointment notification > > -;; cal-bahai.el Bahá'í calendar > > +;; cal-bahai.el Bahá’í calendar > > ;; cal-china.el Chinese calendar > > ;; cal-coptic.el Coptic/Ethiopic calendars > > ;; cal-dst.el Daylight saving time rules > > @@ -375,7 +375,7 @@ When this expression is evaluated, DAY, MONTH, and > YEAR are > > integers appropriate to the relevant date. For example, to > > display the ISO date: > > > > - (setq calendar-date-echo-text '(format \"ISO date: %s\" > > + (setq calendar-date-echo-text \\='(format \"ISO date: %s\" > > (calendar-iso-date-string > > (list month day year)))) > > Changing this variable without using customize has no effect on > > @@ -655,7 +655,7 @@ causes the diary entry \"Vacation\" to appear from > November 1 through > > November 10, 1990. See the documentation for the function > > `diary-list-sexp-entries' for more details. > > > > -Diary entries based on the Hebrew, the Islamic and/or the Bahá'í > > +Diary entries based on the Hebrew, the Islamic and/or the Bahá’í > > calendar are also possible, but because these are somewhat slow, they > > are ignored unless you set the `diary-nongregorian-listing-hook' and > > the `diary-nongregorian-marking-hook' appropriately. See the > > @@ -690,7 +690,7 @@ details, see the documentation for the variable > `diary-list-entries-hook'." > > :group 'diary) > > > > (defcustom diary-bahai-entry-symbol "B" > > - "Symbol indicating a diary entry according to the Bahá'í calendar." > > + "Symbol indicating a diary entry according to the Bahá’í calendar." > > :type 'string > > :group 'diary) > > > > @@ -1013,9 +1013,9 @@ calendar." > > :group 'holidays) > > > > (defcustom calendar-bahai-all-holidays-flag nil > > - "If nil, show only major holidays from the Bahá'í calendar. > > + "If nil, show only major holidays from the Bahá’í calendar. > > These are the days on which work and school must be suspended. > > -Otherwise, show all the holidays that would appear in a complete Bahá'í > > +Otherwise, show all the holidays that would appear in a complete Bahá’í > > calendar." > > :type 'boolean > > :group 'holidays) > > @@ -1708,13 +1708,13 @@ remaining in the year, and the ISO week/year > numbers: > > > > (list > > \"\" > > - '(calendar-hebrew-date-string date) > > - '(let* ((year (calendar-extract-year date)) > > + \\='(calendar-hebrew-date-string date) > > + \\='(let* ((year (calendar-extract-year date)) > > (d (calendar-day-number date)) > > (days-remaining > > (- (calendar-day-number (list 12 31 year)) d))) > > (format \"%d/%d\" d days-remaining)) > > - '(let* ((d (calendar-absolute-from-gregorian date)) > > + \\='(let* ((d (calendar-absolute-from-gregorian date)) > > (iso-date (calendar-iso-from-absolute d))) > > (format \"ISO week %d of %d\" > > (calendar-extract-month iso-date) > > @@ -2571,7 +2571,7 @@ DATE is (month day year). Calendars that do not > apply are omitted." > > (unless (string-equal > > (setq odate (calendar-bahai-date-string date)) > > "") > > - (format "Bahá'í date: %s" odate)) > > + (format "Bahá’í date: %s" odate)) > > (format "Chinese date: %s" > > (calendar-chinese-date-string date)) > > (unless (string-equal > > diff --git a/lisp/calendar/diary-lib.el b/lisp/calendar/diary-lib.el > > index b21fc68..a1370bb 100644 > > --- a/lisp/calendar/diary-lib.el > > +++ b/lisp/calendar/diary-lib.el > > @@ -300,7 +300,7 @@ expressions that can involve the keywords `days' (a > number), `date' > > > > (defcustom diary-abbreviated-year-flag t > > "Interpret a two-digit year DD in a diary entry as either 19DD or > 20DD. > > -This applies to the Gregorian, Hebrew, Islamic, and Bahá'í calendars. > > +This applies to the Gregorian, Hebrew, Islamic, and Bahá’í calendars. > > When the current century is added to a two-digit year, if the result > > is more than 50 years in the future, the previous century is assumed. > > If the result is more than 50 years in the past, the next century is > assumed. > > @@ -484,8 +484,8 @@ If so, return the expanded file name, otherwise > signal an error." > > (if (and diary-file (file-exists-p diary-file)) > > (if (file-readable-p diary-file) > > diary-file > > - (error "Diary file ‘%s’ is not readable" diary-file)) > > - (error "Diary file ‘%s’ does not exist" diary-file))) > > + (error "Diary file `%s' is not readable" diary-file)) > > + (error "Diary file `%s' does not exist" diary-file))) > > > > ;;;###autoload > > (defun diary (&optional arg) > > @@ -1199,7 +1199,7 @@ ensure that all relevant variables are set. > > " > > (interactive "P") > > (if (string-equal diary-mail-addr "") > > - (user-error "You must set ‘diary-mail-addr’ to use this command") > > + (user-error "You must set `diary-mail-addr' to use this command") > > (let ((diary-display-function 'diary-fancy-display)) > > (diary-list-entries (calendar-current-date) (or ndays > diary-mail-days))) > > (compose-mail diary-mail-addr > > @@ -1531,7 +1531,7 @@ passed to `calendar-mark-visible-date' as MARK." > > (calendar-mark-month m y month day year color) > > (calendar-increment-month m y 1))))) > > > > -;; Bahai, Hebrew, Islamic. > > +;; Bahá’í, Hebrew, Islamic. > > (defun calendar-mark-complex (month day year fromabs &optional color) > > "Mark dates in the calendar conforming to MONTH DAY YEAR of some > system. > > The function FROMABS converts absolute dates to the appropriate date > system. > > @@ -1561,7 +1561,7 @@ Optional argument COLOR is passed to > `calendar-mark-visible-date' as MARK." > > (calendar-mark-visible-date > > (calendar-gregorian-from-absolute date) color))))) > > > > -;; Bahai, Islamic. > > +;; Bahá’í, Islamic. > > (defun calendar-mark-1 (month day year fromabs toabs &optional color) > > "Mark dates in the calendar conforming to MONTH DAY YEAR of some > system. > > The function FROMABS converts absolute dates to the appropriate date > system. > > @@ -1659,8 +1659,8 @@ on a weekend: > > &%%(let ((dayname (calendar-day-of-week date)) > > (day (calendar-extract-day date))) > > (or > > - (and (= day 21) (memq dayname '(1 2 3 4 5))) > > - (and (memq day '(19 20)) (= dayname 5))) > > + (and (= day 21) (memq dayname \\='(1 2 3 4 5))) > > + (and (memq day \\='(19 20)) (= dayname 5))) > > ) UIUC pay checks deposited > > > > A number of built-in functions are available for this type of > > @@ -2529,7 +2529,7 @@ entry is found the user is asked to confirm its > addition." > > #'diary-from-outlook-rmail) > > ((memq major-mode '(gnus-summary-mode gnus-article-mode)) > > #'diary-from-outlook-gnus) > > - (t (error "Don't know how to snarf in ‘%s’" > major-mode))))) > > + (t (error "Don't know how to snarf in `%s'" > major-mode))))) > > (funcall func noconfirm))) > > > > (provide 'diary-lib) > > diff --git a/lisp/calendar/holidays.el b/lisp/calendar/holidays.el > > index d282d74..bd3a558 100644 > > --- a/lisp/calendar/holidays.el > > +++ b/lisp/calendar/holidays.el > > @@ -173,15 +173,15 @@ See the documentation for `calendar-holidays' for > details." > > '((holiday-bahai-new-year) > > (holiday-bahai-ridvan) ; respects > calendar-bahai-all-holidays-flag > > (holiday-fixed 5 23 "Declaration of the Báb") > > - (holiday-fixed 5 29 "Ascension of Bahá'u'lláh") > > + (holiday-fixed 5 29 "Ascension of Bahá’u’lláh") > > (holiday-fixed 7 9 "Martyrdom of the Báb") > > (holiday-fixed 10 20 "Birth of the Báb") > > - (holiday-fixed 11 12 "Birth of Bahá'u'lláh") > > + (holiday-fixed 11 12 "Birth of Bahá’u’lláh") > > (if calendar-bahai-all-holidays-flag > > (append > > (holiday-fixed 11 26 "Day of the Covenant") > > - (holiday-fixed 11 28 "Ascension of `Abdu'l-Bahá"))))) > > - "Bahá'í holidays. > > + (holiday-fixed 11 28 "Ascension of `Abdu’l-Bahá"))))) > > + "Bahá’í holidays. > > See the documentation for `calendar-holidays' for details." > > :type 'sexp > > :group 'holidays) > > @@ -254,7 +254,7 @@ Several basic functions are provided for this > purpose: > > K>0, and MONTH's last day otherwise. > > (holiday-hebrew MONTH DAY STRING) a fixed date on the Hebrew > calendar > > (holiday-islamic MONTH DAY STRING) a fixed date on the Islamic > calendar > > - (holiday-bahai MONTH DAY STRING) a fixed date on the Bahá'í > calendar > > + (holiday-bahai MONTH DAY STRING) a fixed date on the Bahá’í > calendar > > (holiday-julian MONTH DAY STRING) a fixed date on the Julian > calendar > > (holiday-sexp SEXP STRING) SEXP is a Gregorian-date-valued > expression > > in the variable `year'; if it evaluates > to > > @@ -282,11 +282,11 @@ To add the Islamic feast celebrating Mohammed's > birthday, use > > (holiday-islamic 3 12 \"Mohammed's Birthday\") > > > > since the Islamic months are numbered from 1 starting with Muharram. > > -To add an entry for the Bahá'í festival of Ridvan, use > > +To add an entry for the Bahá’í festival of Ridvan, use > > > > (holiday-bahai 2 13 \"Festival of Ridvan\") > > > > -since the Bahá'í months are numbered from 1 starting with Bahá. > > +since the Bahá’í months are numbered from 1 starting with Bahá. > > To add Thomas Jefferson's birthday, April 2, 1743 (Julian), use > > > > (holiday-julian 4 2 \"Jefferson's Birthday\") > > @@ -296,7 +296,7 @@ example, to include American presidential elections, > which occur on the first > > Tuesday after the first Monday in November of years divisible by 4, add > > > > (holiday-sexp > > - '(if (zerop (% year 4)) > > + \\='(if (zerop (% year 4)) > > (calendar-gregorian-from-absolute > > (1+ (calendar-dayname-on-or-before > > 1 (+ 6 (calendar-absolute-from-gregorian > > @@ -460,7 +460,7 @@ The optional LABEL is used to label the buffer > created." > > (if holiday-islamic-holidays > > (cons "Islamic" holiday-islamic-holidays)) > > (if holiday-bahai-holidays > > - (cons "Bahá'í" holiday-bahai-holidays)) > > + (cons "Bahá’í" holiday-bahai-holidays)) > > (if holiday-oriental-holidays > > (cons "Oriental" holiday-oriental-holidays)) > > (if holiday-solar-holidays > > diff --git a/lisp/calendar/icalendar.el b/lisp/calendar/icalendar.el > > index b75e442..4b71530 100644 > > --- a/lisp/calendar/icalendar.el > > +++ b/lisp/calendar/icalendar.el > > @@ -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 > > @@ -1118,7 +1118,7 @@ FExport diary data into iCalendar file: ") > > (setq found-error t) > > (save-current-buffer > > (set-buffer (get-buffer-create "*icalendar-errors*")) > > - (insert (format-message "Error in line %d -- %s: ‘%s’\n" > > + (insert (format-message "Error in line %d -- %s: `%s'\n" > > (count-lines (point-min) (point)) > > error-val > > entry-main)))))) > > @@ -1741,7 +1741,7 @@ entries. ENTRY-MAIN is the first line of the > diary entry." > > (when day > > (progn > > (icalendar--dmsg "diary-float %s" entry-main) > > - (error "Don't know if or how to implement day in > ‘diary-float’"))) > > + (error "Don't know if or how to implement day in > `diary-float'"))) > > > > (cons (concat > > ;;Start today (yes this is an arbitrary choice): > > @@ -1788,7 +1788,7 @@ entries. ENTRY-MAIN is the first line of the > diary entry." > > entry-main) > > (progn > > (icalendar--dmsg "diary-date %s" entry-main) > > - (error "‘diary-date’ is not supported yet")) > > + (error "`diary-date' is not supported yet")) > > ;; no match > > nil)) > > > > @@ -2104,7 +2104,7 @@ written into the buffer `*icalendar-errors*'." > > (rrule (icalendar--get-event-property e 'RRULE)) > > (rdate (icalendar--get-event-property e 'RDATE)) > > (duration (icalendar--get-event-property e 'DURATION))) > > - (icalendar--dmsg "%s: ‘%s’" start-d summary) > > + (icalendar--dmsg "%s: `%s'" start-d summary) > > ;; check whether start-time is missing > > (if (and dtstart > > (string= > > @@ -2282,7 +2282,7 @@ END-T is the event's end time in diary format." > > interval)))) > > ) > > (t > > - (message "Cannot handle COUNT attribute for ‘%s’ > events." > > + (message "Cannot handle COUNT attribute for `%s' > events." > > frequency))) > > (setq until-conv (icalendar--datetime-to-diary-date until)) > > (setq until-1-conv (icalendar--datetime-to-diary-date > until-1)) > > @@ -2473,7 +2473,7 @@ SUMMARY is not nil it must be a string that gives > the summary of the > > entry. In this case the user will be asked whether he wants to insert > > the entry." > > (when (or (not summary) > > - (y-or-n-p (format-message "Add appointment for ‘%s’ to > diary? " > > + (y-or-n-p (format-message "Add appointment for `%s' to > diary? " > > summary))) > > (when summary > > (setq non-marking > > diff --git a/lisp/calendar/time-date.el b/lisp/calendar/time-date.el > > index c13ef97..bb7e97e 100644 > > --- a/lisp/calendar/time-date.el > > +++ b/lisp/calendar/time-date.el > > @@ -377,9 +377,9 @@ This function does not work for SECONDS greater than > `most-positive-fixnum'." > > spec (match-string 1 string)) > > (unless (string-equal spec "%") > > (or (setq match (assoc (downcase spec) units)) > > - (error "Bad format specifier: ‘%s’" spec)) > > + (error "Bad format specifier: `%s'" spec)) > > (if (assoc (downcase spec) usedunits) > > - (error "Multiple instances of specifier: ‘%s’" spec)) > > + (error "Multiple instances of specifier: `%s'" spec)) > > (if (string-equal (car match) "z") > > (setq zeroflag t) > > (unless larger > > diff --git a/lisp/calendar/timeclock.el b/lisp/calendar/timeclock.el > > index 797f217..67fc4c5 100644 > > --- a/lisp/calendar/timeclock.el > > +++ b/lisp/calendar/timeclock.el > > @@ -305,8 +305,8 @@ display (non-nil means on)." > > ;; on calling this function. > > (if display-time-mode > > (timeclock-update-mode-line) > > - (message "Activate ‘display-time-mode’ or turn off \ > > -‘timeclock-use-display-time’ to see timeclock information")) > > + (message "Activate `display-time-mode' or turn off \ > > +`timeclock-use-display-time' to see timeclock information")) > > (add-hook 'display-time-hook 'timeclock-update-mode-line)) > > (setq timeclock-update-timer > > (run-at-time nil 60 'timeclock-update-mode-line)))) > > @@ -575,7 +575,7 @@ relative only to the time worked today, and not to > past time." > > OLD-DEFAULT hours are set for every day that has no number indicated." > > (interactive "P") > > (if old-default (setq old-default (prefix-numeric-value old-default)) > > - (error "‘timelog-make-hours-explicit’ requires an explicit > argument")) > > + (error "`timelog-make-hours-explicit' requires an explicit > argument")) > > (let ((extant-timelog (find-buffer-visiting timeclock-file)) > > current-date) > > (with-current-buffer (find-file-noselect timeclock-file t) > > @@ -589,7 +589,7 @@ OLD-DEFAULT hours are set for every day that has no > number indicated." > > (unless (looking-at > > (concat "^\\([bhioO]\\) > \\([0-9]+/[0-9]+/[0-9]+\\) " > > "\\([0-9]+:[0-9]+:[0-9]+\\)")) > > - (error "Can't parse ‘%s’" timeclock-file)) > > + (error "Can't parse `%s'" timeclock-file)) > > (let ((this-date (match-string 2))) > > (unless (or (and current-date > > (string= this-date current-date)) > > @@ -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/calendar/todo-mode.el b/lisp/calendar/todo-mode.el > > index 83f2fed..a04bf82 100644 > > --- a/lisp/calendar/todo-mode.el > > +++ b/lisp/calendar/todo-mode.el > > @@ -238,7 +238,7 @@ The final element is \"*\", indicating an > unspecified month.") > > (widget-put > > widget :error > > (format-message > > - "Invalid value: must be distinct from > ‘todo-item-mark’")) > > + "Invalid value: must be distinct from > `todo-item-mark'")) > > widget))) > > :initialize 'custom-initialize-default > > :set 'todo-reset-prefix > > @@ -1343,12 +1343,13 @@ todo or done items." > > "deleting it will also delete the file.\n" > > "Do you want to proceed? "))) > > ((> archived 0) > > - (todo-y-or-n-p (concat "This category has archived > items; " > > + (todo-y-or-n-p (format-message > > + (concat "This category has archived > items; " > > "the archived category will > remain\n" > > "after deleting the todo category. > " > > "Do you still want to delete it\n" > > - "(see > ‘todo-skip-archived-categories’ " > > - "for another option)? "))) > > + "(see > `todo-skip-archived-categories' " > > + "for another option)? ")))) > > (t > > (todo-y-or-n-p (concat "Permanently remove category > \"" cat > > "\"" (and arg " and all its > entries") > > @@ -1696,7 +1697,7 @@ only when no items are marked." > > (widget-put > > widget :error > > (format-message > > - "Invalid value: must be distinct from > ‘todo-prefix’")) > > + "Invalid value: must be distinct from > `todo-prefix'")) > > widget))) > > :set (lambda (symbol value) > > (custom-set-default symbol (propertize value 'face 'todo-mark))) > > @@ -5036,7 +5037,7 @@ but the categories sexp differs from the current > value of > > ;; Warn user if categories sexp has changed. > > (unless (string= ssexp cats) > > (message (concat "The sexp at the beginning of the file > differs " > > - "from the value of ‘todo-categories’.\n" > > + "from the value of `todo-categories'.\n" > > "If the sexp is wrong, you can fix it with " > > "M-x todo-repair-categories-sexp,\n" > > "but note this reverts any changes you have " > > @@ -5533,7 +5534,7 @@ already entered and those still available." > > (todo-insert-item--this-key) > > todo-insert-item--argsleft))))))))) > > (setq todo-insert-item--argsleft todo-insert-item--newargsleft)) > > - (when prompt (message "Press a key (so far ‘%s’): %s" > > + (when prompt (message "Press a key (so far `%s'): %s" > > todo-insert-item--keys-so-far prompt)) > > (set-transient-map map) > > (setq todo-insert-item--argsleft argsleft))) > > @@ -5576,7 +5577,8 @@ already entered and those still available." > > '(add/edit > delete)) > > " comment")))) > > params " ")) > > - (this-key (let ((key (read-key (concat todo-edit-item--prompt > p->k)))) > > + (key-prompt (substitute-command-keys todo-edit-item--prompt)) > > + (this-key (let ((key (read-key (concat key-prompt p->k)))) > > (and (characterp key) (char-to-string key)))) > > (this-param (car (rassoc this-key params)))) > > (pcase this-param > > @@ -5587,7 +5589,7 @@ already entered and those still available." > > (`delete (todo-edit-item--text 'comment-delete)) > > (`diary (todo-edit-item--diary-inclusion)) > > (`nonmarking (todo-edit-item--diary-inclusion 'nonmarking)) > > - (`date (let ((todo-edit-item--prompt "Press a key (so far ‘e d’): > ")) > > + (`date (let ((todo-edit-item--prompt "Press a key (so far `e d'): > ")) > > (todo-edit-item--next-key > > todo-edit-item--date-param-key-alist arg))) > > (`full (progn (todo-edit-item--header 'date) > > @@ -6602,7 +6604,7 @@ Added to `window-configuration-change-hook' in > Todo mode." > > (if (called-interactively-p 'any) > > (message "%s" > > (substitute-command-keys > > - "Type ‘\\[todo-show]’ to enter Todo mode")) > > + "Type `\\[todo-show]' to enter Todo mode")) > > (todo-modes-set-1) > > (todo-modes-set-2) > > (todo-modes-set-3) > > diff --git a/lisp/cedet/cedet-global.el b/lisp/cedet/cedet-global.el > > index 9e31177..3773ba0 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.el b/lisp/cedet/ede.el > > index 7d99b17..27d7abe 100644 > > --- a/lisp/cedet/ede.el > > +++ b/lisp/cedet/ede.el > > @@ -764,7 +764,7 @@ Optional argument NAME is the name to give this > project." > > (if cs > > (error "No valid interactive sub > project types for %s" > > cs) > > - (error "EDE error: Can't fin project > types to create"))) > > + (error "EDE error: Can't find project > types to create"))) > > r) > > ) > > nil t))) > > diff --git a/lisp/cedet/ede/auto.el b/lisp/cedet/ede/auto.el > > index 51459fa..b4fea42 100644 > > --- a/lisp/cedet/ede/auto.el > > +++ b/lisp/cedet/ede/auto.el > > @@ -239,9 +239,9 @@ type is required and the load function used.") > > "Add PROJAUTO, an EDE autoload definition to > `ede-project-class-files'. > > Optional argument FLAG indicates how this autoload should be > > added. Possible values are: > > - 'generic - A generic project type. Keep this at the very end. > > - 'unique - A unique project type for a specific project. Keep at the > very > > - front of the list so more generic projects don't get > priority." > > + `generic' - A generic project type. Keep this at the very end. > > + `unique' - A unique project type for a specific project. Keep at the > very > > + front of the list so more generic projects don't get > priority." > > ;; First, can we identify PROJAUTO as already in the list? If so, > replace. > > (let ((projlist ede-project-class-files) > > (projname (oref projauto name))) > > diff --git a/lisp/cedet/ede/pmake.el b/lisp/cedet/ede/pmake.el > > index 1318fde..b494e27 100644 > > --- a/lisp/cedet/ede/pmake.el > > +++ b/lisp/cedet/ede/pmake.el > > @@ -599,7 +599,7 @@ Argument THIS is the target that should insert > stuff." > > "It needs to be regenerated by EDE.\n" > > "\t@echo If you have not modified Project.ede, you can" > > (format-message > > - " use ‘touch’ to update the Makefile time stamp.\n") > > + " use `touch' to update the Makefile time stamp.\n") > > "\t@false\n\n" > > "\n\n# End of Makefile\n"))) > > > > diff --git a/lisp/cedet/inversion.el b/lisp/cedet/inversion.el > > index 8409b73..9d07b67 100644 > > --- a/lisp/cedet/inversion.el > > +++ b/lisp/cedet/inversion.el > > @@ -230,8 +230,8 @@ string. INCOMPATIBLE-VERSION can be nil. > > RESERVED arguments are kept for a later use. > > Return: > > - nil if everything is ok. > > -- 'outdated if VERSION is less than MINIMUM. > > -- 'incompatible if VERSION is not backward compatible with MINIMUM. > > +- `outdated' if VERSION is less than MINIMUM. > > +- `incompatible' if VERSION is not backward compatible with MINIMUM. > > - t if the check failed." > > (let ((code (if (stringp version) > > (inversion-decode-version version) > > diff --git a/lisp/cedet/mode-local.el b/lisp/cedet/mode-local.el > > index 72512c6..64c1f08 100644 > > --- a/lisp/cedet/mode-local.el > > +++ b/lisp/cedet/mode-local.el > > @@ -50,7 +50,7 @@ > > > > (require 'find-func) > > ;; For find-function-regexp-alist. It is tempting to replace this > > -;; ‘require‘ by (defvar find-function-regexp-alist) and > > +;; ‘require’ by (defvar find-function-regexp-alist) and > > ;; with-eval-after-load, but model-local.el is typically loaded when a > > ;; semantic autoload is invoked, and something in semantic loads > > ;; find-func.el before mode-local.el, so the eval-after-load is lost. > > @@ -658,7 +658,7 @@ SYMBOL is a function that can be overridden." > > (override (fetch-overload symbol))) > > > > (when override > > - (insert (format-message "\noverride in mode ‘%s’: ’%s’\n" > > + (insert (format-message "\noverride in mode `%s': `%s'\n" > > major-mode override)) > > ))) > > ))) > > @@ -760,9 +760,9 @@ META-NAME is a cons (OVERLOADABLE-SYMBOL . > MAJOR-MODE)." > > (defun mode-local-print-binding (symbol) > > "Print the SYMBOL binding." > > (let ((value (symbol-value symbol))) > > - (princ (format-message "\n ‘%s’ value is\n " symbol)) > > + (princ (format-message "\n `%s' value is\n " symbol)) > > (if (and value (symbolp value)) > > - (princ (format-message "‘%s’" value)) > > + (princ (format-message "`%s'" value)) > > (let ((pt (point))) > > (pp value) > > (save-excursion > > @@ -820,7 +820,7 @@ META-NAME is a cons (OVERLOADABLE-SYMBOL . > MAJOR-MODE)." > > ) > > ((symbolp buffer-or-mode) > > (setq mode buffer-or-mode) > > - (princ (format-message "‘%s’\n" buffer-or-mode)) > > + (princ (format-message "`%s'\n" buffer-or-mode)) > > ) > > ((signal 'wrong-type-argument > > (list 'buffer-or-mode buffer-or-mode)))) > > @@ -830,7 +830,7 @@ META-NAME is a cons (OVERLOADABLE-SYMBOL . > MAJOR-MODE)." > > (while mode > > (setq table (get mode 'mode-local-symbol-table)) > > (when table > > - (princ (format-message "\n- From ‘%s’\n" mode)) > > + (princ (format-message "\n- From `%s'\n" mode)) > > (mode-local-print-bindings table)) > > (setq mode (get-mode-local-parent mode))))) > > > > diff --git a/lisp/cedet/semantic/analyze.el > b/lisp/cedet/semantic/analyze.el > > index 7ff6977..fe888f5 100644 > > --- a/lisp/cedet/semantic/analyze.el > > +++ b/lisp/cedet/semantic/analyze.el > > @@ -251,7 +251,7 @@ are found in SEQUENCE. > > Optional argument THROWSYM specifies a symbol the throw on > non-recoverable error. > > Remaining arguments FLAGS are additional flags to apply when searching. > > This function knows of flags: > > - 'mustbeclassvariable" > > + `mustbeclassvariable'" > > (let ((s sequence) ; copy of the sequence > > (tmp nil) ; tmp find variable > > (tag nil) ; tag return list > > @@ -263,7 +263,7 @@ This function knows of flags: > > ) > > ;; First order check. Is this wholly contained in the typecache? > > (setq tmp (semanticdb-typecache-find sequence)) > > - > > + > > (when tmp > > (if (or (not tagclass) (semantic-tag-of-class-p tmp tagclass)) > > ;; We are effectively done... > > @@ -709,7 +709,7 @@ Returns nil if no alias was found." > > (when (eq (semantic-tag-get-attribute (car taglist) :kind) 'alias) > > (let ((tagname > > (semantic-analyze-split-name > > - (semantic-tag-name > > + (semantic-tag-name > > (car (semantic-tag-get-attribute (car taglist) > :members)))))) > > (append (if (listp tagname) > > tagname > > diff --git a/lisp/cedet/semantic/analyze/complete.el > b/lisp/cedet/semantic/analyze/complete.el > > index c47b573..680a0ae 100644 > > --- a/lisp/cedet/semantic/analyze/complete.el > > +++ b/lisp/cedet/semantic/analyze/complete.el > > @@ -112,9 +112,9 @@ in a buffer." > > Argument CONTEXT is an object specifying the locally derived context. > > The optional argument FLAGS changes which return options are returned. > > FLAGS can be any number of: > > - 'no-tc - do not apply data-type constraint. > > - 'no-longprefix - ignore long multi-symbol prefixes. > > - 'no-unique - do not apply unique by name filtering." > > + `no-tc' - do not apply data-type constraint. > > + `no-longprefix' - ignore long multi-symbol prefixes. > > + `no-unique' - do not apply unique by name filtering." > > (let* ((a context) > > (desired-type (semantic-analyze-type-constraint a)) > > (desired-class (oref a prefixclass)) > > diff --git a/lisp/cedet/semantic/bovine/gcc.el > b/lisp/cedet/semantic/bovine/gcc.el > > index fe7a144..1d3f773 100644 > > --- a/lisp/cedet/semantic/bovine/gcc.el > > +++ b/lisp/cedet/semantic/bovine/gcc.el > > @@ -137,9 +137,9 @@ to give to the program." > > "The GCC setup data. > > This is setup by `semantic-gcc-setup'. > > This is an alist, and should include keys of: > > - 'version - the version of gcc > > - '--host - the host symbol (used in include directories) > > - '--prefix - where GCC was installed. > > + `version' - the version of gcc > > + `--host' - the host symbol (used in include directories) > > + `--prefix' - where GCC was installed. > > It should also include other symbols GCC was compiled with.") > > > > ;;;###autoload > > diff --git a/lisp/cedet/semantic/complete.el > b/lisp/cedet/semantic/complete.el > > index 9c32388..d32b2c4 100644 > > --- a/lisp/cedet/semantic/complete.el > > +++ b/lisp/cedet/semantic/complete.el > > @@ -1665,7 +1665,7 @@ Display mechanism using tooltip for a list of > possible completions.") > > (when (>= (oref obj typing-count) 5) > > (oset obj mode 'standard) > > (setq mode 'standard) > > - (message "Resetting inline-mode to ‘standard’.")) > > + (message "Resetting inline-mode to `standard'.")) > > (when (and (> numcompl max-tags) > > (< (oref obj typing-count) 2)) > > ;; Discretely hint at completion availability. > > @@ -1684,7 +1684,7 @@ Display mechanism using tooltip for a list of > possible completions.") > > (setq msg-tail (concat "\n[ " (number-to-string (- > numcompl max-tags)) " more]")) > > (setq msg-tail (concat "\n[ " (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/db-find.el > b/lisp/cedet/semantic/db-find.el > > index ff3431a..293f535 100644 > > --- a/lisp/cedet/semantic/db-find.el > > +++ b/lisp/cedet/semantic/db-find.el > > @@ -297,7 +297,7 @@ refreshed when things change. See > `semanticdb-ref-test'. > > Note for overloading: If you opt to overload this function for your > > major mode, and your routine takes a long time, be sure to call > > > > - (semantic-throw-on-input 'your-symbol-here) > > + (semantic-throw-on-input \\='your-symbol-here) > > > > so that it can be called from the idle work handler." > > ) > > diff --git a/lisp/cedet/semantic/decorate/include.el > b/lisp/cedet/semantic/decorate/include.el > > index 962dc49..1974e0a 100644 > > --- a/lisp/cedet/semantic/decorate/include.el > > +++ b/lisp/cedet/semantic/decorate/include.el > > @@ -540,7 +540,7 @@ For C/C++ includes located within a project, you can > use a special > > EDE project that will wrap an existing build system. You can do that > > like this in your .emacs file: > > > > - (ede-cpp-root-project \"NAME\" :file \"FILENAME\" :locate-fcn 'MYFCN) > > + (ede-cpp-root-project \"NAME\" :file \"FILENAME\" :locate-fcn > \\='MYFCN) > > > > See the CEDET manual, the EDE manual, or the commentary in > > ede/cpp-root.el for more. > > diff --git a/lisp/cedet/semantic/fw.el b/lisp/cedet/semantic/fw.el > > index 0e81b2c..d8ba6f2 100644 > > --- a/lisp/cedet/semantic/fw.el > > +++ b/lisp/cedet/semantic/fw.el > > @@ -173,10 +173,10 @@ recover the cached data with > `semantic-get-cache-data'. > > LIFESPAN indicates how long the data cache will be remembered. > > The default LIFESPAN is 'end-of-command. > > Possible Lifespans are: > > - 'end-of-command - Remove the cache at the end of the currently > > - executing command. > > - 'exit-cache-zone - Remove when point leaves the overlay at the > > - end of the currently executing command." > > + `end-of-command' - Remove the cache at the end of the currently > > + executing command. > > + `exit-cache-zone' - Remove when point leaves the overlay at the > > + end of the currently executing command." > > ;; Check if LIFESPAN is valid before to create any overlay > > (or lifespan (setq lifespan 'end-of-command)) > > (or (memq lifespan '(end-of-command exit-cache-zone)) > > diff --git a/lisp/cedet/semantic/java.el b/lisp/cedet/semantic/java.el > > index fc02d03..829eafa 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 `@'." > > (substring (symbol-name tag) 1)) > > > > (defun semantic-java-doc-keyword-before-p (k1 k2) > > diff --git a/lisp/cedet/semantic/tag-ls.el > b/lisp/cedet/semantic/tag-ls.el > > index 40eafd9..fe4440b 100644 > > --- a/lisp/cedet/semantic/tag-ls.el > > +++ b/lisp/cedet/semantic/tag-ls.el > > @@ -271,11 +271,11 @@ search locally, then semanticdb for that tag (when > enabled.)") > > (define-overloadable-function semantic-tag-protection (tag &optional > parent) > > "Return protection information about TAG with optional PARENT. > > This function returns on of the following symbols: > > - nil - No special protection. Language dependent. > > - 'public - Anyone can access this TAG. > > - 'private - Only methods in the local scope can access TAG. > > - 'protected - Like private for outside scopes, like public for child > > - classes. > > + nil - No special protection. Language dependent. > > + `public' - Anyone can access this TAG. > > + `private' - Only methods in the local scope can access TAG. > > + `protected' - Like private for outside scopes, like public for child > > + classes. > > Some languages may choose to provide additional return symbols specific > > to themselves. Use of this function should allow for this. > > > > diff --git a/lisp/cedet/semantic/wisent/javascript.el > b/lisp/cedet/semantic/wisent/javascript.el > > index b2a18fb..a676a8b 100644 > > --- a/lisp/cedet/semantic/wisent/javascript.el > > +++ b/lisp/cedet/semantic/wisent/javascript.el > > @@ -73,11 +73,11 @@ This function overrides `get-local-variables'." > > (define-mode-local-override semantic-tag-protection javascript-mode > (tag &optional parent) > > "Return protection information about TAG with optional PARENT. > > This function returns on of the following symbols: > > - nil - No special protection. Language dependent. > > - 'public - Anyone can access this TAG. > > - 'private - Only methods in the local scope can access TAG. > > - 'protected - Like private for outside scopes, like public for child > > - classes. > > + nil - No special protection. Language dependent. > > + `public' - Anyone can access this TAG. > > + `private' - Only methods in the local scope can access TAG. > > + `protected' - Like private for outside scopes, like public for child > > + classes. > > Some languages may choose to provide additional return symbols specific > > to themselves. Use of this function should allow for this. > > > > @@ -114,7 +114,7 @@ This is currently needed for the mozrepl omniscient > database." > > (setq symlist (list (match-string 1 tmp) > > (substring tmp (1+ (match-end 1)) > (length tmp)))) > > (setq symlist (list tmp)))))))) > > - > > + > > ;;; Setup Function > > ;; > > ;; Since javascript-mode is an alias for js-mode, let it inherit all > > diff --git a/lisp/cedet/srecode/insert.el b/lisp/cedet/srecode/insert.el > > index d1b0015..2ff3060 100644 > > --- a/lisp/cedet/srecode/insert.el > > +++ b/lisp/cedet/srecode/insert.el > > @@ -45,9 +45,9 @@ > > Only the ASK style inserter will query the user for a value. > > Dictionary value references that ask begin with the ? character. > > Possible values are: > > - 'ask - Prompt in the minibuffer as the value is inserted. > > - 'field - Use the dictionary macro name as the inserted value, > > - and place a field there. Matched fields change together. > > + `ask' - Prompt in the minibuffer as the value is inserted. > > + `field' - Use the dictionary macro name as the inserted value, > > + and place a field there. Matched fields change together. > > > > NOTE: The field feature does not yet work with XEmacs." > > :group 'srecode > > diff --git a/lisp/cedet/srecode/srt-mode.el > b/lisp/cedet/srecode/srt-mode.el > > index 48f0555..7fc3541 100644 > > --- a/lisp/cedet/srecode/srt-mode.el > > +++ b/lisp/cedet/srecode/srt-mode.el > > @@ -258,9 +258,9 @@ we can tell font lock about them.") > > (when (class-abstract-p C) > > (throw 'skip nil)) > > > > - (princ (substitute-command-keys "‘")) > > + (princ (substitute-command-keys "`")) > > (princ name) > > - (princ (substitute-command-keys "’")) > > + (princ (substitute-command-keys "'")) > > (when (slot-exists-p C 'key) > > (when key > > (princ " - Character Key: ") > > diff --git a/lisp/comint.el b/lisp/comint.el > > index b840a22..ead2757 100644 > > --- a/lisp/comint.el > > +++ b/lisp/comint.el > > @@ -2850,7 +2850,7 @@ then the filename reader will only accept a file > that exists. > > > > A typical use: > > (interactive (comint-get-source \"Compile file: \" prev-lisp-dir/file > > - '(lisp-mode) t))" > > + \\='(lisp-mode) t))" > > (let* ((def (comint-source-default prev-dir/file source-modes)) > > (stringfile (comint-extract-string)) > > (sfile-p (and stringfile > > diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el > > index 08c1acd..aa26ac3 100644 > > --- a/lisp/cus-edit.el > > +++ b/lisp/cus-edit.el > > @@ -477,7 +477,7 @@ > > (defun custom-split-regexp-maybe (regexp) > > "If REGEXP is a string, split it to a list at `\\|'. > > You can get the original back from the result with: > > - (mapconcat 'identity result \"\\|\") > > + (mapconcat \\='identity result \"\\|\") > > > > IF REGEXP is not a string, return it unchanged." > > (if (stringp regexp) > > diff --git a/lisp/cus-start.el b/lisp/cus-start.el > > index 7e25119..dc40ca9 100644 > > --- a/lisp/cus-start.el > > +++ b/lisp/cus-start.el > > @@ -626,7 +626,7 @@ since it could result in memory overflow and make > Emacs crash." > > (if (not (boundp symbol)) > > ;; If variables are removed from C code, give an error here! > > (and native-p > > - (message "Note, built-in variable ‘%S’ not bound" symbol)) > > + (message "Note, built-in variable `%S' not bound" symbol)) > > ;; Save the standard value, unless we already did. > > (or (get symbol 'standard-value) > > (put symbol 'standard-value (list standard))) > > diff --git a/lisp/cus-theme.el b/lisp/cus-theme.el > > index 7693c70..3ec0811 100644 > > --- a/lisp/cus-theme.el > > +++ b/lisp/cus-theme.el > > @@ -492,10 +492,10 @@ It includes all faces in list FACES." > > '("" "c"))) > > doc) > > (when fn > > - (princ (substitute-command-keys " in ‘")) > > + (princ (substitute-command-keys " in `")) > > (help-insert-xref-button (file-name-nondirectory fn) > > 'help-theme-def fn) > > - (princ (substitute-command-keys "’"))) > > + (princ (substitute-command-keys "'"))) > > (princ ".\n") > > (if (custom-theme-p theme) > > (progn > > diff --git a/lisp/custom.el b/lisp/custom.el > > index f2b5d52..ea5ab7a 100644 > > --- a/lisp/custom.el > > +++ b/lisp/custom.el > > @@ -548,13 +548,13 @@ VALUE should be a list of symbols. For each > symbol in that list, > > this specifies that SYMBOL should be set after the specified symbol, > > if both appear in constructs like `custom-set-variables'." > > (unless (listp value) > > - (error "Invalid custom dependency ‘%s’" value)) > > + (error "Invalid custom dependency `%s'" value)) > > (let* ((deps (get symbol 'custom-dependencies)) > > (new-deps deps)) > > (while value > > (let ((dep (car value))) > > (unless (symbolp dep) > > - (error "Invalid custom dependency ‘%s’" dep)) > > + (error "Invalid custom dependency `%s'" dep)) > > (unless (memq dep new-deps) > > (setq new-deps (cons dep new-deps))) > > (setq value (cdr value)))) > > @@ -830,7 +830,7 @@ to the front of this list.") > > (defsubst custom-check-theme (theme) > > "Check whether THEME is valid, and signal an error if it is not." > > (unless (custom-theme-p theme) > > - (error "Unknown theme ‘%s’" theme))) > > + (error "Unknown theme `%s'" theme))) > > > > (defun custom-push-theme (prop symbol theme mode &optional value) > > "Record VALUE for face or variable SYMBOL in custom theme THEME. > > @@ -1043,7 +1043,7 @@ list, in which A occurs before B if B was defined > with a > > (when elt > > (cond > > ((eq (car elt) 'dependant) > > - (error "Circular custom dependency on ‘%s’" sym)) > > + (error "Circular custom dependency on `%s'" sym)) > > ((car elt) > > (setcar elt 'dependant) > > (dolist (dep (get sym 'custom-dependencies)) > > @@ -1201,7 +1201,7 @@ Return t if THEME was successfully loaded, nil > otherwise." > > (custom-available-themes)))) > > nil nil)) > > (unless (custom-theme-name-valid-p theme) > > - (error "Invalid theme name ‘%s’" theme)) > > + (error "Invalid theme name `%s'" theme)) > > ;; If THEME is already enabled, re-enable it after loading, even if > > ;; NO-ENABLE is t. > > (if no-enable > > @@ -1217,7 +1217,7 @@ Return t if THEME was successfully loaded, nil > otherwise." > > '("" "c"))) > > hash) > > (unless fn > > - (error "Unable to find theme file for ‘%s’" theme)) > > + (error "Unable to find theme file for `%s'" theme)) > > (with-temp-buffer > > (insert-file-contents fn) > > (setq hash (secure-hash 'sha256 (current-buffer))) > > diff --git a/lisp/descr-text.el b/lisp/descr-text.el > > index 237cc00..be69a0b 100644 > > --- a/lisp/descr-text.el > > +++ b/lisp/descr-text.el > > @@ -161,7 +161,7 @@ otherwise." > > ;; Buttons > > (when (and button (not (widgetp wid-button))) > > (newline) > > - (insert (format-message "Here is a ‘%S’ button labeled ‘%s’.\n\n" > > + (insert (format-message "Here is a `%S' button labeled `%s'.\n\n" > > button-type button-label))) > > ;; Overlays > > (when overlays > > @@ -724,25 +724,17 @@ relevant to POS." > > (when disp-vector > > (insert > > "\nThe display table entry is displayed by ") > > - (if (display-graphic-p (selected-frame)) > > - (progn > > - (insert "these fonts (glyph codes):\n") > > - (dotimes (i (length disp-vector)) > > - (insert (glyph-char (car (aref disp-vector i))) ?: > > - (propertize " " 'display '(space :align-to > 5)) > > - (or (cdr (aref disp-vector i)) "-- no font > --") > > - "\n") > > - (let ((face (glyph-face (car (aref disp-vector > i))))) > > - (when face > > - (insert (propertize " " 'display '(space > :align-to 5)) > > - "face: ") > > - (insert (format-message "‘%s’\n" face)))))) > > - (insert "these terminal codes:\n") > > - (dotimes (i (length disp-vector)) > > - (insert (car (aref disp-vector i)) > > - (propertize " " 'display '(space :align-to 5)) > > - (or (cdr (aref disp-vector i)) "-- not > encodable --") > > - "\n")))) > > + (insert "these fonts (glyph codes):\n") > > + (dotimes (i (length disp-vector)) > > + (insert (glyph-char (car (aref disp-vector i))) ?: > > + (propertize " " 'display '(space :align-to 5)) > > + (or (cdr (aref disp-vector i)) "-- no font --") > > + "\n") > > + (let ((face (glyph-face (car (aref disp-vector i))))) > > + (when face > > + (insert (propertize " " 'display '(space :align-to 5)) > > + "face: ") > > + (insert (format-message "`%s'\n" face)))))) > > > > (when composition > > (insert "\nComposed") > > diff --git a/lisp/dired-x.el b/lisp/dired-x.el > > index 4903b15..1b69091 100644 > > --- a/lisp/dired-x.el > > +++ b/lisp/dired-x.el > > @@ -687,8 +687,8 @@ to put saved Dired buffers automatically into > Virtual Dired mode. > > > > Also useful for `auto-mode-alist' like this: > > > > - (add-to-list 'auto-mode-alist > > - '(\"[^/]\\\\.dired\\\\'\" . dired-virtual-mode))" > > + (add-to-list \\='auto-mode-alist > > + \\='(\"[^/]\\\\.dired\\\\\\='\" . dired-virtual-mode))" > > (interactive) > > (dired-virtual (dired-virtual-guess-dir))) > > > > @@ -1354,11 +1354,11 @@ otherwise." > > (let ((file (dired-get-filename t))) > > (if dired-bind-vm > > (if (y-or-n-p (format-message > > - "Visit ‘%s’ as a mail folder with VM?" file)) > > + "Visit `%s' as a mail folder with VM?" file)) > > (dired-vm)) > > ;; Read mail folder using rmail. > > (if (y-or-n-p (format-message > > - "Visit ‘%s’ as a mailbox with RMAIL?" file)) > > + "Visit `%s' as a mailbox with RMAIL?" file)) > > (dired-rmail))))) > > > > > > diff --git a/lisp/dired.el b/lisp/dired.el > > index 206de37..b78b632 100644 > > --- a/lisp/dired.el > > +++ b/lisp/dired.el > > @@ -91,7 +91,7 @@ spaces. You might want to install ls from GNU > Coreutils, which does > > support this option. Alternatively, you might want to use Emacs's > > own emulation of \"ls\", by using: > > (setq ls-lisp-use-insert-directory-program nil) > > - (require 'ls-lisp) > > + (require \\='ls-lisp) > > This is used by default on MS Windows, which does not have an \"ls\" > program. > > Note that `ls-lisp' does not support as many options as GNU ls, though. > > For more details, see Info node `(emacs)ls in Lisp'." > > @@ -3567,7 +3567,7 @@ Thus, use \\[backward-page] to find the beginning > of a group of errors." > > (unless (bolp) > > (insert "\n")) > > (insert (current-time-string) > > - (format-message "\tBuffer ‘%s’\n" (buffer-name > obuf))) > > + (format-message "\tBuffer `%s'\n" (buffer-name > obuf))) > > (goto-char (point-max)) > > (insert "\f\n"))))))) > > > > @@ -4399,7 +4399,7 @@ instead. > > > > ;;;*** > > > > -;;;### (autoloads nil "dired-x" "dired-x.el" > "c1a6289ba8504b605595321436a9c04d") > > +;;;### (autoloads nil "dired-x" "dired-x.el" > "63be23901985afd2a9aadc64f2aacf37") > > ;;; Generated autoloads from dired-x.el > > > > (autoload 'dired-jump "dired-x" "\ > > diff --git a/lisp/electric.el b/lisp/electric.el > > index bef5bb9..47cb020 100644 > > --- a/lisp/electric.el > > +++ b/lisp/electric.el > > @@ -434,12 +434,12 @@ The variable `electric-layout-rules' says when and > how to insert newlines." > > nil string)))) > > > > (defun electric-quote-post-self-insert-function () > > - "Function that ‘electric-quote-mode’ adds to ‘post-self-insert-hook’. > > + "Function that `electric-quote-mode' adds to `post-self-insert-hook'. > > This requotes when a quoting key is typed." > > (when (and electric-quote-mode > > (memq last-command-event '(?\' ?\`))) > > (let ((start > > - (if comment-start > > + (if (and comment-start comment-use-syntax) > > (when (or electric-quote-comment electric-quote-string) > > (let ((syntax (syntax-ppss))) > > (and (or (and electric-quote-comment (nth 4 syntax)) > > @@ -486,11 +486,11 @@ enable the mode if ARG is omitted or nil. > > When enabled, as you type this replaces \\=` with \\=‘, \\=' with \\=’, > > \\=`\\=` with “, and \\='\\=' with ”. This occurs only in comments, > strings, > > and text paragraphs, and these are selectively controlled with > > -‘electric-quote-comment’, ‘electric-quote-string’, and > > -‘electric-quote-paragraph’. > > +`electric-quote-comment', `electric-quote-string', and > > +`electric-quote-paragraph'. > > > > This is a global minor mode. To toggle the mode in a single buffer, > > -use ‘electric-quote-local-mode’." > > +use `electric-quote-local-mode'." > > :global t :group 'electricity > > :initialize 'custom-initialize-delay > > :init-value nil > > @@ -507,7 +507,7 @@ use ‘electric-quote-local-mode’." > > > > ;;;###autoload > > (define-minor-mode electric-quote-local-mode > > - "Toggle ‘electric-quote-mode’ only in this buffer." > > + "Toggle `electric-quote-mode' only in this buffer." > > :variable (buffer-local-value 'electric-quote-mode (current-buffer)) > > (cond > > ((eq electric-quote-mode (default-value 'electric-quote-mode)) > > diff --git a/lisp/emacs-lisp/advice.el b/lisp/emacs-lisp/advice.el > > index bbff34d..62330fc 100644 > > --- a/lisp/emacs-lisp/advice.el > > +++ b/lisp/emacs-lisp/advice.el > > @@ -1870,7 +1870,7 @@ function at point for which PREDICATE returns > non-nil)." > > (if (equal function "") > > (if (ad-is-advised default) > > default > > - (error "ad-read-advised-function: ‘%s’ is not advised" > default)) > > + (error "ad-read-advised-function: `%s' is not advised" > default)) > > (intern function)))) > > > > (defvar ad-advice-class-completion-table > > @@ -1887,7 +1887,7 @@ class of FUNCTION)." > > (cl-dolist (class ad-advice-classes) > > (if (ad-get-advice-info-field function class) > > (cl-return class))) > > - (error "ad-read-advice-class: ‘%s’ has no advices" > function))) > > + (error "ad-read-advice-class: `%s' has no advices" > function))) > > (let ((class (completing-read > > (format "%s (default %s): " (or prompt "Class") default) > > ad-advice-class-completion-table nil t))) > > @@ -1904,7 +1904,7 @@ An optional PROMPT is used to prompt for the name." > > (ad-get-advice-info-field function class))) > > (default > > (if (null name-completion-table) > > - (error "ad-read-advice-name: ‘%s’ has no %s advice" > > + (error "ad-read-advice-name: `%s' has no %s advice" > > function class) > > (car (car name-completion-table)))) > > (prompt (format "%s (default %s): " (or prompt "Name") default)) > > @@ -1995,9 +1995,9 @@ FUNCTION was not advised)." > > (interactive (ad-read-advice-specification "Enable advice of")) > > (if (ad-is-advised function) > > (if (eq (ad-enable-advice-internal function class name t) 0) > > - (error "ad-enable-advice: ‘%s’ has no %s advice matching ‘%s’" > > + (error "ad-enable-advice: `%s' has no %s advice matching `%s'" > > function class name)) > > - (error "ad-enable-advice: ‘%s’ is not advised" function))) > > + (error "ad-enable-advice: `%s' is not advised" function))) > > > > ;;;###autoload > > (defun ad-disable-advice (function class name) > > @@ -2005,9 +2005,9 @@ FUNCTION was not advised)." > > (interactive (ad-read-advice-specification "Disable advice of")) > > (if (ad-is-advised function) > > (if (eq (ad-enable-advice-internal function class name nil) 0) > > - (error "ad-disable-advice: ‘%s’ has no %s advice matching ‘%s’" > > + (error "ad-disable-advice: `%s' has no %s advice matching `%s'" > > function class name)) > > - (error "ad-disable-advice: ‘%s’ is not advised" function))) > > + (error "ad-disable-advice: `%s' is not advised" function))) > > > > (defun ad-enable-regexp-internal (regexp class flag) > > "Set enable FLAGs of all CLASS advices whose name contains a REGEXP > match. > > @@ -2053,9 +2053,9 @@ in that CLASS." > > (ad-set-advice-info-field > > function class > > (delq advice-to-remove (ad-get-advice-info-field function > class))) > > - (error "ad-remove-advice: ‘%s’ has no %s advice ‘%s’" > > + (error "ad-remove-advice: `%s' has no %s advice `%s'" > > function class name))) > > - (error "ad-remove-advice: ‘%s’ is not advised" function))) > > + (error "ad-remove-advice: `%s' is not advised" function))) > > > > ;;;###autoload > > (defun ad-add-advice (function advice class position) > > @@ -2319,7 +2319,7 @@ INDEX counts from zero." > > ,value-form)) > > (argument-access > > `(setq ,argument-access ,value-form)) > > - (t (error "ad-set-argument: No argument at position %d of ‘%s’" > > + (t (error "ad-set-argument: No argument at position %d of `%s'" > > index arglist))))) > > > > (defun ad-get-arguments (arglist index) > > @@ -2361,7 +2361,7 @@ The assignment starts at position INDEX." > > (setq index (1+ index)) > > (setq values-index (1+ values-index))) > > (if (null set-forms) > > - (error "ad-set-arguments: No argument at position %d of ‘%s’" > > + (error "ad-set-arguments: No argument at position %d of `%s'" > > index arglist) > > (if (= (length set-forms) 1) > > ;; For exactly one set-form we can use values-form > directly,... > > @@ -2412,14 +2412,14 @@ The assignment starts at position INDEX." > > ;; The mapping should work for any two argument lists. > > > > (defun ad-map-arglists (source-arglist target-arglist) > > - "Make ‘funcall/apply’ form to map SOURCE-ARGLIST to TARGET-ARGLIST. > > + "Make `funcall/apply' form to map SOURCE-ARGLIST to TARGET-ARGLIST. > > The arguments supplied to TARGET-ARGLIST will be taken from > SOURCE-ARGLIST just > > as if they had been supplied to a function with TARGET-ARGLIST directly. > > Excess source arguments will be neglected, missing source arguments > will be > > -supplied as nil. Returns a ‘funcall’ or ‘apply’ form with the second > element > > -being ‘function’ which has to be replaced by an actual function > argument. > > -Example: ‘(ad-map-arglists '(a &rest args) '(w x y z))’ will return > > - ‘(funcall ad--addoit-function a (car args) (car (cdr args)) > (nth 2 args))’." > > +supplied as nil. Returns a `funcall' or `apply' form with the second > element > > +being `function' which has to be replaced by an actual function > argument. > > +Example: (ad-map-arglists '(a &rest args) '(w x y z)) will return > > + (funcall ad--addoit-function a (car args) (car (cdr args)) > (nth 2 args))." > > (let* ((parsed-source-arglist (ad-parse-arglist source-arglist)) > > (source-reqopt-args (append (nth 0 parsed-source-arglist) > > (nth 1 parsed-source-arglist))) > > @@ -2911,14 +2911,14 @@ the value of `ad-redefinition-action' and > de/activate again." > > (if (not (eq current-definition original-definition)) > > ;; We have a redefinition: > > (if (not (memq ad-redefinition-action '(accept discard > warn))) > > - (error "ad-redefinition-action: ‘%s’ %s" > > + (error "ad-redefinition-action: `%s' %s" > > function "invalidly redefined") > > (if (eq ad-redefinition-action 'discard) > > nil ;; Just drop it! > > (funcall (or fsetfun #'fset) function newdef) > > (ad-activate-internal function) > > (if (eq ad-redefinition-action 'warn) > > - (message "ad-handle-definition: ‘%s’ got > redefined" > > + (message "ad-handle-definition: `%s' got > redefined" > > function)))) > > ;; either advised def or correct original is in place: > > nil) > > @@ -2953,7 +2953,7 @@ definition will always be cached for later usage." > > current-prefix-arg)) > > (cond > > ((not (ad-is-advised function)) > > - (error "ad-activate: ‘%s’ is not advised" function)) > > + (error "ad-activate: `%s' is not advised" function)) > > ;; Just return for forward advised and not yet defined functions: > > ((not (ad-get-orig-definition function)) nil) > > ((not (ad-has-any-advice function)) (ad-unadvise function)) > > @@ -2977,10 +2977,10 @@ a call to `ad-activate'." > > (interactive > > (list (ad-read-advised-function "Deactivate advice of" > 'ad-is-active))) > > (if (not (ad-is-advised function)) > > - (error "ad-deactivate: ‘%s’ is not advised" function) > > + (error "ad-deactivate: `%s' is not advised" function) > > (cond ((ad-is-active function) > > (if (not (ad-get-orig-definition function)) > > - (error "ad-deactivate: ‘%s’ has no original definition" > > + (error "ad-deactivate: `%s' has no original definition" > > function) > > (ad-clear-advicefunname-definition function) > > (ad-set-advice-info-field function 'active nil) > > diff --git a/lisp/emacs-lisp/byte-opt.el b/lisp/emacs-lisp/byte-opt.el > > index 716e1c6..c3c61d6 100644 > > --- a/lisp/emacs-lisp/byte-opt.el > > +++ b/lisp/emacs-lisp/byte-opt.el > > @@ -255,11 +255,11 @@ > > (cdr (assq name > byte-compile-function-environment))))) > > (pcase fn > > (`nil > > - (byte-compile-warn "attempt to inline ‘%s’ before it was defined" > > + (byte-compile-warn "attempt to inline `%s' before it was defined" > > name) > > form) > > (`(autoload . ,_) > > - (error "File ‘%s’ didn't define ‘%s’" (nth 1 fn) name)) > > + (error "File `%s' didn't define `%s'" (nth 1 fn) name)) > > ((and (pred symbolp) (guard (not (eq fn t)))) ;A function alias. > > (byte-compile-inline-expand (cons fn (cdr form)))) > > ((pred byte-code-function-p) > > @@ -336,7 +336,7 @@ > > bindings) > > values nil)) > > ((and (not optionalp) (null values)) > > - (byte-compile-warn "attempt to open-code ‘%s’ with too few > arguments" name) > > + (byte-compile-warn "attempt to open-code `%s' with too few > arguments" name) > > (setq arglist nil values 'too-few)) > > (t > > (setq bindings (cons (list (car arglist) (car values)) > > @@ -347,7 +347,7 @@ > > (progn > > (or (eq values 'too-few) > > (byte-compile-warn > > - "attempt to open-code ‘%s’ with too many arguments" > name)) > > + "attempt to open-code `%s' with too many arguments" > name)) > > form) > > > > ;; The following leads to > infinite recursion when loading a > > @@ -383,7 +383,7 @@ > > form)) > > ((eq fn 'quote) > > (if (cdr (cdr form)) > > - (byte-compile-warn "malformed quote form: ‘%s’" > > + (byte-compile-warn "malformed quote form: `%s'" > > (prin1-to-string form))) > > ;; map (quote nil) to nil to simplify optimizer logic. > > ;; map quoted constants to nil if for-effect (just because). > > @@ -407,7 +407,7 @@ > > (if (symbolp binding) > > binding > > (if (cdr (cdr binding)) > > - (byte-compile-warn "malformed let > binding: ‘%s’" > > + (byte-compile-warn "malformed let > binding: `%s'" > > (prin1-to-string > binding))) > > (list (car binding) > > (byte-optimize-form (nth 1 binding) > nil)))) > > @@ -420,7 +420,7 @@ > > (cons > > (byte-optimize-form (car clause) nil) > > (byte-optimize-body (cdr clause) > for-effect)) > > - (byte-compile-warn "malformed cond form: > ‘%s’" > > + (byte-compile-warn "malformed cond form: > `%s'" > > (prin1-to-string > clause)) > > clause)) > > (cdr form)))) > > @@ -457,7 +457,7 @@ > > > > ((eq fn 'if) > > (when (< (length form) 3) > > - (byte-compile-warn "too few arguments for ‘if’")) > > + (byte-compile-warn "too few arguments for `if'")) > > (cons fn > > (cons (byte-optimize-form (nth 1 form) nil) > > (cons > > @@ -485,7 +485,7 @@ > > (cons fn (mapcar 'byte-optimize-form (cdr form))))) > > > > ((eq fn 'interactive) > > - (byte-compile-warn "misplaced interactive spec: ‘%s’" > > + (byte-compile-warn "misplaced interactive spec: `%s'" > > (prin1-to-string form)) > > nil) > > > > @@ -539,7 +539,7 @@ > > (cons fn (mapcar #'byte-optimize-form (cdr form)))) > > > > ((not (symbolp fn)) > > - (byte-compile-warn "‘%s’ is a malformed function" > > + (byte-compile-warn "`%s' is a malformed function" > > (prin1-to-string fn)) > > form) > > > > @@ -1054,7 +1054,7 @@ > > > > (defun byte-optimize-while (form) > > (when (< (length form) 2) > > - (byte-compile-warn "too few arguments for ‘while’")) > > + (byte-compile-warn "too few arguments for `while'")) > > (if (nth 1 form) > > form)) > > > > @@ -1090,7 +1090,7 @@ > > (nconc (list 'funcall fn) butlast > > (mapcar (lambda (x) (list 'quote x)) (nth 1 > last)))) > > (byte-compile-warn > > - "last arg to apply can't be a literal atom: ‘%s’" > > + "last arg to apply can't be a literal atom: `%s'" > > (prin1-to-string last)) > > nil)) > > form))) > > diff --git a/lisp/emacs-lisp/byte-run.el b/lisp/emacs-lisp/byte-run.el > > index 3c561db..73c2977 100644 > > --- a/lisp/emacs-lisp/byte-run.el > > +++ b/lisp/emacs-lisp/byte-run.el > > @@ -267,7 +267,7 @@ The return value is undefined. > > (cdr body) > > body))) > > nil) > > - (t (message "Warning: Unknown defun property ‘%S’ in > %S" > > + (t (message "Warning: Unknown defun property `%S' in > %S" > > (car x) name))))) > > decls)) > > (def (list 'defalias > > @@ -317,7 +317,7 @@ The return value is undefined. > > (declare (debug defun) (doc-string 3)) > > (or (memq (get name 'byte-optimizer) > > '(nil byte-compile-inline-expand)) > > - (error "‘%s’ is a primitive" name)) > > + (error "`%s' is a primitive" name)) > > `(prog1 > > (defun ,name ,arglist ,@body) > > (eval-and-compile > > diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el > > index 7182c0b..279ffa3 100644 > > --- a/lisp/emacs-lisp/bytecomp.el > > +++ b/lisp/emacs-lisp/bytecomp.el > > @@ -814,7 +814,7 @@ CONST2 may be evaluated multiple times." > > off (cdr lap-entry)) > > (cond > > ((not (symbolp op)) > > - (error "Non-symbolic opcode ‘%s’" op)) > > + (error "Non-symbolic opcode `%s'" op)) > > ((eq op 'TAG) > > (setcar off pc)) > > (t > > @@ -1120,7 +1120,7 @@ Each function's symbol gets added to > `byte-compile-noruntime-functions'." > > pt) > > (when dir > > (unless was-same > > - (insert (format-message "Leaving directory ‘%s’\n" > > + (insert (format-message "Leaving directory `%s'\n" > > default-directory)))) > > (unless (bolp) > > (insert "\n")) > > @@ -1136,7 +1136,7 @@ Each function's symbol gets added to > `byte-compile-noruntime-functions'." > > (when dir > > (setq default-directory dir) > > (unless was-same > > - (insert (format-message "Entering directory ‘%s’\n" > > + (insert (format-message "Entering directory `%s'\n" > > default-directory)))) > > (setq byte-compile-last-logged-file byte-compile-current-file > > byte-compile-last-warned-form nil) > > @@ -1339,7 +1339,7 @@ extra args." > > (nargs (- (length form) 2))) > > (unless (= nargs nfields) > > (byte-compile-warn > > - "‘%s’ called with %d args to fill %d format field(s)" (car form) > > + "`%s' called with %d args to fill %d format field(s)" (car form) > > nargs nfields))))) > > > > (dolist (elt '(format message error)) > > @@ -1359,7 +1359,7 @@ extra args." > > (plist-get keyword-args :group) > > (not (and (consp name) (eq (car name) 'quote))) > > (byte-compile-warn > > - "%s for ‘%s’ fails to specify containing group" > > + "%s for `%s' fails to specify containing group" > > (cdr (assq (car form) > > '((custom-declare-group . defgroup) > > (custom-declare-face . defface) > > @@ -1378,7 +1378,7 @@ extra args." > > (let ((calls (assq name byte-compile-unresolved-functions)) > > nums sig min max) > > (when (and calls macrop) > > - (byte-compile-warn "macro ‘%s’ defined too late" name)) > > + (byte-compile-warn "macro `%s' defined too late" name)) > > (setq byte-compile-unresolved-functions > > (delq calls byte-compile-unresolved-functions)) > > (setq calls (delq t calls)) ;Ignore higher-order uses of the > function. > > @@ -1386,7 +1386,7 @@ extra args." > > (when (and (symbolp name) > > (eq (function-get name 'byte-optimizer) > > 'byte-compile-inline-expand)) > > - (byte-compile-warn "defsubst ‘%s’ was used before it was > defined" > > + (byte-compile-warn "defsubst `%s' was used before it was > defined" > > name)) > > (setq sig (byte-compile-arglist-signature arglist) > > nums (sort (copy-sequence (cdr calls)) (function <)) > > @@ -1465,7 +1465,7 @@ extra args." > > ;; so don't warn about them. > > macroexpand > > cl--compiling-file)))) > > - (byte-compile-warn "function ‘%s’ from cl package called at > runtime" > > + (byte-compile-warn "function `%s' from cl package called at > runtime" > > func))) > > form) > > > > @@ -1507,12 +1507,12 @@ extra args." > > (if (fboundp f) (push f noruntime) (push f unresolved))) > > ;; Complain about the no-run-time functions > > (byte-compile-print-syms > > - "the function ‘%s’ might not be defined at runtime." > > + "the function `%s' might not be defined at runtime." > > "the following functions might not be defined at runtime:" > > noruntime) > > ;; Complain about the unresolved functions > > (byte-compile-print-syms > > - "the function ‘%s’ is not known to be defined." > > + "the function `%s' is not known to be defined." > > "the following functions are not known to be defined:" > > unresolved))) > > nil) > > @@ -1818,7 +1818,7 @@ The value is non-nil if there were no errors, nil > if errors." > > ;; (byte-compile-abbreviate-file filename) > > ;; (with-current-buffer input-buffer no-byte-compile)) > > (when (file-exists-p target-file) > > - (message "%s deleted because of ‘no-byte-compile: %s’" > > + (message "%s deleted because of `no-byte-compile: %s'" > > (byte-compile-abbreviate-file target-file) > > (buffer-local-value 'no-byte-compile input-buffer)) > > (condition-case nil (delete-file target-file) (error nil))) > > @@ -2301,12 +2301,12 @@ list that represents a doc string reference. > > (when (and (symbolp sym) > > (not (string-match "[-*/:$]" (symbol-name sym))) > > (byte-compile-warning-enabled-p 'lexical)) > > - (byte-compile-warn "global/dynamic var ‘%s’ lacks a prefix" > > + (byte-compile-warn "global/dynamic var `%s' lacks a prefix" > > sym)) > > (when (memq sym byte-compile-lexical-variables) > > (setq byte-compile-lexical-variables > > (delq sym byte-compile-lexical-variables)) > > - (byte-compile-warn "Variable ‘%S’ declared after its first use" > sym)) > > + (byte-compile-warn "Variable `%S' declared after its first use" > sym)) > > (push sym byte-compile-bound-variables)) > > > > (defun byte-compile-file-form-defvar (form) > > @@ -2423,7 +2423,7 @@ not to take responsibility for the actual > compilation of the code." > > ;; Don't warn when compiling the stubs in > byte-run... > > (not (assq name > byte-compile-initial-macro-environment))) > > (byte-compile-warn > > - "‘%s’ defined multiple times, as both function and > macro" > > + "`%s' defined multiple times, as both function and > macro" > > name)) > > (setcdr that-one nil)) > > (this-one > > @@ -2431,13 +2431,13 @@ not to take responsibility for the actual > compilation of the code." > > ;; Hack: Don't warn when compiling the magic > internal > > ;; byte-compiler macros in byte-run.el... > > (not (assq name > byte-compile-initial-macro-environment))) > > - (byte-compile-warn "%s ‘%s’ defined multiple times in this > file" > > + (byte-compile-warn "%s `%s' defined multiple times in this > file" > > (if macro "macro" "function") > > name))) > > ((eq (car-safe (symbol-function name)) > > (if macro 'lambda 'macro)) > > (when (byte-compile-warning-enabled-p 'redefine) > > - (byte-compile-warn "%s ‘%s’ being redefined as a %s" > > + (byte-compile-warn "%s `%s' being redefined as a %s" > > (if macro "function" "macro") > > name > > (if macro "macro" "function"))) > > @@ -2454,7 +2454,7 @@ not to take responsibility for the actual > compilation of the code." > > (stringp (car-safe (cdr-safe (cdr-safe body))))) > > ;; FIXME: We've done that already just above, so this looks wrong! > > ;;(byte-compile-set-symbol-position name) > > - (byte-compile-warn "probable ‘\"’ without ‘\\’ in doc string of > %s" > > + (byte-compile-warn "probable `\"' without `\\' in doc string of > %s" > > name)) > > > > (if (not (listp body)) > > @@ -2585,7 +2585,9 @@ If FORM is a lambda or a macro, byte-compile it as > a function." > > (if (symbolp form) form "provided")) > > fun) > > (t > > - (when (symbolp form) > > + (when (or (symbolp form) (eq (car-safe fun) 'closure)) > > + ;; `fun' is a function *value*, so try to recover its > corresponding > > + ;; source code. > > (setq lexical-binding (eq (car fun) 'closure)) > > (setq fun (byte-compile--reify-function fun))) > > ;; Expand macros. > > @@ -2980,13 +2982,13 @@ for symbols generated by the byte compiler > itself." > > (`(',var . ,_) > > (when (assq var byte-compile-lexical-variables) > > (byte-compile-log-warning > > - (format-message "%s cannot use lexical var ‘%s’" fn var) > > + (format-message "%s cannot use lexical var `%s'" fn var) > > nil :error))))) > > (when (macroexp--const-symbol-p fn) > > - (byte-compile-warn "‘%s’ called as a function" fn)) > > + (byte-compile-warn "`%s' called as a function" fn)) > > (when (and (byte-compile-warning-enabled-p 'interactive-only) > > interactive-only) > > - (byte-compile-warn "‘%s’ is for interactive use only%s" > > + (byte-compile-warn "`%s' is for interactive use only%s" > > fn > > (cond ((stringp interactive-only) > > (format "; %s" > > @@ -2994,7 +2996,7 @@ for symbols generated by the byte compiler itself." > > interactive-only))) > > ((and (symbolp 'interactive-only) > > (not (eq interactive-only t))) > > - (format-message "; use ‘%s’ instead." > > + (format-message "; use `%s' instead." > > interactive-only)) > > (t ".")))) > > (if (eq (car-safe (symbol-function (car form))) 'macro) > > @@ -3039,7 +3041,7 @@ for symbols generated by the byte compiler itself." > > (byte-compile-warning-enabled-p 'mapcar)) > > (byte-compile-set-symbol-position 'mapcar) > > (byte-compile-warn > > - "‘mapcar’ called for effect; use ‘mapc’ or ‘dolist’ instead")) > > + "`mapcar' called for effect; use `mapc' or `dolist' instead")) > > (byte-compile-push-constant (car form)) > > (mapc 'byte-compile-form (cdr form)) ; wasteful, but faster. > > (byte-compile-out 'byte-call (length (cdr form)))) > > @@ -3127,8 +3129,8 @@ for symbols generated by the byte compiler itself." > > (cond ((or (not (symbolp var)) (macroexp--const-symbol-p var)) > > (when (byte-compile-warning-enabled-p 'constants) > > (byte-compile-warn (if (eq access-type 'let-bind) > > - "attempt to let-bind %s ‘%s’" > > - "variable reference to %s ‘%s’") > > + "attempt to let-bind %s `%s'" > > + "variable reference to %s `%s'") > > (if (symbolp var) "constant" "nonvariable") > > (prin1-to-string var)))) > > ((let ((od (get var 'byte-obsolete-variable))) > > @@ -3166,7 +3168,7 @@ for symbols generated by the byte compiler itself." > > (boundp var) > > (memq var byte-compile-bound-variables) > > (memq var byte-compile-free-references)) > > - (byte-compile-warn "reference to free variable ‘%S’" var) > > + (byte-compile-warn "reference to free variable `%S'" var) > > (push var byte-compile-free-references)) > > (byte-compile-dynamic-variable-op 'byte-varref var)))) > > > > @@ -3182,7 +3184,7 @@ for symbols generated by the byte compiler itself." > > (boundp var) > > (memq var byte-compile-bound-variables) > > (memq var byte-compile-free-assignments)) > > - (byte-compile-warn "assignment to free variable ‘%s’" var) > > + (byte-compile-warn "assignment to free variable `%s'" var) > > (push var byte-compile-free-assignments)) > > (byte-compile-dynamic-variable-op 'byte-varset var)))) > > > > @@ -3363,7 +3365,7 @@ If it is nil, then the handler is > \"byte-compile-SYMBOL.\"" > > > > (defun byte-compile-subr-wrong-args (form n) > > (byte-compile-set-symbol-position (car form)) > > - (byte-compile-warn "‘%s’ called with %d arg%s, but requires %s" > > + (byte-compile-warn "`%s' called with %d arg%s, but requires %s" > > (car form) (length (cdr form)) > > (if (= 1 (length (cdr form))) "" "s") n) > > ;; Get run-time wrong-number-of-args error. > > @@ -3731,7 +3733,7 @@ discarding." > > (macroexp--const-symbol-p var t)) > > (byte-compile-warning-enabled-p 'constants) > > (byte-compile-warn > > - "variable assignment to %s ‘%s’" > > + "variable assignment to %s `%s'" > > (if (symbolp var) "constant" "nonvariable") > > (prin1-to-string var))) > > (byte-compile-normal-call `(set-default ',var ,@(cdr form))))))) > > @@ -4105,7 +4107,7 @@ binding slots have been popped." > > (list 'not > > (cons (or (get (car form) 'byte-compile-negated-op) > > (error > > - "Compiler error: ‘%s’ has no ‘byte-compile-negated-op’ > property" > > + "Compiler error: `%s' has no `byte-compile-negated-op' > property" > > (car form))) > > (cdr form)))) > > > > @@ -4168,7 +4170,7 @@ binding slots have been popped." > > (byte-compile-set-symbol-position 'condition-case) > > (unless (symbolp var) > > (byte-compile-warn > > - "‘%s’ is not a variable-name or nil (in condition-case)" var)) > > + "`%s' is not a variable-name or nil (in condition-case)" var)) > > (if fun-bodies (setq var (make-symbol "err"))) > > (byte-compile-push-constant var) > > (if fun-bodies > > @@ -4187,7 +4189,7 @@ binding slots have been popped." > > (setq ok nil))) > > ok)))) > > (byte-compile-warn > > - "‘%S’ is not a condition name or list of such > (in condition-case)" > > + "`%S' is not a condition name or list of such > (in condition-case)" > > condition)) > > ;; (not (or (eq condition 't) > > ;; (and (stringp (get condition > 'error-message)) > > @@ -4220,7 +4222,7 @@ binding slots have been popped." > > (byte-compile-set-symbol-position 'condition-case) > > (unless (symbolp var) > > (byte-compile-warn > > - "‘%s’ is not a variable-name or nil (in condition-case)" var)) > > + "`%s' is not a variable-name or nil (in condition-case)" var)) > > > > (dolist (clause (reverse clauses)) > > (let ((condition (nth 1 clause))) > > @@ -4228,7 +4230,7 @@ binding slots have been popped." > > (dolist (c condition) > > (unless (and c (symbolp c)) > > (byte-compile-warn > > - "‘%S’ is not a condition name (in condition-case)" c)) > > + "`%S' is not a condition name (in condition-case)" c)) > > ;; In reality, the `error-conditions' property is only > required > > ;; for the argument to `signal', not to `condition-case'. > > ;;(unless (consp (get c 'error-conditions)) > > @@ -4270,7 +4272,7 @@ binding slots have been popped." > > (if (and (eq 'set-buffer (car-safe (car-safe (cdr form)))) > > (byte-compile-warning-enabled-p 'suspicious)) > > (byte-compile-warn > > - "Use ‘with-current-buffer’ rather than > save-excursion+set-buffer")) > > + "Use `with-current-buffer' rather than > save-excursion+set-buffer")) > > (byte-compile-out 'byte-save-excursion 0) > > (byte-compile-body-do-effect (cdr form)) > > (byte-compile-out 'byte-unbind 1)) > > @@ -4310,7 +4312,7 @@ binding slots have been popped." > > (when (and (symbolp (nth 1 form)) > > (not (string-match "[-*/:$]" (symbol-name (nth 1 form)))) > > (byte-compile-warning-enabled-p 'lexical)) > > - (byte-compile-warn "global/dynamic var ‘%s’ lacks a prefix" > > + (byte-compile-warn "global/dynamic var `%s' lacks a prefix" > > (nth 1 form))) > > (let ((fun (nth 0 form)) > > (var (nth 1 form)) > > @@ -4321,7 +4323,7 @@ binding slots have been popped." > > (and (eq fun 'defconst) (null (cddr form)))) > > (let ((ncall (length (cdr form)))) > > (byte-compile-warn > > - "‘%s’ called with %d argument%s, but %s %s" > > + "`%s' called with %d argument%s, but %s %s" > > fun ncall > > (if (= 1 ncall) "" "s") > > (if (< ncall 2) "requires" "accepts only") > > @@ -4330,7 +4332,7 @@ binding slots have been popped." > > (if (eq fun 'defconst) > > (push var byte-compile-const-variables)) > > (when (and string (not (stringp string))) > > - (byte-compile-warn "third arg to ‘%s %s’ is not a string: %s" > > + (byte-compile-warn "third arg to `%s %s' is not a string: %s" > > fun var string)) > > (byte-compile-form-do-effect > > (if (cddr form) ; `value' provided > > @@ -4353,7 +4355,7 @@ binding slots have been popped." > > (not (fboundp (eval (nth 1 form)))) > > (byte-compile-warn > > "The compiler ignores `autoload' except at top level. You should > > - probably put the autoload of the macro ‘%s’ at top-level." > > + probably put the autoload of the macro `%s' at top-level." > > (eval (nth 1 form)))) > > (byte-compile-normal-call form)) > > > > @@ -4361,7 +4363,7 @@ binding slots have been popped." > > ;; The ones that remain are errors. > > (defun byte-compile-lambda-form (_form) > > (byte-compile-set-symbol-position 'lambda) > > - (error "‘lambda’ used as function name is invalid")) > > + (error "`lambda' used as function name is invalid")) > > > > ;; Compile normally, but deal with warnings for the function being > defined. > > (put 'defalias 'byte-hunk-handler 'byte-compile-file-form-defalias) > > @@ -4433,7 +4435,7 @@ binding slots have been popped." > > (if (and (eq (car-safe (car-safe (cdr-safe form))) 'quote) > > (byte-compile-warning-enabled-p 'make-local)) > > (byte-compile-warn > > - "‘make-variable-buffer-local’ not called at toplevel")) > > + "`make-variable-buffer-local' not called at toplevel")) > > (byte-compile-normal-call form)) > > (put 'make-variable-buffer-local > > 'byte-hunk-handler 'byte-compile-form-make-variable-buffer-local) > > @@ -4565,7 +4567,7 @@ invoked interactively." > > (length (nth 2 y)))))) > > (`name > > (lambda (x y) (string< (car x) (car y)))) > > - (_ (error "‘byte-compile-call-tree-sort’: ‘%s’ - > unknown sort mode" > > + (_ (error "`byte-compile-call-tree-sort': `%s' - > unknown sort mode" > > byte-compile-call-tree-sort)))))) > > (message "Generating call tree...") > > (let ((rest byte-compile-call-tree) > > @@ -4678,7 +4680,7 @@ already up-to-date." > > ;; startup.el. > > (defvar command-line-args-left) ;Avoid 'free variable' warning > > (if (not noninteractive) > > - (error "‘batch-byte-compile’ is to be used only with -batch")) > > + (error "`batch-byte-compile' is to be used only with -batch")) > > (let ((error nil)) > > (while command-line-args-left > > (if (file-directory-p (expand-file-name (car > command-line-args-left))) > > diff --git a/lisp/emacs-lisp/cconv.el b/lisp/emacs-lisp/cconv.el > > index a20e201..205ae6d 100644 > > --- a/lisp/emacs-lisp/cconv.el > > +++ b/lisp/emacs-lisp/cconv.el > > @@ -300,7 +300,7 @@ places where they originally did not directly > appear." > > (prog1 binder (setq binder (list binder))) > > (when (cddr binder) > > (byte-compile-log-warning > > - (format-message "Malformed ‘%S’ binding: %S" > > + (format-message "Malformed `%S' binding: %S" > > letsym binder))) > > (setq value (cadr binder)) > > (car binder))) > > @@ -546,7 +546,7 @@ FORM is the parent form that binds this var." > > (`((,(and var (guard (eq ?_ (aref (symbol-name var) 0)))) . ,_) > > ,_ ,_ ,_ ,_) > > (byte-compile-log-warning > > - (format-message "%s ‘%S’ not left unused" varkind var)))) > > + (format-message "%s `%S' not left unused" varkind var)))) > > (pcase vardata > > (`((,var . ,_) nil ,_ ,_ nil) > > ;; FIXME: This gives warnings in the wrong order, with imprecise > line > > @@ -558,7 +558,7 @@ FORM is the parent form that binds this var." > > (eq ?_ (aref (symbol-name var) 0)) > > ;; As a special exception, ignore "ignore". > > (eq var 'ignored)) > > - (byte-compile-log-warning (format-message "Unused lexical %s > ‘%S’" > > + (byte-compile-log-warning (format-message "Unused lexical %s > `%S'" > > varkind var)))) > > ;; If it's unused, there's no point converting it into a cons-cell, > even if > > ;; it's captured and mutated. > > diff --git a/lisp/emacs-lisp/chart.el b/lisp/emacs-lisp/chart.el > > index d972879..0660125 100644 > > --- a/lisp/emacs-lisp/chart.el > > +++ b/lisp/emacs-lisp/chart.el > > @@ -652,7 +652,7 @@ SORT-PRED if desired." > > (set-buffer b) > > (erase-buffer) > > (insert "cd " d ";du -sk * \n") > > - (message "Running ‘cd %s;du -sk *’..." d) > > + (message "Running `cd %s;du -sk *'..." d) > > (call-process-region (point-min) (point-max) shell-file-name t > > (current-buffer) nil) > > (goto-char (point-min)) > > diff --git a/lisp/emacs-lisp/check-declare.el > b/lisp/emacs-lisp/check-declare.el > > index bdcb4ec..3b69e95 100644 > > --- a/lisp/emacs-lisp/check-declare.el > > +++ b/lisp/emacs-lisp/check-declare.el > > @@ -106,7 +106,7 @@ don't know how to recognize (e.g. some macros)." > > (symbolp (setq fileonly (nth 4 form)))) > > (setq alist (cons (list fnfile fn arglist fileonly) alist)) > > ;; FIXME make this more noticeable. > > - (if form (message "Malformed declaration for ‘%s’" (cadr > form)))))) > > + (if form (message "Malformed declaration for `%s'" (cadr > form)))))) > > (message "%sdone" m) > > alist)) > > > > @@ -279,7 +279,7 @@ TYPE is a string giving the nature of the error. > Warning is displayed in > > entry)) > > (warning-fill-prefix " ")) > > (display-warning 'check-declare > > - (format-message "said ‘%s’ was defined in %s: %s" > > + (format-message "said `%s' was defined in %s: %s" > > fn (file-name-nondirectory fnfile) > type) > > nil check-declare-warning-buffer))) > > > > @@ -318,7 +318,7 @@ Return a list of any errors found." > > See `check-declare-directory' for more information." > > (interactive "fFile to check: ") > > (or (file-exists-p file) > > - (error "File ‘%s’ not found" file)) > > + (error "File `%s' not found" file)) > > (let ((m (format "Checking %s..." file)) > > errlist) > > (message "%s" m) > > @@ -332,8 +332,8 @@ See `check-declare-directory' for more information." > > Returns non-nil if any false statements are found." > > (interactive "DDirectory to check: ") > > (or (file-directory-p (setq root (expand-file-name root))) > > - (error "Directory ‘%s’ not found" root)) > > - (let ((m "Checking ‘declare-function’ statements...") > > + (error "Directory `%s' not found" root)) > > + (let ((m "Checking `declare-function' statements...") > > (m2 "Finding files with declarations...") > > errlist files) > > (message "%s" m) > > diff --git a/lisp/emacs-lisp/checkdoc.el b/lisp/emacs-lisp/checkdoc.el > > index b2c8119..4a9e16a 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 ‘(’? " > > + (format-message "Escape this > `('? ") > > "\\(") > > nil > > (checkdoc-create-error > > @@ -1715,7 +1715,7 @@ function,command,variable,option or symbol." > ms1)))))) > > (if (checkdoc-autofix-ask-replace > > (match-beginning 1) (match-end 1) > > (format-message > > - "If this is the argument ‘%s’, it > should appear as %s. Fix? " > > + "If this is the argument `%s', it > should appear as %s. Fix? " > > (car args) (upcase (car args))) > > (upcase (car args)) t) > > (setq found (match-beginning 1)))))) > > @@ -1741,7 +1741,7 @@ function,command,variable,option or symbol." > ms1)))))) > > nil) > > (checkdoc-create-error > > (format-message > > - "Argument ‘%s’ should appear (as %s) in the doc > string" > > + "Argument `%s' should appear (as %s) in the doc > string" > > (car args) (upcase (car args))) > > s (marker-position e))) > > (if (or (and order (eq order 'yes)) > > @@ -1825,15 +1825,15 @@ Replace with \"%s\"? " original replace) > > (or (boundp found) (fboundp found))) > > (progn > > (setq msg (format-message > > - "Add quotes around Lisp symbol ‘%s’? " ms)) > > + "Add quotes around Lisp symbol `%s'? " ms)) > > (if (checkdoc-autofix-ask-replace > > (match-beginning 1) (+ (match-beginning 1) > > (length ms)) > > - msg (concat "‘" ms "’") t) > > + msg (format-message "`%s'" ms) t) > > (setq msg nil) > > (setq msg > > (format-message > > - "Lisp symbol ‘%s’ should appear in quotes" > ms)))))) > > + "Lisp symbol `%s' should appear in quotes" > ms)))))) > > (if msg > > (checkdoc-create-error msg (match-beginning 1) > > (+ (match-beginning 1) > > @@ -1849,7 +1849,7 @@ Replace with \"%s\"? " original replace) > > (match-string 2) t) > > nil > > (checkdoc-create-error > > - "Symbols t and nil should not appear in ‘...’ quotes" > > + "Symbols t and nil should not appear in single quotes" > > (match-beginning 1) (match-end 1))))) > > ;; Here is some basic sentence formatting > > (checkdoc-sentencespace-region-engine (point) e) > > @@ -2487,22 +2487,24 @@ Argument TYPE specifies the type of question, > such as `error' or `y-or-n-p'." > > ;; If we see a ?, then replace with "? ". > > (if (checkdoc-autofix-ask-replace > > (match-beginning 0) (match-end 0) > > - "‘y-or-n-p’ argument should end with \"? \". Fix? " > > + (format-message > > + "`y-or-n-p' argument should end with \"? \". Fix? > ") > > "? " t) > > nil > > (checkdoc-create-error > > - "‘y-or-n-p’ argument should end with \"? \"" > > + "`y-or-n-p' argument should end with \"? \"" > > (match-beginning 0) (match-end 0))) > > (if (save-excursion (forward-sexp 1) > > (forward-char -2) > > (looking-at " ")) > > (if (checkdoc-autofix-ask-replace > > (match-beginning 0) (match-end 0) > > - "‘y-or-n-p’ argument should end with \"? \". Fix? > " > > + (format-message > > + "`y-or-n-p' argument should end with \"? \". > Fix? ") > > "? " t) > > nil > > (checkdoc-create-error > > - "‘y-or-n-p’ argument should end with \"? \"" > > + "`y-or-n-p' argument should end with \"? \"" > > (match-beginning 0) (match-end 0))) > > (if (and ;; if this isn't true, we have a problem. > > (save-excursion (forward-sexp 1) > > @@ -2510,11 +2512,12 @@ Argument TYPE specifies the type of question, > such as `error' or `y-or-n-p'." > > (looking-at "\"")) > > (checkdoc-autofix-ask-replace > > (match-beginning 0) (match-end 0) > > - "‘y-or-n-p’ argument should end with \"? \". Fix? " > > + (format-message > > + "`y-or-n-p' argument should end with \"? \". > Fix? ") > > "? \"" t)) > > nil > > (checkdoc-create-error > > - "‘y-or-n-p’ argument should end with \"? \"" > > + "`y-or-n-p' argument should end with \"? \"" > > (match-beginning 0) (match-end 0))))))) > > ;; Now, let's just run the spell checker on this guy. > > (checkdoc-ispell-docstring-engine (save-excursion (forward-sexp 1) > > diff --git a/lisp/emacs-lisp/cl-extra.el b/lisp/emacs-lisp/cl-extra.el > > index 7a7712a..dddfca7 100644 > > --- a/lisp/emacs-lisp/cl-extra.el > > +++ b/lisp/emacs-lisp/cl-extra.el > > @@ -415,7 +415,7 @@ as an integer unless JUNK-ALLOWED is non-nil." > > (cond ((and junk-allowed (null sum)) sum) > > (junk-allowed (* sign sum)) > > ((or (/= start end) (null sum)) > > - (error "Not an integer string: ‘%s’" string)) > > + (error "Not an integer string: `%s'" string)) > > (t (* sign sum))))))) > > > > > > @@ -774,16 +774,16 @@ including `cl-block' and `cl-eval-when'." > > ;; FIXME: Add a `cl-class-of' or `cl-typeof' or somesuch. > > (metatype (cl--class-name (symbol-value (aref class 0))))) > > (insert (symbol-name type) > > - (substitute-command-keys " is a type (of kind ‘")) > > + (substitute-command-keys " is a type (of kind `")) > > (help-insert-xref-button (symbol-name metatype) > > 'cl-help-type metatype) > > - (insert (substitute-command-keys "’)")) > > + (insert (substitute-command-keys "')")) > > (when location > > - (insert (substitute-command-keys " in ‘")) > > + (insert (substitute-command-keys " in `")) > > (help-insert-xref-button > > (help-fns-short-filename location) > > 'cl-type-definition type location 'define-type) > > - (insert (substitute-command-keys "’"))) > > + (insert (substitute-command-keys "'"))) > > (insert ".\n") > > > > ;; Parents. > > @@ -793,10 +793,10 @@ including `cl-block' and `cl-eval-when'." > > (insert " Inherits from ") > > (while (setq cur (pop pl)) > > (setq cur (cl--class-name cur)) > > - (insert (substitute-command-keys "‘")) > > + (insert (substitute-command-keys "`")) > > (help-insert-xref-button (symbol-name cur) > > 'cl-help-type cur) > > - (insert (substitute-command-keys (if pl "’, " "’")))) > > + (insert (substitute-command-keys (if pl "', " "'")))) > > (insert ".\n"))) > > > > ;; Children, if available. ¡For EIEIO! > > @@ -807,10 +807,10 @@ including `cl-block' and `cl-eval-when'." > > (when ch > > (insert " Children ") > > (while (setq cur (pop ch)) > > - (insert (substitute-command-keys "‘")) > > + (insert (substitute-command-keys "`")) > > (help-insert-xref-button (symbol-name cur) > > 'cl-help-type cur) > > - (insert (substitute-command-keys (if ch "’, " "’")))) > > + (insert (substitute-command-keys (if ch "', " "'")))) > > (insert ".\n"))) > > > > ;; Type's documentation. > > @@ -826,10 +826,10 @@ including `cl-block' and `cl-eval-when'." > > (when generics > > (insert (propertize "Specialized Methods:\n\n" 'face 'bold)) > > (dolist (generic generics) > > - (insert (substitute-command-keys "‘")) > > + (insert (substitute-command-keys "`")) > > (help-insert-xref-button (symbol-name generic) > > 'help-function generic) > > - (insert (substitute-command-keys "’")) > > + (insert (substitute-command-keys "'")) > > (pcase-dolist (`(,qualifiers ,args ,doc) > > (cl--generic-method-documentation generic > type)) > > (insert (format " %s%S\n" qualifiers args) > > diff --git a/lisp/emacs-lisp/cl-generic.el > b/lisp/emacs-lisp/cl-generic.el > > index 5d52761..c012a30 100644 > > --- a/lisp/emacs-lisp/cl-generic.el > > +++ b/lisp/emacs-lisp/cl-generic.el > > @@ -192,7 +192,7 @@ BODY, if present, is used as the body of a default > method. > > (when doc (error "Multiple doc strings for %S" name)) > > (setq doc (cadr (pop options-and-methods)))) > > (`declare > > - (when declarations (error "Multiple ‘declare’ for %S" name)) > > + (when declarations (error "Multiple `declare' for %S" name)) > > (setq declarations (pop options-and-methods))) > > (`:method (push (cdr (pop options-and-methods)) methods)) > > (_ (push (pop options-and-methods) options)))) > > @@ -208,7 +208,7 @@ BODY, if present, is used as the body of a default > method. > > defun-declarations-alist)))) > > (cond > > (f (apply (car f) name args (cdr declaration))) > > - (t (message "Warning: Unknown defun property ‘%S’ > in %S" > > + (t (message "Warning: Unknown defun property `%S' > in %S" > > (car declaration) name) > > nil)))) > > (cdr declarations)) > > @@ -864,11 +864,11 @@ MET-NAME is a cons (SYMBOL . SPECIALIZERS)." > > (cl--generic-method-specializers > method))) > > (file (find-lisp-object-file-name met-name > 'cl-defmethod))) > > (when file > > - (insert (substitute-command-keys " in ‘")) > > + (insert (substitute-command-keys " in `")) > > (help-insert-xref-button (help-fns-short-filename file) > > 'help-function-def met-name > file > > 'cl-defmethod) > > - (insert (substitute-command-keys "’.\n")))) > > + (insert (substitute-command-keys "'.\n")))) > > (insert "\n" (or (nth 2 info) "Undocumented") "\n\n"))))))) > > > > (defun cl--generic-specializers-apply-to-type-p (specializers type) > > @@ -1070,7 +1070,7 @@ The value returned is a list of elements of the > form > > (and (assq type cl--generic-typeof-types) > > (progn > > (if (memq type '(vector array sequence)) > > - (message "‘%S’ also matches CL structs and EIEIO classes" > type)) > > + (message "`%S' also matches CL structs and EIEIO classes" > type)) > > (list cl--generic-typeof-generalizer))) > > (cl-call-next-method))) > > > > diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el > > index 06e75b3..d5d8ef0 100644 > > --- a/lisp/emacs-lisp/cl-macs.el > > +++ b/lisp/emacs-lisp/cl-macs.el > > @@ -1132,7 +1132,7 @@ For more details, see Info node `(cl)Loop > Facility'. > > (cond > > > > ((null cl--loop-args) > > - (error "Malformed ‘cl-loop’ macro")) > > + (error "Malformed `cl-loop' macro")) > > > > ((eq word 'named) > > (setq cl--loop-name (pop cl--loop-args))) > > @@ -1140,7 +1140,7 @@ For more details, see Info node `(cl)Loop > Facility'. > > ((eq word 'initially) > > (if (memq (car cl--loop-args) '(do doing)) (pop cl--loop-args)) > > (or (consp (car cl--loop-args)) > > - (error "Syntax error on ‘initially’ clause")) > > + (error "Syntax error on `initially' clause")) > > (while (consp (car cl--loop-args)) > > (push (pop cl--loop-args) cl--loop-initially))) > > > > @@ -1150,7 +1150,7 @@ For more details, see Info node `(cl)Loop > Facility'. > > (or (cl--pop2 cl--loop-args) '(quote nil))) > > (if (memq (car cl--loop-args) '(do doing)) (pop cl--loop-args)) > > (or (consp (car cl--loop-args)) > > - (error "Syntax error on ‘finally’ clause")) > > + (error "Syntax error on `finally' clause")) > > (if (and (eq (caar cl--loop-args) 'return) (null cl--loop-name)) > > (setq cl--loop-result-explicit > > (or (nth 1 (pop cl--loop-args)) '(quote nil))) > > @@ -1177,7 +1177,7 @@ For more details, see Info node `(cl)Loop > Facility'. > > above below by)) > > (push word cl--loop-args) > > (if (memq (car cl--loop-args) '(downto above)) > > - (error "Must specify ‘from’ value for downward > cl-loop")) > > + (error "Must specify `from' value for downward > cl-loop")) > > (let* ((down (or (eq (car cl--loop-args) 'downfrom) > > (memq (nth 2 cl--loop-args) > > '(downto above)))) > > @@ -1197,7 +1197,7 @@ For more details, see Info node `(cl)Loop > Facility'. > > (step-var (and (not (macroexp-const-p step)) > > (make-symbol "--cl-var--")))) > > (and step (numberp step) (<= step 0) > > - (error "Loop ‘by’ value is not positive: %s" > step)) > > + (error "Loop `by' value is not positive: %s" > step)) > > (push (list var (or start 0)) loop-for-bindings) > > (if end-var (push (list end-var end) > loop-for-bindings)) > > (if step-var (push (list step-var step) > > @@ -1276,7 +1276,7 @@ For more details, see Info node `(cl)Loop > Facility'. > > ((memq word '(element elements)) > > (let ((ref (or (memq (car cl--loop-args) '(in-ref > of-ref)) > > (and (not (memq (car cl--loop-args) '(in > of))) > > - (error "Expected ‘of’")))) > > + (error "Expected `of'")))) > > (seq (cl--pop2 cl--loop-args)) > > (temp-seq (make-symbol "--cl-seq--")) > > (temp-idx > > @@ -1284,7 +1284,7 @@ For more details, see Info node `(cl)Loop > Facility'. > > (if (and (= (length (cadr cl--loop-args)) 2) > > (eq (cl-caadr cl--loop-args) > 'index)) > > (cadr (cl--pop2 cl--loop-args)) > > - (error "Bad ‘using’ clause")) > > + (error "Bad `using' clause")) > > (make-symbol "--cl-idx--")))) > > (push (list temp-seq seq) loop-for-bindings) > > (push (list temp-idx 0) loop-for-bindings) > > @@ -1309,7 +1309,7 @@ For more details, see Info node `(cl)Loop > Facility'. > > > > ((memq word hash-types) > > (or (memq (car cl--loop-args) '(in of)) > > - (error "Expected ‘of’")) > > + (error "Expected `of'")) > > (let* ((table (cl--pop2 cl--loop-args)) > > (other > > (if (eq (car cl--loop-args) 'using) > > @@ -1317,7 +1317,7 @@ For more details, see Info node `(cl)Loop > Facility'. > > (memq (cl-caadr cl--loop-args) > hash-types) > > (not (eq (cl-caadr cl--loop-args) > word))) > > (cadr (cl--pop2 cl--loop-args)) > > - (error "Bad ‘using’ clause")) > > + (error "Bad `using' clause")) > > (make-symbol "--cl-var--")))) > > (if (memq word '(hash-value hash-values)) > > (setq var (prog1 other (setq other var)))) > > @@ -1372,7 +1372,7 @@ For more details, see Info node `(cl)Loop > Facility'. > > > > ((memq word key-types) > > (or (memq (car cl--loop-args) '(in of)) > > - (error "Expected ‘of’")) > > + (error "Expected `of'")) > > (let ((cl-map (cl--pop2 cl--loop-args)) > > (other > > (if (eq (car cl--loop-args) 'using) > > @@ -1380,7 +1380,7 @@ For more details, see Info node `(cl)Loop > Facility'. > > (memq (cl-caadr cl--loop-args) > key-types) > > (not (eq (cl-caadr cl--loop-args) > word))) > > (cadr (cl--pop2 cl--loop-args)) > > - (error "Bad ‘using’ clause")) > > + (error "Bad `using' clause")) > > (make-symbol "--cl-var--")))) > > (if (memq word '(key-binding key-bindings)) > > (setq var (prog1 other (setq other var)))) > > @@ -1430,7 +1430,7 @@ For more details, see Info node `(cl)Loop > Facility'. > > (get word 'cl-loop-for-handler)))) > > (if handler > > (funcall handler var) > > - (error "Expected a ‘for’ preposition, found %s" > word))))) > > + (error "Expected a `for' preposition, found %s" > word))))) > > (eq (car cl--loop-args) 'and)) > > (setq ands t) > > (pop cl--loop-args)) > > @@ -1569,7 +1569,7 @@ For more details, see Info node `(cl)Loop > Facility'. > > > > ((memq word '(do doing)) > > (let ((body nil)) > > - (or (consp (car cl--loop-args)) (error "Syntax error on ‘do’ > clause")) > > + (or (consp (car cl--loop-args)) (error "Syntax error on `do' > clause")) > > (while (consp (car cl--loop-args)) (push (pop cl--loop-args) > body)) > > (push (cons 'progn (nreverse (cons t body))) cl--loop-body))) > > > > @@ -1802,7 +1802,7 @@ Labels have lexical scope and dynamic extent." > > `((go . ,(lambda (label) > > (let ((catch-tag (cdr (assq label > cl--tagbody-alist)))) > > (unless catch-tag > > - (error "Unknown cl-tagbody go label ‘%S’" label)) > > + (error "Unknown cl-tagbody go label `%S'" label)) > > `(throw ',catch-tag ',label)))) > > ,@macroexpand-all-environment))))) > > > > @@ -2101,7 +2101,7 @@ by EXPANSION, and (setq NAME ...) will act like > (setf EXPANSION ...). > > > macroexpand-all-environment)))) > > (if (or (null (cdar bindings)) (cl-cddar bindings)) > > (macroexp--warn-and-return > > - (format-message "Malformed ‘cl-symbol-macrolet’ > binding: %S" > > + (format-message "Malformed `cl-symbol-macrolet' > binding: %S" > > (car bindings)) > > expansion) > > expansion))) > > @@ -2777,10 +2777,10 @@ non-nil value, that slot cannot be set via > `setf'. > > ;;;###autoload > > (pcase-defmacro cl-struct (type &rest fields) > > "Pcase patterns to match cl-structs. > > -Elements of FIELDS can be of the form (NAME UPAT) in which case the > contents of > > -field NAME is matched against UPAT, or they can be of the form NAME > which > > +Elements of FIELDS can be of the form (NAME PAT) in which case the > contents of > > +field NAME is matched against PAT, or they can be of the form NAME which > > is a shorthand for (NAME NAME)." > > - (declare (debug (sexp &rest [&or (sexp pcase-UPAT) sexp]))) > > + (declare (debug (sexp &rest [&or (sexp pcase-PAT) sexp]))) > > `(and (pred (pcase--flip cl-typep ',type)) > > ,@(mapcar > > (lambda (field) > > diff --git a/lisp/emacs-lisp/cl.el b/lisp/emacs-lisp/cl.el > > index ba50680..46472cc 100644 > > --- a/lisp/emacs-lisp/cl.el > > +++ b/lisp/emacs-lisp/cl.el > > @@ -86,7 +86,7 @@ > > > > (defun cl-unload-function () > > "Stop unloading of the Common Lisp extensions." > > - (message "Cannot unload the feature ‘cl’") > > + (message "Cannot unload the feature `cl'") > > ;; Stop standard unloading! > > t) > > > > @@ -459,15 +459,15 @@ definitions, or lack thereof). > > (if (or (and (fboundp (car x)) > > (eq (car-safe (symbol-function (car x))) > 'macro)) > > (cdr (assq (car x) macroexpand-all-environment))) > > - (error "Use ‘labels’, not ‘flet’, to rebind macro > names")) > > + (error "Use `labels', not `flet', to rebind macro > names")) > > (let ((func `(cl-function > > (lambda ,(cadr x) > > (cl-block ,(car x) ,@(cddr x)))))) > > (when (cl--compiling-file) > > ;; Bug#411. It would be nice to fix this. > > (and (get (car x) 'byte-compile) > > - (error "Byte-compiling a redefinition of ‘%s’ \ > > -will not work - use ‘labels’ instead" (symbol-name (car x)))) > > + (error "Byte-compiling a redefinition of `%s' \ > > +will not work - use `labels' instead" (symbol-name (car x)))) > > ;; FIXME This affects the rest of the file, when it > > ;; should be restricted to the flet body. > > (and (boundp 'byte-compile-function-environment) > > diff --git a/lisp/emacs-lisp/copyright.el b/lisp/emacs-lisp/copyright.el > > index ece6883..1317d69 100644 > > --- a/lisp/emacs-lisp/copyright.el > > +++ b/lisp/emacs-lisp/copyright.el > > @@ -350,7 +350,7 @@ independently replaces consecutive years with a > range." > > (or (getenv "ORGANIZATION") > > str) > > '(if (copyright-offset-too-large-p) > > - (message "Copyright extends beyond ‘copyright-limit’ and won't > be updated automatically.")) > > + (message "Copyright extends beyond `copyright-limit' and won't > be updated automatically.")) > > comment-end \n) > > > > ;; TODO: recurse, exclude COPYING etc. > > @@ -361,7 +361,7 @@ If FIX is non-nil, run `copyright-fix-years' > instead." > > (interactive "DDirectory: \nMFilenames matching (regexp): ") > > (dolist (file (directory-files directory t match nil)) > > (unless (file-directory-p file) > > - (message "Updating file ‘%s’" file) > > + (message "Updating file `%s'" file) > > ;; FIXME we should not use find-file+save+kill. > > (let ((enable-local-variables :safe) > > (enable-local-eval nil)) > > diff --git a/lisp/emacs-lisp/disass.el b/lisp/emacs-lisp/disass.el > > index 15489fc..12cf605 100644 > > --- a/lisp/emacs-lisp/disass.el > > +++ b/lisp/emacs-lisp/disass.el > > @@ -1,4 +1,4 @@ > > -;;; disass.el --- disassembler for compiled Emacs Lisp code > > +;;; disass.el --- disassembler for compiled Emacs Lisp code -*- > lexical-binding:t -*- > > > > ;; Copyright (C) 1986, 1991, 2002-2015 Free Software Foundation, Inc. > > > > @@ -37,9 +37,9 @@ > > > > (require 'macroexp) > > > > -;;; The variable byte-code-vector is defined by the new bytecomp.el. > > -;;; The function byte-decompile-lapcode is defined in byte-opt.el. > > -;;; Since we don't use byte-decompile-lapcode, let's try not loading > byte-opt. > > +;; The variable byte-code-vector is defined by the new bytecomp.el. > > +;; The function byte-decompile-lapcode is defined in byte-opt.el. > > +;; Since we don't use byte-decompile-lapcode, let's try not loading > byte-opt. > > (require 'byte-compile "bytecomp") > > > > (defvar disassemble-column-1-indent 8 "*") > > @@ -57,8 +57,8 @@ redefine OBJECT if it is a symbol." > > (interactive (list (intern (completing-read "Disassemble function: " > > obarray 'fboundp t)) > > nil 0 t)) > > - (if (and (consp object) (not (eq (car object) 'lambda))) > > - (setq object (list 'lambda () object))) > > + (if (and (consp object) (not (functionp object))) > > + (setq object `(lambda () ,object))) > > (or indent (setq indent 0)) ;Default indent to zero > > (save-excursion > > (if (or interactive-p (null buffer)) > > @@ -72,37 +72,34 @@ redefine OBJECT if it is a symbol." > > > > (defun disassemble-internal (obj indent interactive-p) > > (let ((macro 'nil) > > - (name 'nil) > > - (doc 'nil) > > + (name (when (symbolp obj) > > + (prog1 obj > > + (setq obj (indirect-function obj))))) > > args) > > - (while (symbolp obj) > > - (setq name obj > > - obj (symbol-function obj))) > > + (setq obj (autoload-do-load obj name)) > > (if (subrp obj) > > (error "Can't disassemble #" name)) > > - (setq obj (autoload-do-load obj name)) > > (if (eq (car-safe obj) 'macro) ;Handle macros. > > (setq macro t > > obj (cdr obj))) > > - (if (and (listp obj) (eq (car obj) 'byte-code)) > > - (setq obj (list 'lambda nil obj))) > > - (if (and (listp obj) (not (eq (car obj) 'lambda))) > > - (error "not a function")) > > - (if (consp obj) > > - (if (assq 'byte-code obj) > > - nil > > - (if interactive-p (message (if name > > - "Compiling %s's definition..." > > - "Compiling definition...") > > - name)) > > - (setq obj (byte-compile obj)) > > - (if interactive-p (message "Done compiling. > Disassembling...")))) > > + (if (eq (car-safe obj) 'byte-code) > > + (setq obj `(lambda () ,obj))) > > + (when (consp obj) > > + (unless (functionp obj) (error "not a function")) > > + (if (assq 'byte-code obj) > > + nil > > + (if interactive-p (message (if name > > + "Compiling %s's definition..." > > + "Compiling definition...") > > + name)) > > + (setq obj (byte-compile obj)) > > + (if interactive-p (message "Done compiling. > Disassembling...")))) > > (cond ((consp obj) > > + (setq args (help-function-arglist obj)) ;save arg list > > (setq obj (cdr obj)) ;throw lambda away > > - (setq args (car obj)) ;save arg list > > (setq obj (cdr obj))) > > ((byte-code-function-p obj) > > - (setq args (aref obj 0))) > > + (setq args (help-function-arglist obj))) > > (t (error "Compilation failed"))) > > (if (zerop indent) ; not a nested function > > (progn > > @@ -127,10 +124,7 @@ redefine OBJECT if it is a symbol." > > (insert " args: ") > > (prin1 args (current-buffer)) > > (insert "\n") > > - (let ((interactive (cond ((consp obj) > > - (assq 'interactive obj)) > > - ((> (length obj) 5) > > - (list 'interactive (aref obj 5)))))) > > + (let ((interactive (interactive-form obj))) > > (if interactive > > (progn > > (setq interactive (nth 1 interactive)) > > @@ -226,15 +220,16 @@ OBJ should be a call to BYTE-CODE generated by the > byte compiler." > > ;; but if the value of the constant is compiled code, > then > > ;; recursively disassemble it. > > (cond ((or (byte-code-function-p arg) > > - (and (eq (car-safe arg) 'lambda) > > + (and (consp arg) (functionp arg) > > (assq 'byte-code arg)) > > (and (eq (car-safe arg) 'macro) > > (or (byte-code-function-p (cdr arg)) > > - (and (eq (car-safe (cdr arg)) > 'lambda) > > + (and (consp (cdr arg)) > > + (functionp (cdr arg)) > > (assq 'byte-code (cdr arg)))))) > > (cond ((byte-code-function-p arg) > > (insert "\n")) > > - ((eq (car-safe arg) 'lambda) > > + ((functionp arg) > > (insert "")) > > (t (insert "\n"))) > > (disassemble-internal > > diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el > > index 3ad496a..0162a9a 100644 > > --- a/lisp/emacs-lisp/edebug.el > > +++ b/lisp/emacs-lisp/edebug.el > > @@ -880,7 +880,7 @@ Maybe clear the markers and delete the symbol's > edebug property?" > > (setq dotted-form (edebug-read-storing-offsets stream)) > > elements (nconc elements dotted-form) > > (if (not (eq (edebug-next-token-class) 'rparen)) > > - (edebug-syntax-error "Expected ‘)’")) > > + (edebug-syntax-error "Expected `)'")) > > (setq edebug-read-dotted-list (listp dotted-form)) > > )) > > elements) > > diff --git a/lisp/emacs-lisp/eieio-base.el > b/lisp/emacs-lisp/eieio-base.el > > index e1051b2..400bdb9 100644 > > --- a/lisp/emacs-lisp/eieio-base.el > > +++ b/lisp/emacs-lisp/eieio-base.el > > @@ -218,7 +218,7 @@ for CLASS. Optional ALLOW-SUBCLASS says that it is > ok for > > `eieio-persistent-read' to load in subclasses of class instead of > > being pedantic." > > (unless class > > - (message "Unsafe call to ‘eieio-persistent-read’.")) > > + (message "Unsafe call to `eieio-persistent-read'.")) > > (when class (cl-check-type class class)) > > (let ((ret nil) > > (buffstr nil)) > > diff --git a/lisp/emacs-lisp/eieio-core.el > b/lisp/emacs-lisp/eieio-core.el > > index 3b07c5d..a2f5f8a 100644 > > --- a/lisp/emacs-lisp/eieio-core.el > > +++ b/lisp/emacs-lisp/eieio-core.el > > @@ -219,7 +219,8 @@ It creates an autoload function for CNAME's > constructor." > > ;; turn this into a usable self-pointing symbol > > (when eieio-backward-compatibility > > (set cname cname) > > - (make-obsolete-variable cname (format "use '%s instead" cname) > "25.1")) > > + (make-obsolete-variable cname (format "use \\='%s instead" > cname) > > + "25.1")) > > > > ;; Store the new class vector definition into the symbol. We > need to > > ;; do this first so that we can call defmethod for the accessor. > > @@ -338,7 +339,8 @@ See `defclass' for more information." > > ;; turn this into a usable self-pointing symbol; FIXME: Why? > > (when eieio-backward-compatibility > > (set cname cname) > > - (make-obsolete-variable cname (format "use '%s instead" cname) > "25.1")) > > + (make-obsolete-variable cname (format "use \\='%s instead" cname) > > + "25.1")) > > > > ;; Create a handy list of the class test too > > (when eieio-backward-compatibility > > @@ -357,8 +359,9 @@ See `defclass' for more information." > > (object-of-class-p (car obj) > ,cname))) > > (setq obj (cdr obj))) > > ans)))) > > - (make-obsolete csym (format "use (cl-typep ... '(list-of %s)) > instead" > > - cname) > > + (make-obsolete csym (format > > + "use (cl-typep ... \\='(list-of %s)) > instead" > > + cname) > > "25.1"))) > > > > ;; Before adding new slots, let's add all the methods and classes > > @@ -407,7 +410,7 @@ See `defclass' for more information." > > (progn > > (set initarg initarg) > > (make-obsolete-variable > > - initarg (format "use '%s instead" initarg) > "25.1")))) > > + initarg (format "use \\='%s instead" initarg) > "25.1")))) > > > > ;; The customgroup should be a list of symbols. > > (cond ((and (null customg) custom) > > @@ -544,7 +547,7 @@ If SKIPNIL is non-nil, then if default value is nil > return t instead." > > (if (not (eq type t)) > > (if (not (equal type tp)) > > (error > > - "Child slot type ‘%s’ does not match inherited type ‘%s’ > for ‘%s’" > > + "Child slot type `%s' does not match inherited type `%s' > for `%s'" > > type tp a)) > > (setf (cl--slot-descriptor-type new) tp)) > > ;; If we have a repeat, only update the initarg... > > @@ -564,7 +567,7 @@ If SKIPNIL is non-nil, then if default value is nil > return t instead." > > (let ((super-prot (alist-get :protection oprops)) > > (prot (alist-get :protection nprops))) > > (if (not (eq prot super-prot)) > > - (error "Child slot protection ‘%s’ does not match inherited > protection ‘%s’ for ‘%s’" > > + (error "Child slot protection `%s' does not match inherited > protection `%s' for `%s'" > > prot super-prot a))) > > ;; End original PLN > > > > @@ -733,7 +736,7 @@ Argument FN is the function calling this verifier." > > ((and (or `',name (and name (pred keywordp))) > > (guard (not (memq name eieio--known-slot-names)))) > > (macroexp--warn-and-return > > - (format-message "Unknown slot ‘%S’" name) exp > 'compile-only)) > > + (format-message "Unknown slot `%S'" name) exp > 'compile-only)) > > (_ exp))))) > > (cl-check-type slot symbol) > > (cl-check-type obj (or eieio-object class)) > > diff --git a/lisp/emacs-lisp/eieio-opt.el b/lisp/emacs-lisp/eieio-opt.el > > index 0b00336..a5d8b6f 100644 > > --- a/lisp/emacs-lisp/eieio-opt.el > > +++ b/lisp/emacs-lisp/eieio-opt.el > > @@ -141,11 +141,11 @@ are not abstract." > > (setq location > > (find-lisp-object-file-name ctr def))) > > (when location > > - (insert (substitute-command-keys " in ‘")) > > + (insert (substitute-command-keys " in `")) > > (help-insert-xref-button > > (help-fns-short-filename location) > > 'cl-type-definition ctr location 'define-type) > > - (insert (substitute-command-keys "’"))) > > + (insert (substitute-command-keys "'"))) > > (insert ".\nCreates an object of class " (symbol-name ctr) ".") > > (goto-char (point-max)) > > (if (autoloadp def) > > diff --git a/lisp/emacs-lisp/eieio-speedbar.el > b/lisp/emacs-lisp/eieio-speedbar.el > > index ac8124a..a1eabcf 100644 > > --- a/lisp/emacs-lisp/eieio-speedbar.el > > +++ b/lisp/emacs-lisp/eieio-speedbar.el > > @@ -323,7 +323,7 @@ Argument DEPTH is the depth at which the tag line is > inserted." > > > > (cl-defmethod eieio-speedbar-child-make-tag-lines ((object > eieio-speedbar) _depth) > > "Base method for creating tag lines for non-object children." > > - (error "You must implement ‘eieio-speedbar-child-make-tag-lines’ for > %s" > > + (error "You must implement `eieio-speedbar-child-make-tag-lines' for > %s" > > (eieio-object-name object))) > > > > (cl-defmethod eieio-speedbar-expand ((object eieio-speedbar) depth) > > @@ -364,7 +364,7 @@ TOKEN is the object. INDENT is the current > indentation level." > > > > (cl-defmethod eieio-speedbar-child-description ((obj eieio-speedbar)) > > "Return a description for a child of OBJ which is not an object." > > - (error "You must implement ‘eieio-speedbar-child-description’ for %s" > > + (error "You must implement `eieio-speedbar-child-description' for %s" > > (eieio-object-name obj))) > > > > (defun eieio-speedbar-item-info () > > diff --git a/lisp/emacs-lisp/eieio.el b/lisp/emacs-lisp/eieio.el > > index ad178c3..790e8bc 100644 > > --- a/lisp/emacs-lisp/eieio.el > > +++ b/lisp/emacs-lisp/eieio.el > > @@ -114,10 +114,10 @@ and reference them using the function > `class-option'." > > > > (cond ((and (stringp (car options-and-doc)) > > (/= 1 (% (length options-and-doc) 2))) > > - (error "Too many arguments to ‘defclass’")) > > + (error "Too many arguments to `defclass'")) > > ((and (symbolp (car options-and-doc)) > > (/= 0 (% (length options-and-doc) 2))) > > - (error "Too many arguments to ‘defclass’"))) > > + (error "Too many arguments to `defclass'"))) > > > > (if (stringp (car options-and-doc)) > > (setq options-and-doc > > @@ -235,7 +235,8 @@ This method is obsolete." > > (let ((f (intern (format "%s-child-p" name)))) > > `((defalias ',f ',testsym2) > > (make-obsolete > > - ',f ,(format "use (cl-typep ... '%s) instead" name) > "25.1")))) > > + ',f ,(format "use (cl-typep ... \\='%s) instead" name) > > + "25.1")))) > > > > ;; When using typep, (typep OBJ 'myclass) returns t for objects > which > > ;; are subclasses of myclass. For our predicates, however, it is > > @@ -348,10 +349,10 @@ variable name of the same name as the slot." > > > > (pcase-defmacro eieio (&rest fields) > > "Pcase patterns to match EIEIO objects. > > -Elements of FIELDS can be of the form (NAME UPAT) in which case the > contents of > > -field NAME is matched against UPAT, or they can be of the form NAME > which > > +Elements of FIELDS can be of the form (NAME PAT) in which case the > contents of > > +field NAME is matched against PAT, or they can be of the form NAME which > > is a shorthand for (NAME NAME)." > > - (declare (debug (&rest [&or (sexp pcase-UPAT) sexp]))) > > + (declare (debug (&rest [&or (sexp pcase-PAT) sexp]))) > > (let ((is (make-symbol "table"))) > > ;; FIXME: This generates a horrendous mess of redundant let > bindings. > > ;; `pcase' needs to be improved somehow to introduce let-bindings > more > > @@ -941,7 +942,7 @@ this object." > > "Change the class of OBJ to type CLASS. > > This may create or delete slots, but does not affect the return value > > of `eq'." > > - (error "EIEIO: ‘change-class’ is unimplemented")) > > + (error "EIEIO: `change-class' is unimplemented")) > > > > ;; Hook ourselves into help system for describing classes and methods. > > ;; FIXME: This is not actually needed any more since we can click on the > > @@ -983,7 +984,7 @@ Optional argument GROUP is the sub-group of slots to > display. > > > > ;;;*** > > > > -;;;### (autoloads nil "eieio-opt" "eieio-opt.el" > "694d44fcd869546592d35f3321f62667") > > +;;;### (autoloads nil "eieio-opt" "eieio-opt.el" > "d00419c898056fadf2f8e491f864aa1e") > > ;;; Generated autoloads from eieio-opt.el > > > > (autoload 'eieio-browse "eieio-opt" "\ > > diff --git a/lisp/emacs-lisp/elint.el b/lisp/emacs-lisp/elint.el > > index 15eeb49..86ac33c 100644 > > --- a/lisp/emacs-lisp/elint.el > > +++ b/lisp/emacs-lisp/elint.el > > @@ -249,9 +249,9 @@ This environment can be passed to `macroexpand'." > > (elint-set-mode-line t) > > (with-current-buffer elint-log-buffer > > (unless (string-equal default-directory dir) > > - (elint-log-message (format-message " \nLeaving directory ‘%s’" > > + (elint-log-message (format-message " \nLeaving directory `%s'" > > default-directory) t) > > - (elint-log-message (format-message "Entering directory ‘%s’" > dir) t) > > + (elint-log-message (format-message "Entering directory `%s'" > dir) t) > > (setq default-directory dir)))) > > (let ((str (format "Linting file %s" file))) > > (message "%s..." str) > > @@ -374,7 +374,7 @@ Returns the forms." > > ;; quoted check cannot be elsewhere, since quotes skipped. > > (if (looking-back "'" (1- (point))) > > ;; Eg cust-print.el uses ' as a comment syntax. > > - (elint-warning "Skipping quoted form ‘'%.20s...’" > > + (elint-warning "Skipping quoted form `%c%.20s...'" ?\' > > (read (current-buffer))) > > (condition-case nil > > (setq tops (cons > > @@ -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)))) > > @@ -401,7 +401,7 @@ Return nil if there are no more forms, t otherwise." > > (cond > > ;; Eg nnmaildir seems to use [] as a form of comment syntax. > > ((not (listp form)) > > - (elint-warning "Skipping non-list form ‘%s’" form)) > > + (elint-warning "Skipping non-list form `%s'" form)) > > ;; Add defined variable > > ((memq (car form) '(defvar defconst defcustom)) > > (setq elint-env (elint-env-add-var elint-env (cadr form)))) > > @@ -432,7 +432,7 @@ Return nil if there are no more forms, t otherwise." > > (if (or (< (length form) 4) > > (eq (nth 3 form) t) > > (unless (stringp (nth 2 form)) > > - (elint-error "Malformed declaration for ‘%s’" > > + (elint-error "Malformed declaration for `%s'" > > (cadr form)) > > t)) > > 'unknown > > @@ -758,7 +758,7 @@ CODE can be a lambda expression, a macro, or > byte-compiled code." > > (and (eq (car-safe alias) 'quote) > > (eq (car-safe target) 'quote) > > (eq (elint-get-args (cadr target) env) 'undefined) > > - (elint-warning "Alias ‘%s’ has unknown target ‘%s’" > > + (elint-warning "Alias `%s' has unknown target `%s'" > > (cadr alias) (cadr target)))) > > (elint-form form env t)) > > > > @@ -796,7 +796,7 @@ CODE can be a lambda expression, a macro, or > byte-compiled code." > > (setq newenv > > (elint-env-add-var newenv (car s)))) > > (t (elint-error > > - "Malformed ‘let’ declaration: %s" s)))) > > + "Malformed `let' declaration: %s" s)))) > > varlist) > > > > ;; Lint the body forms > > diff --git a/lisp/emacs-lisp/ert.el b/lisp/emacs-lisp/ert.el > > index 91fc157..d47e5d9 100644 > > --- a/lisp/emacs-lisp/ert.el > > +++ b/lisp/emacs-lisp/ert.el > > @@ -121,7 +121,7 @@ Emacs bug 6581 at URL ` > http://debbugs.gnu.org/cgi/bugreport.cgi?bug=6581'." > > > > (defun ert-get-test (symbol) > > "If SYMBOL names a test, return that. Signal an error otherwise." > > - (unless (ert-test-boundp symbol) (error "No test named ‘%S’" symbol)) > > + (unless (ert-test-boundp symbol) (error "No test named `%S'" symbol)) > > (get symbol 'ert--test)) > > > > (defun ert-set-test (symbol definition) > > @@ -2065,7 +2065,7 @@ and how to display message." > > "--" > > ["Show backtrace" ert-results-pop-to-backtrace-for-test-at-point] > > ["Show messages" ert-results-pop-to-messages-for-test-at-point] > > - ["Show ‘should’ forms" > ert-results-pop-to-should-forms-for-test-at-point] > > + ["Show `should' forms" > ert-results-pop-to-should-forms-for-test-at-point] > > ["Describe test" ert-results-describe-test-at-point] > > "--" > > ["Delete test" ert-delete-test] > > @@ -2377,9 +2377,9 @@ To be used in the ERT results buffer." > > (ert--print-backtrace backtrace) > > (debugger-make-xrefs) > > (goto-char (point-min)) > > - (insert "Backtrace for test ‘") > > + (insert (substitute-command-keys "Backtrace for test `")) > > (ert-insert-test-name-button (ert-test-name test)) > > - (insert "’:\n"))))))) > > + (insert (substitute-command-keys "':\n")))))))) > > > > (defun ert-results-pop-to-messages-for-test-at-point () > > "Display the part of the *Messages* buffer generated during the test > at point. > > @@ -2398,9 +2398,9 @@ To be used in the ERT results buffer." > > (ert-simple-view-mode) > > (insert (ert-test-result-messages result)) > > (goto-char (point-min)) > > - (insert "Messages for test ‘") > > + (insert (substitute-command-keys "Messages for test `")) > > (ert-insert-test-name-button (ert-test-name test)) > > - (insert "’:\n"))))) > > + (insert (substitute-command-keys "':\n")))))) > > > > (defun ert-results-pop-to-should-forms-for-test-at-point () > > "Display the list of `should' forms executed during the test at point. > > @@ -2428,9 +2428,10 @@ To be used in the ERT results buffer." > > (ert--pp-with-indentation-and-newline > form-description) > > (ert--make-xrefs-region begin (point))))) > > (goto-char (point-min)) > > - (insert "‘should’ forms executed during test ‘") > > + (insert (substitute-command-keys > > + "`should' forms executed during test `")) > > (ert-insert-test-name-button (ert-test-name test)) > > - (insert "’:\n") > > + (insert (substitute-command-keys "':\n")) > > (insert "\n") > > (insert (concat "(Values are shallow copies and may have " > > "looked different during the test if they\n" > > @@ -2507,9 +2508,11 @@ To be used in the ERT results buffer." > > (let ((file-name (and test-name > > (symbol-file test-name 'ert-deftest)))) > > (when file-name > > - (insert " defined in ‘" (file-name-nondirectory > file-name) "’") > > + (insert (format-message " defined in `%s'" > > + (file-name-nondirectory > file-name))) > > (save-excursion > > - (re-search-backward "‘\\([^‘’]+\\)’" nil t) > > + (re-search-backward (substitute-command-keys > "`\\([^`']+\\)'") > > + nil t) > > (help-xref-button 1 'help-function-def test-name > file-name))) > > (insert ".") > > (fill-region-as-paragraph (point-min) (point)) > > diff --git a/lisp/emacs-lisp/find-func.el b/lisp/emacs-lisp/find-func.el > > index 86a1f28..026a4a7 100644 > > --- a/lisp/emacs-lisp/find-func.el > > +++ b/lisp/emacs-lisp/find-func.el > > @@ -296,7 +296,7 @@ Otherwise, TYPE specifies the kind of definition, > > and it is interpreted via `find-function-regexp-alist'. > > The search is done in the source for library LIBRARY." > > (if (null library) > > - (error "Don't know where ‘%s’ is defined" symbol)) > > + (error "Don't know where `%s' is defined" symbol)) > > ;; Some functions are defined as part of the construct > > ;; that defines something else. > > (while (and (symbolp symbol) (get symbol 'definition-name)) > > @@ -368,9 +368,9 @@ message about the whole chain of aliases." > > (setq aliases (if aliases > > (concat aliases > > (format-message > > - ", which is an alias for ‘%s’" > > + ", which is an alias for `%s'" > > (symbol-name def))) > > - (format-message "‘%s’ is an alias for ‘%s’" > > + (format-message "`%s' is an alias for `%s'" > > function (symbol-name def))))) > > (setq function (find-function-advised-original function) > > def (find-function-advised-original function))) > > diff --git a/lisp/emacs-lisp/generator.el b/lisp/emacs-lisp/generator.el > > index 79e760d..123f64b 100644 > > --- a/lisp/emacs-lisp/generator.el > > +++ b/lisp/emacs-lisp/generator.el > > @@ -661,7 +661,7 @@ The caller of `iter-next' receives VALUE, and the > next call to > > `iter-next' resumes execution at the previous > > `iter-yield' point." > > (identity value) > > - (error "‘iter-yield’ used outside a generator")) > > + (error "`iter-yield' used outside a generator")) > > > > (defmacro iter-yield-from (value) > > "When used inside a generator function, delegate to a sub-iterator. > > diff --git a/lisp/emacs-lisp/gv.el b/lisp/emacs-lisp/gv.el > > index 6760982..bbe6b36 100644 > > --- a/lisp/emacs-lisp/gv.el > > +++ b/lisp/emacs-lisp/gv.el > > @@ -239,7 +239,7 @@ instead the assignment is turned into something > equivalent to > > so as to preserve the semantics of `setf'." > > (declare (debug (sexp (&or symbolp lambda-expr) &optional sexp))) > > (when (eq 'lambda (car-safe setter)) > > - (message "Use ‘gv-define-setter’ or name %s's setter function" > name)) > > + (message "Use `gv-define-setter' or name %s's setter function" > name)) > > `(gv-define-setter ,name (val &rest args) > > ,(if fix-return > > `(macroexp-let2 nil v val > > diff --git a/lisp/emacs-lisp/lisp-mnt.el b/lisp/emacs-lisp/lisp-mnt.el > > index 6fdd348..393f0dd 100644 > > --- a/lisp/emacs-lisp/lisp-mnt.el > > +++ b/lisp/emacs-lisp/lisp-mnt.el > > @@ -542,21 +542,21 @@ copyright notice is allowed." > > ((null name) > > "Can't find package name") > > ((not (lm-authors)) > > - "‘Author:’ tag missing") > > + "`Author:' tag missing") > > ((not (lm-maintainer)) > > - "‘Maintainer:’ tag missing") > > + "`Maintainer:' tag missing") > > ((not (lm-summary)) > > "Can't find the one-line summary description") > > ((not (lm-keywords)) > > - "‘Keywords:’ tag missing") > > + "`Keywords:' tag missing") > > ((not (lm-keywords-finder-p)) > > - "‘Keywords:’ has no valid finder keywords (see > ‘finder-known-keywords’)") > > + "`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/macroexp.el b/lisp/emacs-lisp/macroexp.el > > index 6189976..2c33d39 100644 > > --- a/lisp/emacs-lisp/macroexp.el > > +++ b/lisp/emacs-lisp/macroexp.el > > @@ -147,10 +147,10 @@ and also to avoid outputting the warning during > normal execution." > > (let ((instead (car obsolescence-data)) > > (asof (nth 2 obsolescence-data))) > > (format-message > > - "‘%s’ is an obsolete %s%s%s" fun type > > + "`%s' is an obsolete %s%s%s" fun type > > (if asof (concat " (as of " asof ")") "") > > (cond ((stringp instead) (concat "; " (substitute-command-keys > instead))) > > - (instead (format-message "; use ‘%s’ instead." instead)) > > + (instead (format-message "; use `%s' instead." instead)) > > (t "."))))) > > > > (defun macroexpand-1 (form &optional environment) > > diff --git a/lisp/emacs-lisp/map-ynp.el b/lisp/emacs-lisp/map-ynp.el > > index 3ac7094..43fd4ef57a 100644 > > --- a/lisp/emacs-lisp/map-ynp.el > > +++ b/lisp/emacs-lisp/map-ynp.el > > @@ -199,9 +199,9 @@ Returns the number of actions taken." > > (action (if help (nth 2 help) "act > on"))) > > (concat > > (format-message "\ > > -Type SPC or ‘y’ to %s the current %s; > > -DEL or ‘n’ to skip the current %s; > > -RET or ‘q’ to give up on the %s (skip all remaining %s); > > +Type SPC or `y' to %s the current %s; > > +DEL or `n' to skip the current %s; > > +RET or `q' to give up on the %s (skip all remaining %s); > > C-g to quit (cancel the whole command); > > ! to %s all remaining %s;\n" > > action object object action > objects action > > diff --git a/lisp/emacs-lisp/map.el b/lisp/emacs-lisp/map.el > > index 5014571..ea56efe 100644 > > --- a/lisp/emacs-lisp/map.el > > +++ b/lisp/emacs-lisp/map.el > > @@ -249,21 +249,22 @@ MAP can be a list, hash-table or array." > > :array (seq-empty-p map) > > :hash-table (zerop (hash-table-count map)))) > > > > -(defun map-contains-key-p (map key &optional testfn) > > +(defun map-contains-key (map key &optional testfn) > > "Return non-nil if MAP contain the key KEY, nil otherwise. > > Equality is defined by TESTFN if non-nil or by `equal' if nil. > > > > MAP can be a list, hash-table or array." > > - (seq-contains-p (map-keys map) key testfn)) > > + (seq-contains (map-keys map) key testfn)) > > > > -(defun map-some-p (pred map) > > - "Return a key/value pair for which (PRED key val) is non-nil in MAP. > > +(defun map-some (pred map) > > + "Return a non-nil if (PRED key val) is non-nil for any key/value pair > in MAP. > > > > MAP can be a list, hash-table or array." > > (catch 'map--break > > (map-apply (lambda (key value) > > - (when (funcall pred key value) > > - (throw 'map--break (cons key value)))) > > + (let ((result (funcall pred key value))) > > + (when result > > + (throw 'map--break result)))) > > map) > > nil)) > > > > diff --git a/lisp/emacs-lisp/nadvice.el b/lisp/emacs-lisp/nadvice.el > > index 7eebb5e..2cd34e1 100644 > > --- a/lisp/emacs-lisp/nadvice.el > > +++ b/lisp/emacs-lisp/nadvice.el > > @@ -95,7 +95,7 @@ Each element has the form (WHERE BYTECODE STACK) where: > > (propertize (format "%s advice: " where) > > 'face 'warning) > > (let ((fun (advice--car flist))) > > - (if (symbolp fun) (format-message "‘%S’" fun) > > + (if (symbolp fun) (format-message "`%S'" fun) > > (let* ((name (cdr (assq 'name (advice--props > flist)))) > > (doc (documentation fun t)) > > (usage (help-split-fundoc doc function))) > > @@ -176,7 +176,7 @@ WHERE is a symbol to select an entry in > `advice--where-alist'." > > (advice--make-1 (aref main 1) (aref main 3) > > (advice--car main) rest (advice--props main))) > > (let ((desc (assq where advice--where-alist))) > > - (unless desc (error "Unknown add-function location ‘%S’" where)) > > + (unless desc (error "Unknown add-function location `%S'" where)) > > (advice--make-1 (nth 1 desc) (nth 2 desc) > > function main props))))) > > > > @@ -461,7 +461,7 @@ otherwise it is named `SYMBOL@NAME'. > > (advice (cond ((null name) `(lambda ,lambda-list ,@body)) > > ((or (stringp name) (symbolp name)) > > (intern (format "%s@%s" symbol name))) > > - (t (error "Unrecognized name spec ‘%S’" name))))) > > + (t (error "Unrecognized name spec `%S'" name))))) > > `(prog1 ,@(and (symbolp advice) `((defun ,advice ,lambda-list > ,@body))) > > (advice-add ',symbol ,where #',advice ,@(and props > `(',props)))))) > > > > diff --git a/lisp/emacs-lisp/package-x.el b/lisp/emacs-lisp/package-x.el > > index 608bf73..81d0b83 100644 > > --- a/lisp/emacs-lisp/package-x.el > > +++ b/lisp/emacs-lisp/package-x.el > > @@ -296,7 +296,7 @@ destination, prompt for one." > > ((string-match "\\.tar\\'" file) > > (tar-mode) (package-tar-file-info)) > > ((string-match "\\.el\\'" file) (package-buffer-info)) > > - (t (error "Unrecognized extension ‘%s’" > > + (t (error "Unrecognized extension `%s'" > > (file-name-extension file)))))) > > (package-upload-buffer-internal pkg-desc (file-name-extension > file))))) > > > > diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el > > index 7c4f21f..b0d2ff9 100644 > > --- a/lisp/emacs-lisp/package.el > > +++ b/lisp/emacs-lisp/package.el > > @@ -234,7 +234,7 @@ of it available such that: > > > > This variable has three possible values: > > nil: no packages are hidden; > > - archive: only criteria (a) is used; > > + `archive': only criteria (a) is used; > > t: both criteria are used. > > > > This variable has no effect if `package-menu--hide-packages' is > > @@ -456,13 +456,13 @@ This is, approximately, the inverse of > `version-to-list'. > > (push (int-to-string num) str-list) > > (push "." str-list)) > > ((< num -4) > > - (error "Invalid version list ‘%s’" vlist)) > > + (error "Invalid version list `%s'" vlist)) > > (t > > ;; pre, or beta, or alpha > > (cond ((equal "." (car str-list)) > > (pop str-list)) > > ((not (string-match "[0-9]+" (car str-list))) > > - (error "Invalid version list ‘%s’" vlist))) > > + (error "Invalid version list `%s'" vlist))) > > (push (cond ((= num -1) "pre") > > ((= num -2) "beta") > > ((= num -3) "alpha") > > @@ -623,7 +623,7 @@ Return the max version (as a string) if the package > is held at a lower version." > > ((stringp force) ; held > > (unless (version-list-= version (version-to-list force)) > > force)) > > - (t (error "Invalid element in ‘package-load-list’"))))) > > + (t (error "Invalid element in `package-load-list'"))))) > > > > (defun package-built-in-p (package &optional min-version) > > "Return true if PACKAGE is built-in to Emacs. > > @@ -639,6 +639,28 @@ specifying the minimum acceptable version." > > (require 'finder-inf nil t) ; For `package--builtins'. > > (assq package package--builtins)))))) > > > > +(defun package--autoloads-file-name (pkg-desc) > > + "Return the absolute name of the autoloads file, sans extension. > > +PKG-DESC is a `package-desc' object." > > + (expand-file-name > > + (format "%s-autoloads" (package-desc-name pkg-desc)) > > + (package-desc-dir pkg-desc))) > > + > > +(defun package--activate-autoloads-and-load-path (pkg-desc) > > + "Load the autoloads file and add package dir to `load-path'. > > +PKG-DESC is a `package-desc' object." > > + (let* ((old-lp load-path) > > + (pkg-dir (package-desc-dir pkg-desc)) > > + (pkg-dir-dir (file-name-as-directory pkg-dir))) > > + (with-demoted-errors "Error loading autoloads: %s" > > + (load (package--autoloads-file-name pkg-desc) nil t)) > > + (when (and (eq old-lp load-path) > > + (not (or (member pkg-dir load-path) > > + (member pkg-dir-dir load-path)))) > > + ;; Old packages don't add themselves to the `load-path', so we > have to > > + ;; do it ourselves. > > + (push pkg-dir load-path)))) > > + > > (defvar Info-directory-list) > > (declare-function info-initialize "info" ()) > > > > @@ -648,24 +670,14 @@ If RELOAD is non-nil, also `load' any files inside > the package which > > correspond to previously loaded files (those returned by > > `package--list-loaded-files')." > > (let* ((name (package-desc-name pkg-desc)) > > - (pkg-dir (package-desc-dir pkg-desc)) > > - (pkg-dir-dir (file-name-as-directory pkg-dir))) > > + (pkg-dir (package-desc-dir pkg-desc))) > > (unless pkg-dir > > - (error "Internal error: unable to find directory for ‘%s’" > > + (error "Internal error: unable to find directory for `%s'" > > (package-desc-full-name pkg-desc))) > > - ;; Add to load path, add autoloads, and activate the package. > > - (let* ((old-lp load-path) > > - (autoloads-file (expand-file-name > > - (format "%s-autoloads" name) pkg-dir)) > > - (loaded-files-list (and reload (package--list-loaded-files > pkg-dir)))) > > - (with-demoted-errors "Error in package-activate-1: %s" > > - (load autoloads-file nil t)) > > - (when (and (eq old-lp load-path) > > - (not (or (member pkg-dir load-path) > > - (member pkg-dir-dir load-path)))) > > - ;; Old packages don't add themselves to the `load-path', so we > have to > > - ;; do it ourselves. > > - (push pkg-dir load-path)) > > + (let* ((loaded-files-list (when reload > > + (package--list-loaded-files pkg-dir)))) > > + ;; Add to load path, add autoloads, and activate the package. > > + (package--activate-autoloads-and-load-path pkg-desc) > > ;; Call `load' on all files in `pkg-dir' already present in > > ;; `load-history'. This is done so that macros in these files > are updated > > ;; to their new definitions. If another package is being > installed which > > @@ -674,7 +686,8 @@ correspond to previously loaded files (those > returned by > > (with-demoted-errors "Error in package-activate-1: %s" > > (mapc (lambda (feature) (load feature nil t)) > > ;; Skip autoloads file since we already evaluated it > above. > > - (remove (file-truename autoloads-file) > loaded-files-list)))) > > + (remove (file-truename (package--autoloads-file-name > pkg-desc)) > > + loaded-files-list)))) > > ;; Add info node. > > (when (file-exists-p (expand-file-name "dir" pkg-dir)) > > ;; FIXME: not the friendliest, but simple. > > @@ -754,8 +767,8 @@ Newer versions are always activated, regardless of > FORCE." > > (unless (package-activate (car req)) > > (throw 'dep-failure req)))))) > > (if fail > > - (warn "Unable to activate package ‘%s’. > > -Required package ‘%s-%s’ is unavailable" > > + (warn "Unable to activate package `%s'. > > +Required package `%s-%s' is unavailable" > > package (car fail) (package-version-join (cadr fail))) > > ;; If all goes well, activate the package itself. > > (package-activate-1 pkg-vec force))))))) > > @@ -919,8 +932,9 @@ untar into a directory named DIR; otherwise, signal > an error." > > (defun package--compile (pkg-desc) > > "Byte-compile installed package PKG-DESC." > > (let ((warning-minimum-level :error) > > - (save-silently inhibit-message)) > > - (package-activate-1 pkg-desc) > > + (save-silently inhibit-message) > > + (load-path load-path)) > > + (package--activate-autoloads-and-load-path pkg-desc) > > (byte-recompile-directory (package-desc-dir pkg-desc) 0 t))) > > > > ;;;; Inferring package from current buffer > > @@ -1372,13 +1386,18 @@ If successful, set `package-archive-contents'." > > The variable `package-load-list' controls which packages to load. > > If optional arg NO-ACTIVATE is non-nil, don't activate packages. > > If `user-init-file' does not mention `(package-initialize)', add > > -it to the file." > > +it to the file. > > +If called as part of loading `user-init-file', set > > +`package-enable-at-startup' to nil, to prevent accidentally > > +loading packages twice." > > (interactive) > > (setq package-alist nil) > > (if (equal user-init-file load-file-name) > > ;; If `package-initialize' is being called as part of loading > > ;; the init file, it's obvious we don't need to ensure-init. > > - (setq package--init-file-ensured t) > > + (setq package--init-file-ensured t > > + ;; And likely we don't need to run it again after init. > > + package-enable-at-startup nil) > > (package--ensure-init-file)) > > (package-load-all-descriptors) > > (package-read-all-archive-contents) > > @@ -1465,7 +1484,7 @@ similar to an entry in `package-alist'. Save the > cached copy to > > ;; Even if the sig fails, this download is done, so > > ;; remove it from the in-progress list. > > (package--update-downloads-in-progress archive) > > - (error "Unsigned archive ‘%s’" name)) > > + (error "Unsigned archive `%s'" name)) > > ;; Write out the archives file. > > (write-region content nil local-file nil 'silent) > > ;; Write out good signatures into archive-contents.signed > file. > > @@ -1495,7 +1514,7 @@ perform the downloads asynchronously." > > (when async > > ;; The t at the end means to propagate connection errors. > > (lambda () (package--update-downloads-in-progress archive) > t))) > > - (error (message "Failed to download ‘%s’ archive." > > + (error (message "Failed to download `%s' archive." > > (car archive)))))) > > > > ;;;###autoload > > @@ -1564,7 +1583,7 @@ SEEN is used internally to detect infinite > recursion." > > (package-desc-full-name already)) > > (setq packages (delq already packages)) > > (setq already nil)) > > - (error "Need package ‘%s-%s’, but only %s is being installed" > > + (error "Need package `%s-%s', but only %s is being installed" > > next-pkg (package-version-join next-version) > > (package-version-join (package-desc-version > already))))) > > (cond > > @@ -1593,20 +1612,20 @@ SEEN is used internally to detect infinite > recursion." > > (setq problem > > (if (stringp disabled) > > (format-message > > - "Package ‘%s’ held at version %s, but > version %s required" > > + "Package `%s' held at version %s, but > version %s required" > > next-pkg disabled > > (package-version-join next-version)) > > - (format-message "Required package ‘%s’ is > disabled" > > + (format-message "Required package `%s' is > disabled" > > next-pkg))))) > > (t (setq found pkg-desc))))) > > (unless found > > (cond > > (problem (error "%s" problem)) > > (found-something > > - (error "Need package ‘%s-%s’, but only %s is available" > > + (error "Need package `%s-%s', but only %s is available" > > next-pkg (package-version-join next-version) > > found-something)) > > - (t (error "Package ‘%s-%s’ is unavailable" > > + (t (error "Package `%s-%s' is unavailable" > > next-pkg (package-version-join next-version))))) > > (setq packages > > (package-compute-transaction (cons found packages) > > @@ -1766,7 +1785,7 @@ if all the in-between dependencies are also in > PACKAGE-LIST." > > (unless (or good-sigs (eq package-check-signature > 'allow-unsigned)) > > ;; Even if the sig fails, this download is done, so > > ;; remove it from the in-progress list. > > - (error "Unsigned package: ‘%s’" > > + (error "Unsigned package: `%s'" > > (package-desc-name pkg-desc))) > > ;; Signature checked, unpack now. > > (with-temp-buffer (insert content) > > @@ -1907,7 +1926,7 @@ to install it but still mark it as selected." > > (package-desc-reqs pkg))) > > (package-compute-transaction () (list (list pkg)))))) > > (package-download-transaction transaction) > > - (message "‘%s’ is already installed" (package-desc-full-name pkg)))) > > + (message "`%s' is already installed" (package-desc-full-name pkg)))) > > > > (defun package-strip-rcs-id (str) > > "Strip RCS version ID from the version string STR. > > @@ -1982,7 +2001,7 @@ If some packages are not installed propose to > install them." > > ;; using here, because the outcome is the same either way (nothing > > ;; gets installed). > > (if (not package-selected-packages) > > - (message "‘package-selected-packages’ is empty, nothing to > install") > > + (message "`package-selected-packages' is empty, nothing to > install") > > (cl-loop for p in package-selected-packages > > unless (package-installed-p p) > > collect p into lst > > @@ -2047,13 +2066,13 @@ If NOSAVE is non-nil, the package is not removed > from > > (expand-file-name package-user-dir)) > > (expand-file-name dir))) > > ;; Don't delete "system" packages. > > - (error "Package ‘%s’ is a system package, not deleting" > > + (error "Package `%s' is a system package, not deleting" > > (package-desc-full-name pkg-desc))) > > ((and (null force) > > (setq pkg-used-elsewhere-by > > (package--used-elsewhere-p pkg-desc))) > > ;; Don't delete packages used as dependency elsewhere. > > - (error "Package ‘%s’ is used by ‘%s’ as dependency, not > deleting" > > + (error "Package `%s' is used by `%s' as dependency, not > deleting" > > (package-desc-full-name pkg-desc) > > (package-desc-name pkg-used-elsewhere-by))) > > (t > > @@ -2068,7 +2087,7 @@ If NOSAVE is non-nil, the package is not removed > from > > (delete pkg-desc pkgs) > > (unless (cdr pkgs) > > (setq package-alist (delq pkgs package-alist)))) > > - (message "Package ‘%s’ deleted." (package-desc-full-name > pkg-desc)))))) > > + (message "Package `%s' deleted." (package-desc-full-name > pkg-desc)))))) > > > > ;;;###autoload > > (defun package-reinstall (pkg) > > @@ -2097,7 +2116,8 @@ will be deleted." > > ;; do absolutely nothing. > > (when (or package-selected-packages > > (yes-or-no-p > > - "‘package-selected-packages’ is empty! Really remove ALL > packages? ")) > > + (format-message > > + "`package-selected-packages' is empty! Really remove ALL > packages? "))) > > (let ((removable (package--removable-packages))) > > (if removable > > (when (y-or-n-p > > @@ -2144,7 +2164,7 @@ will be deleted." > > (with-current-buffer standard-output > > (describe-package-1 package))))) > > > > -(defface package-help-section-name-face > > +(defface package-help-section-name > > '((t :inherit (bold font-lock-function-name-face))) > > "Face used on section names in package description buffers." > > :version "25.1") > > @@ -2155,7 +2175,7 @@ If more STRINGS are provided, insert them followed > by a newline. > > Otherwise no newline is inserted." > > (declare (indent 1)) > > (insert (make-string (max 0 (- 11 (string-width name))) ?\s) > > - (propertize (concat name ": ") 'font-lock-face > 'package-help-section-name-face)) > > + (propertize (concat name ": ") 'font-lock-face > 'package-help-section-name)) > > (when strings > > (apply #'insert strings) > > (insert "\n"))) > > @@ -2205,7 +2225,7 @@ Otherwise no newline is inserted." > > "Installed" > > (capitalize status)) > > 'font-lock-face > 'package-status-builtin-face)) > > - (insert (substitute-command-keys " in ‘")) > > + (insert (substitute-command-keys " in `")) > > (let ((dir (abbreviate-file-name > > (file-name-as-directory > > (if (file-in-directory-p pkg-dir > package-user-dir) > > @@ -2215,10 +2235,10 @@ Otherwise no newline is inserted." > > (if (and (package-built-in-p name) > > (not (package-built-in-p name version))) > > (insert (substitute-command-keys > > - "’,\n shadowing a ") > > + "',\n shadowing a ") > > (propertize "built-in package" > > 'font-lock-face > 'package-status-builtin-face)) > > - (insert (substitute-command-keys "’"))) > > + (insert (substitute-command-keys "'"))) > > (if signed > > (insert ".") > > (insert " (unsigned).")) > > @@ -2366,7 +2386,7 @@ Otherwise no newline is inserted." > > > > (defun package-install-button-action (button) > > (let ((pkg-desc (button-get button 'package-desc))) > > - (when (y-or-n-p (format-message "Install package ‘%s’? " > > + (when (y-or-n-p (format-message "Install package `%s'? " > > (package-desc-full-name pkg-desc))) > > (package-install pkg-desc nil) > > (revert-buffer nil t) > > @@ -2374,7 +2394,7 @@ Otherwise no newline is inserted." > > > > (defun package-delete-button-action (button) > > (let ((pkg-desc (button-get button 'package-desc))) > > - (when (y-or-n-p (format-message "Delete package ‘%s’? " > > + (when (y-or-n-p (format-message "Delete package `%s'? " > > (package-desc-full-name pkg-desc))) > > (package-delete pkg-desc) > > (revert-buffer nil t) > > @@ -2759,68 +2779,68 @@ Return (PKG-DESC [NAME VERSION STATUS DOC])." > > > > > > ;;; Package menu faces > > -(defface package-name-face > > +(defface package-name > > '((t :inherit link)) > > "Face used on package names in the package menu." > > :version "25.1") > > > > -(defface package-description-face > > +(defface package-description > > '((t :inherit default)) > > "Face used on package description summaries in the package menu." > > :version "25.1") > > > > -(defface package-status-built-in-face > > +(defface package-status-built-in > > '((t :inherit font-lock-builtin-face)) > > "Face used on the status and version of built-in packages." > > :version "25.1") > > > > -(defface package-status-external-face > > +(defface package-status-external > > '((t :inherit package-status-builtin-face)) > > "Face used on the status and version of external packages." > > :version "25.1") > > > > -(defface package-status-available-face > > +(defface package-status-available > > '((t :inherit default)) > > "Face used on the status and version of available packages." > > :version "25.1") > > > > -(defface package-status-new-face > > - '((t :inherit (bold package-status-available-face))) > > +(defface package-status-new > > + '((t :inherit (bold package-status-available))) > > "Face used on the status and version of new packages." > > :version "25.1") > > > > -(defface package-status-held-face > > +(defface package-status-held > > '((t :inherit font-lock-constant-face)) > > "Face used on the status and version of held packages." > > :version "25.1") > > > > -(defface package-status-disabled-face > > +(defface package-status-disabled > > '((t :inherit font-lock-warning-face)) > > "Face used on the status and version of disabled packages." > > :version "25.1") > > > > -(defface package-status-installed-face > > +(defface package-status-installed > > '((t :inherit font-lock-comment-face)) > > "Face used on the status and version of installed packages." > > :version "25.1") > > > > -(defface package-status-dependency-face > > - '((t :inherit package-status-installed-face)) > > +(defface package-status-dependency > > + '((t :inherit package-status-installed)) > > "Face used on the status and version of dependency packages." > > :version "25.1") > > > > -(defface package-status-unsigned-face > > +(defface package-status-unsigned > > '((t :inherit font-lock-warning-face)) > > "Face used on the status and version of unsigned packages." > > :version "25.1") > > > > -(defface package-status-incompat-face > > +(defface package-status-incompat > > '((t :inherit font-lock-comment-face)) > > "Face used on the status and version of incompat packages." > > :version "25.1") > > > > -(defface package-status-avail-obso-face > > - '((t :inherit package-status-incompat-face)) > > +(defface package-status-avail-obso > > + '((t :inherit package-status-incompat)) > > "Face used on the status and version of avail-obso packages." > > :version "25.1") > > > > @@ -2832,22 +2852,22 @@ PKG is a package-desc object. > > Return (PKG-DESC [NAME VERSION STATUS DOC])." > > (let* ((status (package-desc-status pkg)) > > (face (pcase status > > - (`"built-in" 'package-status-built-in-face) > > - (`"external" 'package-status-external-face) > > - (`"available" 'package-status-available-face) > > - (`"avail-obso" 'package-status-avail-obso-face) > > - (`"new" 'package-status-new-face) > > - (`"held" 'package-status-held-face) > > - (`"disabled" 'package-status-disabled-face) > > - (`"installed" 'package-status-installed-face) > > - (`"dependency" 'package-status-dependency-face) > > - (`"unsigned" 'package-status-unsigned-face) > > - (`"incompat" 'package-status-incompat-face) > > + (`"built-in" 'package-status-built-in) > > + (`"external" 'package-status-external) > > + (`"available" 'package-status-available) > > + (`"avail-obso" 'package-status-avail-obso) > > + (`"new" 'package-status-new) > > + (`"held" 'package-status-held) > > + (`"disabled" 'package-status-disabled) > > + (`"installed" 'package-status-installed) > > + (`"dependency" 'package-status-dependency) > > + (`"unsigned" 'package-status-unsigned) > > + (`"incompat" 'package-status-incompat) > > (_ 'font-lock-warning-face)))) ; obsolete. > > (list pkg > > `[(,(symbol-name (package-desc-name pkg)) > > - face package-name-face > > - font-lock-face package-name-face > > + face package-name > > + font-lock-face package-name > > follow-link t > > package-desc ,pkg > > action package-menu-describe-package) > > @@ -2859,7 +2879,7 @@ Return (PKG-DESC [NAME VERSION STATUS DOC])." > > (list (propertize (or (package-desc-archive pkg) "") > > 'font-lock-face face))) > > ,(propertize (package-desc-summary pkg) > > - 'font-lock-face 'package-description-face)]))) > > + 'font-lock-face 'package-description)]))) > > > > (defvar package-menu--old-archive-contents nil > > "`package-archive-contents' before the latest refresh.") > > @@ -2893,8 +2913,8 @@ If optional arg BUTTON is non-nil, describe its > associated package." > > (cl-remove-if-not (lambda (e) (string-match re (symbol-name > (car e)))) > > package-archive-contents))) > > (message (substitute-command-keys > > - (concat "Hiding %s packages, type > ‘\\[package-menu-toggle-hiding]’" > > - " to toggle or ‘\\[customize-variable] RET > package-hidden-regexps’" > > + (concat "Hiding %s packages, type > `\\[package-menu-toggle-hiding]'" > > + " to toggle or `\\[customize-variable] RET > package-hidden-regexps'" > > " to customize it")) > > (length hidden))))) > > > > @@ -3078,7 +3098,7 @@ prompt (see `package-menu--prompt-transaction-p')." > > (length packages) > > (mapconcat #'package-desc-full-name packages ", "))) > > ;; Exactly 1 > > - (t (format-message "package ‘%s’" > > + (t (format-message "package `%s'" > > (package-desc-full-name (car packages)))))) > > > > (defun package-menu--prompt-transaction-p (delete install upgrade) > > @@ -3134,7 +3154,7 @@ objects removed." > > (condition-case-unless-debug err > > (let ((inhibit-message package-menu-async)) > > (package-delete elt nil 'nosave)) > > - (error (message "Error trying to delete ‘%s’: %S" > > + (error (message "Error trying to delete `%s': %S" > > (package-desc-full-name elt) > > err)))))) > > > > @@ -3265,7 +3285,7 @@ Store this list in > `package-menu--new-package-list'." > > (defun package-menu--find-and-notify-upgrades () > > "Notify the user of upgradable packages." > > (when-let ((upgrades (package-menu--find-upgrades))) > > - (message "%d package%s can be upgraded; type ‘%s’ to mark %s for > upgrading." > > + (message "%d package%s can be upgraded; type `%s' to mark %s for > upgrading." > > (length upgrades) > > (if (= (length upgrades) 1) "" "s") > > (substitute-command-keys "\\[package-menu-mark-upgrades]") > > diff --git a/lisp/emacs-lisp/pcase.el b/lisp/emacs-lisp/pcase.el > > index 5fe36bb..ea4f38a 100644 > > --- a/lisp/emacs-lisp/pcase.el > > +++ b/lisp/emacs-lisp/pcase.el > > @@ -164,7 +164,7 @@ Currently, the following patterns are provided this > way:" > > expansion)))) > > > > (declare-function help-fns--signature "help-fns" > > - (function doc real-def real-function raw)) > > + (function doc real-def real-function buffer)) > > > > ;; FIXME: Obviously, this will collide with nadvice's use of > > ;; function-documentation if we happen to advise `pcase'. > > @@ -184,7 +184,7 @@ Currently, the following patterns are provided this > way:" > > (insert "\n\n-- ") > > (let* ((doc (documentation me 'raw))) > > (setq doc (help-fns--signature symbol doc me > > - (indirect-function me) t)) > > + (indirect-function me) > nil)) > > (insert "\n" (or doc "Not documented."))))))) > > (let ((combined-doc (buffer-string))) > > (if ud (help-add-fundoc-usage combined-doc (car ud)) > combined-doc))))) > > @@ -197,7 +197,7 @@ Currently, the following patterns are provided this > way:" > > (pcase--dontwarn-upats (cons x pcase--dontwarn-upats))) > > (pcase--expand > > ;; FIXME: Could we add the FILE:LINE data in the error message? > > - exp (append cases `((,x (error "No clause matching ‘%S’" ,x))))))) > > + exp (append cases `((,x (error "No clause matching `%S'" ,x))))))) > > > > ;;;###autoload > > (defmacro pcase-lambda (lambda-list &rest body) > > @@ -775,7 +775,7 @@ Otherwise, it defers to REST which is a list of > branches of the form > > (let ((code (pcase--u1 matches code vars rest))) > > (if (eq upat '_) code > > (macroexp--warn-and-return > > - "Pattern t is deprecated. Use ‘_’ instead" > > + "Pattern t is deprecated. Use `_' instead" > > code)))) > > ((eq upat 'pcase--dontcare) :pcase--dontcare) > > ((memq (car-safe upat) '(guard pred)) > > @@ -860,7 +860,7 @@ Otherwise, it defers to REST which is a list of > branches of the form > > (pcase--u rest)) > > vars > > (list `((and . ,matches) ,code . ,vars)))) > > - (t (error "Unknown pattern ‘%S’" upat))))) > > + (t (error "Unknown pattern `%S'" upat))))) > > (t (error "Incorrect MATCH %S" (car matches))))) > > > > (def-edebug-spec > > diff --git a/lisp/emacs-lisp/re-builder.el > b/lisp/emacs-lisp/re-builder.el > > index de1f6d1..a499b03 100644 > > --- a/lisp/emacs-lisp/re-builder.el > > +++ b/lisp/emacs-lisp/re-builder.el > > @@ -458,7 +458,7 @@ matching parts of the target buffer will be > highlighted." > > (setq reb-subexp-mode t) > > (reb-update-modestring) > > (use-local-map reb-subexp-mode-map) > > - (message "‘0’-‘9’ to display subexpressions ‘q’ to quit subexp > mode")) > > + (message "`0'-`9' to display subexpressions `q' to quit subexp > mode")) > > > > (defun reb-show-subexp (subexp &optional pause) > > "Visually show limit of subexpression SUBEXP of recent search. > > diff --git a/lisp/emacs-lisp/regexp-opt.el > b/lisp/emacs-lisp/regexp-opt.el > > index b0fb23d..9888e92 100644 > > --- a/lisp/emacs-lisp/regexp-opt.el > > +++ b/lisp/emacs-lisp/regexp-opt.el > > @@ -92,7 +92,7 @@ is enclosed by at least one regexp grouping construct. > > The returned regexp is typically more efficient than the equivalent > regexp: > > > > (let ((open (if PAREN \"\\\\(\" \"\")) (close (if PAREN \"\\\\)\" > \"\"))) > > - (concat open (mapconcat 'regexp-quote STRINGS \"\\\\|\") close)) > > + (concat open (mapconcat \\='regexp-quote STRINGS \"\\\\|\") close)) > > > > If PAREN is `words', then the resulting regexp is additionally > surrounded > > by \\=\\< and \\>. > > diff --git a/lisp/emacs-lisp/ring.el b/lisp/emacs-lisp/ring.el > > index 8badac3..2447dfa 100644 > > --- a/lisp/emacs-lisp/ring.el > > +++ b/lisp/emacs-lisp/ring.el > > @@ -175,14 +175,14 @@ Comparison is done via `equal'. The index is > 0-based." > > "Return the next item in the RING, after ITEM. > > Raise error if ITEM is not in the RING." > > (let ((curr-index (ring-member ring item))) > > - (unless curr-index (error "Item is not in the ring: ‘%s’" item)) > > + (unless curr-index (error "Item is not in the ring: `%s'" item)) > > (ring-ref ring (ring-plus1 curr-index (ring-length ring))))) > > > > (defun ring-previous (ring item) > > "Return the previous item in the RING, before ITEM. > > Raise error if ITEM is not in the RING." > > (let ((curr-index (ring-member ring item))) > > - (unless curr-index (error "Item is not in the ring: ‘%s’" item)) > > + (unless curr-index (error "Item is not in the ring: `%s'" item)) > > (ring-ref ring (ring-minus1 curr-index (ring-length ring))))) > > > > (defun ring-extend (ring x) > > diff --git a/lisp/emacs-lisp/rx.el b/lisp/emacs-lisp/rx.el > > index 7b0de6e..a21ac7a 100644 > > --- a/lisp/emacs-lisp/rx.el > > +++ b/lisp/emacs-lisp/rx.el > > @@ -324,7 +324,7 @@ a standalone symbol." > > (defun rx-check (form) > > "Check FORM according to its car's parsing info." > > (unless (listp form) > > - (error "rx ‘%s’ needs argument(s)" form)) > > + (error "rx `%s' needs argument(s)" form)) > > (let* ((rx (rx-info (car form) 'head)) > > (nargs (1- (length form))) > > (min-args (nth 1 rx)) > > @@ -332,16 +332,16 @@ a standalone symbol." > > (type-pred (nth 3 rx))) > > (when (and (not (null min-args)) > > (< nargs min-args)) > > - (error "rx form ‘%s’ requires at least %d args" > > + (error "rx form `%s' requires at least %d args" > > (car form) min-args)) > > (when (and (not (null max-args)) > > (> nargs max-args)) > > - (error "rx form ‘%s’ accepts at most %d args" > > + (error "rx form `%s' accepts at most %d args" > > (car form) max-args)) > > (when (not (null type-pred)) > > (dolist (sub-form (cdr form)) > > (unless (funcall type-pred sub-form) > > - (error "rx form ‘%s’ requires args satisfying ‘%s’" > > + (error "rx form `%s' requires args satisfying `%s'" > > (car form) type-pred)))))) > > > > > > @@ -395,7 +395,7 @@ FORM is of the form `(and FORM1 ...)'." > > (defun rx-anything (form) > > "Match any character." > > (if (consp form) > > - (error "rx ‘anything’ syntax error: %s" form)) > > + (error "rx `anything' syntax error: %s" form)) > > (rx-or (list 'or 'not-newline ?\n))) > > > > > > @@ -452,7 +452,7 @@ Only both edges of each range is checked." > > (let ((i 0) > > c1 c2 l) > > (if (= 0 (length str)) > > - (error "String arg for Rx ‘any’ must not be empty")) > > + (error "String arg for Rx `any' must not be empty")) > > (while (string-match ".-." str i) > > ;; string before range: convert it to characters > > (if (< i (match-beginning 0)) > > @@ -482,13 +482,13 @@ Only both edges of each range is checked." > > (error nil)))) > > (if (or (null translation) > > (null (string-match "\\`\\[\\[:[-a-z]+:\\]\\]\\'" > translation))) > > - (error "Invalid char class ‘%s’ in Rx ‘any’" arg)) > > + (error "Invalid char class `%s' in Rx `any'" arg)) > > (list (substring translation 1 -1)))) ; strip outer brackets > > ((and (integerp (car-safe arg)) (integerp (cdr-safe arg))) > > (list arg)) > > ((stringp arg) (rx-check-any-string arg)) > > ((error > > - "rx ‘any’ requires string, character, char pair or char class > args")))) > > + "rx `any' requires string, character, char pair or char class > args")))) > > > > > > (defun rx-any (form) > > @@ -581,7 +581,7 @@ ARG is optional." > > (eq arg 'word-boundary) > > (and (consp arg) > > (memq (car arg) '(not any in syntax category)))) > > - (error "rx ‘not’ syntax error: %s" arg)) > > + (error "rx `not' syntax error: %s" arg)) > > t) > > > > > > @@ -640,7 +640,7 @@ If SKIP is non-nil, allow that number of items after > the head, i.e. > > (setq form (rx-trans-forms form 1)) > > (unless (and (integerp (nth 1 form)) > > (> (nth 1 form) 0)) > > - (error "rx ‘=’ requires positive integer first arg")) > > + (error "rx `=' requires positive integer first arg")) > > (format "%s\\{%d\\}" (rx-form (nth 2 form) '*) (nth 1 form))) > > > > > > @@ -650,7 +650,7 @@ If SKIP is non-nil, allow that number of items after > the head, i.e. > > (setq form (rx-trans-forms form 1)) > > (unless (and (integerp (nth 1 form)) > > (> (nth 1 form) 0)) > > - (error "rx ‘>=’ requires positive integer first arg")) > > + (error "rx `>=' requires positive integer first arg")) > > (format "%s\\{%d,\\}" (rx-form (nth 2 form) '*) (nth 1 form))) > > > > > > @@ -671,14 +671,14 @@ FORM is either `(repeat N FORM1)' or `(repeat N M > FORMS...)'." > > (cond ((= (length form) 3) > > (unless (and (integerp (nth 1 form)) > > (> (nth 1 form) 0)) > > - (error "rx ‘repeat’ requires positive integer first arg")) > > + (error "rx `repeat' requires positive integer first arg")) > > (format "%s\\{%d\\}" (rx-form (nth 2 form) '*) (nth 1 form))) > > ((or (not (integerp (nth 2 form))) > > (< (nth 2 form) 0) > > (not (integerp (nth 1 form))) > > (< (nth 1 form) 0) > > (< (nth 2 form) (nth 1 form))) > > - (error "rx ‘repeat’ range error")) > > + (error "rx `repeat' range error")) > > (t > > (format "%s\\{%d,%d\\}" (rx-form (nth 3 form) '*) > > (nth 1 form) (nth 2 form))))) > > @@ -713,7 +713,7 @@ FORM is either `(repeat N FORM1)' or `(repeat N M > FORMS...)'." > > (defun rx-check-backref (arg) > > "Check arg ARG for Rx `backref'." > > (or (and (integerp arg) (>= arg 1) (<= arg 9)) > > - (error "rx ‘backref’ requires numeric 1<=arg<=9: %s" arg))) > > + (error "rx `backref' requires numeric 1<=arg<=9: %s" arg))) > > > > (defun rx-kleene (form) > > "Parse and produce code from FORM. > > @@ -786,7 +786,7 @@ of all atomic regexps." > > (if (= 1 (length name)) > > (setq syntax (aref name 0)))))) > > (unless syntax > > - (error "Unknown rx syntax ‘%s’" sym))) > > + (error "Unknown rx syntax `%s'" sym))) > > (format "\\s%c" syntax))) > > > > > > @@ -794,7 +794,7 @@ of all atomic regexps." > > "Check the argument FORM of a `(category FORM)'." > > (unless (or (integerp form) > > (cdr (assq form rx-categories))) > > - (error "Unknown category ‘%s’" form)) > > + (error "Unknown category `%s'" form)) > > t) > > > > > > @@ -846,16 +846,16 @@ shy groups around the result and some more in > other functions." > > (cond ((stringp info) > > info) > > ((null info) > > - (error "Unknown rx form ‘%s’" form)) > > + (error "Unknown rx form `%s'" form)) > > (t > > (funcall (nth 0 info) form))))) > > ((consp form) > > (let ((info (rx-info (car form) 'head))) > > (unless (consp info) > > - (error "Unknown rx form ‘%s’" (car form))) > > + (error "Unknown rx form `%s'" (car form))) > > (funcall (nth 0 info) form))) > > (t > > - (error "rx syntax error at ‘%s’" form)))) > > + (error "rx syntax error at `%s'" form)))) > > > > > > ;;;###autoload > > diff --git a/lisp/emacs-lisp/seq.el b/lisp/emacs-lisp/seq.el > > index a17b0a8..8dc9147 100644 > > --- a/lisp/emacs-lisp/seq.el > > +++ b/lisp/emacs-lisp/seq.el > > @@ -252,14 +252,6 @@ If SEQ is empty, return INITIAL-VALUE and FUNCTION > is not called." > > (setq acc (funcall function acc elt))) > > acc))) > > > > -(cl-defgeneric seq-some-p (pred seq) > > - "Return any element for which (PRED element) is non-nil in SEQ, nil > otherwise." > > - (catch 'seq--break > > - (seq-doseq (elt seq) > > - (when (funcall pred elt) > > - (throw 'seq--break elt))) > > - nil)) > > - > > (cl-defgeneric seq-every-p (pred seq) > > "Return non-nil if (PRED element) is non-nil for all elements of the > sequence SEQ." > > (catch 'seq--break > > @@ -268,6 +260,16 @@ If SEQ is empty, return INITIAL-VALUE and FUNCTION > is not called." > > (throw 'seq--break nil))) > > t)) > > > > +(cl-defgeneric seq-some (pred seq) > > + "Return non-nil if (PRED element) is non-nil for any element in SEQ, > nil otherwise. > > +If so, return the non-nil value returned by PRED." > > + (catch 'seq--break > > + (seq-doseq (elt seq) > > + (let ((result (funcall pred elt))) > > + (when result > > + (throw 'seq--break result)))) > > + nil)) > > + > > (cl-defgeneric seq-count (pred seq) > > "Return the number of elements for which (PRED element) is non-nil in > SEQ." > > (let ((count 0)) > > @@ -276,19 +278,19 @@ If SEQ is empty, return INITIAL-VALUE and FUNCTION > is not called." > > (setq count (+ 1 count)))) > > count)) > > > > -(cl-defgeneric seq-contains-p (seq elt &optional testfn) > > +(cl-defgeneric seq-contains (seq elt &optional testfn) > > "Return the first element in SEQ that equals to ELT. > > Equality is defined by TESTFN if non-nil or by `equal' if nil." > > - (seq-some-p (lambda (e) > > - (funcall (or testfn #'equal) elt e)) > > - seq)) > > + (seq-some (lambda (e) > > + (funcall (or testfn #'equal) elt e)) > > + seq)) > > > > (cl-defgeneric seq-uniq (seq &optional testfn) > > "Return a list of the elements of SEQ with duplicates removed. > > TESTFN is used to compare elements, or `equal' if TESTFN is nil." > > (let ((result '())) > > (seq-doseq (elt seq) > > - (unless (seq-contains-p result elt testfn) > > + (unless (seq-contains result elt testfn) > > (setq result (cons elt result)))) > > (nreverse result))) > > > > @@ -313,7 +315,7 @@ negative integer or 0, nil is returned." > > "Return a list of the elements that appear in both SEQ1 and SEQ2. > > Equality is defined by TESTFN if non-nil or by `equal' if nil." > > (seq-reduce (lambda (acc elt) > > - (if (seq-contains-p seq2 elt testfn) > > + (if (seq-contains seq2 elt testfn) > > (cons elt acc) > > acc)) > > (seq-reverse seq1) > > @@ -323,7 +325,7 @@ Equality is defined by TESTFN if non-nil or by > `equal' if nil." > > "Return a list of the elements that appear in SEQ1 but not in SEQ2. > > Equality is defined by TESTFN if non-nil or by `equal' if nil." > > (seq-reduce (lambda (acc elt) > > - (if (not (seq-contains-p seq2 elt testfn)) > > + (if (not (seq-contains seq2 elt testfn)) > > (cons elt acc) > > acc)) > > (seq-reverse seq1) > > diff --git a/lisp/emacs-lisp/smie.el b/lisp/emacs-lisp/smie.el > > index 9678cfa..0c24f79 100644 > > --- a/lisp/emacs-lisp/smie.el > > +++ b/lisp/emacs-lisp/smie.el > > @@ -2213,13 +2213,13 @@ One way to generate local rules is the command > `smie-config-guess'." > > (let* ((existing (assq major-mode smie-config)) > > (config > > (cond ((null existing) > > - (message "Local rules saved in ‘smie-config’") > > + (message "Local rules saved in `smie-config'") > > smie-config--buffer-local) > > ((y-or-n-p "Replace the existing mode's config? ") > > - (message "Mode rules replaced in ‘smie-config’") > > + (message "Mode rules replaced in `smie-config'") > > smie-config--buffer-local) > > ((y-or-n-p "Merge with existing mode's config? ") > > - (message "Mode rules adjusted in ‘smie-config’") > > + (message "Mode rules adjusted in `smie-config'") > > (append smie-config--buffer-local (cdr existing))) > > (t (error "Abort"))))) > > (if existing > > diff --git a/lisp/emacs-lisp/subr-x.el b/lisp/emacs-lisp/subr-x.el > > index 9637e42..e6d451a 100644 > > --- a/lisp/emacs-lisp/subr-x.el > > +++ b/lisp/emacs-lisp/subr-x.el > > @@ -90,7 +90,7 @@ threading." > > (when (> (length binding) 2) > > (signal > > 'error > > - (cons "‘let’ bindings can have only one value-form" binding))) > > + (cons "`let' bindings can have only one value-form" binding))) > > binding) > > > > (defsubst internal--build-binding-value-form (binding prev-var) > > diff --git a/lisp/emacs-lisp/tabulated-list.el > b/lisp/emacs-lisp/tabulated-list.el > > index 404dbd1..cd61eb9 100644 > > --- a/lisp/emacs-lisp/tabulated-list.el > > +++ b/lisp/emacs-lisp/tabulated-list.el > > @@ -129,7 +129,7 @@ no entry at POS. POS, if omitted or nil, defaults > to point." > > TAG should be a string, with length <= `tabulated-list-padding'. > > If ADVANCE is non-nil, move forward by one line afterwards." > > (unless (stringp tag) > > - (error "Invalid argument to ‘tabulated-list-put-tag’")) > > + (error "Invalid argument to `tabulated-list-put-tag'")) > > (unless (> tabulated-list-padding 0) > > (error "Unable to tag the current line")) > > (save-excursion > > diff --git a/lisp/emacs-lisp/testcover.el b/lisp/emacs-lisp/testcover.el > > index 3e6039e..110c63f 100644 > > --- a/lisp/emacs-lisp/testcover.el > > +++ b/lisp/emacs-lisp/testcover.el > > @@ -475,7 +475,7 @@ same value during coverage testing." > > (aset testcover-vector idx (cons '1value val))) > > ((not (and (eq (car-safe (aref testcover-vector idx)) '1value) > > (equal (cdr (aref testcover-vector idx)) val))) > > - (error "Value of form marked with ‘1value’ does vary: %s" val))) > > + (error "Value of form marked with `1value' does vary: %s" val))) > > val) > > > > > > diff --git a/lisp/emacs-lisp/timer.el b/lisp/emacs-lisp/timer.el > > index 0a0296f..dca459f 100644 > > --- a/lisp/emacs-lisp/timer.el > > +++ b/lisp/emacs-lisp/timer.el > > @@ -324,7 +324,7 @@ This function is called, by name, directly by the C > code." > > (apply (timer--function timer) (timer--args timer))) > > (error (message "Error running timer%s: %S" > > (if (symbolp (timer--function timer)) > > - (format-message " ‘%s’" (timer--function > timer)) > > + (format-message " `%s'" (timer--function > timer)) > > "") > > err))) > > (when (and retrigger > > diff --git a/lisp/emulation/viper-cmd.el b/lisp/emulation/viper-cmd.el > > index 8b3f6b4..93fcec8 100644 > > --- a/lisp/emulation/viper-cmd.el > > +++ b/lisp/emulation/viper-cmd.el > > @@ -3449,7 +3449,7 @@ controlled by the sign of prefix numeric value." > > (setq viper-parse-sexp-ignore-comments > > (not viper-parse-sexp-ignore-comments)) > > (princ (format-message > > - "From now on, ‘%%’ will %signore parentheses inside comment > fields" > > + "From now on, `%%' will %signore parentheses inside comment > fields" > > (if viper-parse-sexp-ignore-comments "" "NOT ")))) > > > > > > @@ -3641,7 +3641,7 @@ the Emacs binding of `/'." > > (cond ((or (eq arg 1) > > (and (null arg) > > (y-or-n-p (format-message > > - "Search style: ‘%s’. Want ‘%s’? " > > + "Search style: `%s'. Want `%s'? " > > (if viper-case-fold-search > > "case-insensitive" "case-sensitive") > > (if viper-case-fold-search > > @@ -3654,7 +3654,7 @@ the Emacs binding of `/'." > > ((or (eq arg 2) > > (and (null arg) > > (y-or-n-p (format-message > > - "Search style: ‘%s’. Want ‘%s’? " > > + "Search style: `%s'. Want `%s'? " > > (if viper-re-search > > "regexp-search" "vanilla-search") > > (if viper-re-search > > @@ -3990,7 +3990,7 @@ Null string will repeat previous search." > > (if (or (not (buffer-modified-p buffer)) > > (y-or-n-p > > (format-message > > - "Buffer ‘%s’ is modified, are you sure you want to kill > it? " > > + "Buffer `%s' is modified, are you sure you want to kill > it? " > > buffer-name))) > > (kill-buffer buffer) > > (error "Buffer not killed")))) > > @@ -4640,7 +4640,7 @@ One can use \\=`\\=` and \\='\\=' to temporarily > jump 1 step back." > > reg (substring text (- pos > s))))) > > (princ > > (format-message > > - "Textmarker ‘%c’ is in buffer ‘%s’ at line %d.\n" > > + "Textmarker `%c' is in buffer `%s' at line %d.\n" > > reg (buffer-name buf) line-no)) > > (princ (format "Here is some text around %c:\n\n %s" > > reg text))) > > diff --git a/lisp/emulation/viper-init.el b/lisp/emulation/viper-init.el > > index e28c67a..092de55 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/emulation/viper-keym.el b/lisp/emulation/viper-keym.el > > index 250c292..272556d 100644 > > --- a/lisp/emulation/viper-keym.el > > +++ b/lisp/emulation/viper-keym.el > > @@ -502,7 +502,7 @@ ALIST is of the form ((key . func) (key . func) ...) > > Normally, this would be called from a hook to a major mode or > > on a per buffer basis. > > Usage: > > - (viper-add-local-keys state '((key-str . func) (key-str . > func)...)) " > > + (viper-add-local-keys state \\='((key-str . func) (key-str . > func)...)) " > > > > (let (map) > > (cond ((eq state 'vi-state) > > diff --git a/lisp/emulation/viper-macs.el b/lisp/emulation/viper-macs.el > > index 4b33b42..4fa0779 100644 > > --- a/lisp/emulation/viper-macs.el > > +++ b/lisp/emulation/viper-macs.el > > @@ -370,11 +370,11 @@ If SCOPE is nil, the user is asked to specify the > scope." > > (cond > > ((y-or-n-p > > (format-message > > - "Map this macro for buffer ‘%s’ only? " > > + "Map this macro for buffer `%s' only? " > > (buffer-name))) > > (setq msg > > (format-message > > - "%S is mapped to %s for %s in ‘%s’" > > + "%S is mapped to %s for %s in `%s'" > > (viper-display-macro macro-name) > > (viper-abbreviate-string > > (format > > @@ -386,11 +386,11 @@ If SCOPE is nil, the user is asked to specify the > scope." > > (buffer-name)) > > ((y-or-n-p > > (format-message > > - "Map this macro for the major mode ‘%S’ only? " > > + "Map this macro for the major mode `%S' only? " > > major-mode)) > > (setq msg > > (format-message > > - "%S is mapped to %s for %s in ‘%S’" > > + "%S is mapped to %s for %s in `%S'" > > (viper-display-macro macro-name) > > (viper-abbreviate-string > > (format > > diff --git a/lisp/env.el b/lisp/env.el > > index f50ed12..3966ab1 100644 > > --- a/lisp/env.el > > +++ b/lisp/env.el > > @@ -175,7 +175,7 @@ a side-effect." > > (let ((codings (find-coding-systems-string (concat variable > value)))) > > (unless (or (eq 'undecided (car codings)) > > (memq (coding-system-base locale-coding-system) > codings)) > > - (error "Can't encode ‘%s=%s’ with ‘locale-coding-system’" > > + (error "Can't encode `%s=%s' with `locale-coding-system'" > > variable (or value ""))))) > > (and value > > substitute-env-vars > > @@ -185,7 +185,7 @@ a side-effect." > > (if (and value (multibyte-string-p value)) > > (setq value (encode-coding-string value locale-coding-system))) > > (if (string-match "=" variable) > > - (error "Environment variable name ‘%s’ contains ‘=’" variable)) > > + (error "Environment variable name `%s' contains `='" variable)) > > (if (string-equal "TZ" variable) > > (set-time-zone-rule value)) > > (setq process-environment (setenv-internal process-environment > > diff --git a/lisp/erc/erc-backend.el b/lisp/erc/erc-backend.el > > index eec6925..958c5ef 100644 > > --- a/lisp/erc/erc-backend.el > > +++ b/lisp/erc/erc-backend.el > > @@ -1100,12 +1100,12 @@ Would expand to: > > add things to `erc-server-311-functions' instead.\" > > (do-stuff-with-whois proc parsed)) > > > > - (puthash \"311\" 'erc-server-311-functions erc-server-responses) > > - (puthash \"WHOIS\" 'erc-server-WHOIS-functions erc-server-responses) > > - (puthash \"WI\" 'erc-server-WI-functions erc-server-responses) > > + (puthash \"311\" \\='erc-server-311-functions erc-server-responses) > > + (puthash \"WHOIS\" \\='erc-server-WHOIS-functions > erc-server-responses) > > + (puthash \"WI\" \\='erc-server-WI-functions erc-server-responses) > > > > - (defalias 'erc-server-WHOIS 'erc-server-311) > > - (defvar erc-server-WHOIS-functions 'erc-server-311 > > + (defalias \\='erc-server-WHOIS \\='erc-server-311) > > + (defvar erc-server-WHOIS-functions \\='erc-server-311 > > \"Some non-generic variable documentation. > > > > Hook called upon receiving a WHOIS server response. > > @@ -1116,8 +1116,8 @@ Would expand to: > > > > See also `erc-server-311'.\") > > > > - (defalias 'erc-server-WI 'erc-server-311) > > - (defvar erc-server-WI-functions 'erc-server-311 > > + (defalias \\='erc-server-WI \\='erc-server-311) > > + (defvar erc-server-WI-functions \\='erc-server-311 > > \"Some non-generic variable documentation. > > > > Hook called upon receiving a WI server response. > > diff --git a/lisp/erc/erc-button.el b/lisp/erc/erc-button.el > > index 6139e93..0e4c709 100644 > > --- a/lisp/erc/erc-button.el > > +++ b/lisp/erc/erc-button.el > > @@ -512,7 +512,7 @@ Examples: > > (defun erc-nick-popup (nick) > > (let* ((completion-ignore-case t) > > (action (completing-read (format-message > > - "What action to take on ‘%s’? " nick) > > + "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 bb6e311..0a9932d 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 nick!user@host 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." > > diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el > > index 726e9ed..62be63e 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 > > @@ -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))) > > > > @@ -3259,7 +3259,7 @@ The lines are shown in a buffer named `*Occur*'. > > It serves as a menu to find any of the occurrences in this buffer. > > \\[describe-mode] in that buffer will explain how. > > > > -If LINE contains upper case characters (excluding those preceded by > ‘\\’), > > +If LINE contains upper case characters (excluding those preceded by > `\\'), > > the matching is case-sensitive." > > (occur line) > > t) > > @@ -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 > > @@ -5203,7 +5203,7 @@ So far the following TYPE/L pairs are supported: > > > > Event TYPE L > > > > - nickname change 'nick (NEW-NICK)" > > + nickname change `nick' (NEW-NICK)" > > (erc-log (format "user-change: type: %S nlh: %S l: %S" type nlh l)) > > (cond > > ;; nickname change > > @@ -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 1bd7fbc..3960cd7 100644 > > --- a/lisp/eshell/em-dirs.el > > +++ b/lisp/eshell/em-dirs.el > > @@ -301,7 +301,7 @@ Thus, this does not include the current directory.") > > eshell-user-names))))))) > > > > (defun eshell/pwd (&rest args) > > - "Change output from ‘pwd’ to be cleaner." > > + "Change output from `pwd' to be cleaner." > > (let* ((path default-directory) > > (len (length path))) > > (if (and (> len 1) > > @@ -365,7 +365,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 976882c..f2e67cc 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)) > > @@ -289,7 +289,7 @@ the form: > > glob (car globs) > > len (length glob))))) > > (if (and recurse-p (not glob)) > > - (error "‘**’ cannot end a globbing pattern")) > > + (error "`**' cannot end a globbing pattern")) > > (let ((index 1)) > > (setq incl glob) > > (while (and (eq incl glob) > > diff --git a/lisp/eshell/em-pred.el b/lisp/eshell/em-pred.el > > index 539080f..102795f 100644 > > --- a/lisp/eshell/em-pred.el > > +++ b/lisp/eshell/em-pred.el > > @@ -172,18 +172,18 @@ PERMISSION BITS (for owner/group/world): > > > > OWNERSHIP: > > U owned by effective uid > > - u(UID|'user') owned by UID/user > > - g(GID|'group') owned by GID/group > > + u(UID|\\='user\\=') owned by UID/user > > + g(GID|\\='group\\=') owned by GID/group > > > > FILE ATTRIBUTES: > > l[+-]N +/-/= N links > > - a[Mwhms][+-](N|'FILE') access time +/-/= N > months/weeks/hours/mins/secs > > + a[Mwhms][+-](N|\\='FILE\\=') access time +/-/= N > months/weeks/hours/mins/secs > > (days if unspecified) if FILE specified, > > - use as comparison basis; so a+'file.c' > > + use as comparison basis; so a+\\='file.c\\=' > > shows files accessed before file.c was > > last accessed > > - m[Mwhms][+-](N|'FILE') modification time... > > - c[Mwhms][+-](N|'FILE') change time... > > + m[Mwhms][+-](N|\\='FILE\\=') modification time... > > + c[Mwhms][+-](N|\\='FILE\\=') change time... > > L[kmp][+-]N file size +/-/= N Kb/Mb/blocks > > > > EXAMPLES: > > @@ -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 > > diff --git a/lisp/eshell/em-script.el b/lisp/eshell/em-script.el > > index 8e65e44..1a16e5e 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/esh-opt.el b/lisp/eshell/esh-opt.el > > index 4d28208..96d485b 100644 > > --- a/lisp/eshell/esh-opt.el > > +++ b/lisp/eshell/esh-opt.el > > @@ -180,7 +180,7 @@ This code doesn't really need to be macro expanded > everywhere." > > (concat usage > > (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-util.el b/lisp/eshell/esh-util.el > > index 170779f..2565842 100644 > > --- a/lisp/eshell/esh-util.el > > +++ b/lisp/eshell/esh-util.el > > @@ -88,7 +88,7 @@ specification of filenames (for example, in calling > `find-file', or > > some other Lisp function that deals with files, not numbers), add the > > following in your init file: > > > > - (put 'find-file 'eshell-no-numeric-conversions t) > > + (put \\='find-file \\='eshell-no-numeric-conversions t) > > > > Any function with the property `eshell-no-numeric-conversions' set to > > a non-nil value, will be passed strings, not numbers, even when an > > diff --git a/lisp/eshell/esh-var.el b/lisp/eshell/esh-var.el > > index f5110c3..0d94186 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." > > diff --git a/lisp/facemenu.el b/lisp/facemenu.el > > index a90794f..3d58943 100644 > > --- a/lisp/facemenu.el > > +++ b/lisp/facemenu.el > > @@ -797,10 +797,10 @@ This is called whenever you create a new face, and > at other times." > > symbol (intern name))) > > (setq menu 'facemenu-face-menu) > > (setq docstring > > - (purecopy (format-message "Select face ‘%s’ for subsequent > insertion. > > + (purecopy (format "Select face `%s' for subsequent insertion. > > If the mark is active and there is no prefix argument, > > -apply face ‘%s’ to the region instead. > > -This command was defined by ‘facemenu-add-new-face’." > > +apply face `%s' to the region instead. > > +This command was defined by `facemenu-add-new-face'." > > name name))) > > (cond ((facemenu-iterate ; check if equivalent face is already in > the menu > > (lambda (m) (and (listp m) > > @@ -846,12 +846,12 @@ Return the event type (a symbol) of the added menu > entry. > > This is called whenever you use a new color." > > (let (symbol) > > (unless (color-defined-p color) > > - (error "Color ‘%s’ undefined" color)) > > + (error "Color `%s' undefined" color)) > > (cond ((eq menu 'facemenu-foreground-menu) > > (setq symbol (intern (concat "fg:" color)))) > > ((eq menu 'facemenu-background-menu) > > (setq symbol (intern (concat "bg:" color)))) > > - (t (error "MENU should be ‘facemenu-foreground-menu’ or > ‘facemenu-background-menu’"))) > > + (t (error "MENU should be `facemenu-foreground-menu' or > `facemenu-background-menu'"))) > > (unless (facemenu-iterate ; Check if color is already in the menu. > > (lambda (m) (and (listp m) > > (eq (car m) symbol))) > > diff --git a/lisp/faces.el b/lisp/faces.el > > index 9e879c1..5485d80 100644 > > --- a/lisp/faces.el > > +++ b/lisp/faces.el > > @@ -574,7 +574,7 @@ If FACE is a face-alias, get the documentation for > the target face." > > (let ((alias (get face 'face-alias))) > > (if alias > > (let ((doc (get alias 'face-documentation))) > > - (format-message "%s is an alias for the face ‘%s’.%s" face > alias > > + (format "%s is an alias for the face `%s'.%s" face alias > > (if doc (format "\n%s" doc) > > ""))) > > (get face 'face-documentation)))) > > @@ -1005,7 +1005,7 @@ a single face name." > > (setq default (car (split-string default crm-separator t)))) > > > > (let ((prompt (if default > > - (format-message "%s (default ‘%s’): " prompt > default) > > + (format-message "%s (default `%s'): " prompt > default) > > (format "%s: " prompt))) > > aliasfaces nonaliasfaces faces) > > ;; Build up the completion tables. > > @@ -1137,8 +1137,8 @@ Value is the new attribute value." > > (let* ((completion-ignore-case t) > > (value (completing-read > > (format-message (if default > > - "%s for face ‘%s’ (default %s): " > > - "%s for face ‘%s’: ") > > + "%s for face `%s' (default %s): " > > + "%s for face `%s': ") > > name face default) > > completion-alist nil nil nil nil default))) > > (if (equal value "") default value))) > > @@ -1225,7 +1225,7 @@ of a global face. Value is the new attribute > value." > > If optional argument FRAME is nil or omitted, use the selected frame." > > (let ((completion-ignore-case t)) > > (completing-read (format-message > > - "Set font attributes of face ‘%s’ from font: " > face) > > + "Set font attributes of face `%s' from font: " > face) > > (append (fontset-list) (x-list-fonts "*" nil > frame))))) > > > > > > @@ -1437,11 +1437,11 @@ If FRAME is omitted or nil, use the selected > frame." > > (setq face alias) > > (insert > > (format-message > > - "\n %s is an alias for the face ‘%s’.\n%s" > > + "\n %s is an alias for the face `%s'.\n%s" > > f alias > > (if (setq obsolete (get f 'obsolete-face)) > > (format-message > > - " This face is obsolete%s; use ‘%s’ > instead.\n" > > + " This face is obsolete%s; use `%s' > instead.\n" > > (if (stringp obsolete) > > (format " since %s" obsolete) > > "") > > @@ -1459,13 +1459,13 @@ If FRAME is omitted or nil, use the selected > frame." > > (help-xref-button 1 'help-customize-face f))) > > (setq file-name (find-lisp-object-file-name f 'defface)) > > (when file-name > > - (princ (substitute-command-keys "Defined in ‘")) > > + (princ (substitute-command-keys "Defined in `")) > > (princ (file-name-nondirectory file-name)) > > - (princ (substitute-command-keys "’")) > > + (princ (substitute-command-keys "'")) > > ;; Make a hyperlink to the library. > > (save-excursion > > (re-search-backward > > - (substitute-command-keys "‘\\([^‘’]+\\)’") nil t) > > + (substitute-command-keys "`\\([^`']+\\)'") nil t) > > (help-xref-button 1 'help-face-def f file-name)) > > (princ ".") > > (terpri) > > @@ -1552,7 +1552,7 @@ If FRAME is nil, the current FRAME is used." > > options)) > > ((eq req 'supports) > > (display-supports-face-attributes-p options > frame)) > > - (t (error "Unknown req ‘%S’ with options ‘%S’" > > + (t (error "Unknown req `%S' with options `%S'" > > req options))))) > > match)) > > > > @@ -1925,7 +1925,7 @@ resulting color name in the echo area." > > (logand 65535 (nth 0 components)) > > (logand 65535 (nth 1 components)) > > (logand 65535 (nth 2 components)))))))) > > - (when msg (message "Color: ‘%s’" color)) > > + (when msg (message "Color: `%s'" color)) > > color)) > > > > (defun face-at-point (&optional thing multiple) > > @@ -2778,13 +2778,13 @@ also the same size as FACE on FRAME, or fail." > > (if (string-match-p "\\*" pattern) > > (if (null (face-font face)) > > (error "No matching fonts are the same height as > the frame default font") > > - (error "No matching fonts are the same height as > face ‘%s’" face)) > > + (error "No matching fonts are the same height as > face `%s'" face)) > > (if (null (face-font face)) > > - (error "Height of font ‘%s’ doesn't match the > frame default font" > > + (error "Height of font `%s' doesn't match the > frame default font" > > pattern) > > - (error "Height of font ‘%s’ doesn't match face ‘%s’" > > + (error "Height of font `%s' doesn't match face `%s'" > > pattern face))) > > - (error "No fonts match ‘%s’" pattern))) > > + (error "No fonts match `%s'" pattern))) > > (car fonts)) > > (cdr (assq 'font (frame-parameters (selected-frame)))))) > > > > diff --git a/lisp/ffap.el b/lisp/ffap.el > > index 975f726..8d3f8bf 100644 > > --- a/lisp/ffap.el > > +++ b/lisp/ffap.el > > @@ -412,9 +412,9 @@ Optional SERVICE specifies the port used (default > \"discard\"). > > Optional QUIET flag suppresses the \"Pinging...\" message. > > Optional STRATEGY overrides the three variables above. > > Returned values: > > - t means that HOST answered. > > -'accept means the relevant variable told us to accept. > > -\"mesg\" means HOST exists, but does not respond for some reason." > > + t means that HOST answered. > > +`accept' means the relevant variable told us to accept. > > +\"mesg\" means HOST exists, but does not respond for some reason." > > ;; Try some (Emory local): > > ;; (ffap-machine-p "ftp" nil nil 'ping) > > ;; (ffap-machine-p "nonesuch" nil nil 'ping) > > diff --git a/lisp/filenotify.el b/lisp/filenotify.el > > index c94f631..5822cf0 100644 > > --- a/lisp/filenotify.el > > +++ b/lisp/filenotify.el > > @@ -54,7 +54,7 @@ different files from the same directory are watched.") > > "Handle file system monitoring event. > > If EVENT is a filewatch event, call its callback. It has the format > > > > - \(file-notify (DESCRIPTOR ACTIONS FILE COOKIE) CALLBACK) > > + \(file-notify (DESCRIPTOR ACTIONS FILE [FILE1-OR-COOKIE]) CALLBACK) > > > > Otherwise, signal a `file-notify-error'." > > (interactive "e") > > @@ -64,10 +64,10 @@ Otherwise, signal a `file-notify-error'." > > (signal 'file-notify-error > > (cons "Not a valid file-notify event" event)))) > > > > -(defvar file-notify--pending-events nil > > - "List of pending file notification events for a future `renamed' > action. > > -The entries are a list (DESCRIPTOR ACTION FILE COOKIE). ACTION > > -is either `moved-from' or `renamed-from'.") > > +;; Needed for `inotify' and `w32notify'. In the latter case, COOKIE is > nil. > > +(defvar file-notify--pending-event nil > > + "A pending file notification events for a future `renamed' action. > > +It is a form ((DESCRIPTOR ACTION FILE [FILE1-OR-COOKIE]) CALLBACK).") > > > > (defun file-notify--event-file-name (event) > > "Return file name of file notification event, or nil." > > @@ -92,26 +92,26 @@ This is available in case a file has been moved." > > ;; `inotify' returns the same descriptor when the file (directory) > > ;; uses the same inode. We want to distinguish, and apply a virtual > > ;; descriptor which make the difference. > > -(defun file-notify--descriptor (descriptor file) > > +(defun file-notify--descriptor (descriptor) > > "Return the descriptor to be used in `file-notify-*-watch'. > > For `gfilenotify' and `w32notify' it is the same descriptor as > > used in the low-level file notification package." > > (if (and (natnump descriptor) (eq file-notify--library 'inotify)) > > - (cons descriptor file) > > + (cons descriptor > > + (car (cadr (gethash descriptor file-notify-descriptors)))) > > descriptor)) > > > > ;; The callback function used to map between specific flags of the > > ;; respective file notifications, and the ones we return. > > (defun file-notify-callback (event) > > "Handle an EVENT returned from file notification. > > -EVENT is the cdr of the event in `file-notify-handle-event' > > -\(DESCRIPTOR ACTIONS FILE COOKIE)." > > +EVENT is the cadr of the event in `file-notify-handle-event' > > +\(DESCRIPTOR ACTIONS FILE [FILE1-OR-COOKIE])." > > (let* ((desc (car event)) > > (registered (gethash desc file-notify-descriptors)) > > - (pending-event (assoc desc file-notify--pending-events)) > > (actions (nth 1 event)) > > (file (file-notify--event-file-name event)) > > - file1 callback) > > + file1 callback pending-event) > > > > ;; Make actions a list. > > (unless (consp actions) (setq actions (cons actions nil))) > > @@ -129,22 +129,23 @@ EVENT is the cdr of the event in > `file-notify-handle-event' > > (dolist (action actions) > > > > ;; Send pending event, if it doesn't match. > > - (when (and pending-event > > + (when (and file-notify--pending-event > > ;; The cookie doesn't match. > > - (not (eq (file-notify--event-cookie pending-event) > > + (not (eq (file-notify--event-cookie > > + (car file-notify--pending-event)) > > (file-notify--event-cookie event))) > > (or > > ;; inotify. > > - (and (eq (nth 1 pending-event) 'moved-from) > > + (and (eq (nth 1 (car file-notify--pending-event)) > > + 'moved-from) > > (not (eq action 'moved-to))) > > ;; w32notify. > > - (and (eq (nth 1 pending-event) 'renamed-from) > > + (and (eq (nth 1 (car file-notify--pending-event)) > > + 'renamed-from) > > (not (eq action 'renamed-to))))) > > - (funcall callback > > - (list desc 'deleted > > - (file-notify--event-file-name pending-event))) > > - (setq file-notify--pending-events > > - (delete pending-event file-notify--pending-events))) > > + (setq pending-event file-notify--pending-event > > + file-notify--pending-event nil) > > + (setcar (cdar pending-event) 'deleted)) > > > > ;; Map action. We ignore all events which cannot be mapped. > > (setq action > > @@ -156,46 +157,42 @@ EVENT is the cdr of the event in > `file-notify-handle-event' > > (setq file1 (file-notify--event-file1-name event)) > > 'renamed) > > > > - ;; inotify. > > + ;; inotify, w32notify. > > ((eq action 'attrib) 'attribute-changed) > > - ((eq action 'create) 'created) > > - ((eq action 'modify) 'changed) > > - ((memq action '(delete 'delete-self move-self)) 'deleted) > > + ((memq action '(create added)) 'created) > > + ((memq action '(modify modified)) 'changed) > > + ((memq action '(delete 'delete-self move-self removed)) > 'deleted) > > ;; Make the event pending. > > - ((eq action 'moved-from) > > - (add-to-list 'file-notify--pending-events > > - (list desc action file > > - (file-notify--event-cookie event))) > > + ((memq action '(moved-from renamed-from)) > > + (setq file-notify--pending-event > > + `((,desc ,action ,file > ,(file-notify--event-cookie event)) > > + ,callback)) > > nil) > > ;; Look for pending event. > > - ((eq action 'moved-to) > > - (if (null pending-event) > > + ((memq action '(moved-to renamed-to)) > > + (if (null file-notify--pending-event) > > 'created > > (setq file1 file > > - file (file-notify--event-file-name pending-event) > > - file-notify--pending-events > > - (delete pending-event > file-notify--pending-events)) > > - 'renamed)) > > - > > - ;; w32notify. > > - ((eq action 'added) 'created) > > - ((eq action 'modified) 'changed) > > - ((eq action 'removed) 'deleted) > > - ;; Make the event pending. > > - ((eq action 'renamed-from) > > - (add-to-list 'file-notify--pending-events > > - (list desc action file > > - (file-notify--event-cookie event))) > > - nil) > > - ;; Look for pending event. > > - ((eq action 'renamed-to) > > - (if (null pending-event) > > - 'created > > - (setq file1 file > > - file (file-notify--event-file-name pending-event) > > - file-notify--pending-events > > - (delete pending-event > file-notify--pending-events)) > > - 'renamed)))) > > + file (file-notify--event-file-name > > + (car file-notify--pending-event))) > > + ;; If the source is handled by another watch, we > > + ;; must fire the rename event there as well. > > + (when (not (eq (file-notify--descriptor desc) > > + (file-notify--descriptor > > + (caar file-notify--pending-event)))) > > + (setq pending-event > > + `((,(caar file-notify--pending-event) > > + renamed ,file ,file1) > > + ,(cadr file-notify--pending-event)))) > > + (setq file-notify--pending-event nil) > > + 'renamed)))) > > + > > + ;; Apply pending callback. > > + (when pending-event > > + (setcar > > + (car pending-event) (file-notify--descriptor (caar > pending-event))) > > + (funcall (cadr pending-event) (car pending-event)) > > + (setq pending-event nil)) > > > > ;; Apply callback. > > (when (and action > > @@ -213,12 +210,10 @@ EVENT is the cdr of the event in > `file-notify-handle-event' > > (if file1 > > (funcall > > callback > > - `(,(file-notify--descriptor desc (nth 0 entry)) > > - ,action ,file ,file1)) > > + `(,(file-notify--descriptor desc) ,action ,file ,file1)) > > (funcall > > callback > > - `(,(file-notify--descriptor desc (nth 0 entry)) > > - ,action ,file)))))))) > > + `(,(file-notify--descriptor desc) ,action ,file)))))))) > > > > ;; `gfilenotify' and `w32notify' return a unique descriptor for every > > ;; `file-notify-add-watch', while `inotify' returns a unique > > @@ -325,8 +320,7 @@ FILE is the name of the file whose event is being > reported." > > file-notify-descriptors) > > > > ;; Return descriptor. > > - (file-notify--descriptor > > - desc (unless (file-directory-p file) (file-name-nondirectory > file))))) > > + (file-notify--descriptor desc))) > > > > (defun file-notify-rm-watch (descriptor) > > "Remove an existing watch specified by its DESCRIPTOR. > > diff --git a/lisp/files-x.el b/lisp/files-x.el > > index 524ad49..a130ffc 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/files.el b/lisp/files.el > > index f96ac09..c309f86 100644 > > --- a/lisp/files.el > > +++ b/lisp/files.el > > @@ -995,10 +995,10 @@ directory if it does not exist." > > (put 'user-emacs-directory-warning 'this-session t) > > (display-warning 'initialization > > (format "\ > > -Unable to %s ‘user-emacs-directory’ (%s). > > +Unable to %s `user-emacs-directory' (%s). > > Any data that would normally be written there may be lost! > > If you never want to see this message again, > > -customize the variable ‘user-emacs-directory-warning’." > > +customize the variable `user-emacs-directory-warning'." > > errtype user-emacs-directory))))) > > bestname)))) > > > > @@ -1641,7 +1641,7 @@ killed." > > (user-error "Aborted")) > > (and (buffer-modified-p) buffer-file-name > > (not (yes-or-no-p > > - (format-message "Kill and replace buffer ‘%s’ without > saving it? " > > + (format-message "Kill and replace buffer `%s' without > saving it? " > > (buffer-name)))) > > (user-error "Aborted")) > > (let ((obuf (current-buffer)) > > @@ -2789,7 +2789,7 @@ we don't actually set it to the same mode the > buffer already has." > > (catch 'nop > > (dolist (mode (nreverse modes)) > > (if (not (functionp mode)) > > - (message "Ignoring unknown mode ‘%s’" mode) > > + (message "Ignoring unknown mode `%s'" mode) > > (setq done t) > > (or (set-auto-mode-0 mode keep-mode-if-same) > > ;; continuing would call minor modes again, toggling > them off > > @@ -2803,7 +2803,7 @@ we don't actually set it to the same mode the > buffer already has." > > (setq mode (hack-local-variables t)) > > (not (memq mode modes)) ; already tried and failed > > (if (not (functionp mode)) > > - (message "Ignoring unknown mode ‘%s’" mode) > > + (message "Ignoring unknown mode `%s'" mode) > > (setq done t) > > (set-auto-mode-0 mode keep-mode-if-same))) > > ;; If we didn't, look for an interpreter specified in the first > line. > > @@ -3420,7 +3420,7 @@ local variables, but directory-local variables may > still be applied." > > (display-warning > > :warning > > (format-message > > - "%s: ‘lexical-binding’ at end of > file unreliable" > > + "%s: `lexical-binding' at end of > file unreliable" > > (file-name-nondirectory > > (or buffer-file-name "")))))) > > (t > > @@ -3557,7 +3557,7 @@ It is dangerous if either of these conditions are > met: > > var (if since (format " (since %s)" since)) > > (if (stringp instead) > > (substitute-command-keys instead) > > - (format-message "use ‘%s’ instead" instead))))))) > > + (format-message "use `%s' instead" instead))))))) > > > > (defun hack-one-local-variable (var val) > > "Set local variable VAR with value VAL. > > @@ -3674,7 +3674,7 @@ variables from CLASS are applied to the buffer. > The variables > > for a class are defined using `dir-locals-set-class-variables'." > > (setq directory (file-name-as-directory (expand-file-name directory))) > > (unless (assq class dir-locals-class-alist) > > - (error "No such class ‘%s’" (symbol-name class))) > > + (error "No such class `%s'" (symbol-name class))) > > (push (list directory class mtime) dir-locals-directory-cache)) > > > > (defun dir-locals-set-class-variables (class variables) > > @@ -4030,7 +4030,7 @@ Interactively, confirmation is required unless you > supply a prefix argument." > > (listp last-nonmenu-event) > > use-dialog-box)) > > (or (y-or-n-p (format-message > > - "File ‘%s’ exists; overwrite? " filename)) > > + "File `%s' exists; overwrite? " filename)) > > (user-error "Canceled"))) > > (set-visited-file-name filename (not confirm)))) > > (set-buffer-modified-p t) > > @@ -4736,7 +4736,7 @@ Before and after saving the buffer, this function > runs > > ;; existing directory. > > (error "%s is a directory" filename) > > (unless (y-or-n-p (format-message > > - "File ‘%s’ exists; overwrite? " > > + "File `%s' exists; overwrite? " > > filename)) > > (error "Canceled")))) > > (set-visited-file-name filename))) > > @@ -4778,7 +4778,7 @@ Before and after saving the buffer, this function > runs > > (unless (file-exists-p dir) > > (if (y-or-n-p > > (format-message > > - "Directory ‘%s’ does not exist; create? " > dir)) > > + "Directory `%s' does not exist; create? " > dir)) > > (make-directory dir t) > > (error "Canceled"))) > > (setq setmodes (basic-save-buffer-1)))) > > @@ -5221,7 +5221,7 @@ given. With a prefix argument, TRASH is nil." > > (list dir > > (if (directory-files dir nil > directory-files-no-dot-files-regexp) > > (y-or-n-p > > - (format-message "Directory ‘%s’ is not empty, really %s? > " > > + (format-message "Directory `%s' is not empty, really %s? > " > > dir (if trashing "trash" "delete"))) > > nil) > > (null current-prefix-arg)))) > > @@ -5327,7 +5327,7 @@ directly into NEWNAME instead." > > default-directory default-directory nil nil) > > current-prefix-arg t nil))) > > (when (file-in-directory-p newname directory) > > - (error "Cannot copy ‘%s’ into its subdirectory ‘%s’" > > + (error "Cannot copy `%s' into its subdirectory `%s'" > > directory newname)) > > ;; If default-directory is a remote directory, make sure we find its > > ;; copy-directory handler. > > @@ -5699,7 +5699,7 @@ To choose one, move point to the proper line and > then type C-c C-c. > > Then you'll be asked about a number of files to recover." > > (interactive) > > (if (null auto-save-list-file-prefix) > > - (error "You set ‘auto-save-list-file-prefix’ to disable making > session files")) > > + (error "You set `auto-save-list-file-prefix' to disable making > session files")) > > (let ((dir (file-name-directory auto-save-list-file-prefix)) > > (nd (file-name-nondirectory auto-save-list-file-prefix))) > > (unless (file-directory-p dir) > > @@ -5793,7 +5793,7 @@ This command is used in the special Dired buffer > created by > > (condition-case nil > > (save-excursion (recover-file file)) > > (error > > - "Failed to recover ‘%s’" file))) > > + "Failed to recover `%s'" file))) > > files > > '("file" "files" "recover")) > > (message "No files can be recovered from this session now"))) > > @@ -6478,7 +6478,7 @@ normally equivalent short `-D' option is just > passed on to > > file result) > > ;; Unix. Access the file to get a suitable error. > > (access-file file "Reading directory") > > - (error "Listing directory failed but ‘access-file’ > worked"))) > > + (error "Listing directory failed but `access-file' > worked"))) > > > > (when (if (stringp switches) > > (string-match "--dired\\>" switches) > > @@ -6771,7 +6771,7 @@ for the specified category of users." > > ((= char ?g) #o2070) > > ((= char ?o) #o1007) > > ((= char ?a) #o7777) > > - (t (error "%c: bad ‘who’ character" char)))) > > + (t (error "%c: bad `who' character" char)))) > > > > (defun file-modes-char-to-right (char &optional from) > > "Convert CHAR to a numeric value of mode bits. > > @@ -6843,7 +6843,7 @@ as in \"og+rX-w\"." > > (file-modes-rights-to-number (substring modes > (match-end 1)) > > num-who num-modes) > > modes (substring modes (match-end 3)))) > > - (error "Parse error in modes near ‘%s’" (substring modes 0)))) > > + (error "Parse error in modes near `%s'" (substring modes 0)))) > > num-modes))) > > > > (defun read-file-modes (&optional prompt orig-file) > > @@ -6912,7 +6912,7 @@ Otherwise, trash FILENAME using the > freedesktop.org conventions, > > trash-dir))) > > ;; We can't trash a parent directory of trash-directory. > > (if (string-prefix-p fn trash-dir) > > - (error "Trash directory ‘%s’ is a subdirectory of ‘%s’" > > + (error "Trash directory `%s' is a subdirectory of `%s'" > > trash-dir filename)) > > (unless (file-directory-p trash-dir) > > (make-directory trash-dir t)) > > diff --git a/lisp/filesets.el b/lisp/filesets.el > > index c098879..464c7c3 100644 > > --- a/lisp/filesets.el > > +++ b/lisp/filesets.el > > @@ -679,14 +679,14 @@ variables my-ps-viewer, my-pdf-viewer, > my-dvi-viewer, my-pic-viewer. > > In order to view pdf or rtf files in an Emacs buffer, you could use > these: > > > > > > - \(\"^.+\\\\.pdf\\\\'\" \"pdftotext\" > > + \(\"^.+\\\\.pdf\\\\\\='\" \"pdftotext\" > > \((:capture-output t) > > \(:args (\"%S - | fmt -w \" window-width)) > > \(:ignore-on-read-text t) > > \(:constraintp (lambda () > > \(and \(filesets-which-command-p \"pdftotext\") > > \(filesets-which-command-p \"fmt\")))))) > > - \(\"^.+\\\\.rtf\\\\'\" \"rtf2htm\" > > + \(\"^.+\\\\.rtf\\\\\\='\" \"rtf2htm\" > > \((:capture-output t) > > \(:args (\"%S 2> /dev/null | w3m -dump -T text/html\")) > > \(:ignore-on-read-text t) > > @@ -1799,7 +1799,7 @@ User will be queried, if no fileset name is > provided." > > (current-buffer))) > > (name (or name > > (completing-read > > - (format-message "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-message "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)))))) > > > > @@ -2441,30 +2441,30 @@ fileset thinks this is necessary or not." > > "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. > > > > diff --git a/lisp/find-cmd.el b/lisp/find-cmd.el > > index 8e41906..d78a0b3 100644 > > --- a/lisp/find-cmd.el > > +++ b/lisp/find-cmd.el > > @@ -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/finder.el b/lisp/finder.el > > index 51226ae..715dd94 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-lock.el b/lisp/font-lock.el > > index b74b603..cec95bf 100644 > > --- a/lisp/font-lock.el > > +++ b/lisp/font-lock.el > > @@ -538,12 +538,13 @@ and what they do: > > dollar-sign character. Hash characters in other contexts will still > > follow whatever the syntax table says about the hash character. > > > > - (\"\\\\('\\\\).\\\\('\\\\)\" > > + (\"\\\\(\\='\\\\).\\\\(\\='\\\\)\" > > (1 \"\\\"\") > > (2 \"\\\"\")) > > > > - gives a pair single-quotes, which surround a single character, a > SYNTAX of > > - \"\\\"\" (meaning string quote syntax). Single-quote characters in > other > > + gives a pair of apostrophes, which surround a single character, a > > + SYNTAX of \"\\\"\" (meaning string quote syntax). Apostrophes in other > > + > > contexts will not be affected. > > > > This is normally set via `font-lock-defaults'.") > > @@ -1051,7 +1052,7 @@ The region it returns may start or end in the > middle of a line.") > > ;; Of course, this function doesn't do all of the above in all > situations > > ;; (e.g. depending on whether jit-lock is in use) and it can't guess > what > > ;; the caller wants. > > - (interactive-only "use ‘font-lock-ensure’ or ‘font-lock-flush’ > instead.")) > > + (interactive-only "use `font-lock-ensure' or `font-lock-flush' > instead.")) > > (interactive "p") > > (font-lock-set-defaults) > > (let ((font-lock-verbose (or font-lock-verbose interactively))) > > diff --git a/lisp/format.el b/lisp/format.el > > index 7ab68c8..dbc814e 100644 > > --- a/lisp/format.el > > +++ b/lisp/format.el > > @@ -395,7 +395,7 @@ unless you supply a prefix argument." > > (cdr (assq 'default-directory > > (buffer-local-variables))) > > nil nil (buffer-name)))) > > - (fmt (format-read (format-message "Write file ‘%s’ in format: " > > + (fmt (format-read (format-message "Write file `%s' in format: " > > (file-name-nondirectory > file))))) > > (list file fmt (not current-prefix-arg)))) > > (let ((old-formats buffer-file-format) > > @@ -416,7 +416,7 @@ If FORMAT is nil then do not do any format > conversion." > > (interactive > > ;; Same interactive spec as write-file, plus format question. > > (let* ((file (read-file-name "Find file: ")) > > - (fmt (format-read (format-message "Read file ‘%s’ in format: " > > + (fmt (format-read (format-message "Read file `%s' in format: " > > (file-name-nondirectory > file))))) > > (list file fmt))) > > (let ((format-alist nil)) > > @@ -435,7 +435,7 @@ a list (ABSOLUTE-FILE-NAME SIZE)." > > (interactive > > ;; Same interactive spec as write-file, plus format question. > > (let* ((file (read-file-name "Find file: ")) > > - (fmt (format-read (format-message "Read file ‘%s’ in format: " > > + (fmt (format-read (format-message "Read file `%s' in format: " > > (file-name-nondirectory > file))))) > > (list file fmt))) > > (let (value size old-undo) > > diff --git a/lisp/frame.el b/lisp/frame.el > > index 3abb72c..bbf0a63 100644 > > --- a/lisp/frame.el > > +++ b/lisp/frame.el > > @@ -743,7 +743,7 @@ the name of an X display device (HOST.SERVER.SCREEN) > or a tty device file." > > (frame-terminal f))) > > ((terminal-live-p device) device) > > (t > > - (error "Invalid argument %s in ‘get-device-terminal’" device)))) > > + (error "Invalid argument %s in `get-device-terminal'" device)))) > > > > (defun frames-on-display-list (&optional device) > > "Return a list of all frames on DEVICE. > > @@ -894,7 +894,7 @@ If there is no frame by that name, signal an error." > > (frame (cdr (assoc name frame-names-alist)))) > > (if frame > > (select-frame-set-input-focus frame) > > - (error "There is no frame named ‘%s’" name)))) > > + (error "There is no frame named `%s'" name)))) > > > > > > ;;;; Background mode. > > diff --git a/lisp/fringe.el b/lisp/fringe.el > > index f982b35..8f40c46 100644 > > --- a/lisp/fringe.el > > +++ b/lisp/fringe.el > > @@ -122,7 +122,7 @@ See `fringe-mode' for possible values and their > effect." > > (and (consp style) > > (or (null (car style)) (integerp (car style))) > > (or (null (cdr style)) (integerp (cdr style)))) > > - (error "Invalid fringe style ‘%s’" style))) > > + (error "Invalid fringe style `%s'" style))) > > > > ;; For initialization of fringe-mode, take account of changes > > ;; made explicitly to default-frame-alist. > > diff --git a/lisp/gnus/gmm-utils.el b/lisp/gnus/gmm-utils.el > > index 3256231..ab22ab8 100644 > > --- a/lisp/gnus/gmm-utils.el > > +++ b/lisp/gnus/gmm-utils.el > > @@ -328,7 +328,7 @@ compatibility with versions of Emacs that lack the > variable > > > > (let* ((load-path (image-load-path-for-library \"mh-e\" > \"mh-logo.xpm\")) > > (image-load-path (cons (car load-path) > > - (when (boundp 'image-load-path) > > + (when (boundp \\='image-load-path) > > image-load-path)))) > > (mh-tool-bar-folder-buttons-init))" > > (unless library (error "No library specified")) > > diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el > > index 01eb6c5..8ad81c9 100644 > > --- a/lisp/gnus/gnus-art.el > > +++ b/lisp/gnus/gnus-art.el > > @@ -195,16 +195,16 @@ this list." > > "Headers that are only to be displayed if they have interesting data. > > Possible values in this list are: > > > > - 'empty Headers with no content. > > - 'newsgroups Newsgroup identical to Gnus group. > > - 'to-address To identical to To-address. > > - 'to-list To identical to To-list. > > - 'cc-list CC identical to To-list. > > - 'followup-to Followup-to identical to Newsgroups. > > - 'reply-to Reply-to identical to From. > > - 'date Date less than four days old. > > - 'long-to To and/or Cc longer than 1024 characters. > > - 'many-to Multiple To and/or Cc." > > + `empty' Headers with no content. > > + `newsgroups' Newsgroup identical to Gnus group. > > + `to-address' To identical to To-address. > > + `to-list' To identical to To-list. > > + `cc-list' CC identical to To-list. > > + `followup-to' Followup-to identical to Newsgroups. > > + `reply-to' Reply-to identical to From. > > + `date' Date less than four days old. > > + `long-to' To and/or Cc longer than 1024 characters. > > + `many-to' Multiple To and/or Cc." > > :type '(set (const :tag "Headers with no content." empty) > > (const :tag "Newsgroups identical to Gnus group." > newsgroups) > > (const :tag "To identical to To-address." to-address) > > @@ -661,7 +661,7 @@ For instance, if you would like to save articles > related to Gnus in > > the file \"gnus-stuff\", and articles related to VM in \"vm-stuff\", > > you could set this variable to something like: > > > > - '((\"^Subject:.*gnus\\|^Newsgroups:.*gnus\" \"gnus-stuff\") > > + ((\"^Subject:.*gnus\\|^Newsgroups:.*gnus\" \"gnus-stuff\") > > (\"^Subject:.*vm\\|^Xref:.*vm\" \"vm-stuff\")) > > > > This variable is an alist where the key is the match and the > > diff --git a/lisp/gnus/gnus-registry.el b/lisp/gnus/gnus-registry.el > > index b233ad7..23c79cb 100644 > > --- a/lisp/gnus/gnus-registry.el > > +++ b/lisp/gnus/gnus-registry.el > > @@ -194,17 +194,17 @@ are tracked this way by default." > > "The splitting strategy applied to the keys in > `gnus-registry-track-extra'. > > > > Given a set of unique found groups G and counts for each element > > -of G, and a key K (typically 'sender or 'subject): > > +of G, and a key K (typically `sender' or `subject'): > > > > When nil, if G has only one element, use it. Otherwise give up. > > This is the fastest but also least useful strategy. > > > > -When 'majority, use the majority by count. So if there is a > > +When `majority', use the majority by count. So if there is a > > group with the most articles counted by K, use that. Ties are > > resolved in no particular order, simply the first one found wins. > > This is the slowest strategy but also the most accurate one. > > > > -When 'first, the first element of G wins. This is fast and > > +When `first', the first element of G wins. This is fast and > > should be OK if your senders and subjects don't \"bleed\" across > > groups." > > :group 'gnus-registry > > diff --git a/lisp/gnus/gnus-start.el b/lisp/gnus/gnus-start.el > > index 82a2c98..e267b6a 100644 > > --- a/lisp/gnus/gnus-start.el > > +++ b/lisp/gnus/gnus-start.el > > @@ -122,9 +122,10 @@ This variable can be a list of select methods which > Gnus will query with > > the `ask-server' method in addition to the primary, secondary, and > archive > > servers. > > > > + > > E.g.: > > (setq gnus-check-new-newsgroups > > - '((nntp \"some.server\") (nntp \"other.server\"))) > > + \\='((nntp \"some.server\") (nntp \"other.server\"))) > > > > If this variable is nil, then you have to tell Gnus explicitly to > > check for new newsgroups with > \\\\[gnus-find-new-newsgroups]." > > diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el > > index 6b90204..d4ca655 100644 > > --- a/lisp/gnus/gnus-sum.el > > +++ b/lisp/gnus/gnus-sum.el > > @@ -997,7 +997,7 @@ following hook: > > (mail-header-set-subject > > header > > (gnus-simplify-subject > > - (mail-header-subject header) 're-only))) > > + (mail-header-subject header) \\='re-only))) > > gnus-newsgroup-headers)))" > > :group 'gnus-group-select > > :type 'hook) > > diff --git a/lisp/gnus/gnus-uu.el b/lisp/gnus/gnus-uu.el > > index 881ff4e..f216466 100644 > > --- a/lisp/gnus/gnus-uu.el > > +++ b/lisp/gnus/gnus-uu.el > > @@ -143,7 +143,7 @@ details." > > 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\") > > + \\='((\"\\\\.tar$\" \"untar\") > > (\"\\\\.zip$\" \"zip -x\")))" > > :group 'gnus-extract-archive > > :type '(repeat (group regexp (string :tag "Command")))) > > diff --git a/lisp/gnus/gnus.el b/lisp/gnus/gnus.el > > index 6362d9a..ea26216 100644 > > --- a/lisp/gnus/gnus.el > > +++ b/lisp/gnus/gnus.el > > @@ -1362,7 +1362,7 @@ If you want to save your mail in one group and the > news articles you > > write in another group, you could say something like: > > > > \(setq gnus-message-archive-group > > - '((if (message-news-p) > > + \\='((if (message-news-p) > > \"misc-news\" > > \"misc-mail\"))) > > > > @@ -2396,7 +2396,7 @@ less space and be faster as a result. > > This variable can also be a list of visual elements to switch on. For > > instance, to switch off all visual things except menus, you can say: > > > > - (setq gnus-visual '(menu)) > > + (setq gnus-visual \\='(menu)) > > > > Valid elements include `summary-highlight', `group-highlight', > > `article-highlight', `mouse-face', `summary-menu', `group-menu', > > diff --git a/lisp/gnus/mail-source.el b/lisp/gnus/mail-source.el > > index ad135d4..cf18fbe 100644 > > --- a/lisp/gnus/mail-source.el > > +++ b/lisp/gnus/mail-source.el > > @@ -1090,10 +1090,13 @@ This only works when `display-time' is enabled." > > (if (and (imap-open server port stream authentication buf) > > (imap-authenticate > > user (or (cdr (assoc from mail-source-password-cache)) > > - password) buf) > > - (imap-mailbox-select mailbox nil buf)) > > + password) buf)) > > + (let ((mailbox-list (if (listp mailbox) mailbox (list > mailbox)))) > > + (dolist (mailbox mailbox-list) > > + (when (imap-mailbox-select mailbox nil buf) > > (let ((coding-system-for-write > mail-source-imap-file-coding-system) > > str) > > + (message "Fetching from %s..." mailbox) > > (with-temp-file mail-source-crash-box > > ;; Avoid converting 8-bit chars from inserted strings to > > ;; multibyte. > > @@ -1128,8 +1131,8 @@ This only works when `display-time' is enabled." > > fetchflag nil buf)) > > (if dontexpunge > > (imap-mailbox-unselect buf) > > - (imap-mailbox-close nil buf)) > > - (imap-close buf)) > > + (imap-mailbox-close nil buf))))) > > + (imap-close buf)) > > (imap-close buf) > > ;; We nix out the password in case the error > > ;; was because of a wrong password being given. > > diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el > > index 0f6f63e..5ede15b 100644 > > --- a/lisp/gnus/message.el > > +++ b/lisp/gnus/message.el > > @@ -1131,7 +1131,7 @@ Presets to impersonate popular mail agents are > found in the > > message-cite-style-* variables. This variable is intended for > > use in `gnus-posting-styles', such as: > > > > - ((posting-from-work-p) (eval (set (make-local-variable > 'message-cite-style) message-cite-style-outlook)))" > > + ((posting-from-work-p) (eval (set (make-local-variable > \\='message-cite-style) message-cite-style-outlook)))" > > :version "24.1" > > :group 'message-insertion > > :type '(choice (const :tag "Do not override variables" :value nil) > > diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el > > index 20ba0a3..ac228f9 100644 > > --- a/lisp/gnus/nnimap.el > > +++ b/lisp/gnus/nnimap.el > > @@ -807,6 +807,7 @@ textual parts.") > > nil > > group) > > server)) > > + (info (when info (list info))) > > active) > > (with-current-buffer nntp-server-buffer > > (when result > > @@ -814,10 +815,11 @@ textual parts.") > > (not (setq active > > (nth 2 (assoc group > nnimap-current-infos))))) > > (let ((sequences (nnimap-retrieve-group-data-early > > - server (list info)))) > > - (nnimap-finish-retrieve-group-infos server (list info) > sequences > > + server info))) > > + (nnimap-finish-retrieve-group-infos server info sequences > > t) > > (setq active (nth 2 (assoc group nnimap-current-infos))))) > > + (setq active (or active '(0 . 1))) > > (erase-buffer) > > (insert (format "211 %d %d %d %S\n" > > (- (cdr active) (car active)) > > diff --git a/lisp/gnus/nnir.el b/lisp/gnus/nnir.el > > index 15ccc47..9784f1b 100644 > > --- a/lisp/gnus/nnir.el > > +++ b/lisp/gnus/nnir.el > > @@ -350,10 +350,10 @@ result, `gnus-retrieve-headers' will be called > instead." > > (defcustom nnir-swish++-additional-switches '() > > "*A list of strings, to be given as additional arguments to swish++. > > > > -Note that this should be a list. Ie, do NOT use the following: > > +Note that this should be a list. I.e., do NOT use the following: > > (setq nnir-swish++-additional-switches \"-i -w\") ; wrong > > Instead, use this: > > - (setq nnir-swish++-additional-switches '(\"-i\" \"-w\"))" > > + (setq nnir-swish++-additional-switches \\='(\"-i\" \"-w\"))" > > :type '(repeat (string)) > > :group 'nnir) > > > > @@ -399,10 +399,10 @@ This cannot be a server parameter." > > (defcustom nnir-swish-e-additional-switches '() > > "*A list of strings, to be given as additional arguments to swish-e. > > > > -Note that this should be a list. Ie, do NOT use the following: > > +Note that this should be a list. I.e., do NOT use the following: > > (setq nnir-swish-e-additional-switches \"-i -w\") ; wrong > > Instead, use this: > > - (setq nnir-swish-e-additional-switches '(\"-i\" \"-w\")) > > + (setq nnir-swish-e-additional-switches \\='(\"-i\" \"-w\")) > > > > This could be a server parameter." > > :type '(repeat (string)) > > @@ -429,10 +429,10 @@ This could be a server parameter." > > > > (defcustom nnir-hyrex-additional-switches '() > > "*A list of strings, to be given as additional arguments for > nnir-search. > > -Note that this should be a list. Ie, do NOT use the following: > > +Note that this should be a list. I.e., do NOT use the following: > > (setq nnir-hyrex-additional-switches \"-ddl ddl.xml -c nnir\") ; > wrong ! > > Instead, use this: > > - (setq nnir-hyrex-additional-switches '(\"-ddl\" \"ddl.xml\" \"-c\" > \"nnir\"))" > > + (setq nnir-hyrex-additional-switches \\='(\"-ddl\" \"ddl.xml\" > \"-c\" \"nnir\"))" > > :type '(repeat (string)) > > :group 'nnir) > > > > @@ -471,10 +471,10 @@ arrive at the correct group name, \"mail.misc\"." > > The switches `-q', `-a', and `-s' are always used, very few other > switches > > make any sense in this context. > > > > -Note that this should be a list. Ie, do NOT use the following: > > +Note that this should be a list. I.e., do NOT use the following: > > (setq nnir-namazu-additional-switches \"-i -w\") ; wrong > > Instead, use this: > > - (setq nnir-namazu-additional-switches '(\"-i\" \"-w\"))" > > + (setq nnir-namazu-additional-switches \\='(\"-i\" \"-w\"))" > > :type '(repeat (string)) > > :group 'nnir) > > > > @@ -500,10 +500,10 @@ arrive at the correct group name, \"mail.misc\"." > > (defcustom nnir-notmuch-additional-switches '() > > "*A list of strings, to be given as additional arguments to notmuch. > > > > -Note that this should be a list. Ie, do NOT use the following: > > +Note that this should be a list. I.e., do NOT use the following: > > (setq nnir-notmuch-additional-switches \"-i -w\") ; wrong > > Instead, use this: > > - (setq nnir-notmuch-additional-switches '(\"-i\" \"-w\"))" > > + (setq nnir-notmuch-additional-switches \\='(\"-i\" \"-w\"))" > > :version "24.1" > > :type '(repeat (string)) > > :group 'nnir) > > diff --git a/lisp/gnus/nnmail.el b/lisp/gnus/nnmail.el > > index 6811160..7efb154 100644 > > --- a/lisp/gnus/nnmail.el > > +++ b/lisp/gnus/nnmail.el > > @@ -83,7 +83,7 @@ If you'd like, for instance, one mail group for mail > from the > > else, you could do something like this: > > > > (setq nnmail-split-methods > > - '((\"mail.4ad\" \"From:.*4ad\") > > + \\='((\"mail.4ad\" \"From:.*4ad\") > > (\"mail.junk\" \"From:.*Lars\\\\|Subject:.*buy\") > > (\"mail.misc\" \"\"))) > > > > @@ -180,7 +180,7 @@ E.g.: > > (lambda (newsgroup) > > (cond ((string-match \"private\" newsgroup) 31) > > ((string-match \"junk\" newsgroup) 1) > > - ((string-match \"important\" newsgroup) 'never) > > + ((string-match \"important\" newsgroup) \\='never) > > (t 7))))" > > :group 'nnmail-expire > > :type '(choice (const :tag "nnmail-expiry-wait" nil) > > diff --git a/lisp/gnus/nnmairix.el b/lisp/gnus/nnmairix.el > > index e34b708..ccfc599 100644 > > --- a/lisp/gnus/nnmairix.el > > +++ b/lisp/gnus/nnmairix.el > > @@ -1943,7 +1943,9 @@ 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 > > + (substitute-command-keys > > + "(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 8d09781..6c97cec 100644 > > --- a/lisp/gnus/nntp.el > > +++ b/lisp/gnus/nntp.el > > @@ -72,7 +72,7 @@ For instance, if you want Gnus to beep every time you > connect > > to innd, you could say something like: > > > > \(setq nntp-server-action-alist > > - '((\"innd\" (ding)))) > > + \\='((\"innd\" (ding)))) > > > > You probably don't want to do that, though.") > > > > diff --git a/lisp/help-fns.el b/lisp/help-fns.el > > index a1d121c..77ef21d 100644 > > --- a/lisp/help-fns.el > > +++ b/lisp/help-fns.el > > @@ -319,7 +319,7 @@ suitable file is found, return nil." > > (when remapped > > (princ "Its keys are remapped to ") > > (princ (if (symbolp remapped) > > - (format-message "‘%s’" remapped) > > + (format-message "`%s'" remapped) > > "an anonymous command")) > > (princ ".\n")) > > > > @@ -353,22 +353,22 @@ suitable file is found, return nil." > > (insert "\nThis function has a compiler macro") > > (if (symbolp handler) > > (progn > > - (insert (format-message " ‘%s’" handler)) > > + (insert (format-message " `%s'" handler)) > > (save-excursion > > - (re-search-backward (substitute-command-keys > "‘\\([^‘’]+\\)’") > > + (re-search-backward (substitute-command-keys > "`\\([^`']+\\)'") > > nil t) > > (help-xref-button 1 'help-function handler))) > > ;; FIXME: Obsolete since 24.4. > > (let ((lib (get function 'compiler-macro-file))) > > (when (stringp lib) > > - (insert (format-message " in ‘%s’" lib)) > > + (insert (format-message " in `%s'" lib)) > > (save-excursion > > - (re-search-backward (substitute-command-keys > "‘\\([^‘’]+\\)’") > > + (re-search-backward (substitute-command-keys > "`\\([^`']+\\)'") > > nil t) > > (help-xref-button 1 'help-function-cmacro function > lib))))) > > (insert ".\n")))) > > > > -(defun help-fns--signature (function doc real-def real-function raw) > > +(defun help-fns--signature (function doc real-def real-function buffer) > > "Insert usage at point and return docstring. With highlighting." > > (if (keymapp function) > > doc ; If definition is a keymap, skip > arglist note. > > @@ -402,10 +402,13 @@ suitable file is found, return nil." > > (use1 (replace-regexp-in-string > > "\\`(\\\\=\\\\\\\\=` \\([^\n ]*\\))\\'" > > "\\\\=`\\1" use t)) > > - (high (if raw > > - (cons use1 doc) > > - (help-highlight-arguments (substitute-command-keys > use1) > > - (substitute-command-keys > doc))))) > > + (high (if buffer > > + (let (subst-use1 subst-doc) > > + (with-current-buffer buffer > > + (setq subst-use1 (substitute-command-keys > use1)) > > + (setq subst-doc (substitute-command-keys > doc))) > > + (help-highlight-arguments subst-use1 > subst-doc)) > > + (cons use1 doc)))) > > (let ((fill-begin (point)) > > (high-usage (car high)) > > (high-doc (cdr high))) > > @@ -419,13 +422,13 @@ suitable file is found, return nil." > > (get function > > 'derived-mode-parent)))) > > (when parent-mode > > - (insert (substitute-command-keys "\nParent mode: ‘")) > > + (insert (substitute-command-keys "\nParent mode: `")) > > (let ((beg (point))) > > (insert (format "%s" parent-mode)) > > (make-text-button beg (point) > > 'type 'help-function > > 'help-args (list parent-mode))) > > - (insert (substitute-command-keys "’.\n"))))) > > + (insert (substitute-command-keys "'.\n"))))) > > > > (defun help-fns--obsolete (function) > > ;; Ignore lambda constructs, keyboard macros, etc. > > @@ -441,7 +444,7 @@ suitable file is found, return nil." > > (when (nth 2 obsolete) > > (insert (format " since %s" (nth 2 obsolete)))) > > (insert (cond ((stringp use) (concat ";\n" use)) > > - (use (format-message ";\nuse ‘%s’ instead." use)) > > + (use (format-message ";\nuse `%s' instead." use)) > > (t ".")) > > "\n")))) > > > > @@ -477,7 +480,7 @@ FILE is the file where FUNCTION was probably > defined." > > (format ";\nin Lisp code %s" > interactive-only)) > > ((and (symbolp 'interactive-only) > > (not (eq interactive-only t))) > > - (format-message ";\nin Lisp code use ‘%s’ > instead." > > + (format-message ";\nin Lisp code use `%s' > instead." > > interactive-only)) > > (t ".")) > > "\n"))))) > > @@ -546,7 +549,7 @@ FILE is the file where FUNCTION was probably > defined." > > ;; Aliases are Lisp functions, so we need to check > > ;; aliases before functions. > > (aliased > > - (format-message "an alias for ‘%s’" real-def)) > > + (format-message "an alias for `%s'" real-def)) > > ((autoloadp def) > > (format "%s autoloaded %s" > > (if (commandp def) "an interactive" "an") > > @@ -581,21 +584,21 @@ FILE is the file where FUNCTION was probably > defined." > > (save-excursion > > (save-match-data > > (when (re-search-backward (substitute-command-keys > > - "alias for ‘\\([^‘’]+\\)’") > > + "alias for `\\([^`']+\\)'") > > nil t) > > (help-xref-button 1 'help-function real-def))))) > > > > (when file-name > > ;; We used to add .el to the file name, > > ;; but that's completely wrong when the user used load-file. > > - (princ (format-message " in ‘%s’" > > + (princ (format-message " in `%s'" > > (if (eq file-name 'C-source) > > "C source code" > > (help-fns-short-filename file-name)))) > > ;; Make a hyperlink to the library. > > (with-current-buffer standard-output > > (save-excursion > > - (re-search-backward (substitute-command-keys > "‘\\([^‘’]+\\)’") > > + (re-search-backward (substitute-command-keys > "`\\([^`']+\\)'") > > nil t) > > (help-xref-button 1 'help-function-def function file-name)))) > > (princ ".") > > @@ -604,7 +607,8 @@ FILE is the file where FUNCTION was probably > defined." > > (point))) > > (terpri)(terpri) > > > > - (let ((doc-raw (documentation function t))) > > + (let ((doc-raw (documentation function t)) > > + (key-bindings-buffer (current-buffer))) > > > > ;; If the function is autoloaded, and its docstring has > > ;; key substitution constructs, load the library. > > @@ -615,11 +619,11 @@ FILE is the file where FUNCTION was probably > defined." > > > > (help-fns--key-bindings function) > > (with-current-buffer standard-output > > - (let ((doc (help-fns--signature function doc-raw sig-key > > - real-function nil))) > > - (run-hook-with-args 'help-fns-describe-function-functions > function) > > - (insert "\n" > > - (or doc "Not documented.")))))))) > > + (let ((doc (help-fns--signature function doc-raw sig-key > > + real-function > key-bindings-buffer))) > > + (run-hook-with-args 'help-fns-describe-function-functions > function) > > + (insert "\n" > > + (or doc "Not documented.")))))))) > > > > ;; Add defaults to `help-fns-describe-function-functions'. > > (add-hook 'help-fns-describe-function-functions #'help-fns--obsolete) > > @@ -730,14 +734,14 @@ it is displayed along with the global value." > > (if file-name > > (progn > > (princ (format-message > > - " is a variable defined in ‘%s’.\n" > > + " is a variable defined in `%s'.\n" > > (if (eq file-name 'C-source) > > "C source code" > > (file-name-nondirectory file-name)))) > > (with-current-buffer standard-output > > (save-excursion > > (re-search-backward (substitute-command-keys > > - "‘\\([^‘’]+\\)’") > > + "`\\([^`']+\\)'") > > nil t) > > (help-xref-button 1 'help-variable-def > > variable file-name))) > > @@ -746,7 +750,7 @@ it is displayed along with the global value." > > (princ "Its "))) > > (if valvoid > > (princ " is void as a variable.") > > - (princ (substitute-command-keys "’s "))))) > > + (princ (substitute-command-keys "'s "))))) > > (unless valvoid > > (with-current-buffer standard-output > > (setq val-start-pos (point)) > > @@ -872,7 +876,7 @@ if it is given a local binding.\n")))) > > (unless (eq alias variable) > > (setq extra-line t) > > (princ (format-message > > - " This variable is an alias for ‘%s’.\n" > > + " This variable is an alias for `%s'.\n" > > alias))) > > > > (when obsolete > > @@ -881,7 +885,7 @@ if it is given a local binding.\n")))) > > (if (nth 2 obsolete) > > (princ (format " since %s" (nth 2 obsolete)))) > > (princ (cond ((stringp use) (concat ";\n " use)) > > - (use (format-message ";\n use ‘%s’ > instead." > > + (use (format-message ";\n use `%s' > instead." > > (car obsolete))) > > (t "."))) > > (terpri)) > > @@ -915,13 +919,13 @@ if it is given a local binding.\n")))) > > dir-file nil))) > > (princ (substitute-command-keys > > (if dir-file > > - "by the file\n ‘" > > - "for the directory\n ‘"))) > > + "by the file\n `" > > + "for the directory\n `"))) > > (with-current-buffer standard-output > > (insert-text-button > > file 'type 'help-dir-local-var-def > > 'help-args (list variable file))) > > - (princ (substitute-command-keys "’.\n")))) > > + (princ (substitute-command-keys "'.\n")))) > > (princ (substitute-command-keys > > " This variable's value is file-local.\n")))) > > > > @@ -938,7 +942,7 @@ file-local variable.\n") > > (when (assq variable safe-local-variable-values) > > (princ (substitute-command-keys > > " However, you have added it to \ > > -‘safe-local-variable-values’.\n")))) > > +`safe-local-variable-values'.\n")))) > > > > (when safe-var > > (setq extra-line t) > > @@ -946,7 +950,7 @@ file-local variable.\n") > > (princ "if its value\n satisfies the predicate ") > > (princ (if (byte-code-function-p safe-var) > > "which is a byte-compiled expression.\n" > > - (format-message "‘%s’.\n" safe-var)))) > > + (format-message "`%s'.\n" safe-var)))) > > > > (if extra-line (terpri)) > > (princ "Documentation:\n") > > diff --git a/lisp/help.el b/lisp/help.el > > index 2fcb52e..66df6b0 100644 > > --- a/lisp/help.el > > +++ b/lisp/help.el > > @@ -964,12 +964,12 @@ documentation for the major and minor modes of > that buffer." > > (let* ((mode major-mode) > > (file-name (find-lisp-object-file-name mode nil))) > > (when file-name > > - (princ (format-message " defined in ‘%s’" > > + (princ (format-message " defined in `%s'" > > (file-name-nondirectory file-name))) > > ;; Make a hyperlink to the library. > > (with-current-buffer standard-output > > (save-excursion > > - (re-search-backward (substitute-command-keys > "‘\\([^‘’]+\\)’") > > + (re-search-backward (substitute-command-keys > "`\\([^`']+\\)'") > > nil t) > > (help-xref-button 1 'help-function-def mode > file-name))))) > > (princ ":\n") > > @@ -1041,7 +1041,7 @@ is currently activated with completion." > > (let ((minor-mode (lookup-minor-mode-from-indicator indicator))) > > (if minor-mode > > (describe-minor-mode-from-symbol minor-mode) > > - (error "Cannot find minor mode for ‘%s’" indicator)))) > > + (error "Cannot find minor mode for `%s'" indicator)))) > > > > (defun lookup-minor-mode-from-indicator (indicator) > > "Return a minor mode symbol from its indicator on the mode line." > > @@ -1352,8 +1352,8 @@ the help window if the current value of the user > option > > > > (defun help--docstring-quote (string) > > "Return a doc string that represents STRING. > > -The result, when formatted by ‘substitute-command-keys’, should equal > STRING." > > - (replace-regexp-in-string "['\\`]" "\\\\=\\&" string)) > > +The result, when formatted by `substitute-command-keys', should equal > STRING." > > + (replace-regexp-in-string "['\\`‘’]" "\\\\=\\&" string)) > > > > ;; The following functions used to be in help-fns.el, which is not > preloaded. > > ;; But for various reasons, they are more widely needed, so they were > > diff --git a/lisp/hi-lock.el b/lisp/hi-lock.el > > index 0255585..89b1204 100644 > > --- a/lisp/hi-lock.el > > +++ b/lisp/hi-lock.el > > @@ -362,7 +362,7 @@ Hi-lock: end is found. A mode is excluded if it's > in the list > > (setq hi-lock-archaic-interface-message-used t) > > (if hi-lock-archaic-interface-deduce > > (global-hi-lock-mode hi-lock-mode) > > - (warn > > + (warn "%s" > > "Possible archaic use of (hi-lock-mode). > > Use (global-hi-lock-mode 1) in .emacs to enable hi-lock for all buffers, > > use (hi-lock-mode 1) for individual buffers. For compatibility with > Emacs > > diff --git a/lisp/htmlfontify.el b/lisp/htmlfontify.el > > index 310a074..74cdfe1 100644 > > --- a/lisp/htmlfontify.el > > +++ b/lisp/htmlfontify.el > > @@ -133,10 +133,10 @@ main-content <=MAIN_CONTENT;\\n\" rtfm-section > file style rtfm-section file)) > > \(defun rtfm-build-source-docs (section srcdir destdir) > > (interactive > > \"s section[eg- emacs / p4-blame]:\\nD source-dir: \\nD output-dir: > \") > > - (require 'htmlfontify) > > + (require \\='htmlfontify) > > (hfy-load-tags-cache srcdir) > > - (let ((hfy-page-header 'rtfm-build-page-header) > > - (hfy-page-footer 'rtfm-build-page-footer) > > + (let ((hfy-page-header \\='rtfm-build-page-header) > > + (hfy-page-footer \\='rtfm-build-page-footer) > > (rtfm-section section) > > (hfy-index-file \"index\")) > > (htmlfontify-run-etags srcdir) > > @@ -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 ‘