unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#7211: 23.2; partial-completion-mode suffix and completions buffer
@ 2010-10-14  0:30 Kevin Ryde
       [not found] ` <handler.7211.B.128701611831946.ack@debbugs.gnu.org>
  2010-11-08 20:55 ` bug#7211: 23.2; partial-completion-mode suffix and completions buffer Stefan Monnier
  0 siblings, 2 replies; 3+ messages in thread
From: Kevin Ryde @ 2010-10-14  0:30 UTC (permalink / raw)
  To: 7211

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





^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#7211: Acknowledgement (23.2; partial-completion-mode suffix and completions buffer)
       [not found] ` <handler.7211.B.128701611831946.ack@debbugs.gnu.org>
@ 2010-10-14  1:00   ` Kevin Ryde
  0 siblings, 0 replies; 3+ messages in thread
From: Kevin Ryde @ 2010-10-14  1:00 UTC (permalink / raw)
  To: control; +Cc: 7211

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.





^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#7211: 23.2; partial-completion-mode suffix and completions buffer
  2010-10-14  0:30 bug#7211: 23.2; partial-completion-mode suffix and completions buffer Kevin Ryde
       [not found] ` <handler.7211.B.128701611831946.ack@debbugs.gnu.org>
@ 2010-11-08 20:55 ` Stefan Monnier
  1 sibling, 0 replies; 3+ messages in thread
From: Stefan Monnier @ 2010-11-08 20:55 UTC (permalink / raw)
  To: Kevin Ryde

> 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






^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2010-11-08 20:55 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-10-14  0:30 bug#7211: 23.2; partial-completion-mode suffix and completions buffer Kevin Ryde
     [not found] ` <handler.7211.B.128701611831946.ack@debbugs.gnu.org>
2010-10-14  1:00   ` bug#7211: Acknowledgement (23.2; partial-completion-mode suffix and completions buffer) Kevin Ryde
2010-11-08 20:55 ` bug#7211: 23.2; partial-completion-mode suffix and completions buffer Stefan Monnier

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).