all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* frame parameter `buffer-list' - bug?  if not, what changes it?
@ 2004-09-09 20:53 Drew Adams
  0 siblings, 0 replies; 2+ messages in thread
From: Drew Adams @ 2004-09-09 20:53 UTC (permalink / raw)


I have Emacs 20.7 on Windows (GNU Emacs 20.7.3 (i386-*-nt5.1.2600) of Thu
Dec 21 2000 on buffy).

I use only one-window frames (pop-up-frames non-nil). Each buffer is
displayed in its own separate frame.

What is the significance of the frame parameter `buffer-list'? The doc says
only this:

  `buffer-list' A list of buffers that have been selected in this frame,
                ordered most-recently-selected first.

Even if a particular frame has only ever displayed a single buffer, this
parameter can apparently have various values. For example, here are two
different values of `buffer-list' for the frame *Help*, which has never
displayed any buffer other than buffer *Help*:

 (buffer-list #<buffer *Backtrace*>)

 (buffer-list #<buffer foobar.el> #<buffer *Help*> #<buffer toss-1>)

What is going on here? Is this a bug? If this is the intended behavior, then
just what is that behavior? What determines (changes) the value of
`buffer-list'? I can find no doc on this.

Motive: I'm trying to test for equality (with `equal') between frame
configurations, and the same frame with all other parameters equal is
showing up with different values for `buffer-list'. I don't want to have to
create and pass a different equality predicate (that would ignore
`buffer-list'); I want to be able to use `equal', if I can.

Thanks,

  Drew

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

* Re: frame parameter `buffer-list' - bug?  if not, what changes it?
       [not found] <mailman.2199.1094763557.1998.help-gnu-emacs@gnu.org>
@ 2004-09-09 21:16 ` Stefan Monnier
  0 siblings, 0 replies; 2+ messages in thread
From: Stefan Monnier @ 2004-09-09 21:16 UTC (permalink / raw)


> Even if a particular frame has only ever displayed a single buffer, this
> parameter can apparently have various values. For example, here are two
> different values of `buffer-list' for the frame *Help*, which has never
> displayed any buffer other than buffer *Help*:

>  (buffer-list #<buffer *Backtrace*>)

>  (buffer-list #<buffer foobar.el> #<buffer *Help*> #<buffer toss-1>)

> What is going on here? Is this a bug? If this is the intended behavior, then
> just what is that behavior? What determines (changes) the value of
> `buffer-list'? I can find no doc on this.

I'll let you check the source, but my guess is that the value is inherited
from somewhere at frame creation.

It's only meant to be used for things like next-buffer so that you get the
"last buffer used in this frame" rather than the "last buffer used".

> Motive: I'm trying to test for equality (with `equal') between frame
> configurations, and the same frame with all other parameters equal is
> showing up with different values for `buffer-list'.  I don't want to have
> to create and pass a different equality predicate (that would ignore
> `buffer-list'); I want to be able to use `equal', if I can.

I guess you're out of luck.  Two possibilities: change the buffer-list
parameters before creating your configurations, use a hand-written equality
predicate, lobby on gnu.emacs.bug to change the definition of `equal', lobby
on gnu.emacs.bug to change the way the parameter is initialized&updated to
be "more deterministic".  Oops, that's more than 2, sorry.


        Stefan

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

end of thread, other threads:[~2004-09-09 21:16 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <mailman.2199.1094763557.1998.help-gnu-emacs@gnu.org>
2004-09-09 21:16 ` frame parameter `buffer-list' - bug? if not, what changes it? Stefan Monnier
2004-09-09 20:53 Drew Adams

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.