unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: "João Távora" <joaotavora@gmail.com>
To: Dario Gjorgjevski <dario.gjorgjevski@gmail.com>
Cc: 42058@debbugs.gnu.org
Subject: bug#42058: Cannot M-x (some?) single-letter commands in ‘fido-mode’
Date: Mon, 29 Jun 2020 15:13:11 +0100	[thread overview]
Message-ID: <87mu4m9czs.fsf@gmail.com> (raw)
In-Reply-To: <fv2zojimfet7uw.fsf@gmail.com> (Dario Gjorgjevski's message of "Fri, 26 Jun 2020 12:54:47 +0200")

Hello Dario,

Dario Gjorgjevski <dario.gjorgjevski@gmail.com> writes:

> Okay, this one is super weird.
>
> To reproduce, launch ‘emacs -Q’ and then
>
>     M-: (defun T () (interactive) (message "T")) RET
>     M-x fido-mode RET
>     M-x T RET
>
> This results in “Wrong type argument: number-or-marker-p, nil”.  The
> issue seems to stem from the fact that
>
>     M-: (read-extended-command) RET
>     T RET
>
> returns ‘icomplete-fido-delete-char’ as opposed to ‘T’, which is
> returned when ‘fido-mode’ is disabled.

Yes, that is exactly it.

First, let's establish that the error happens because you're invoking an
interactive command that doesn't make sense in that context.  The
question becomes why pressing, in succession

   M-x T

does _not_ place the command named "T" in the top of the list so that
typing RET immediately would invoke it.  I don't have a good answer for
this yet.  I do know that two letters don't trigger this problem:

   (defun tt () (interactive) (message "yay TT"))

Will be the first completion to M-x tt ...

The completion to icomplete-fido-delete-char is just accidental: it
could have completed to anything else containing a "t" (since by
default, fido-mode is case-insensitive).

By the way, you can _force_ M-x to complete to the command named T by
typing M-j _instead_ of RET.   

João





  reply	other threads:[~2020-06-29 14:13 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-26 10:54 bug#42058: Cannot M-x (some?) single-letter commands in ‘fido-mode’ Dario Gjorgjevski
2020-06-29 14:13 ` João Távora [this message]
2020-07-01 10:45   ` Dario Gjorgjevski
2020-07-01 10:47     ` João Távora

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87mu4m9czs.fsf@gmail.com \
    --to=joaotavora@gmail.com \
    --cc=42058@debbugs.gnu.org \
    --cc=dario.gjorgjevski@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).