unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* lisp-complete-symbol
@ 2005-12-21 21:36 Stefan Monnier
  2005-12-21 21:41 ` lisp-complete-symbol Lennart Borgman
  0 siblings, 1 reply; 7+ messages in thread
From: Stefan Monnier @ 2005-12-21 21:36 UTC (permalink / raw)


The following change has some annoying side-effect:

2005-12-10  Kevin Rodgers  <ihs_4664@ihs.com>

	* emacs-lisp/lisp.el (lisp-complete-symbol): Regenerate the
	completion list, even after a partial completion has been
	inserted in the current buffer.  If there are more than 1
	completion, redisplay the *Completions* buffer; if the
	completion is unique, delete the *Completions* window.

The problem is that it changed the behavior such that the *completions*
buffer is shown after every completion.  Before that change, the
*completions* buffer was only shown if the completion failed because
of ambiguity.

I'm not sure what this was supposed to fix, but I think it was not the right
fix,


        Stefan

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

* Re: lisp-complete-symbol
  2005-12-21 21:36 lisp-complete-symbol Stefan Monnier
@ 2005-12-21 21:41 ` Lennart Borgman
  2005-12-21 23:16   ` lisp-complete-symbol Stefan Monnier
  0 siblings, 1 reply; 7+ messages in thread
From: Lennart Borgman @ 2005-12-21 21:41 UTC (permalink / raw)
  Cc: emacs-devel

Stefan Monnier wrote:

>The following change has some annoying side-effect:
>
>2005-12-10  Kevin Rodgers  <ihs_4664@ihs.com>
>
>	* emacs-lisp/lisp.el (lisp-complete-symbol): Regenerate the
>	completion list, even after a partial completion has been
>	inserted in the current buffer.  If there are more than 1
>	completion, redisplay the *Completions* buffer; if the
>	completion is unique, delete the *Completions* window.
>
>The problem is that it changed the behavior such that the *completions*
>buffer is shown after every completion.  Before that change, the
>*completions* buffer was only shown if the completion failed because
>of ambiguity.
>
>I'm not sure what this was supposed to fix, but I think it was not the right
>fix,
>  
>
I believe it was to display the correct list in the *Completions* buffer 
if the user changed the input string to complete.

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

* Re: lisp-complete-symbol
  2005-12-21 21:41 ` lisp-complete-symbol Lennart Borgman
@ 2005-12-21 23:16   ` Stefan Monnier
  2005-12-21 23:30     ` lisp-complete-symbol Lennart Borgman
  2005-12-22  3:28     ` lisp-complete-symbol Drew Adams
  0 siblings, 2 replies; 7+ messages in thread
From: Stefan Monnier @ 2005-12-21 23:16 UTC (permalink / raw)
  Cc: emacs-devel

>> The following change has some annoying side-effect:
>> 
>> 2005-12-10  Kevin Rodgers  <ihs_4664@ihs.com>
>> 
>> * emacs-lisp/lisp.el (lisp-complete-symbol): Regenerate the
>> completion list, even after a partial completion has been
>> inserted in the current buffer.  If there are more than 1
>> completion, redisplay the *Completions* buffer; if the
>> completion is unique, delete the *Completions* window.
>> 
>> The problem is that it changed the behavior such that the *completions*
>> buffer is shown after every completion.  Before that change, the
>> *completions* buffer was only shown if the completion failed because
>> of ambiguity.
>> 
>> I'm not sure what this was supposed to fix, but I think it was not the right
>> fix,
> I believe it was to display the correct list in the *Completions* buffer if
> the user changed the input string to complete.

You mean, to update the *Completions* buffer on the fly rather than only
when a completion fails?
That'd be a new feature, not a bug fix.  And his code doesn't do that: it
only updates the buffer after completion, not after every keystroke.

How 'bout the patch below instead which simply hides the *Completions*
buffer after a successful completion.


        Stefan


--- lisp.el	21 déc 2005 14:59:54 -0500	1.71
+++ lisp.el	21 déc 2005 18:15:43 -0500	
@@ -569,11 +569,12 @@
 	      ((null completion)
 	       (message "Can't find completion for \"%s\"" pattern)
 	       (ding))
-	      (t
-	       (unless (string= completion pattern)
+	      ((not (string= pattern completion))
 		 (delete-region beg end)
 		 (insert completion)
-		 (setq pattern completion))
+               (let ((win (get-buffer-window "*Completions*" 0)))
+                 (if win (with-selected-window win (bury-buffer)))))
+	      (t
 	       (message "Making completion list...")
 	       (let ((list (all-completions pattern obarray predicate)))
 		 (setq list (sort list 'string<))

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

* Re: lisp-complete-symbol
  2005-12-21 23:16   ` lisp-complete-symbol Stefan Monnier
