* Command timeclock-out @ 2014-01-16 15:14 Miguel Guedes 2014-01-16 17:07 ` completing-read does not accept spaces (was: Command timeclock-out) Óscar Fuentes 0 siblings, 1 reply; 9+ messages in thread From: Miguel Guedes @ 2014-01-16 15:14 UTC (permalink / raw) To: help-gnu-emacs I've just noticed that when executing `timeclock-out' and inputting a reason it does not accept spaces. This command makes use of the function `completing-read'. Is not accepting spaces when entering a reason for clocking out the intended behaviour? ^ permalink raw reply [flat|nested] 9+ messages in thread
* completing-read does not accept spaces (was: Command timeclock-out) 2014-01-16 15:14 Command timeclock-out Miguel Guedes @ 2014-01-16 17:07 ` Óscar Fuentes 2014-01-16 18:13 ` Drew Adams 0 siblings, 1 reply; 9+ messages in thread From: Óscar Fuentes @ 2014-01-16 17:07 UTC (permalink / raw) To: Miguel Guedes; +Cc: help-gnu-emacs Miguel Guedes <miguel.a.guedes@gmail.com> writes: > I've just noticed that when executing `timeclock-out' and inputting a > reason it does not accept spaces. This command makes use of the > function `completing-read'. > > Is not accepting spaces when entering a reason for clocking out the > intended behaviour? Reading the docstring of completing-read I see no reason why it should not accept spaces. So either the docstring is at fault or there is a bug on completing-read. Curiously, the function will complete the user's input to a string containing spaces if there is one on the collection of candidates: (completing-read "say: " (list "hello there")) Please submit a bug report (M-x report-emacs-bug) against completing-read. ^ permalink raw reply [flat|nested] 9+ messages in thread
* RE: completing-read does not accept spaces (was: Command timeclock-out) 2014-01-16 17:07 ` completing-read does not accept spaces (was: Command timeclock-out) Óscar Fuentes @ 2014-01-16 18:13 ` Drew Adams 2014-01-16 18:36 ` completing-read does not accept spaces Óscar Fuentes ` (2 more replies) 0 siblings, 3 replies; 9+ messages in thread From: Drew Adams @ 2014-01-16 18:13 UTC (permalink / raw) To: Óscar Fuentes, Miguel Guedes; +Cc: help-gnu-emacs > > I've just noticed that when executing `timeclock-out' and inputting a > > reason it does not accept spaces. This command makes use of the > > function `completing-read'. > > > > Is not accepting spaces when entering a reason for clocking out the > > intended behaviour? > > Reading the docstring of completing-read I see no reason why it should > not accept spaces. So either the docstring is at fault or there is a bug > on completing-read. No. The doc to read is (elisp) `Completion Commands', in particular, about the variables named `minibuffer-local-*-map'. > Curiously, the function will complete the user's input to a string > containing spaces if there is one on the collection of candidates: > (completing-read "say: " (list "hello there")) Irrelevant here. As the doc I mentioned says, `SPC' is bound to `minibuffer-complete-word', and that is what you are seeing. `SPC' is not bound to `self-insert-command' here - it is not inserting itself. It is just completing a "word" at a time. > Please submit a bug report (M-x report-emacs-bug) against completing-read. No. There is no bug here. This is the behavior by design, like it or not. Do I personally think that `SPC' should generally be self-inserting during completion? You bet I do. And so should `?'. And so should `C-j' (newline). (And this is the case in Icicle mode, for instance.) But that is not the opinion of Emacs Dev. It took decades to finally get `SPC' to be self-inserting for file-name completion (see variable `minibuffer-local-filename-completion-map', in the same Elisp manual node). Patience. ;-) ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: completing-read does not accept spaces 2014-01-16 18:13 ` Drew Adams @ 2014-01-16 18:36 ` Óscar Fuentes 2014-01-16 18:50 ` Drew Adams 2014-01-16 19:01 ` Stefan Monnier 2014-01-23 12:29 ` Miguel Guedes 2 siblings, 1 reply; 9+ messages in thread From: Óscar Fuentes @ 2014-01-16 18:36 UTC (permalink / raw) To: help-gnu-emacs Drew Adams <drew.adams@oracle.com> writes: >> Reading the docstring of completing-read I see no reason why it should >> not accept spaces. So either the docstring is at fault or there is a bug >> on completing-read. > > No. The doc to read is (elisp) `Completion Commands', in particular, > about the variables named `minibuffer-local-*-map'. This is terrible. completing-read docstring says Read a string in the minibuffer, with completion. A string is a string is a string. It doesn't say "a word", or "a symbol", or "a string without spaces". It says "a string". >> Curiously, the function will complete the user's input to a string >> containing spaces if there is one on the collection of candidates: >> (completing-read "say: " (list "hello there")) > > Irrelevant here. As the doc I mentioned says, `SPC' is bound to > `minibuffer-complete-word', and that is what you are seeing. `SPC' is > not bound to `self-insert-command' here - it is not inserting itself. So by not binding SPC to self-insert-command they are breaking completing-read stated purpose. > It is just completing a "word" at a time. > >> Please submit a bug report (M-x report-emacs-bug) against completing-read. > > No. There is no bug here. This is the behavior by design, like > it or not. The docstring is wrong when it says "Read a string". That's a bug, IMO. > Do I personally think that `SPC' should generally be self-inserting > during completion? You bet I do. And so should `?'. And so should > `C-j' (newline). (And this is the case in Icicle mode, for instance.) > > But that is not the opinion of Emacs Dev. It took decades to finally > get `SPC' to be self-inserting for file-name completion (see variable > `minibuffer-local-filename-completion-map', in the same Elisp manual > node). Patience. ;-) Sigh. I know what you mean. ^ permalink raw reply [flat|nested] 9+ messages in thread
* RE: completing-read does not accept spaces 2014-01-16 18:36 ` completing-read does not accept spaces Óscar Fuentes @ 2014-01-16 18:50 ` Drew Adams 0 siblings, 0 replies; 9+ messages in thread From: Drew Adams @ 2014-01-16 18:50 UTC (permalink / raw) To: Óscar Fuentes, help-gnu-emacs > >> Reading the docstring of completing-read I see no reason why it should > >> not accept spaces. So either the docstring is at fault or there is a bug > >> on completing-read. > > > > No. The doc to read is (elisp) `Completion Commands', in particular, > > about the variables named `minibuffer-local-*-map'. > > This is terrible. completing-read docstring says > > Read a string in the minibuffer, with completion. > > A string is a string is a string. It doesn't say "a word", or "a > symbol", or "a string without spaces". It says "a string". It should perhaps say something like "Read your input in the minibuffer with completion, and return a string." It says "a string" because that is what `completing-read' returns. But if you find that doc string confusing, then by all means, consider filing a doc bug. > >> Curiously, the function will complete the user's input to a string > >> containing spaces if there is one on the collection of candidates: > >> (completing-read "say: " (list "hello there")) > > > > Irrelevant here. As the doc I mentioned says, `SPC' is bound to > > `minibuffer-complete-word', and that is what you are seeing. `SPC' is > > not bound to `self-insert-command' here - it is not inserting itself. > > So by not binding SPC to self-insert-command they are breaking > completing-read stated purpose. The purpose as stated does not say anything about what keys you can type to produce the minibuffer content that gets read. > > It is just completing a "word" at a time. > > > >> Please submit a bug report (M-x report-emacs-bug) against completing- > >> read. > > > > No. There is no bug here. This is the behavior by design, like > > it or not. > > The docstring is wrong when it says "Read a string". That's a bug, IMO. See above. The input part of the minibuffer (i.e., after the prompt) can be said to be read as a string. But even that is not necessarily accurate. It is certainly not simply read as a Lisp string, in the sense of what function `read' does. But really, I believe what is intended by "Read a string" here is that the minibufer content is possibly completed and then is accepted and interpreted. IOW, this use of "read" is in the general sense of _reading input_. The "as a string" really refers to the fact that what is produced by the act of reading (i.e., what is returned by the function) is a string. But again, if the doc is not clear to you, consider letting Emacs Dev know, by filing a bug report. Perhaps they can improve it to remove the perceived ambiguity. > > Do I personally think that `SPC' should generally be self-inserting > > during completion? You bet I do. And so should `?'. And so should > > `C-j' (newline). (And this is the case in Icicle mode, for instance.) > > > > But that is not the opinion of Emacs Dev. It took decades to finally > > get `SPC' to be self-inserting for file-name completion (see variable > > `minibuffer-local-filename-completion-map', in the same Elisp manual > > node). Patience. ;-) > > Sigh. I know what you mean. Hang in there, Oscar. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: completing-read does not accept spaces 2014-01-16 18:13 ` Drew Adams 2014-01-16 18:36 ` completing-read does not accept spaces Óscar Fuentes @ 2014-01-16 19:01 ` Stefan Monnier 2014-01-23 12:29 ` Miguel Guedes 2 siblings, 0 replies; 9+ messages in thread From: Stefan Monnier @ 2014-01-16 19:01 UTC (permalink / raw) To: help-gnu-emacs > Patience. ;-) Bug reports can help, too, Stefan ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: completing-read does not accept spaces 2014-01-16 18:13 ` Drew Adams 2014-01-16 18:36 ` completing-read does not accept spaces Óscar Fuentes 2014-01-16 19:01 ` Stefan Monnier @ 2014-01-23 12:29 ` Miguel Guedes 2014-01-23 14:20 ` Óscar Fuentes 2014-01-23 17:20 ` Drew Adams 2 siblings, 2 replies; 9+ messages in thread From: Miguel Guedes @ 2014-01-23 12:29 UTC (permalink / raw) To: Drew Adams, Óscar Fuentes; +Cc: help-gnu-emacs On 16/01/14 18:13, Drew Adams wrote: <snip> > No. There is no bug here. This is the behavior by design, like > it or not. > > Do I personally think that `SPC' should generally be self-inserting > during completion? You bet I do. And so should `?'. And so should > `C-j' (newline). (And this is the case in Icicle mode, for instance.) > > But that is not the opinion of Emacs Dev. It took decades to finally > get `SPC' to be self-inserting for file-name completion (see variable > `minibuffer-local-filename-completion-map', in the same Elisp manual > node). Patience. ;-) > But would it be fair to say that the command `timeclock-out' shouldn't be making use of `completing-read' for entering a reason (to clock out) and thus a bug should be filed? Many thanks for your replies. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: completing-read does not accept spaces 2014-01-23 12:29 ` Miguel Guedes @ 2014-01-23 14:20 ` Óscar Fuentes 2014-01-23 17:20 ` Drew Adams 1 sibling, 0 replies; 9+ messages in thread From: Óscar Fuentes @ 2014-01-23 14:20 UTC (permalink / raw) To: Miguel Guedes; +Cc: help-gnu-emacs Miguel Guedes <miguel.a.guedes@gmail.com> writes: > But would it be fair to say that the command `timeclock-out' shouldn't > be making use of `completing-read' for entering a reason (to clock > out) and thus a bug should be filed? I'm not sure about the intent of the timeclock author about that. The same as `project', `reason' could be expected to be a keyword ("finished", "pause", "lunch".) You can use non-blank separators to cheat ("walk-dog"). Anyways, if the author's plans was to allow full strings, there is a bug related to completing-read usage; if not, the documentation of timeclock should be expanded to explain how `reason' should look like. So I'll go ahead and file a bug (M-x report-emacs-bug) ^ permalink raw reply [flat|nested] 9+ messages in thread
* RE: completing-read does not accept spaces 2014-01-23 12:29 ` Miguel Guedes 2014-01-23 14:20 ` Óscar Fuentes @ 2014-01-23 17:20 ` Drew Adams 1 sibling, 0 replies; 9+ messages in thread From: Drew Adams @ 2014-01-23 17:20 UTC (permalink / raw) To: Miguel Guedes, Óscar Fuentes; +Cc: help-gnu-emacs > But would it be fair to say that the command `timeclock-out' shouldn't > be making use of `completing-read' for entering a reason (to clock out) > and thus a bug should be filed? Sorry, I know nothing about Timeclock - what it does, or why, or how. I never time anything. And I haven't punched a timeclock since doing factory work when young - many moon ago. You can probably judge yourself whether it has a bug. And you need not be sure, to file a bug report. Emacs Dev will tell you whether they agree that what you reported is a bug. `M-x report-emacs-bug'. ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2014-01-23 17:20 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-01-16 15:14 Command timeclock-out Miguel Guedes 2014-01-16 17:07 ` completing-read does not accept spaces (was: Command timeclock-out) Óscar Fuentes 2014-01-16 18:13 ` Drew Adams 2014-01-16 18:36 ` completing-read does not accept spaces Óscar Fuentes 2014-01-16 18:50 ` Drew Adams 2014-01-16 19:01 ` Stefan Monnier 2014-01-23 12:29 ` Miguel Guedes 2014-01-23 14:20 ` Óscar Fuentes 2014-01-23 17:20 ` Drew Adams
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).