From: Stefan Monnier <monnier@iro.umontreal.ca> To: Tassilo Horn <tassilo@member.fsf.org> Cc: emacs-orgmode@gnu.org, emacs-devel@gnu.org Subject: Re: [O] Re: Completing with anything Date: Wed, 04 May 2011 12:07:23 -0300 [thread overview] Message-ID: <jwv8vumv7bm.fsf-monnier+emacs@gnu.org> (raw) In-Reply-To: <sa3wrizpzpi.fsf@cigue.easter-eggs.fr> (Julien Danjou's message of "Tue, 12 Apr 2011 11:48:41 +0200") >> Hmm... good point, doing it in completion-choices is not reliable, tho >> using as completion table something like: >> >> (lambda (string pred action) >> (let ((res (complete-with-action action completion-choices string pred))) >> (if (and (eq action nil) >> (assq (if (eq res t) string res) <expansion-alist>)) >> (cdr (assq (if (eq res t) string res) <expansion-alist>)) >> res))) >> >> should work OK for prefix completion, but that means using the expansion >> "by hand" rather than via expand-abbrev, which may not be an option. > Yeah. That does not looks like a simple/good option. > As it stands, I guess the bbdb solution to return a function doing the > replacement rather than trying to return a list and conform with the > (current) way of doing completion is really simpler, unfortunately. :( While taking a look at adding the necessary functionality to minibuffer.el, I bumped into a problem: If you complete "ni" to "nic" which is a valid alias and you also have a "nicolas" alias, running expand-abbrev after the completion may not be right since it will prevent you from getting to "nicolas". Now, this is a minor problem. But the more general case is when the user has set completion-cycle-threshold so that completion happened via cycling: the string after completion is a valid abbrev (presumably) but calling expand-abbrev on it will interfere with the cycling in a big way (the details of what will happen depend on the way cycling is implemented and what kind of abbrevs we're talking about). So at least cycling-completion seems fundamentally incompatible with this idea of abbrev-expansion-after-completion, at least if you want to allow arbitrarily complex abbrevs like skeletons. Could you give me an idea of what kind of abbrevs the code should try to accommodate? Stefan
WARNING: multiple messages have this Message-ID (diff)
From: Stefan Monnier <monnier@iro.umontreal.ca> To: Tassilo Horn <tassilo@member.fsf.org> Cc: emacs-orgmode@gnu.org, emacs-devel@gnu.org Subject: Re: Re: Completing with anything Date: Wed, 04 May 2011 12:07:23 -0300 [thread overview] Message-ID: <jwv8vumv7bm.fsf-monnier+emacs@gnu.org> (raw) In-Reply-To: <sa3wrizpzpi.fsf@cigue.easter-eggs.fr> (Julien Danjou's message of "Tue, 12 Apr 2011 11:48:41 +0200") >> Hmm... good point, doing it in completion-choices is not reliable, tho >> using as completion table something like: >> >> (lambda (string pred action) >> (let ((res (complete-with-action action completion-choices string pred))) >> (if (and (eq action nil) >> (assq (if (eq res t) string res) <expansion-alist>)) >> (cdr (assq (if (eq res t) string res) <expansion-alist>)) >> res))) >> >> should work OK for prefix completion, but that means using the expansion >> "by hand" rather than via expand-abbrev, which may not be an option. > Yeah. That does not looks like a simple/good option. > As it stands, I guess the bbdb solution to return a function doing the > replacement rather than trying to return a list and conform with the > (current) way of doing completion is really simpler, unfortunately. :( While taking a look at adding the necessary functionality to minibuffer.el, I bumped into a problem: If you complete "ni" to "nic" which is a valid alias and you also have a "nicolas" alias, running expand-abbrev after the completion may not be right since it will prevent you from getting to "nicolas". Now, this is a minor problem. But the more general case is when the user has set completion-cycle-threshold so that completion happened via cycling: the string after completion is a valid abbrev (presumably) but calling expand-abbrev on it will interfere with the cycling in a big way (the details of what will happen depend on the way cycling is implemented and what kind of abbrevs we're talking about). So at least cycling-completion seems fundamentally incompatible with this idea of abbrev-expansion-after-completion, at least if you want to allow arbitrarily complex abbrevs like skeletons. Could you give me an idea of what kind of abbrevs the code should try to accommodate? Stefan
next prev parent reply other threads:[~2011-05-04 15:07 UTC|newest] Thread overview: 105+ messages / expand[flat|nested] mbox.gz Atom feed top 2011-02-09 9:02 Announcing org-contacts, a bbdb-like contact manager for Org Julien Danjou 2011-02-09 19:00 ` John Hendy 2011-02-09 20:04 ` Sébastien Vauban 2011-02-09 20:43 ` Julien Danjou 2011-02-09 21:10 ` Russell Adams 2011-02-09 21:25 ` Marcelo de Moraes Serpa 2011-02-09 20:42 ` Julien Danjou 2011-02-10 14:34 ` John Hendy 2011-02-10 14:42 ` Julien Danjou 2011-02-09 19:16 ` Tassilo Horn 2011-02-09 19:26 ` John Hendy 2011-02-10 13:39 ` Dan Griswold 2011-02-10 14:42 ` Julien Danjou 2011-02-10 14:45 ` Dan Davison 2011-02-10 14:56 ` Julien Danjou 2011-02-10 15:05 ` John Hendy 2011-02-10 15:08 ` Dan Davison 2011-02-10 15:26 ` Rodrigo Lazo 2011-02-10 16:30 ` Tassilo Horn 2011-02-10 16:56 ` Julien Danjou 2011-02-10 18:20 ` Stefan Monnier 2011-02-10 18:20 ` Stefan Monnier 2011-02-11 10:21 ` [Orgmode] " Tassilo Horn 2011-02-11 14:47 ` Stefan Monnier 2011-02-11 20:15 ` Tassilo Horn 2011-02-11 23:08 ` Stefan Monnier 2011-02-12 18:37 ` Tassilo Horn 2011-02-20 16:58 ` Julien Danjou 2011-03-18 15:00 ` Completing with anything (was: [Orgmode] Re: Announcing org-contacts, a bbdb-like contact manager for Org) Julien Danjou 2011-03-18 18:16 ` Completing with anything Stefan Monnier 2011-03-21 11:23 ` Julien Danjou 2011-03-21 12:51 ` Tassilo Horn 2011-03-21 13:36 ` Julien Danjou 2011-03-21 14:17 ` Tassilo Horn 2011-03-21 16:27 ` Stefan Monnier 2011-03-21 16:55 ` Dimitri Fontaine 2011-03-21 17:04 ` Julien Danjou 2011-03-21 22:00 ` Stefan Monnier 2011-03-22 3:01 ` Eric Abrahamsen 2011-03-22 14:13 ` Eric S Fraga 2011-03-22 15:02 ` Eric Abrahamsen 2011-03-23 9:45 ` Julien Danjou 2011-03-23 14:13 ` Eric S Fraga 2011-03-23 15:05 ` Julien Danjou 2011-03-23 16:03 ` Eric S Fraga 2011-03-24 20:15 ` Cian 2011-03-25 10:16 ` Julien Danjou 2011-03-26 22:06 ` Michael Markert 2011-03-26 23:40 ` Michael Markert 2011-04-09 12:13 ` Julien Danjou 2011-04-09 13:54 ` Michael Markert 2011-04-11 9:24 ` Julien Danjou 2011-04-11 9:37 ` Bastien 2011-04-11 13:42 ` Michael Markert 2011-04-30 13:39 ` Michael Markert 2011-05-03 8:09 ` Julien Danjou 2011-03-22 10:00 ` Aankhen 2011-03-22 11:57 ` [O] " Tassilo Horn 2011-03-22 11:57 ` Tassilo Horn 2011-03-22 12:03 ` [O] " Julien Danjou 2011-03-22 12:03 ` Julien Danjou 2011-03-22 12:31 ` [O] " Tassilo Horn 2011-03-22 12:31 ` Tassilo Horn 2011-03-21 15:19 ` Stefan Monnier 2011-03-21 15:54 ` Julien Danjou 2011-04-09 15:11 ` [O] " Julien Danjou 2011-04-09 15:11 ` Julien Danjou 2011-04-10 4:03 ` [O] " Stefan Monnier 2011-04-10 4:03 ` Stefan Monnier 2011-04-11 9:21 ` [O] " Julien Danjou 2011-04-11 9:21 ` Julien Danjou 2011-04-12 3:42 ` [O] " Stefan Monnier 2011-04-12 3:42 ` Stefan Monnier 2011-04-12 9:48 ` [O] " Julien Danjou 2011-04-12 9:48 ` Julien Danjou 2011-05-04 15:07 ` Stefan Monnier [this message] 2011-05-04 15:07 ` Stefan Monnier 2011-05-04 15:34 ` [O] " Julien Danjou 2011-05-04 15:34 ` Julien Danjou 2011-05-24 3:14 ` Stefan Monnier 2011-05-24 7:33 ` Julien Danjou 2011-05-24 9:16 ` Antoine Levitt 2011-05-24 12:47 ` Stefan Monnier 2011-05-24 13:18 ` Antoine Levitt 2011-05-24 14:04 ` Stefan Monnier 2011-05-24 14:05 ` Stefan Monnier 2011-05-24 14:45 ` Antoine Levitt 2011-05-24 18:05 ` Stefan Monnier 2011-05-24 18:30 ` Antoine Levitt 2011-05-26 2:23 ` Stefan Monnier 2011-05-26 7:50 ` Antoine Levitt 2011-05-28 2:15 ` Stefan Monnier 2011-02-11 11:08 ` Announcing org-contacts, a bbdb-like contact manager for Org Thierry Volpiatto 2011-02-11 11:08 ` Thierry Volpiatto 2011-02-11 15:08 ` Darlan Cavalcante Moreira 2011-02-23 11:09 ` Julien Danjou 2011-02-12 12:18 ` Bastien 2011-02-12 16:35 ` John Hendy 2011-02-12 17:12 ` Bastien 2011-02-23 11:11 ` Julien Danjou 2011-02-12 19:42 ` Matt Lundin 2011-02-23 11:14 ` Julien Danjou 2011-02-14 18:24 ` Wes Hardaker 2011-02-23 11:10 ` Julien Danjou 2011-02-26 17:26 ` Bastien
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 * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=jwv8vumv7bm.fsf-monnier+emacs@gnu.org \ --to=monnier@iro.umontreal.ca \ --cc=emacs-devel@gnu.org \ --cc=emacs-orgmode@gnu.org \ --cc=tassilo@member.fsf.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: linkBe 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 external index https://git.savannah.gnu.org/cgit/emacs.git https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.