@ 2005-12-21 23:30     ` Lennart Borgman
  2005-12-22  1:10       ` lisp-complete-symbol Katsumi Yamaoka
  2005-12-22  3:28     ` lisp-complete-symbol Drew Adams
  1 sibling, 1 reply; 7+ messages in thread
From: Lennart Borgman @ 2005-12-21 23:30 UTC (permalink / raw)
  Cc: emacs-devel

Stefan Monnier wrote:

>You mean, to update the *Completions* buffer on the fly rather than only
>when a completion fails?
>  
>
Sorry no, just when trying completion again.

>That'd be a new feature, not a bug fix.  And his code doesn't do that: it
>only updates the buffer after completion, not after every keystroke.
>
>How 'bout the patch below instead which simply hides the *Completions*
>buffer after a successful completion.
>  
>
Just tested. Works ok for me.

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

* Re: lisp-complete-symbol
  2005-12-21 23:30     ` lisp-complete-symbol Lennart Borgman
@ 2005-12-22  1:10       ` Katsumi Yamaoka
  2005-12-22  1:33         ` lisp-complete-symbol Stefan Monnier
  0 siblings, 1 reply; 7+ messages in thread
From: Katsumi Yamaoka @ 2005-12-22  1:10 UTC (permalink / raw)


There's another problem as a report I sent to the pretest-bug
list: http://article.gmane.org/gmane.emacs.pretest.bugs/10518

> When I perform eval-expression in the minibuffer and complete
> some lisp symbol using the M-TAB key, the result is hidden by
> the message "Making completion list...done" for a while.  That
> is annoying.  It doesn't occur when I perform find-file, etc.

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

* Re: lisp-complete-symbol
  2005-12-22  1:10       ` lisp-complete-symbol Katsumi Yamaoka
@ 2005-12-22  1:33         ` Stefan Monnier
  0 siblings, 0 replies; 7+ messages in thread
From: Stefan Monnier @ 2005-12-22  1:33 UTC (permalink / raw)
  Cc: emacs-devel

> There's another problem as a report I sent to the pretest-bug
> list: http://article.gmane.org/gmane.emacs.pretest.bugs/10518

Yes, it's related.


        Stefan

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

* RE: lisp-complete-symbol
  2005-12-21 23:16   ` lisp-complete-symbol Stefan Monnier
  2005-12-21 23:30     ` lisp-complete-symbol Lennart Borgman
@ 2005-12-22  3:28     ` Drew Adams
  1 sibling, 0 replies; 7+ messages in thread
From: Drew Adams @ 2005-12-22  3:28 UTC (permalink / raw)


    How 'bout the patch below instead which simply hides the *Completions*
    buffer after a successful completion.

    +               (let ((win (get-buffer-window "*Completions*" 0)))
    +                 (if win (with-selected-window win (bury-buffer)))))

"simply hides"? That depends.

Here we go again. We get into the same problems we (some of those who use
`pop-up-frames'=t) have had elsewhere - debugger, View mode, Customize,...
In each case, `bury-buffer' was added, I filed a bug report (or we discussed
it here, in the case of View mode), and `bury-buffer' was eventually
replaced with `quit-window' or something that had +/- the same effect as
`quit-window' - or by an option, letting people choose the quitting effect
they want.

Can this at least be an option? If not, if we must choose, then I vote for
`quit-window', not `bury-buffer'. I do _not_ want either 1) another buffer
taking the place of *Completions* in its (one-window) frame or 2) the
*Completions* frame flashing across my display to become an icon (the effect
iconification gives on Windows). I have no need for a *Completions*-frame
icon (who does?); I just want to delete the frame when I'm done with it -
bye bye. We've been through this discussion before. Can we please make this
work adequately for everyone?

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

end of thread, other threads:[~2005-12-22  3:28 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-12-21 21:36 lisp-complete-symbol Stefan Monnier
2005-12-21 21:41 ` lisp-complete-symbol Lennart Borgman
2005-12-21 23:16   ` lisp-complete-symbol Stefan Monnier
2005-12-21 23:30     ` lisp-complete-symbol Lennart Borgman
2005-12-22  1:10       ` lisp-complete-symbol Katsumi Yamaoka
2005-12-22  1:33         ` lisp-complete-symbol Stefan Monnier
2005-12-22  3:28     ` lisp-complete-symbol Drew Adams

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