GNU bug report logs - #4608
Description of `buffer-swap-text' is vague and inadequate.

Previous Next

Package: emacs;

Reported by: Stefan Monnier <monnier <at> iro.umontreal.ca>

Date: Thu, 1 Oct 2009 14:05:05 UTC

Severity: normal

Merged with 4605, 4617

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 4608 in the body.
You can then email your comments to 4608 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#4608; Package emacs. (Thu, 01 Oct 2009 14:05:06 GMT) Full text and rfc822 format available.

Acknowledgement sent to Stefan Monnier <monnier <at> iro.umontreal.ca>:
New bug report received and forwarded. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Thu, 01 Oct 2009 14:05:06 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Alan Mackenzie <acm <at> muc.de>
Cc: bug-gnu-emacs <at> gnu.org
Subject: Re: Description of `buffer-swap-text' is vague and inadequate.
Date: Thu, 01 Oct 2009 09:56:00 -0400
> The Elisp manual page "Swapping Text", says that `buffer-swap-text'
> "swaps text between the current buffer and its argument BUFFER."

> This tells me nothing.  I'd have to read the source (or maybe try it
> out) to find out what this function does.

> What does "swap" mean here?  How much text is "swapped".  What does
> "between" mean?

> A naive guess would suggest this command takes a bit of text out of
> buffer A and dumps it into buffer B, simultaneously moving a bit of B
> into A.

No, it swaps the whole freakin' text, including text-properties,
markers, and overlays.  So at the end, buffer A has buffer B's text and
vice versa.

> There is also no entry in .../src/ChangeLog (or ChangeLog.10, ...)
> marking the introduction of this command.

grep disagrees:

   % grep buffer.swap.text src/ChangeLog*
   src/ChangeLog:  * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
   src/ChangeLog:  * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
   src/ChangeLog:  * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
   src/ChangeLog:  * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
   src/ChangeLog:  * buffer.c (Fbuffer_swap_text): Reset window->point markers.
   src/ChangeLog:  * buffer.c (Fbuffer_swap_text): New function.
   % 


-- Stefan




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#4608; Package emacs. (Thu, 01 Oct 2009 14:55:06 GMT) Full text and rfc822 format available.

Acknowledgement sent to Juanma Barranquero <lekktu <at> gmail.com>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Thu, 01 Oct 2009 14:55:06 GMT) Full text and rfc822 format available.

Message #10 received at 4608 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Juanma Barranquero <lekktu <at> gmail.com>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: Alan Mackenzie <acm <at> muc.de>, 4608 <at> debbugs.gnu.org
Subject: Re: bug#4608: Description of `buffer-swap-text' is vague and 
	inadequate.
Date: Thu, 1 Oct 2009 16:46:27 +0200
On Thu, Oct 1, 2009 at 15:56, Stefan Monnier <monnier <at> iro.umontreal.ca> wrote:

[Stefan, you've duplicated the bug because of Cc: bug-gnu-emacs <at> gnu.org]

> grep disagrees:
>
>   % grep buffer.swap.text src/ChangeLog*
>   src/ChangeLog:  * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
>   src/ChangeLog:  * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
>   src/ChangeLog:  * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
>   src/ChangeLog:  * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
>   src/ChangeLog:  * buffer.c (Fbuffer_swap_text): Reset window->point markers.
>   src/ChangeLog:  * buffer.c (Fbuffer_swap_text): New function.
>   %

Or, using our own tool:

C:\emacs\src> grep-changelog --text=buffer.swap.text --reverse

2008-02-25  Stefan Monnier  <monnier <at> iro.umontreal.ca>

        * buffer.c (Fbuffer_swap_text): New function.
        (syms_of_buffer): Defsubr it.

2008-09-07  Stefan Monnier  <monnier <at> iro.umontreal.ca>

        * buffer.c (Fbuffer_swap_text): Reset window->point markers.

2008-11-21  Stefan Monnier  <monnier <at> iro.umontreal.ca>

        * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
        Fix copy/paste typo.  Add checks.

2008-12-09  Chong Yidong  <cyd <at> stupidchicken.com>

        * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.

2008-12-24  Jason Rumney  <jasonr <at> gnu.org>

        * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
        record of what points where.  (Bug#716)

2008-12-25  Jason Rumney  <jasonr <at> gnu.org>

        * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.


    Juanma



Forcibly Merged 4605 4608. Request was from Juanma Barranquero <lekktu <at> gmail.com> to control <at> emacsbugs.donarmstrong.com. (Thu, 01 Oct 2009 14:55:09 GMT) Full text and rfc822 format available.

Merged 4605 4608 4617. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> emacsbugs.donarmstrong.com. (Sat, 03 Oct 2009 00:25:14 GMT) Full text and rfc822 format available.

bug closed, send any further explanations to Alan Mackenzie <acm <at> muc.de> Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Wed, 27 Jan 2010 22:29:01 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <bug-gnu-emacs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 25 Feb 2010 12:24:03 GMT) Full text and rfc822 format available.

This bug report was last modified 15 years and 120 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.