GNU bug report logs - #7211
completion suffix and completions buffer

Previous Next

Package: emacs;

Reported by: Kevin Ryde <user42 <at> zip.com.au>

Date: Thu, 14 Oct 2010 00:29:01 UTC

Severity: normal

Found in version 23.2

Done: Stefan Monnier <monnier <at> iro.umontreal.ca>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 7211 in the body.
You can then email your comments to 7211 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#7211; Package emacs. (Thu, 14 Oct 2010 00:29:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Kevin Ryde <user42 <at> zip.com.au>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Thu, 14 Oct 2010 00:29:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Kevin Ryde <user42 <at> zip.com.au>
To: bug-gnu-emacs <at> gnu.org
Subject: 23.2; partial-completion-mode suffix and completions buffer
Date: Thu, 14 Oct 2010 11:30:58 +1100
In partial completion mode, if the choices have a common suffix, then
selecting an entry from the *Completions* buffer returns a string which
is not that choice.  For example

    (completing-read "enter: " '(("xx-aa" . "")
                                 ("yy-aa" . "")))

    type "-aa"
    press Tab
    M-v to go to *Completions* buffer
    Ret to choose "xx-aa"
    => return value "xx-aa-aa"

where I hoped the return would be "xx-aa".


In GNU Emacs 23.2.1 (i486-pc-linux-gnu, GTK+ Version 2.20.0)
 of 2010-05-16 on raven, modified by Debian
configured using `configure  '--build' 'i486-linux-gnu' '--build' 'i486-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib' '--localstatedir=/var/lib' '--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-pop=yes' '--enable-locallisppath=/etc/emacs23:/etc/emacs:/usr/local/share/emacs/23.2/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/23.2/site-lisp:/usr/share/emacs/site-lisp:/usr/share/emacs/23.2/leim' '--with-x=yes' '--with-x-toolkit=gtk' '--with-toolkit-scroll-bars' 'build_alias=i486-linux-gnu' 'CFLAGS=-DDEBIAN -g -O2' 'LDFLAGS=-g' 'CPPFLAGS=''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_AU
  value of $XMODIFIERS: nil
  locale-coding-system: iso-latin-1-unix
  default enable-multibyte-characters: t




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#7211; Package emacs. (Thu, 14 Oct 2010 00:58:02 GMT) Full text and rfc822 format available.

Message #8 received at 7211 <at> debbugs.gnu.org (full text, mbox):

From: Kevin Ryde <user42 <at> zip.com.au>
To: control <at> debbugs.gnu.org
Cc: 7211 <at> debbugs.gnu.org
Subject: Re: bug#7211: Acknowledgement (23.2;
	partial-completion-mode suffix and completions buffer)
Date: Thu, 14 Oct 2010 12:00:35 +1100
retitle 7211 completion suffix and completions buffer
thanks

Oops, this is the partial completion thingie which is without
partial-completion-mode enabled.  The latter might be right already.




Changed bug title to 'completion suffix and completions buffer' from '23.2; partial-completion-mode suffix and completions buffer' Request was from Kevin Ryde <user42 <at> zip.com.au> to control <at> debbugs.gnu.org. (Thu, 14 Oct 2010 00:58:02 GMT) Full text and rfc822 format available.

Reply sent to Stefan Monnier <monnier <at> iro.umontreal.ca>:
You have taken responsibility. (Mon, 08 Nov 2010 20:55:02 GMT) Full text and rfc822 format available.

Notification sent to Kevin Ryde <user42 <at> zip.com.au>:
bug acknowledged by developer. (Mon, 08 Nov 2010 20:55:02 GMT) Full text and rfc822 format available.

Message #15 received at 7211-done <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Kevin Ryde <user42 <at> zip.com.au>
Subject: Re: bug#7211: 23.2;
	partial-completion-mode suffix and completions buffer
Date: Mon, 08 Nov 2010 15:55:49 -0500
> In partial completion mode, if the choices have a common suffix, then
> selecting an entry from the *Completions* buffer returns a string which
> is not that choice.  For example

>     (completing-read "enter: " '(("xx-aa" . "")
>                                  ("yy-aa" . "")))

>     type "-aa"
>     press Tab
>     M-v to go to *Completions* buffer
>     Ret to choose "xx-aa"
>     => return value "xx-aa-aa"

> where I hoped the return would be "xx-aa".

Thanks.  I've installed the patch below (in emacs-23) which should fix
this problem.


        Stefan


=== modified file 'lisp/minibuffer.el'
--- lisp/minibuffer.el	2010-10-17 17:30:22 +0000
+++ lisp/minibuffer.el	2010-11-08 20:52:12 +0000
@@ -41,7 +41,7 @@
 ;;   provide the start info but not the end info in
 ;;   completion-base-position.
 ;; - quoting is problematic.  E.g. the double-dollar quoting used in
-;;   substitie-in-file-name (and hence read-file-name-internal) bumps
+;;   substitute-in-file-name (and hence read-file-name-internal) bumps
 ;;   into various bugs:
 ;; - choose-completion doesn't know how to quote the text it inserts.
 ;;   E.g. it fails to double the dollars in file-name completion, or
@@ -1075,6 +1075,7 @@
   (interactive)
   (message "Making completion list...")
   (lexical-let* ((start (field-beginning))
+                 (end (field-end))
 		 (string (field-string))
 		 (completions (completion-all-completions
 			       string
@@ -1106,10 +1107,12 @@
                             completions)))
             (with-current-buffer standard-output
               (set (make-local-variable 'completion-base-position)
-                   ;; FIXME: We should provide the END part as well, but
-                   ;; currently completion-all-completions does not give
-                   ;; us the necessary information.
-                   (list (+ start base-size) nil)))
+                   (list (+ start base-size)
+                         ;; FIXME: We should pay attention to completion
+                         ;; boundaries here, but currently
+                         ;; completion-all-completions does not give us the
+                         ;; necessary information.
+                         end)))
             (display-completion-list completions)))
 
       ;; If there are no completions, or if the current input is already the





bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 07 Dec 2010 12:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 14 years and 250 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.