mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-24 07:20:37 +00:00
Doc fixes for quoting
* doc/emacs/text.texi, doc/lispintro/emacs-lisp-intro.texi: * doc/lispref/control.texi, doc/lispref/display.texi: * doc/lispref/help.texi, doc/lispref/strings.texi, lisp/subr.el: * src/callint.c, src/doprnt.c, src/editfns.c: Document quoting a bit more systematically. Problem reported by Alan Mackenzie (Bug#23425).
This commit is contained in:
parent
8544b9879c
commit
2ea2a2f1a5
@ -862,8 +862,8 @@ indenting the current line. @xref{Indentation}, for details.
|
||||
|
||||
Text mode turns off the features concerned with comments except when
|
||||
you explicitly invoke them. It changes the syntax table so that
|
||||
single-quotes are considered part of words (e.g., @samp{don't} is
|
||||
considered one word). However, if a word starts with a single-quote,
|
||||
apostrophes are considered part of words (e.g., @samp{don't} is
|
||||
considered one word). However, if a word starts with an apostrophe,
|
||||
it is treated as a prefix for the purposes of capitalization
|
||||
(e.g., @kbd{M-c} converts @samp{'hello'} into @samp{'Hello'}, as
|
||||
expected).
|
||||
|
@ -1004,11 +1004,11 @@ the name stands for ``Lots of Isolated Silly Parentheses''. But the
|
||||
claim is unwarranted. Lisp stands for LISt Processing, and the
|
||||
programming language handles @emph{lists} (and lists of lists) by
|
||||
putting them between parentheses. The parentheses mark the boundaries
|
||||
of the list. Sometimes a list is preceded by a single apostrophe or
|
||||
quotation mark, @samp{'}@footnote{The single apostrophe or quotation
|
||||
mark is an abbreviation for the function @code{quote}; you need not
|
||||
think about functions now; functions are defined in @ref{Making
|
||||
Errors, , Generate an Error Message}.} Lists are the basis of Lisp.
|
||||
of the list. Sometimes a list is preceded by an apostrophe @samp{'},
|
||||
called a @dfn{single-quote} in Lisp.@footnote{A single-quote is an
|
||||
abbreviation for the special form @code{quote}; you need not think
|
||||
about special forms now. @xref{Complications}.} Lists are the basis
|
||||
of Lisp.
|
||||
|
||||
@menu
|
||||
* Lisp Lists:: What are lists?
|
||||
@ -2490,14 +2490,7 @@ in the list and then at the function definition bound to that symbol.
|
||||
Then the instructions in the function definition are carried out.
|
||||
|
||||
@item
|
||||
A single quotation mark,
|
||||
@ifinfo
|
||||
'
|
||||
@end ifinfo
|
||||
@ifnotinfo
|
||||
@code{'}
|
||||
@end ifnotinfo
|
||||
, tells the Lisp interpreter that it should
|
||||
A single-quote @samp{'} tells the Lisp interpreter that it should
|
||||
return the following expression as written, and not evaluate it as it
|
||||
would if the quote were not there.
|
||||
|
||||
@ -7610,7 +7603,8 @@ displays in which grave accent and apostrophe were often mirror images
|
||||
suitable for use as quotes. On most modern displays this is no longer
|
||||
true, and when these two ASCII characters appear in documentation
|
||||
strings or diagnostic message formats, Emacs typically transliterates
|
||||
them to curved single quotes, so that the abovequoted symbol appears
|
||||
them to @dfn{curved quotes} (left and right single quotation marks),
|
||||
so that the abovequoted symbol appears
|
||||
as @t{‘case-fold-search’}. Source-code strings can also simply use
|
||||
curved quotes directly.
|
||||
|
||||
@ -17117,7 +17111,7 @@ This line is a short, but complete Emacs Lisp expression.
|
||||
|
||||
We are already familiar with @code{setq}. It sets the following variable,
|
||||
@code{major-mode}, to the subsequent value, which is @code{text-mode}.
|
||||
The single quote mark before @code{text-mode} tells Emacs to deal directly
|
||||
The single-quote before @code{text-mode} tells Emacs to deal directly
|
||||
with the @code{text-mode} symbol, not with whatever it might stand for.
|
||||
@xref{set & setq, , Setting the Value of a Variable},
|
||||
for a reminder of how @code{setq} works.
|
||||
@ -17284,11 +17278,11 @@ Rebinding Keys in Your Init File, emacs, The GNU Emacs Manual}, for
|
||||
details.)
|
||||
|
||||
The command invoked by the keys is @code{compare-windows}. Note that
|
||||
@code{compare-windows} is preceded by a single quote; otherwise, Emacs
|
||||
@code{compare-windows} is preceded by a single-quote; otherwise, Emacs
|
||||
would first try to evaluate the symbol to determine its value.
|
||||
|
||||
These three things, the double quotation marks, the backslash before
|
||||
the @samp{C}, and the single quote mark are necessary parts of
|
||||
the @samp{C}, and the single-quote are necessary parts of
|
||||
keybinding that I tend to forget. Fortunately, I have come to
|
||||
remember that I should look at my existing @file{.emacs} file, and
|
||||
adapt what is there.
|
||||
|
@ -1100,10 +1100,12 @@ These examples show typical uses of @code{error}:
|
||||
error symbol @code{error}, and a list containing the string returned by
|
||||
@code{format-message}.
|
||||
|
||||
In a format string containing single quotes, curved quotes @t{‘like
|
||||
this’} and grave quotes @t{`like this'} work better than straight
|
||||
quotes @t{'like this'}, as @code{error} typically formats every
|
||||
straight quote as a curved closing quote.
|
||||
A format that quotes with grave accents and apostrophes @t{`like
|
||||
this'} typically generates curved quotes @t{‘like this’}. In
|
||||
contrast, a format that quotes with only apostrophes @t{'like this'}
|
||||
typically generates two closing curved quotes @t{’like this’}, an
|
||||
unusual style in English. @xref{Keys in Documentation}, for how the
|
||||
@code{text-quoting-style} variable affects generated quotes.
|
||||
|
||||
@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}
|
||||
|
@ -265,10 +265,12 @@ properties, it is displayed with the specified faces (@pxref{Faces}).
|
||||
The string is also added to the @file{*Messages*} buffer, but without
|
||||
text properties (@pxref{Logging Messages}).
|
||||
|
||||
In a format string containing single quotes, curved quotes @t{‘like
|
||||
this’} and grave quotes @t{`like this'} work better than straight
|
||||
quotes @t{'like this'}, as @code{message} typically formats every
|
||||
straight quote as a curved closing quote.
|
||||
A format that quotes with grave accents and apostrophes @t{`like
|
||||
this'} typically generates curved quotes @t{‘like this’}. In
|
||||
contrast, a format that quotes with only apostrophes @t{'like this'}
|
||||
typically generates two closing curved quotes @t{’like this’}, an
|
||||
unusual style in English. @xref{Keys in Documentation}, for how the
|
||||
@code{text-quoting-style} variable affects generated quotes.
|
||||
|
||||
In batch mode, the message is printed to the standard error stream,
|
||||
followed by a newline.
|
||||
|
@ -335,10 +335,14 @@ specifies @var{mapvar}'s value as the keymap for any following
|
||||
@item ‘
|
||||
@itemx `
|
||||
(left single quotation mark and grave accent) both stand for a left quote.
|
||||
This generates a left single quotation mark, an apostrophe, or a grave
|
||||
accent depending on the value of @code{text-quoting-style}.
|
||||
|
||||
@item ’
|
||||
@itemx '
|
||||
(right single quotation mark and apostrophe) both stand for a right quote.
|
||||
This generates a right single quotation mark or an apostrophe
|
||||
depending on the value of @code{text-quoting-style}.
|
||||
|
||||
@item \=
|
||||
quotes the following character and is discarded; thus, @samp{\=`} puts
|
||||
|
@ -834,8 +834,14 @@ if any.
|
||||
This function acts like @code{format}, except it also converts any
|
||||
curved single quotes in @var{string} as per the value of
|
||||
@code{text-quoting-style}, and treats grave accent (@t{`}) and
|
||||
apostrophe (@t{'}) as if they were curved single quotes. @xref{Keys
|
||||
in Documentation}.
|
||||
apostrophe (@t{'}) as if they were curved single quotes.
|
||||
|
||||
A format that quotes with grave accents and apostrophes @t{`like
|
||||
this'} typically generates curved quotes @t{‘like this’}. In
|
||||
contrast, a format that quotes with only apostrophes @t{'like this'}
|
||||
typically generates two closing curved quotes @t{’like this’}, an
|
||||
unusual style in English. @xref{Keys in Documentation}, for how the
|
||||
@code{text-quoting-style} variable affects generated quotes.
|
||||
@end defun
|
||||
|
||||
@cindex @samp{%} in format
|
||||
|
14
lisp/subr.el
14
lisp/subr.el
@ -290,21 +290,27 @@ This function accepts any number of arguments, but ignores them."
|
||||
|
||||
;; Signal a compile-error if the first arg is missing.
|
||||
(defun error (&rest args)
|
||||
"Signal an error, making error message by passing all args to `format'.
|
||||
"Signal an error, making a message by passing args to `format-message'.
|
||||
In Emacs, the convention is that error messages start with a capital
|
||||
letter but *do not* end with a period. Please follow this convention
|
||||
for the sake of consistency."
|
||||
for the sake of consistency.
|
||||
|
||||
Note: (error \"%s\" VALUE) makes the message VALUE without
|
||||
interpreting format characters like `%', `\\=`', and `\\=''."
|
||||
(declare (advertised-calling-convention (string &rest args) "23.1"))
|
||||
(signal 'error (list (apply #'format-message args))))
|
||||
|
||||
(defun user-error (format &rest args)
|
||||
"Signal a pilot error, making error message by passing all args to `format'.
|
||||
"Signal a pilot error, making a message by passing args to `format-message'.
|
||||
In Emacs, the convention is that error messages start with a capital
|
||||
letter but *do not* end with a period. Please follow this convention
|
||||
for the sake of consistency.
|
||||
This is just like `error' except that `user-error's are expected to be the
|
||||
result of an incorrect manipulation on the part of the user, rather than the
|
||||
result of an actual problem."
|
||||
result of an actual problem.
|
||||
|
||||
Note: (user-error \"%s\" VALUE) makes the message VALUE without
|
||||
interpreting format characters like `%', `\\=`', and `\\=''."
|
||||
(signal 'user-error (list (apply #'format-message format args))))
|
||||
|
||||
(defun define-error (name message &optional parent)
|
||||
|
@ -272,7 +272,7 @@ invoke it. If KEYS is omitted or nil, the return value of
|
||||
{
|
||||
/* `args' will contain the array of arguments to pass to the function.
|
||||
`visargs' will contain the same list but in a nicer form, so that if we
|
||||
pass it to `Fformat' it will be understandable to a human. */
|
||||
pass it to `Fformat_message' it will be understandable to a human. */
|
||||
Lisp_Object *args, *visargs;
|
||||
Lisp_Object specs;
|
||||
Lisp_Object filter_specs;
|
||||
|
@ -46,15 +46,15 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
||||
ignored %s and %c conversions. (See below for the detailed documentation of
|
||||
what is supported.) However, this is okay, as this function is supposed to
|
||||
be called from `error' and similar functions, and thus does not need to
|
||||
support features beyond those in `Fformat', which is used by `error' on the
|
||||
Lisp level. */
|
||||
support features beyond those in `Fformat_message', which is used
|
||||
by `error' on the Lisp level. */
|
||||
|
||||
/* In the FORMAT argument this function supports ` and ' as directives
|
||||
that output left and right quotes as per ‘text-quoting style’. It
|
||||
also supports the following %-sequences:
|
||||
|
||||
%s means print a string argument.
|
||||
%S is silently treated as %s, for loose compatibility with `Fformat'.
|
||||
%S is treated as %s, for loose compatibility with `Fformat_message'.
|
||||
%d means print a `signed int' argument in decimal.
|
||||
%o means print an `unsigned int' argument in octal.
|
||||
%x means print an `unsigned int' argument in hex.
|
||||
|
@ -3665,10 +3665,11 @@ In batch mode, the message is printed to the standard error stream,
|
||||
followed by a newline.
|
||||
|
||||
The first argument is a format control string, and the rest are data
|
||||
to be formatted under control of the string. See `format' for details.
|
||||
to be formatted under control of the string. See `format-message' for
|
||||
details.
|
||||
|
||||
Note: Use (message "%s" VALUE) to print the value of expressions and
|
||||
variables to avoid accidentally interpreting `%' as format specifiers.
|
||||
Note: (message "%s" VALUE) displays the string VALUE without
|
||||
interpreting format characters like `%', `\\=`', and `\\=''.
|
||||
|
||||
If the first argument is nil or the empty string, the function clears
|
||||
any existing message; this lets the minibuffer contents show. See
|
||||
@ -3696,7 +3697,8 @@ DEFUN ("message-box", Fmessage_box, Smessage_box, 1, MANY, 0,
|
||||
doc: /* Display a message, in a dialog box if possible.
|
||||
If a dialog box is not available, use the echo area.
|
||||
The first argument is a format control string, and the rest are data
|
||||
to be formatted under control of the string. See `format' for details.
|
||||
to be formatted under control of the string. See `format-message' for
|
||||
details.
|
||||
|
||||
If the first argument is nil or the empty string, clear any existing
|
||||
message; let the minibuffer contents show.
|
||||
@ -3727,7 +3729,8 @@ If this command was invoked with the mouse, use a dialog box if
|
||||
`use-dialog-box' is non-nil.
|
||||
Otherwise, use the echo area.
|
||||
The first argument is a format control string, and the rest are data
|
||||
to be formatted under control of the string. See `format' for details.
|
||||
to be formatted under control of the string. See `format-message' for
|
||||
details.
|
||||
|
||||
If the first argument is nil or the empty string, clear any existing
|
||||
message; let the minibuffer contents show.
|
||||
|
Loading…
Reference in New Issue
Block a user