From: Markus Rost <rost@math.uni-bielefeld.de>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: lekktu@gmail.com, 4655@emacsbugs.donarmstrong.com
Subject: bug#4655: 23.1.50; buffer-swap-text oddity
Date: Wed, 7 Oct 2009 10:53:51 +0200 (CEST) [thread overview]
Message-ID: <20091007085351.502A2EFCF2@sonic02.math.uni-bielefeld.de> (raw)
In-Reply-To: <jwvtyybbw8f.fsf-monnier+emacsbugreports@gnu.org> (message from Stefan Monnier on Wed, 07 Oct 2009 01:41:40 -0400)
Juanma wrote:
> I would expect A/A both with and
> without it (and I'm quite surprised to find that it is not so).
Exactly.
> Why do you expect buffer-swap-text to switch the current buffer?
I don't. See below for the concrete situation which led to my
example.
Stefan wrote:
> 1- markers are swapped along with the buffer texts (with a some
> exceptions, mostly window-markers).
> 2- save-excursion saves the "position and current buffer" as a marker.
> Combine 1 and 2 together, and you'll see that save-excursion ends up
> changing the current buffer.
That explains what happened, thanks. But 2- is not obvious from the
documentation of save-excursion. And the conclusion "save-excursion
ends up changing the current buffer" is very, very surprising.
Since I am not the only one to be surprised, it seems to me that if
save-excursion/buffer-swap-text keeps having this behavior, it should
be documented, perhaps with a warning for lisp programmers.
==========
Here is the concrete scenario which induced my buffer-swap-text
example: I have set
(defadvice rmail-cease-edit (after update-rmail-summary preactivate)
"Recompute Summary-line immediately."
(rmail-summary))
I expected this to behave like hitting 'h' after editing an rmail
buffer. But I get an error:
rmail-new-summary: No RMAIL buffer found
The reason is that rmail-cease-edit contains the piece
(save-excursion
(rmail-show-message)
(rmail-toggle-header (if pruned 1 0))))
and rmail-show-message has some buffer/text swapping in it. Moreover,
the swap partner rmail-view-buffer (an odd name by the way) doesn't
know its rmail-buffer (maybe it should?), so calling rmail-summary
from it triggers the error.
==========
On a general note: Thank you for all the great developments in Emacs
22/23.
Markus
next prev parent reply other threads:[~2009-10-07 8:53 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <jwv3a2eiia3.fsf-monnier+emacs@gnu.org>
2009-10-06 18:46 ` bug#4655: 23.1.50; buffer-swap-text oddity Markus Rost
2009-10-07 4:01 ` Juanma Barranquero
2009-10-07 5:41 ` Stefan Monnier
2009-10-07 8:53 ` Markus Rost [this message]
2009-10-07 10:07 ` Juanma Barranquero
2009-10-07 14:29 ` Stefan Monnier
2009-10-08 16:48 ` Markus Rost
2011-07-13 14:08 ` Lars Magne Ingebrigtsen
2016-07-11 1:58 ` npostavs
2016-07-11 14:37 ` Eli Zaretskii
2016-07-11 18:50 ` Markus Rost
2016-07-11 19:07 ` Dmitry Gutov
2016-07-12 1:58 ` npostavs
2016-07-12 5:16 ` Eli Zaretskii
2016-07-13 23:50 ` npostavs
2016-07-14 15:03 ` Eli Zaretskii
2016-07-15 0:05 ` npostavs
2010-01-10 7:36 ` bug#5273: marked as done (23.1; format-alist encode vs write-region-post-annotation-function) Emacs bug Tracking System
2010-01-13 0:45 ` bug#5256: marked as done (conjunct formation should follow input sequence when inserting text) Emacs bug Tracking System
2010-01-13 0:49 ` bug#5265: marked as done (23.1.90; vc - can't reread redirected stdin for log message) Emacs bug Tracking System
2010-01-14 1:22 ` bug#5276: marked as done (23.1; Doc string of bookmark-bmenu-execute-deletions) Emacs bug Tracking System
2010-01-16 20:05 ` bug#5267: 23.1; doc string of defstruct Chong Yidong
2010-01-16 21:39 ` bug#5279: 23.1; VC: should set LC_MESSAGES to C (with patch) Chong Yidong
2010-05-13 19:20 ` bug#5284: 23.1; gnus-summary-expire-thread does not work Glenn Morris
2010-05-24 19:53 ` bug#5270: [PATCH] * lisp/image-dired.el (image-dired-dired-insert-marked-thumbs) Insert thumbnails before file names of marked files in the dired buffer Thierry Volpiatto
2010-05-25 15:49 ` Juri Linkov
2010-05-25 16:59 ` Thierry Volpiatto
2010-05-25 17:46 ` Juri Linkov
2010-06-30 20:35 ` bug#5281: 23.1; xml-parse-region causes infinite loops if the region is not well-formed XML Chong Yidong
2009-12-29 18:19 bug#5284: 23.1; gnus-summary-expire-thread does not work Tom Tromey
2010-05-11 6:04 ` Andreas Seltenreich
[not found] ` <mailman.7.1273778942.8369.bug-gnu-emacs@gnu.org>
2010-06-30 21:35 ` Ted Zlatanov
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=20091007085351.502A2EFCF2@sonic02.math.uni-bielefeld.de \
--to=rost@math.uni-bielefeld.de \
--cc=4655@emacsbugs.donarmstrong.com \
--cc=lekktu@gmail.com \
--cc=monnier@iro.umontreal.ca \
/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.