unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#7492: 23.2; cl loop over the windows: infinite loop, info doc
@ 2010-11-26 20:38 Michael Heerdegen
  2010-11-30  0:29 ` Glenn Morris
  0 siblings, 1 reply; 3+ messages in thread
From: Michael Heerdegen @ 2010-11-26 20:38 UTC (permalink / raw)
  To: 7492




In GNU Emacs 23.2.1 (i486-pc-linux-gnu, X toolkit, Xaw3d scroll bars)
 of 2010-08-14 on raven, modified by Debian
Windowing system distributor `The X.Org Foundation', version 11.0.10707000
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=lucid' '--with-toolkit-scroll-bars' '--without-gconf' 'build_alias=i486-linux-gnu' 'CFLAGS=-DDEBIAN -g -O2' 'LDFLAGS=-g' 'CPPFLAGS=''

Hello,

if you evaluate the following sexp in Emacs -Q, you get an infinitive
loop:

(progn
  (require 'cl)
  (select-window (minibuffer-window))
  (loop for win being the windows do 'nothing))

This should be fixed.


Moreover, the "CL" info manual should be clarified here:
  (cl)Top > Control Structure > Loop Facility > For Clauses

For looping over "the windows", it only says:

`for VAR being the windows [of FRAME]'
     This clause iterates over the windows (in the Emacs sense) of the
     current frame, or of the specified FRAME.

It's not clear if/when the minibuffer window is included and in which
order the iteration is done.





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

* bug#7492: 23.2; cl loop over the windows: infinite loop, info doc
  2010-11-26 20:38 bug#7492: 23.2; cl loop over the windows: infinite loop, info doc Michael Heerdegen
@ 2010-11-30  0:29 ` Glenn Morris
  2010-12-02 17:47   ` Glenn Morris
  0 siblings, 1 reply; 3+ messages in thread
From: Glenn Morris @ 2010-11-30  0:29 UTC (permalink / raw)
  To: michael_heerdegen; +Cc: 7492

Michael Heerdegen wrote:

> For looping over "the windows", it only says:
>
> `for VAR being the windows [of FRAME]'
>      This clause iterates over the windows (in the Emacs sense) of the
>      current frame, or of the specified FRAME.
>
> It's not clear if/when the minibuffer window is included and in which
> order the iteration is done.

By experiment, the minibuffer is not included, which is why it loops
forever if you force it to start there. Does the order matter? Anyway,
it's the order that `next-window' gives.

`loop' can probably be improved, but I suggest using `walk-windows'
(which has well-defined, flexible behaviour wrt the minibuffer)
instead and will add a note to cl.texi to this effect.





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

* bug#7492: 23.2; cl loop over the windows: infinite loop, info doc
  2010-11-30  0:29 ` Glenn Morris
@ 2010-12-02 17:47   ` Glenn Morris
  0 siblings, 0 replies; 3+ messages in thread
From: Glenn Morris @ 2010-12-02 17:47 UTC (permalink / raw)
  To: 7492-done

Version: 24.1

Fixed the manual in 23.3; fixed the infinite loop in 24.1.





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

end of thread, other threads:[~2010-12-02 17:47 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-11-26 20:38 bug#7492: 23.2; cl loop over the windows: infinite loop, info doc Michael Heerdegen
2010-11-30  0:29 ` Glenn Morris
2010-12-02 17:47   ` Glenn Morris

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