* [tromey@redhat.com: two View-mode "quit" bugs]
@ 2007-07-02 19:48 Richard Stallman
0 siblings, 0 replies; 3+ messages in thread
From: Richard Stallman @ 2007-07-02 19:48 UTC (permalink / raw)
To: emacs-devel
Would someone please take a look at this, and try to fix it, and ack?
It is clear that the behaviors he describes are undesirable.
Whether burying the buffer is the right thing to do instead,
I am not sure. What do others think is the right thing to do
in that case?
Meanwhile, finding a way to adjust the heuristics so that these
behaviors don't happen, without causing bad behavior in another case,
may be difficult.
------- Start of forwarded message -------
X-Spam-Status: No, score=0.0 required=5.0 tests=UNPARSEABLE_RELAY
autolearn=failed version=3.1.0
To: emacs-pretest-bug@gnu.org
From: Tom Tromey <tromey@redhat.com>
Date: Thu, 28 Jun 2007 11:07:39 -0600
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Subject: two View-mode "quit" bugs
Reply-To: Tom Tromey <tromey@redhat.com>
Please describe exactly what actions triggered the bug
and the precise symptoms of the bug:
I've found what I believe to be two bugs in View-quit.
I have two frames visible. In one frame I type: C-h m C-x o C-x 1.
This makes the only window in this frame show the *Help* buffer.
Now I type "q", and the frame iconifies.
I find this quite surprising. I would much prefer View-quit to simply
act like bury-buffer. I certainly never want it to iconify the frame.
Now, I deiconify this frame. Then I switch to the other frame, and in
that frame type C-x b *Help* RET C-x 1. This makes the only window in
the other frame display the *Help* buffer.
Now I type "q". Nothing changes. Again I expected the help buffer to
be buried.
In GNU Emacs 22.0.990.1 (i386-koji-linux-gnu, GTK+ Version 2.10.11)
of 2007-05-23 on xenbuilder3.fedora.phx.redhat.com
Windowing system distributor `The X.Org Foundation', version 11.0.70101000
configured using `configure '--build=i386-koji-linux-gnu' '--host=i386-koji-linux-gnu' '--target=i386-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--with-pop' '--with-sound' '--with-gtk' 'build_alias=i386-koji-linux-gnu' 'host_alias=i386-koji-linux-gnu' 'target_alias=i386-redhat-linux-gnu' 'CFLAGS=-DMAIL_USE_LOCKF -DSYSTEM_PURESIZE_EXTRA=16777216 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables''
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_US.UTF-8
locale-coding-system: utf-8
default-enable-multibyte-characters: t
Major mode: Group
Minor modes in effect:
gnus-agent-mode: t
compilation-in-progress: (grep grep)
erc-menu-mode: t
erc-autojoin-mode: t
erc-ring-mode: t
erc-pcomplete-mode: t
erc-track-mode: t
erc-track-minor-mode: t
erc-match-mode: t
erc-button-mode: t
erc-fill-mode: t
erc-stamp-mode: t
erc-netsplit-mode: t
erc-spelling-mode: t
erc-truncate-mode: t
shell-dirtrack-mode: t
gnus-undo-mode: t
which-function-mode: t
erc-status-mode: t
erc-services-mode: t
erc-irccontrols-mode: t
erc-noncommands-mode: t
erc-readonly-mode: t
tooltip-mode: t
mouse-wheel-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
unify-8859-on-encoding-mode: t
utf-translate-cjk-mode: t
auto-compression-mode: t
line-number-mode: t
transient-mark-mode: t
Recent input:
c s - l i s p SPC l i s p SPC t h i n g <return> C-z
o C-z o <f10> <f10> <f10> <f10> <f10> n o SPC p r o
b l e m , SPC I S-SPC j u s t SPC w a <M-backspace>
w a n t e d SPC t o o SPC c l e a r SPC m M-b M-b M-b
M-f <backspace> C-e y SPC o w n SPC c o n f u s i o
o n SPC : ) C-u C-b C-b C-d <return> <f10> C-z o 1
g C-u C-u C-p n SPC C-n C-u C-n SPC E q n SPC M-> C-p
p E S-SPC E q C-u C-u C-n C-u C-n SPC M-> C-u C-p C-u
C-p C-u E E E E E S-SPC E q C-l C-u C-n C-u C-n n n
p SPC 5 0 <return> M-> q n n n SPC 5 0 <return> M->
C-u C-p E S-SPC C-z o <f10> <f10> <f10> C-z o SPC M
SPC SPC M S-SPC SPC E q s C-p C-u = 5 0 <return> M->
SPC SPC SPC SPC M S-SPC q s <switch-frame> <switch-frame>
C-z o <f10> C-z o M-v C-u C-p C-u C-p C-u C-n C-u C-n
C-l n n SPC 5 0 <return> M-> C-p C-p E E q s M-< C-z
o <f10> <f10> C-z o C-s p a t c h C-s C-a <switch-frame>
<switch-frame> C-u C-n C-u C-n C-x b * H <tab> <return>
q C-f C-h c q q C-a <help-echo> <down-mouse-1> <mouse-2>
<help-echo> q C-h m C-x o q C-h m C-x o C-x 1 q <help-echo>
C-c b M-x r e p o r t - e m <tab> <tab> b <tab> <r
eturn>
Recent messages:
Saving /home/tromey/.newsrc.eld...
Saving file /home/tromey/.newsrc.eld...
Wrote /home/tromey/.newsrc.eld
Saving /home/tromey/.newsrc.eld...done
Mark set
Mark saved where search started
q runs the command View-quit
Type C-x 1 to remove help window. [2 times]
Making completion list...
Loading emacsbug...done
Tom
_______________________________________________
emacs-pretest-bug mailing list
emacs-pretest-bug@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
------- End of forwarded message -------
^ permalink raw reply [flat|nested] 3+ messages in thread
* [tromey@redhat.com: two View-mode "quit" bugs]
@ 2007-07-15 16:50 Richard Stallman
2007-07-15 17:37 ` Drew Adams
0 siblings, 1 reply; 3+ messages in thread
From: Richard Stallman @ 2007-07-15 16:50 UTC (permalink / raw)
To: emacs-devel
[I sent this message a week ago but did not get a response.]
Would someone please take a look at this, and try to fix it, and ack?
It is clear that the behaviors he describes are undesirable.
Whether burying the buffer is the right thing to do instead,
I am not sure. What do others think is the right thing to do
in that case?
Meanwhile, finding a way to adjust the heuristics so that these
behaviors don't happen, without causing bad behavior in another case,
may be difficult.
------- Start of forwarded message -------
X-Spam-Status: No, score=0.0 required=5.0 tests=UNPARSEABLE_RELAY
autolearn=failed version=3.1.0
To: emacs-pretest-bug@gnu.org
From: Tom Tromey <tromey@redhat.com>
Date: Thu, 28 Jun 2007 11:07:39 -0600
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Subject: two View-mode "quit" bugs
Reply-To: Tom Tromey <tromey@redhat.com>
Please describe exactly what actions triggered the bug
and the precise symptoms of the bug:
I've found what I believe to be two bugs in View-quit.
I have two frames visible. In one frame I type: C-h m C-x o C-x 1.
This makes the only window in this frame show the *Help* buffer.
Now I type "q", and the frame iconifies.
I find this quite surprising. I would much prefer View-quit to simply
act like bury-buffer. I certainly never want it to iconify the frame.
Now, I deiconify this frame. Then I switch to the other frame, and in
that frame type C-x b *Help* RET C-x 1. This makes the only window in
the other frame display the *Help* buffer.
Now I type "q". Nothing changes. Again I expected the help buffer to
be buried.
In GNU Emacs 22.0.990.1 (i386-koji-linux-gnu, GTK+ Version 2.10.11)
of 2007-05-23 on xenbuilder3.fedora.phx.redhat.com
Windowing system distributor `The X.Org Foundation', version 11.0.70101000
configured using `configure '--build=i386-koji-linux-gnu' '--host=i386-koji-linux-gnu' '--target=i386-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--with-pop' '--with-sound' '--with-gtk' 'build_alias=i386-koji-linux-gnu' 'host_alias=i386-koji-linux-gnu' 'target_alias=i386-redhat-linux-gnu' 'CFLAGS=-DMAIL_USE_LOCKF -DSYSTEM_PURESIZE_EXTRA=16777216 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables''
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_US.UTF-8
locale-coding-system: utf-8
default-enable-multibyte-characters: t
Major mode: Group
Minor modes in effect:
gnus-agent-mode: t
compilation-in-progress: (grep grep)
erc-menu-mode: t
erc-autojoin-mode: t
erc-ring-mode: t
erc-pcomplete-mode: t
erc-track-mode: t
erc-track-minor-mode: t
erc-match-mode: t
erc-button-mode: t
erc-fill-mode: t
erc-stamp-mode: t
erc-netsplit-mode: t
erc-spelling-mode: t
erc-truncate-mode: t
shell-dirtrack-mode: t
gnus-undo-mode: t
which-function-mode: t
erc-status-mode: t
erc-services-mode: t
erc-irccontrols-mode: t
erc-noncommands-mode: t
erc-readonly-mode: t
tooltip-mode: t
mouse-wheel-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
unify-8859-on-encoding-mode: t
utf-translate-cjk-mode: t
auto-compression-mode: t
line-number-mode: t
transient-mark-mode: t
Recent input:
c s - l i s p SPC l i s p SPC t h i n g <return> C-z
o C-z o <f10> <f10> <f10> <f10> <f10> n o SPC p r o
b l e m , SPC I S-SPC j u s t SPC w a <M-backspace>
w a n t e d SPC t o o SPC c l e a r SPC m M-b M-b M-b
M-f <backspace> C-e y SPC o w n SPC c o n f u s i o
o n SPC : ) C-u C-b C-b C-d <return> <f10> C-z o 1
g C-u C-u C-p n SPC C-n C-u C-n SPC E q n SPC M-> C-p
p E S-SPC E q C-u C-u C-n C-u C-n SPC M-> C-u C-p C-u
C-p C-u E E E E E S-SPC E q C-l C-u C-n C-u C-n n n
p SPC 5 0 <return> M-> q n n n SPC 5 0 <return> M->
C-u C-p E S-SPC C-z o <f10> <f10> <f10> C-z o SPC M
SPC SPC M S-SPC SPC E q s C-p C-u = 5 0 <return> M->
SPC SPC SPC SPC M S-SPC q s <switch-frame> <switch-frame>
C-z o <f10> C-z o M-v C-u C-p C-u C-p C-u C-n C-u C-n
C-l n n SPC 5 0 <return> M-> C-p C-p E E q s M-< C-z
o <f10> <f10> C-z o C-s p a t c h C-s C-a <switch-frame>
<switch-frame> C-u C-n C-u C-n C-x b * H <tab> <return>
q C-f C-h c q q C-a <help-echo> <down-mouse-1> <mouse-2>
<help-echo> q C-h m C-x o q C-h m C-x o C-x 1 q <help-echo>
C-c b M-x r e p o r t - e m <tab> <tab> b <tab> <r
eturn>
Recent messages:
Saving /home/tromey/.newsrc.eld...
Saving file /home/tromey/.newsrc.eld...
Wrote /home/tromey/.newsrc.eld
Saving /home/tromey/.newsrc.eld...done
Mark set
Mark saved where search started
q runs the command View-quit
Type C-x 1 to remove help window. [2 times]
Making completion list...
Loading emacsbug...done
Tom
_______________________________________________
emacs-pretest-bug mailing list
emacs-pretest-bug@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
------- End of forwarded message -------
^ permalink raw reply [flat|nested] 3+ messages in thread
* RE: [tromey@redhat.com: two View-mode "quit" bugs]
2007-07-15 16:50 [tromey@redhat.com: two View-mode "quit" bugs] Richard Stallman
@ 2007-07-15 17:37 ` Drew Adams
0 siblings, 0 replies; 3+ messages in thread
From: Drew Adams @ 2007-07-15 17:37 UTC (permalink / raw)
To: emacs-devel
> It is clear that the behaviors he describes are undesirable.
> Whether burying the buffer is the right thing to do instead,
> I am not sure. What do others think is the right thing to do
> in that case?
Without looking at the details, I'd say TRT to do is probably this: kill the
buffer, delete the window, and, if `one-window-p', delete the frame.
> Meanwhile, finding a way to adjust the heuristics so that these
> behaviors don't happen, without causing bad behavior in another case,
> may be difficult.
Yes. View-mode's quitting behavior is a jungle. It was much more reasonable
and manageable before Emacs 22. Though there are now innumerable cases
treated and uncountable heuristics employed to treat them, users cannot
easily master or manage things. A quick glance at the number of different
view-mode quitting functions, not to mention the convoluted code behind
them, should be enough to hint that there is a problem: `View-quit',
`View-exit', `View-exit-and-edit', `View-quit-all', `View-leave', and
`View-kill-and-leave'.
No, I don't have the time or patience to propose a solution; sorry.
In general (too general to be very useful, I recognize), I'd say that we
probably need to (1) make things simpler and not so smart, (2) give the user
more control, with user options if necessary. In particular, we will need to
find a way to cater to different uses of frames. We might also need to
divide view-mode up: perhaps different uses of view-mode call for different
behaviors.
See also thread "view mode: `q' does not delete frame", from December 2005.
I said there, regarding quitting view-mode:
> The variations [in names of functions for quitting] don't tell us
> anything in particular about what the functions do - there is no
> significant difference between the words "quit", "exit", and "leave".
> My main question about the names cannot be addressed for this
> release: Is it really necessary to have so many ways to quit? Could this
> proliferation be a sign that the design is not as it should be? Why does
> quitting a mode need to be so concerned about which context to restore?
> Perhaps the restoration context should be passed when the mode is
> entered? Or perhaps the caller should control it some other way. And so
> on. It seems odd to me that a function is so concerned with how it was
> called.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2007-07-15 17:37 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-15 16:50 [tromey@redhat.com: two View-mode "quit" bugs] Richard Stallman
2007-07-15 17:37 ` Drew Adams
-- strict thread matches above, loose matches on Subject: below --
2007-07-02 19:48 Richard Stallman
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.