unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Drew Adams <drew.adams@oracle.com>
To: Ryan Thompson <rct@thompsonclan.org>, 27193@debbugs.gnu.org
Subject: bug#27193: 25.2; tmm should use completing-read-default
Date: Fri, 2 Jun 2017 17:15:52 -0700 (PDT)	[thread overview]
Message-ID: <3c7b01d3-57f9-4a69-ae5a-523041009cb8@default> (raw)
In-Reply-To: <CAHCt_aYMnLvf317wBFtwak0Hz-t=fAc_RxZ7eu8MZ_np59gryw@mail.gmail.com>

> So given your recommendation that alternative completion
> functions should "punt" cases they can't handle back to
> completing-read-default, along with the high likelihood
> that every alternate completion system is going to have
> something that it can't handle and needs to punt on, would
> you be interested in a patch that implements that punting
> mechanism within completing-read itself, so that
> ido-ubiqutous, ivy, helm, and others don't all have to
> invent their own punting code? I'm thinking along the lines
> of wrapping the call to completing-read-function with a
> condition-case that catches a "completing-read-fallback"
> signal, and calls completing-read-default instead. So any
> completion system that wants to punt just has to throw
> the appropriate signal.

First, I can tell that you have read and thought about
what I wrote.  Thanks for that.  I have not wasted my
time, in that case.

For the rest, as you can probably guess, I'm not in
really in favor of changing `completing-read'.

Tmm is something I don't really care about.
`completing-read' is something I do care about.
A priori, I would prefer that you do whatever it is
that you think you need to do to `tmm.el' than to
`completing-read' and related code.

That said, what you say does not sound objectionable.
It might be helpful.  But I represent just one opinion,
and I haven't really thought about this.

If you think such control is something that could be
generally helpful then I'd suggest that you bring it
up for discussion on emacs-devel@gnu.org.  That should
help.

In terms of implementation, maybe `catch' and `throw'
would be a better fit than `condition-case' with a
signal handler, but maybe not.  And you might have to
worry about where handling takes place, in case of
recursive completion - dunno.





  reply	other threads:[~2017-06-03  0:15 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-02  4:50 bug#27193: 25.2; tmm should use completing-read-default Ryan
2017-06-02 15:26 ` Drew Adams
2017-06-02 17:37   ` Ryan Thompson
2017-06-02 20:45     ` Ryan Thompson
2017-06-02 21:25     ` Drew Adams
2017-06-02 21:37       ` Dmitry Gutov
2017-06-02 22:19         ` Drew Adams
2017-06-02 22:24           ` Dmitry Gutov
2017-06-02 23:08           ` Ryan Thompson
2017-06-02 23:10             ` Ryan Thompson
2017-06-02 22:52       ` Ryan Thompson
2017-06-03  0:15         ` Drew Adams [this message]
2017-06-03  0:02 ` Glenn Morris

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=3c7b01d3-57f9-4a69-ae5a-523041009cb8@default \
    --to=drew.adams@oracle.com \
    --cc=27193@debbugs.gnu.org \
    --cc=rct@thompsonclan.org \
    /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).