all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Juri Linkov <juri@jurta.org>
To: martin rudalics <rudalics@gmx.at>
Cc: Ken Hori <fplemma@gmail.com>, Emacs <emacs-devel@gnu.org>
Subject: Re: Window configurations
Date: Fri, 14 May 2010 01:46:35 +0300	[thread overview]
Message-ID: <87y6fns8qo.fsf@mail.jurta.org> (raw)
In-Reply-To: <4BEA74DC.2060103@gmx.at> (martin rudalics's message of "Wed, 12 May 2010 11:29:00 +0200")

>>> ... where `quit-restore-window' here replaces `quit-window' which has
>>> too obscure semantics for my taste.  And obviously, exiting `view-mode'
>>> calls `quit-restore-window' here too.
>>
>> Yes, `quit-window' is useless because it doesn't help to avoid the mess
>> that occurs after killing buffers.
>
> You don't mean buffers killed by `quit-window' but by some standalone
> `kill-buffer' I suppose?

I mean `quit-window' with non-nil argument KILL.  When its argument KILL
is nil (when the buffer is buried), the problem is the same.

> The culprit here is the `other-buffer' call when unshowing the buffer.
> Practically all occurrences of `other-buffer' in window handling code
> are harmful.  Their original purpose was to make sure that the same
> buffer isn't displayed twice on a frame I suppose.

Yes, and occurrences of `(car (buffer-list))' are harmful too.

> It doesn't solve any of these problems yet because `dired-find-file'
> uses `switch-to-buffer' and in `switch-to-buffer' I don't record any
> information about the dired buffer.  I obviously could do so easily but
> we'd have to find a general agreement first.
>
> And, for lack of a history, it works only for the last `display-buffer'
> action which is sufficient for view mode purposes (by reverting to the
> last buffer displayed before view mode was entered).

It is sufficient because it stores this information in the buffer-local
variable `view-return-to-alist'.  I don't think a similar variable
would help for other non-view buffers because it is specific to windows,
not to buffers.  So it seems a window parameter is more suitable.

>> Then every switch-to-buffer could add a `quit-restore' element to the
>> window history parameter,
>
> We'd have to enumerate all actions that would add such an element.

I think it should be every action that changes the window's buffer.

>> and every kill-buffer could remove it from the
>> history stack (and call its function at the same time).
>
> `kill-buffer' would probably scan all live windows' history stacks.

No need to scan all windows' history stacks.  During restoring the saved
state from the stack, we could drop elements with killed buffers and
continue popping the stack until we find an element with a live buffer.

> But are we sure that a stack (a deque, rather) is sufficient?

I think this window parameter should be treated like the frame parameter
`buffer-list'.  E.g. `other-buffer' prefers selected frame's buffer list
instead of the global buffer list, etc.

-- 
Juri Linkov
http://www.jurta.org/emacs/



  reply	other threads:[~2010-05-13 22:46 UTC|newest]

Thread overview: 221+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-01 16:52 Gtk tabs in emacs, new branch Angelo Graziosi
2010-04-01 17:45 ` Jan Djärv
2010-04-01 18:03   ` Juri Linkov
2010-04-01 20:18     ` Jan Djärv
2010-04-02  7:10       ` Jan Djärv
2010-04-01 20:51   ` Angelo Graziosi
2010-04-02  6:49     ` Jan Djärv
2010-04-02  9:21       ` Angelo Graziosi
2010-04-02  2:06   ` Stephen J. Turnbull
2010-04-02  7:00     ` Jan Djärv
2010-04-02  6:53 ` Jan Djärv
2010-04-02  9:59   ` Angelo Graziosi
2010-04-02 15:10     ` Jan Djärv
2010-04-02 16:55       ` Angelo Graziosi
2010-04-05  8:50       ` Angelo Graziosi
2010-04-10 12:44         ` Jan Djärv
2010-04-10 17:34           ` Angelo Graziosi
2010-04-10 18:03             ` Jan Djärv
2010-04-10 22:09               ` Angelo Graziosi
2010-04-11  5:45                 ` Jan Djärv
2010-04-11  8:16                   ` Angelo Graziosi
2010-04-11 10:52                     ` Jan Djärv
2010-04-11 17:28                       ` Angelo Graziosi
2010-04-11 18:33                         ` Jan Djärv
2010-04-21  8:55                         ` Juri Linkov
2010-04-21  9:46                           ` David Kastrup
2010-04-21 15:43                             ` Juri Linkov
     [not found]                               ` <jwv633k4rn2.fsf-monnier+emacs@gnu.org>
2010-04-22  8:16                                 ` Juri Linkov
2010-04-22 15:08                                   ` Jan Djärv
2010-04-23  8:33                                     ` Juri Linkov
2010-04-21 13:54                           ` Angelo Graziosi
2010-04-21 15:45                           ` Juri Linkov
2010-04-21 16:04                             ` Jan Djärv
2010-04-22  8:14                               ` Juri Linkov
2010-04-22 16:20                                 ` Juanma Barranquero
2010-04-24 18:45                                   ` Juri Linkov
2010-04-23 16:53                             ` Drew Adams
2010-04-23 18:02                               ` Juri Linkov
2010-04-23 18:28                                 ` Drew Adams
2010-04-24  9:17                                   ` Juri Linkov
2010-04-24 14:41                                     ` Drew Adams
2010-04-24 18:49                                       ` Juri Linkov
2010-04-24 19:24                                         ` Drew Adams
2010-04-25  5:36                                           ` Juri Linkov
2010-04-25  9:15                                             ` martin rudalics
2010-04-25 18:33                                               ` Window configurations (was: Gtk tabs in emacs, new branch) Juri Linkov
2010-04-26 16:16                                                 ` Window configurations martin rudalics
2010-04-27  8:54                                                   ` Juri Linkov
2010-04-27 12:54                                                     ` martin rudalics
2010-04-27 18:03                                                       ` Juri Linkov
2010-04-27 19:47                                                         ` Info buffers in Desktop Juri Linkov
2010-04-28  7:12                                                         ` Window configurations martin rudalics
2010-04-28  8:27                                                           ` Juri Linkov
2010-04-27 19:55                                                   ` Davis Herring
2010-04-28  7:12                                                     ` martin rudalics
2010-04-28 14:50                                                       ` Stefan Monnier
2010-04-28  8:35                                                     ` Juri Linkov
2010-04-28 14:15                                                       ` Davis Herring
2010-05-07 18:14                                                         ` Juri Linkov
2010-04-30  3:19                                                 ` Window configurations (was: Gtk tabs in emacs, new branch) Ken Hori
2010-04-30 20:33                                                   ` Window configurations Stefan Monnier
2010-05-02 20:31                                                     ` Juri Linkov
2010-05-02 23:34                                                       ` Drew Adams
2010-05-03  0:50                                                         ` Stefan Monnier
2010-05-03  0:57                                                           ` Juri Linkov
2010-05-03  2:50                                                             ` Stefan Monnier
2010-05-04 16:09                                                               ` Juri Linkov
2010-05-05  6:41                                                                 ` Stephen J. Turnbull
2010-05-05 13:22                                                                   ` Stefan Monnier
2010-05-05 14:35                                                                     ` Stephen J. Turnbull
2010-05-05 21:59                                                                 ` Juri Linkov
2010-05-02 20:28                                                   ` Juri Linkov
2010-05-03  3:31                                                     ` Ken Hori
2010-05-04 16:12                                                       ` Juri Linkov
2010-05-05  9:19                                                         ` martin rudalics
2010-05-05 18:05                                                           ` Juri Linkov
2010-05-06  8:21                                                             ` martin rudalics
2010-05-06 20:47                                                               ` Juri Linkov
2010-05-10 19:16                                                               ` Juri Linkov
2010-05-11  7:01                                                                 ` martin rudalics
2010-05-11 16:45                                                                   ` Juri Linkov
2010-05-12  9:29                                                                     ` martin rudalics
2010-05-13 22:46                                                                       ` Juri Linkov [this message]
2010-05-14  6:59                                                                         ` martin rudalics
2010-05-16 22:51                                                                           ` Juri Linkov
2010-05-17  9:06                                                                             ` martin rudalics
2010-05-17 22:54                                                                               ` Juri Linkov
2010-05-18 12:07                                                                                 ` martin rudalics
2010-05-31 17:28                                                                             ` martin rudalics
2010-05-31 18:39                                                                               ` Stefan Monnier
2010-05-31 19:12                                                                                 ` Lennart Borgman
2010-05-31 20:23                                                                                   ` Juri Linkov
2010-06-01  9:24                                                                                   ` martin rudalics
2010-05-31 20:19                                                                                 ` Juri Linkov
2010-06-01  3:13                                                                                   ` Stefan Monnier
2010-06-01  9:25                                                                                     ` martin rudalics
2010-06-01 12:58                                                                                       ` Stefan Monnier
2010-06-01  9:24                                                                                 ` martin rudalics
2010-06-01 13:08                                                                                   ` Stefan Monnier
2010-06-01 14:02                                                                                     ` Lennart Borgman
2010-06-01 16:04                                                                                     ` martin rudalics
2010-06-01 19:20                                                                                       ` Stefan Monnier
2010-06-02 12:59                                                                                         ` martin rudalics
2010-06-02 14:08                                                                                           ` Stefan Monnier
2010-06-03  8:55                                                                                             ` martin rudalics
2010-06-01 19:54                                                                                       ` Juri Linkov
2010-06-02 13:00                                                                                         ` martin rudalics
2010-06-02 19:46                                                                                           ` Juri Linkov
2010-06-03  8:55                                                                                             ` martin rudalics
2010-06-03 18:55                                                                                               ` Juri Linkov
2010-06-14 17:05                                                                                         ` martin rudalics
2010-06-14 21:54                                                                                           ` Juri Linkov
2010-06-15  7:08                                                                                             ` martin rudalics
2010-06-15 21:31                                                                                               ` Juri Linkov
2010-06-16 17:25                                                                                                 ` martin rudalics
2010-06-16 20:51                                                                                                   ` Juri Linkov
2010-06-17  7:58                                                                                                     ` martin rudalics
2010-06-17  8:42                                                                                                       ` Juri Linkov
2010-06-17 10:20                                                                                                         ` martin rudalics
2010-06-17 20:38                                                                                                           ` Juri Linkov
2010-06-17 22:55                                                                                                             ` Lennart Borgman
2010-06-18  6:34                                                                                                             ` martin rudalics
2010-06-18  8:28                                                                                                               ` Juri Linkov
2010-06-18  9:04                                                                                                                 ` martin rudalics
2010-06-19  8:50                                                                                                                   ` Juri Linkov
2010-06-19 13:47                                                                                                                     ` martin rudalics
2010-06-19 14:12                                                                                                                       ` Juri Linkov
2010-06-19 18:56                                                                                                                         ` martin rudalics
2010-06-01 19:51                                                                                   ` Juri Linkov
2010-06-02 13:00                                                                                     ` martin rudalics
2010-06-02 19:49                                                                                       ` Juri Linkov
2010-06-03  8:57                                                                                         ` martin rudalics
2010-06-03 14:22                                                                                           ` Stefan Monnier
2010-06-03 15:42                                                                                             ` martin rudalics
2010-06-04 13:11                                                                                               ` Stefan Monnier
2010-06-04 14:07                                                                                                 ` martin rudalics
2010-06-04 16:59                                                                                                   ` Juri Linkov
2010-06-05 12:49                                                                                                     ` martin rudalics
2010-06-04 10:36                                                                                             ` Richard Stallman
2010-06-04 14:06                                                                                               ` martin rudalics
2010-06-03 18:54                                                                                           ` Juri Linkov
2010-06-04  8:11                                                                                             ` martin rudalics
2010-06-04 16:57                                                                                               ` Juri Linkov
2010-06-05 12:49                                                                                                 ` martin rudalics
2010-06-05 19:47                                                                                                   ` Juri Linkov
2010-06-06 13:21                                                                                                     ` Stefan Monnier
2010-06-07 18:31                                                                                                       ` Juri Linkov
2010-06-03 18:52                                                                                   ` Juri Linkov
2010-06-04  8:11                                                                                     ` martin rudalics
2010-06-04 17:09                                                                                       ` Juri Linkov
2010-06-05 12:49                                                                                         ` martin rudalics
2010-06-05 19:49                                                                                           ` Juri Linkov
2010-06-05 21:58                                                                                             ` Stefan Monnier
2010-06-07 18:30                                                                                               ` Juri Linkov
2010-06-06 10:38                                                                                             ` martin rudalics
2010-06-07  1:12                                                                                               ` Stefan Monnier
2010-06-07 13:40                                                                                                 ` martin rudalics
2010-06-07 15:36                                                                                                   ` Stefan Monnier
2010-06-07 17:38                                                                                                     ` Lennart Borgman
2010-06-08 13:06                                                                                                     ` martin rudalics
2010-06-08 20:19                                                                                                       ` Stefan Monnier
2010-06-11 13:20                                                                                                         ` martin rudalics
2010-06-11 13:52                                                                                                           ` Stefan Monnier
2010-06-11 17:12                                                                                                             ` martin rudalics
2010-05-05 18:19                                                           ` Stefan Monnier
2010-05-06  8:22                                                             ` martin rudalics
2010-05-06 13:04                                                               ` Stefan Monnier
2010-05-06 14:59                                                                 ` martin rudalics
2010-05-06 16:17                                                                   ` Stefan Monnier
2010-05-08  3:09                                                           ` Kevin Rodgers
2010-05-08 13:54                                                             ` martin rudalics
2010-05-08 15:42                                                               ` Lennart Borgman
2010-05-09 14:01                                                                 ` martin rudalics
2010-05-09 14:21                                                                   ` Lennart Borgman
2010-05-09 15:01                                                                     ` martin rudalics
2010-06-29  9:01                                                 ` martin rudalics
2010-06-29  9:23                                                   ` Juri Linkov
2010-06-29 10:01                                                     ` martin rudalics
2010-06-29 10:37                                                       ` Juanma Barranquero
2010-06-29 12:16                                                         ` martin rudalics
2010-06-29 20:14                                                           ` Juanma Barranquero
2010-06-29 20:01                                                   ` Juri Linkov
2010-06-30  6:35                                                     ` martin rudalics
2010-06-30  8:12                                                       ` Juri Linkov
2010-04-10 19:19             ` Gtk tabs in emacs, new branch Stefan Monnier
2010-04-02 16:19     ` Uwe Siart
2010-04-02 18:31       ` Daniel Colascione
2010-04-02 20:38         ` Stefan Monnier
2010-04-03  6:29         ` Uwe Siart
2010-04-03  9:07           ` Uwe Siart
2010-04-02  6:53 ` Uwe Siart
2010-04-02  7:25   ` Jan Djärv
2010-04-04 11:01     ` Juri Linkov
2010-04-02 12:19   ` Stephen J. Turnbull
  -- strict thread matches above, loose matches on Subject: below --
2010-05-05 13:31 Window configurations grischka
2010-05-05 18:10 ` Juri Linkov
2010-05-05 19:47   ` grischka
2010-05-05 20:07 ` Drew Adams
2010-05-06 11:18 grischka
2010-05-11 13:54 grischka
2010-05-12  9:28 ` martin rudalics
2010-05-12 11:12   ` grischka
2010-05-12 13:03     ` martin rudalics
2010-05-12 18:33       ` grischka
2010-05-13 10:22         ` martin rudalics
2010-05-13 11:40           ` grischka
2010-05-13 13:53             ` martin rudalics
2010-05-13 17:13               ` grischka
2010-05-13 22:57                 ` Juri Linkov
2010-05-14  6:58                 ` martin rudalics
2010-05-14 10:42                   ` grischka
2010-05-14 11:45                     ` martin rudalics
2010-05-14 13:32                       ` grischka
2010-05-13 22:54             ` Juri Linkov
2010-05-14 11:12               ` grischka
2010-05-14 11:45                 ` martin rudalics
2010-05-16 22:49               ` Juri Linkov
2010-05-17  9:06                 ` martin rudalics
2010-05-17 22:48                   ` Juri Linkov
2010-05-13 22:48   ` Juri Linkov
2010-05-14  7:00     ` martin rudalics

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87y6fns8qo.fsf@mail.jurta.org \
    --to=juri@jurta.org \
    --cc=emacs-devel@gnu.org \
    --cc=fplemma@gmail.com \
    --cc=rudalics@gmx.at \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.