diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2015-08-23 22:38:02 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2015-08-23 22:39:06 -0700 |
commit | fbb5531fa11d13854b274d28ccd329c9b6652cfc (patch) | |
tree | 12dae03400f11dceb50e251c8ca59d2765522adb /doc | |
parent | a5fd059f726f4de839d33a2813f1c98d62fc6fbe (diff) | |
download | emacs-fbb5531fa11d13854b274d28ccd329c9b6652cfc.tar.gz |
More-conservative ‘format’ quote restyling
Instead of restyling curved quotes for every call to ‘format’,
create a new function ‘format-message’ that does the restyling,
and using the new function instead of ‘format’ only in contexts
where this seems appropriate.
Problem reported by Dmitry Gutov and Andreas Schwab in:
http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00826.html
http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00827.html
* doc/lispref/commands.texi (Using Interactive):
* doc/lispref/control.texi (Signaling Errors, Signaling Errors):
* doc/lispref/display.texi (Displaying Messages, Progress):
* doc/lispref/elisp.texi:
* doc/lispref/help.texi (Keys in Documentation):
* doc/lispref/minibuf.texi (Minibuffer Misc):
* doc/lispref/strings.texi (Formatting Strings):
* etc/NEWS:
Document the changes.
* lisp/abbrev.el (expand-region-abbrevs):
* lisp/apropos.el (apropos-library):
* lisp/calc/calc-ext.el (calc-record-message)
(calc-user-function-list):
* lisp/calc/calc-help.el (calc-describe-key, calc-full-help):
* lisp/calc/calc-lang.el (math-read-big-balance):
* lisp/calc/calc-store.el (calc-edit-variable):
* lisp/calc/calc-units.el (math-build-units-table-buffer):
* lisp/calc/calc-yank.el (calc-edit-mode):
* lisp/calendar/icalendar.el (icalendar-export-region)
(icalendar--add-diary-entry):
* lisp/cedet/mode-local.el (mode-local-print-binding)
(mode-local-describe-bindings-2):
* lisp/cedet/semantic/complete.el (semantic-completion-message):
* lisp/cedet/semantic/edit.el (semantic-parse-changes-failed):
* lisp/cedet/semantic/wisent/comp.el (wisent-log):
* lisp/cedet/srecode/insert.el (srecode-insert-show-error-report):
* lisp/descr-text.el (describe-text-properties-1, describe-char):
* lisp/dframe.el (dframe-message):
* lisp/dired-aux.el (dired-query):
* lisp/emacs-lisp/byte-opt.el (byte-compile-log-lap-1):
* lisp/emacs-lisp/bytecomp.el (byte-compile-log)
(byte-compile-log-file, byte-compile-warn, byte-compile-form):
* lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
(cconv-analyze-form):
* lisp/emacs-lisp/check-declare.el (check-declare-warn):
* lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
* lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet):
* lisp/emacs-lisp/edebug.el (edebug-format):
* lisp/emacs-lisp/eieio-core.el (eieio-oref):
* lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message)
(eldoc-message):
* lisp/emacs-lisp/elint.el (elint-file, elint-log):
* lisp/emacs-lisp/find-func.el (find-function-library):
* lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
* lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
* lisp/emacs-lisp/nadvice.el (advice--make-docstring):
* lisp/emacs-lisp/package.el (package-compute-transaction)
(package-install-button-action, package-delete-button-action)
(package-menu--list-to-prompt):
* lisp/emacs-lisp/timer.el (timer-event-handler):
* lisp/emacs-lisp/warnings.el (lwarn, warn):
* lisp/emulation/viper-cmd.el:
(viper-toggle-parse-sexp-ignore-comments)
(viper-kill-buffer, viper-brac-function):
* lisp/emulation/viper-macs.el (viper-record-kbd-macro):
* lisp/facemenu.el (facemenu-add-new-face):
* lisp/faces.el (face-documentation, read-face-name)
(face-read-string, read-face-font, describe-face):
* lisp/files.el (find-alternate-file, hack-local-variables)
(hack-one-local-variable--obsolete, write-file)
(basic-save-buffer, delete-directory):
* lisp/format.el (format-write-file, format-find-file)
(format-insert-file):
* lisp/help-fns.el (help-fns--key-bindings)
(help-fns--compiler-macro, help-fns--obsolete)
(help-fns--interactive-only, describe-function-1)
(describe-variable):
* lisp/help.el (describe-mode):
* lisp/info-xref.el (info-xref-output):
* lisp/info.el (Info-virtual-index-find-node)
(Info-virtual-index, info-apropos):
* lisp/international/kkc.el (kkc-error):
* lisp/international/mule-cmds.el:
(select-safe-coding-system-interactively)
(select-safe-coding-system, describe-input-method):
* lisp/international/mule-conf.el (code-offset):
* lisp/international/mule-diag.el (describe-character-set)
(list-input-methods-1):
* lisp/international/quail.el (quail-error):
* lisp/minibuffer.el (minibuffer-message):
* lisp/mpc.el (mpc--debug):
* lisp/msb.el (msb--choose-menu):
* lisp/net/ange-ftp.el (ange-ftp-message):
* lisp/net/gnutls.el (gnutls-message-maybe):
* lisp/net/newst-backend.el (newsticker--sentinel-work):
* lisp/net/newst-treeview.el (newsticker--treeview-load):
* lisp/net/nsm.el (nsm-query-user):
* lisp/net/rlogin.el (rlogin):
* lisp/net/soap-client.el (soap-warning):
* lisp/net/tramp.el (tramp-debug-message):
* lisp/nxml/nxml-outln.el (nxml-report-outline-error):
* lisp/nxml/nxml-parse.el (nxml-parse-error):
* lisp/nxml/rng-cmpct.el (rng-c-error):
* lisp/nxml/rng-match.el (rng-compile-error):
* lisp/nxml/rng-uri.el (rng-uri-error):
* lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer):
* lisp/org/org-ctags.el:
(org-ctags-ask-rebuild-tags-file-then-find-tag):
* lisp/proced.el (proced-log):
* lisp/progmodes/ebnf2ps.el (ebnf-log):
* lisp/progmodes/flymake.el (flymake-log):
* lisp/progmodes/vhdl-mode.el (vhdl-warning-when-idle):
* lisp/replace.el (occur-1):
* lisp/simple.el (execute-extended-command)
(undo-outer-limit-truncate, define-alternatives):
* lisp/startup.el (command-line):
* lisp/subr.el (error, user-error, add-to-list):
* lisp/tutorial.el (tutorial--describe-nonstandard-key)
(tutorial--find-changed-keys):
* src/callint.c (Fcall_interactively):
* src/editfns.c (Fmessage, Fmessage_box):
Restyle the quotes of format strings intended for use as a
diagnostic, when restyling seems appropriate.
* lisp/subr.el (format-message): New function.
* src/doc.c (Finternal__text_restyle): New function.
(syms_of_doc): Define it.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/lispref/commands.texi | 2 | ||||
-rw-r--r-- | doc/lispref/control.texi | 4 | ||||
-rw-r--r-- | doc/lispref/display.texi | 4 | ||||
-rw-r--r-- | doc/lispref/elisp.texi | 1 | ||||
-rw-r--r-- | doc/lispref/help.texi | 3 | ||||
-rw-r--r-- | doc/lispref/minibuf.texi | 2 | ||||
-rw-r--r-- | doc/lispref/strings.texi | 8 |
7 files changed, 15 insertions, 9 deletions
diff --git a/doc/lispref/commands.texi b/doc/lispref/commands.texi index aec7674284d..593054013e6 100644 --- a/doc/lispref/commands.texi +++ b/doc/lispref/commands.texi @@ -211,7 +211,7 @@ argument. The prompt string can use @samp{%} to include previous argument values (starting with the first argument) in the prompt. This is done using -@code{format} (@pxref{Formatting Strings}). For example, here is how +@code{format-message} (@pxref{Formatting Strings}). For example, here is how you could read the name of an existing buffer followed by a new name to give to that buffer: diff --git a/doc/lispref/control.texi b/doc/lispref/control.texi index 17d5c26897f..421f5cc530f 100644 --- a/doc/lispref/control.texi +++ b/doc/lispref/control.texi @@ -990,7 +990,7 @@ should not end with any sort of punctuation. @defun error format-string &rest args This function signals an error with an error message constructed by -applying @code{format} (@pxref{Formatting Strings}) to +applying @code{format-message} (@pxref{Formatting Strings}) to @var{format-string} and @var{args}. These examples show typical uses of @code{error}: @@ -1009,7 +1009,7 @@ These examples show typical uses of @code{error}: @code{error} works by calling @code{signal} with two arguments: the error symbol @code{error}, and a list containing the string returned by -@code{format}. +@code{format-message}. @strong{Warning:} If you want to use your own string as an error message verbatim, don't just write @code{(error @var{string})}. If @var{string} diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index ae59bbbdefa..36404f4dff9 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -247,7 +247,7 @@ messages in the echo area. @defun message format-string &rest arguments This function displays a message in the echo area. @var{format-string} is a format string, and @var{arguments} are the -objects for its format specifications, like in the @code{format} +objects for its format specifications, like in the @code{format-message} function (@pxref{Formatting Strings}). The resulting formatted string is displayed in the echo area; if it contains @code{face} text properties, it is displayed with the specified faces (@pxref{Faces}). @@ -375,7 +375,7 @@ reporting very fast. When this progress reporter is subsequently used, it will display @var{message} in the echo area, followed by progress percentage. @var{message} is treated as a simple string. If you need it to depend -on a filename, for instance, use @code{format} before calling this +on a filename, for instance, use @code{format-message} before calling this function. The arguments @var{min-value} and @var{max-value} should be numbers diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi index 9044fbaec56..48c531f7731 100644 --- a/doc/lispref/elisp.texi +++ b/doc/lispref/elisp.texi @@ -375,6 +375,7 @@ Strings and Characters * Text Comparison:: Comparing characters or strings. * String Conversion:: Converting to and from characters and strings. * Formatting Strings:: @code{format}: Emacs's analogue of @code{printf}. +* Text Restyling:: Text style conversion function. * Case Conversion:: Case conversion functions. * Case Tables:: Customizing case conversion. diff --git a/doc/lispref/help.texi b/doc/lispref/help.texi index ca8ae3f314a..ab884f8dc80 100644 --- a/doc/lispref/help.texi +++ b/doc/lispref/help.texi @@ -350,8 +350,7 @@ string in Emacs Lisp. @defvar text-quoting-style @cindex curved quotes @cindex curly quotes -The value of this variable specifies the style -@code{substitute-command-keys} uses when generating left and right +The value of this variable specifies the style used to generate text quotes. If the variable's value is @code{curve}, the style is @t{‘like this’} with curved single quotes. If the value is @code{straight}, the style is @t{'like this'} with straight diff --git a/doc/lispref/minibuf.texi b/doc/lispref/minibuf.texi index 24c7559c7d9..2aec149524d 100644 --- a/doc/lispref/minibuf.texi +++ b/doc/lispref/minibuf.texi @@ -2413,7 +2413,7 @@ arrives, whichever comes first. The variable @code{minibuffer-message-timeout} specifies the number of seconds to wait in the absence of input. It defaults to 2. If @var{args} is non-@code{nil}, the actual message is obtained by passing @var{string} -and @var{args} through @code{format}. @xref{Formatting Strings}. +and @var{args} through @code{format-message}. @xref{Formatting Strings}. @end defun @deffn Command minibuffer-inactive-mode diff --git a/doc/lispref/strings.texi b/doc/lispref/strings.texi index c4556cbd284..326359e1da0 100644 --- a/doc/lispref/strings.texi +++ b/doc/lispref/strings.texi @@ -801,7 +801,7 @@ they appear; it is called a @dfn{format string}. Formatting is often useful for computing messages to be displayed. In fact, the functions @code{message} and @code{error} provide the same -formatting feature described here; they differ from @code{format} only +formatting feature described here; they differ from @code{format-message} only in how they use the result of formatting. @defun format string &rest objects @@ -815,6 +815,12 @@ are copied directly into the output, including their text properties, if any. @end defun +@defun format-message string &rest objects +This function acts like @code{format}, except it also converts any +curved quotes in @var{string} as per the value of +@code{text-quoting-style}. @xref{Keys in Documentation}. +@end defun + @cindex @samp{%} in format @cindex format specification A format specification is a sequence of characters beginning with a |