* bug#60645: 30.0.50; interactive MODES not detected properly
@ 2023-01-08 6:19 Jean Louis
[not found] ` <handler.60645.B.167315884819377.ack@debbugs.gnu.org>
2023-01-08 9:15 ` bug#60645: 30.0.50; interactive MODES not detected properly Eli Zaretskii
0 siblings, 2 replies; 6+ messages in thread
From: Jean Louis @ 2023-01-08 6:19 UTC (permalink / raw)
To: 60645
* Eli Zaretskii <eliz@gnu.org> [2023-01-08 09:07]:
> > And I expect not to see it.
> >
> > What am I doing wrong?
>
> The doc string is wrong: the default is to show all commands. If you
> want to see only those relevant to MODES, either use M-X (upper-case
> X) or customize read-extended-command-predicate's value to be the
> function command-completion-default-include-p.
Now we know that there is some inconsistency, thanks for confirming
it.
For this function:
(defun my-function ()
(interactive nil '(text-mode mail-mode))
(message "Hello"))
major-mode ➜ mail-mode
My default was:
(setq read-extended-command-predicate nil)
- I can see 90 possible completions with M-X in mail-mode, WITHOUT `my-function'
- I can see 9819 possible completions with M-x in mail-mode, WITH `my-function'
when I turn it on:
(setq read-extended-command-predicate 'command-completion-default-include-p)
- I can see 90 possible completions with M-X in mail-mode, WITHOUT `my-function'
- I can see 9819 possible completions with M-x in mail-mode, WITHOUT `my-function'
Which means that my function cannot be found with recommended
settings in mail-mode, so there must be more inconsistencies.
In GNU Emacs 30.0.50 (build 2, x86_64-pc-linux-gnu, X toolkit, cairo
version 1.17.6, Xaw3d scroll bars) of 2023-01-08 built on
protected.rcdrun.com
Repository revision: 5d1e14bd8b9a11ab860937d3ab97248ddeef30b1
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101004
System Description: Parabola GNU/Linux-libre
Configured using:
'configure --with-x-toolkit=lucid --with-mailutils'
Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ
JPEG JSON LCMS2 LIBOTF LIBSYSTEMD LIBXML2 M17N_FLT MODULES NOTIFY
INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XAW3D XDBE XIM XINPUT2 XPM
LUCID ZLIB
Important settings:
value of $LC_ALL: en_US.UTF-8
value of $LANG: de_DE.UTF-8
value of $XMODIFIERS: @im=exwm-xim
locale-coding-system: utf-8-unix
Major mode: Fundamental
Minor modes in effect:
tooltip-mode: t
global-eldoc-mode: t
show-paren-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
blink-cursor-mode: t
buffer-read-only: t
line-number-mode: t
indent-tabs-mode: t
transient-mark-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
Load-path shadows:
None found.
Features:
(shadow mailalias emacsbug message yank-media puny dired
dired-loaddefs rfc822 mml mml-sec epa derived epg rfc6068 epg-config
gnus-util text-property-search time-date mm-decode mm-bodies mm-encode
mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047
rfc2045 ietf-drums mm-util mail-prsvr mail-utils hyperbole-autoloads
package browse-url url url-proxy url-privacy url-expand url-methods
url-history url-cookie generate-lisp-file url-domsuf url-util mailcap
url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs
password-cache json subr-x map byte-opt gv bytecomp byte-compile
url-vars cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren
electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode
mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset
image regexp-opt fringe tabulated-list replace newcomment text-mode
lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch
easymenu timer select scroll-bar mouse jit-lock font-lock syntax
font-core term/tty-colors frame minibuffer nadvice seq simple
cl-generic indonesian philippine cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932
hebrew greek romanian slovak czech european ethiopic indian cyrillic
chinese composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button
loaddefs theme-loaddefs faces cus-face macroexp files window
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget keymap hashtable-print-readable backquote threads
dbusbind inotify lcms2 dynamic-setting system-font-setting
font-render-setting cairo x-toolkit xinput2 x multi-tty
make-network-process emacs)
Memory information:
((conses 16 56097 9398)
(symbols 48 6869 0)
(strings 32 20672 1400)
(string-bytes 1 616964)
(vectors 16 14339)
(vector-slots 8 199578 12461)
(floats 8 29 36)
(intervals 56 342 0)
(buffers 984 10))
--
Jean
Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns
In support of Richard M. Stallman
https://stallmansupport.org/
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#60645: Acknowledgement (30.0.50; interactive MODES not detected properly)
[not found] ` <handler.60645.B.167315884819377.ack@debbugs.gnu.org>
@ 2023-01-08 6:33 ` Jean Louis
0 siblings, 0 replies; 6+ messages in thread
From: Jean Louis @ 2023-01-08 6:33 UTC (permalink / raw)
To: 60645
I wanted to say 8777 instead of 9819 here below, correction:
(defun my-function ()
(interactive nil '(text-mode mail-mode))
(message "Hello"))
major-mode ➜ mail-mode
My default was:
(setq read-extended-command-predicate nil)
- I can see 90 possible completions with M-X in mail-mode, WITHOUT `my-function'
- I can see 9819 possible completions with M-x in mail-mode, WITH `my-function'
when I turn it on:
(setq read-extended-command-predicate 'command-completion-default-include-p)
- I can see 90 possible completions with M-X in mail-mode, WITHOUT `my-function'
- I can see 8777 possible completions with M-x in mail-mode, WITHOUT `my-function'
--
Jean
Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns
In support of Richard M. Stallman
https://stallmansupport.org/
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#60645: 30.0.50; interactive MODES not detected properly
2023-01-08 6:19 bug#60645: 30.0.50; interactive MODES not detected properly Jean Louis
[not found] ` <handler.60645.B.167315884819377.ack@debbugs.gnu.org>
@ 2023-01-08 9:15 ` Eli Zaretskii
2023-01-08 11:26 ` Jean Louis
1 sibling, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2023-01-08 9:15 UTC (permalink / raw)
To: Jean Louis; +Cc: 60645
> Date: Sun, 08 Jan 2023 09:19:35 +0300
> From: Jean Louis <bugs@gnu.support>
>
>
> * Eli Zaretskii <eliz@gnu.org> [2023-01-08 09:07]:
> > > And I expect not to see it.
> > >
> > > What am I doing wrong?
> >
> > The doc string is wrong: the default is to show all commands. If you
> > want to see only those relevant to MODES, either use M-X (upper-case
> > X) or customize read-extended-command-predicate's value to be the
> > function command-completion-default-include-p.
>
> Now we know that there is some inconsistency, thanks for confirming
> it.
>
> For this function:
>
> (defun my-function ()
> (interactive nil '(text-mode mail-mode))
> (message "Hello"))
>
> major-mode ➜ mail-mode
>
> My default was:
> (setq read-extended-command-predicate nil)
>
> - I can see 90 possible completions with M-X in mail-mode, WITHOUT `my-function'
>
> - I can see 9819 possible completions with M-x in mail-mode, WITH `my-function'
>
> when I turn it on:
>
> (setq read-extended-command-predicate 'command-completion-default-include-p)
>
> - I can see 90 possible completions with M-X in mail-mode, WITHOUT `my-function'
>
> - I can see 9819 possible completions with M-x in mail-mode, WITHOUT `my-function'
>
> Which means that my function cannot be found with recommended
> settings in mail-mode, so there must be more inconsistencies.
Maybe one of the inconsistencies is your expectations. What did you
expect to happen in each case, and why?
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#60645: 30.0.50; interactive MODES not detected properly
2023-01-08 9:15 ` bug#60645: 30.0.50; interactive MODES not detected properly Eli Zaretskii
@ 2023-01-08 11:26 ` Jean Louis
2023-01-08 12:11 ` Eli Zaretskii
0 siblings, 1 reply; 6+ messages in thread
From: Jean Louis @ 2023-01-08 11:26 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 60645
* Eli Zaretskii <eliz@gnu.org> [2023-01-08 12:15]:
> Maybe one of the inconsistencies is your expectations. What did you
> expect to happen in each case, and why?
For this function:
(defun my-function ()
(interactive nil '(text-mode mail-mode))
(message "Hello"))
> If MODES is present, it should be a list of mode names (symbols) that
> this command is applicable for. The main effect of this is that
> ‘M-x TAB’ (by default) won’t list this command if the current buffer’s
> mode doesn’t match the list. That is, if either the major mode isn’t
> derived from them, or (when it’s a minor mode) the mode isn’t in effect.
I expect that M-x TAB shows it in this mail-mode, but it does not show
it this time. That is one of expectations, among several.
In general, I would like to setup functions NOT to show in modes where
they should not be shown.
I feel this function does not work.
If you have working example, show me.
--
Jean
Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns
In support of Richard M. Stallman
https://stallmansupport.org/
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#60645: 30.0.50; interactive MODES not detected properly
2023-01-08 11:26 ` Jean Louis
@ 2023-01-08 12:11 ` Eli Zaretskii
2023-01-08 21:39 ` Jean Louis
0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2023-01-08 12:11 UTC (permalink / raw)
To: Jean Louis; +Cc: 60645
> Date: Sun, 8 Jan 2023 14:26:18 +0300
> From: Jean Louis <bugs@gnu.support>
> Cc: 60645@debbugs.gnu.org
>
> * Eli Zaretskii <eliz@gnu.org> [2023-01-08 12:15]:
> > Maybe one of the inconsistencies is your expectations. What did you
> > expect to happen in each case, and why?
>
> For this function:
>
> (defun my-function ()
> (interactive nil '(text-mode mail-mode))
> (message "Hello"))
>
> > If MODES is present, it should be a list of mode names (symbols) that
> > this command is applicable for. The main effect of this is that
> > ‘M-x TAB’ (by default) won’t list this command if the current buffer’s
> > mode doesn’t match the list. That is, if either the major mode isn’t
> > derived from them, or (when it’s a minor mode) the mode isn’t in effect.
>
> I expect that M-x TAB shows it in this mail-mode, but it does not show
> it this time. That is one of expectations, among several.
>
> In general, I would like to setup functions NOT to show in modes where
> they should not be shown.
>
> I feel this function does not work.
>
> If you have working example, show me.
The interactive form is wrong. It should be this:
(defun my-function ()
(interactive nil text-mode mail-mode)
(message "Hello"))
IOW, no quoting and no explicit list. The documentation clearly says
(interactive &optional ARG-DESCRIPTOR &rest MODES)
"&rest MODES" means zero or more symbols, not a quoted list.
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#60645: 30.0.50; interactive MODES not detected properly
2023-01-08 12:11 ` Eli Zaretskii
@ 2023-01-08 21:39 ` Jean Louis
0 siblings, 0 replies; 6+ messages in thread
From: Jean Louis @ 2023-01-08 21:39 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 60645
* Eli Zaretskii <eliz@gnu.org> [2023-01-08 15:11]:
> > > If MODES is present, it should be a list of mode names (symbols) that
> > > this command is applicable for. The main effect of this is that
> > > ‘M-x TAB’ (by default) won’t list this command if the current buffer’s
> > > mode doesn’t match the list. That is, if either the major mode isn’t
> > > derived from them, or (when it’s a minor mode) the mode isn’t in effect.
> IOW, no quoting and no explicit list. The documentation clearly says
>
> (interactive &optional ARG-DESCRIPTOR &rest MODES)
>
> "&rest MODES" means zero or more symbols, not a quoted list.
I was confused with "If MODES is present, it should be a list of mode
names (symbols) that..."
--
Jean
Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns
In support of Richard M. Stallman
https://stallmansupport.org/
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-01-08 21:39 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-01-08 6:19 bug#60645: 30.0.50; interactive MODES not detected properly Jean Louis
[not found] ` <handler.60645.B.167315884819377.ack@debbugs.gnu.org>
2023-01-08 6:33 ` bug#60645: Acknowledgement (30.0.50; interactive MODES not detected properly) Jean Louis
2023-01-08 9:15 ` bug#60645: 30.0.50; interactive MODES not detected properly Eli Zaretskii
2023-01-08 11:26 ` Jean Louis
2023-01-08 12:11 ` Eli Zaretskii
2023-01-08 21:39 ` Jean Louis
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).