Translate undisplayable ‘ to `

* doc/lispref/help.texi (Keys in Documentation):
* lisp/international/mule-cmds.el (set-locale-environment):
* lisp/term/w32console.el (terminal-init-w32console):
* src/doc.c (Fsubstitute_command_keys, Vhelp_quote_translation):
If ‘ is not displayable, transliterate it to `, not to '.  See:
http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00542.html
This commit is contained in:
Paul Eggert 2015-06-25 07:21:20 -07:00
parent 67dbc32afd
commit ee80c11709
4 changed files with 7 additions and 7 deletions

View file

@ -357,7 +357,7 @@ quotes. If the value is @code{?'} (apostrophe), the style is @t{'like
this'} with apostrophes. If the value is @code{?`} (grave accent),
the style is @t{`like this'} with grave accent and apostrophe. The
default value @code{nil} means to use curved single quotes if
displayable and apostrophes otherwise.
displayable, and grave accent and apostrophe otherwise.
@end defvar
@defun substitute-command-keys string

View file

@ -2731,9 +2731,9 @@ See also `locale-charset-language-names', `locale-language-names',
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)))
;; If curved quotes don't work, display straight ASCII approximations.
;; If curved quotes don't work, display ASCII approximations.
(unless frame
(dolist (char-repl '((? . [?\']) (? . [?\']) (?“ . [?\"]) (?” . [?\"])))
(dolist (char-repl '((? . [?\`]) (? . [?\']) (?“ . [?\"]) (?” . [?\"])))
(when (not (char-displayable-p (car char-repl)))
(or standard-display-table
(setq standard-display-table (make-display-table)))

View file

@ -69,7 +69,7 @@
;; Since we changed the terminal encoding, we need to repeat
;; the test for Unicode quotes being displayable.
(dolist (char-repl
'((? . [?\']) (? . [?\']) (?“ . [?\"]) (?” . [?\"])))
'((? . [?\`]) (? . [?\']) (?“ . [?\"]) (?” . [?\"])))
(when (not (char-displayable-p (car char-repl)))
(or standard-display-table
(setq standard-display-table (make-display-table)))

View file

@ -761,8 +761,8 @@ Otherwise, return a new string. */)
Lisp_Object dv = DISP_CHAR_VECTOR (XCHAR_TABLE (Vstandard_display_table),
LEFT_SINGLE_QUOTATION_MARK);
if (VECTORP (dv) && ASIZE (dv) == 1
&& EQ (AREF (dv, 0), make_number ('\'')))
quote_translation = apostrophe;
&& EQ (AREF (dv, 0), make_number ('`')))
quote_translation = grave_accent;
}
multibyte = STRING_MULTIBYTE (string);
@ -1040,7 +1040,7 @@ Quote \\=like this\\= if the value is ?\\= (left single quotation mark)
Quote 'like this' if the value is ?' (apostrophe).
Quote \\=`like this' if the value is ?\\=` (grave accent).
The default value is nil, which means quote with left single quotation mark
if displayable, and with apostrophe otherwise. */);
if displayable, and with grave accent otherwise. */);
Vhelp_quote_translation = Qnil;
defsubr (&Sdocumentation);