mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-21 18:23:59 +00:00
Treat help strings like other doc strings
* doc/lispref/text.texi (Special Properties), etc/NEWS: Document this. * lisp/epa.el (epa--select-keys): Remove no-longer-needed calls to substitute-command-keys. * src/keyboard.c (show_help_echo, parse_menu_item): Call substitute-command-keys on the help string before displaying it.
This commit is contained in:
parent
d2c4309d46
commit
5f5fe275ec
@ -3472,8 +3472,10 @@ function called to display help strings. These may be @code{help-echo}
|
||||
properties, menu help strings (@pxref{Simple Menu Items},
|
||||
@pxref{Extended Menu Items}), or tool bar help strings (@pxref{Tool
|
||||
Bar}). The specified function is called with one argument, the help
|
||||
string to display. Tooltip mode (@pxref{Tooltips,,, emacs, The GNU Emacs
|
||||
Manual}) provides an example.
|
||||
string to display, which is passed through
|
||||
@code{substitute-command-keys} before being given to the function; see
|
||||
@ref{Keys in Documentation}. Tooltip mode (@pxref{Tooltips,,, emacs,
|
||||
The GNU Emacs Manual}) provides an example.
|
||||
@end defvar
|
||||
|
||||
@node Format Properties
|
||||
|
8
etc/NEWS
8
etc/NEWS
@ -886,6 +886,7 @@ when signaling a file error. For example, it now reports "Permission
|
||||
denied" instead of "permission denied". The old behavior was problematic
|
||||
in languages like German where downcasing rules depend on grammar.
|
||||
|
||||
+++
|
||||
** substitute-command-keys now replaces quotes.
|
||||
That is, it converts documentation strings' quoting style as per the
|
||||
value of the new custom variable ‘help-quote-translation’: ?‘ means
|
||||
@ -1008,6 +1009,7 @@ directory at point.
|
||||
*** New macros `thread-first' and `thread-last' allow threading a form
|
||||
as the first or last argument of subsequent forms.
|
||||
|
||||
+++
|
||||
** Documentation strings now support quoting with curved single quotes
|
||||
‘like-this’ in addition to the old style with grave accent and
|
||||
apostrophe `like-this'. The new style looks better on today's displays.
|
||||
@ -1018,6 +1020,12 @@ key works) by typing ‘A-[’ and ‘A-]’. As described above under
|
||||
‘help-quote-translation’, the user can specify how to display doc
|
||||
string quotes.
|
||||
|
||||
+++
|
||||
** show-help-function's arg is converted via substitute-command-keys
|
||||
before being passed to the function. Help strings, help-echo
|
||||
properties, etc. can therefore contain command key escapes and
|
||||
quotation marks.
|
||||
|
||||
+++
|
||||
** Time-related changes:
|
||||
|
||||
|
@ -462,14 +462,12 @@ If ARG is non-nil, mark the key."
|
||||
(widget-create 'link
|
||||
:notify (lambda (&rest _ignore) (abort-recursive-edit))
|
||||
:help-echo
|
||||
(substitute-command-keys
|
||||
"Click here or \\[abort-recursive-edit] to cancel")
|
||||
"Click here or \\[abort-recursive-edit] to cancel"
|
||||
"Cancel")
|
||||
(widget-create 'link
|
||||
:notify (lambda (&rest _ignore) (exit-recursive-edit))
|
||||
:help-echo
|
||||
(substitute-command-keys
|
||||
"Click here or \\[exit-recursive-edit] to finish")
|
||||
"Click here or \\[exit-recursive-edit] to finish"
|
||||
"OK")
|
||||
(insert "\n\n")
|
||||
(epa--insert-keys keys)
|
||||
|
@ -2139,7 +2139,7 @@ show_help_echo (Lisp_Object help, Lisp_Object window, Lisp_Object object,
|
||||
if (STRINGP (help) || NILP (help))
|
||||
{
|
||||
if (!NILP (Vshow_help_function))
|
||||
call1 (Vshow_help_function, help);
|
||||
call1 (Vshow_help_function, Fsubstitute_command_keys (help));
|
||||
help_echo_showing_p = STRINGP (help);
|
||||
}
|
||||
}
|
||||
@ -7720,7 +7720,8 @@ parse_menu_item (Lisp_Object item, int inmenubar)
|
||||
/* Maybe help string. */
|
||||
if (CONSP (item) && STRINGP (XCAR (item)))
|
||||
{
|
||||
ASET (item_properties, ITEM_PROPERTY_HELP, XCAR (item));
|
||||
ASET (item_properties, ITEM_PROPERTY_HELP,
|
||||
Fsubstitute_command_keys (XCAR (item)));
|
||||
start = item;
|
||||
item = XCDR (item);
|
||||
}
|
||||
@ -7781,7 +7782,12 @@ parse_menu_item (Lisp_Object item, int inmenubar)
|
||||
return 0;
|
||||
}
|
||||
else if (EQ (tem, QChelp))
|
||||
ASET (item_properties, ITEM_PROPERTY_HELP, XCAR (item));
|
||||
{
|
||||
Lisp_Object help = XCAR (item);
|
||||
if (STRINGP (help))
|
||||
help = Fsubstitute_command_keys (help);
|
||||
ASET (item_properties, ITEM_PROPERTY_HELP, help);
|
||||
}
|
||||
else if (EQ (tem, QCfilter))
|
||||
filter = item;
|
||||
else if (EQ (tem, QCkey_sequence))
|
||||
|
Loading…
Reference in New Issue
Block a user