GNU bug report logs - #13452
24.1; Macro Playback Fails When Buffer Scrolls

Previous Next

Package: emacs;

Reported by: Raymond Zeitler <rzeitler <at> phonon.com>

Date: Tue, 15 Jan 2013 18:39:02 UTC

Severity: normal

Merged with 8809, 23551, 23555

Found in versions 23.3, 24.1, 24.5

Done: Eli Zaretskii <eliz <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 13452 in the body.
You can then email your comments to 13452 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-gnu-emacs <at> gnu.org:
bug#13452; Package emacs. (Tue, 15 Jan 2013 18:39:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Raymond Zeitler <rzeitler <at> phonon.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Tue, 15 Jan 2013 18:39:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Raymond Zeitler <rzeitler <at> phonon.com>
To: "bug-gnu-emacs <at> gnu.org" <bug-gnu-emacs <at> gnu.org>
Cc: "r.zeitler <at> ieee.org" <r.zeitler <at> ieee.org>
Subject: 24.1; Macro Playback Fails When Buffer Scrolls
Date: Tue, 15 Jan 2013 18:01:13 +0000
[Message part 1 (text/plain, inline)]
From: rzeitler <at> phonon.com
To: bug-gnu-emacs <at> gnu.org
Subject: 24.1; Macro Playback Fails When Buffer Scrolls
--text follows this line--
This bug report will be sent to the Bug-GNU-Emacs mailing list
and the GNU bug tracker at debbugs.gnu.org.  Please check that
the From: line contains a valid email address.  After a delay of up
to one day, you should receive an acknowledgement at that address.

Please write in English if possible, as the Emacs maintainers
usually do not have translators for other languages.

Please describe exactly what actions triggered the bug, and
the precise symptoms of the bug.  If you can, give a recipe
starting from `emacs -Q':

***************
Create a file with many more lines than the buffer can display at once.
In my test, the buffer has about 500 identical lines like this:

123456789 0123456789 01234567890

Then place Point at line 1 column 1.

I recorded the keyboard macro that you see in Recent Input, which merely
moves point just past the first 9, then deletes it and puts an "x" in
its place for the first three lines.  Then it puts a "y" for the next
three.  Point is then moved to the start of the next line before the
macro is finished recording.

Play back the macro a few dozen times.

As Point keeps moving down, the buffer will need to scroll.  When it
does scroll, Point will not return to the start of the next line.

This happens also in version 23.4.1 on Win 7 and on 23.2.1 on Windows XP.

I guess the workaround would be to conclude the macro with C-u 0 l.

I'm amazed that I've been using Emacs (with macros) for 12.5 years and
never noticed this before!

***************

If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
For information about debugging Emacs, please read the file
c:/emacs-24.1/etc/DEBUG.


In GNU Emacs 24.1.1 (i386-mingw-nt6.1.7601)
of 2012-06-10 on MARVIN
Windowing system distributor `Microsoft Corp.', version 6.1.7601
Configured using:
`configure --with-gcc (4.6) --cflags
-ID:/devel/emacs/libs/libXpm-3.5.8/include
-ID:/devel/emacs/libs/libXpm-3.5.8/src
-ID:/devel/emacs/libs/libpng-dev_1.4.3-1/include
-ID:/devel/emacs/libs/zlib-dev_1.2.5-2/include
-ID:/devel/emacs/libs/giflib-4.1.4-1/include
-ID:/devel/emacs/libs/jpeg-6b-4/include
-ID:/devel/emacs/libs/tiff-3.8.2-1/include
-ID:/devel/emacs/libs/gnutls-3.0.9/include'

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: ENU
  value of $XMODIFIERS: nil
  locale-coding-system: cp1252
  default enable-multibyte-characters: t

Major mode: Fundamental

Minor modes in effect:
  tooltip-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
C-x ( <C-right> <backspace> x <down> <backspace> x
<down> <backspace> x <kp-home> <down> <C-right> <backspace>
y <down> <backspace> y <down> <backspace> y <kp-home>
<down> C-x ) C-x e e e e e M-x r e p o <tab> r t -
e m <tab> <return>

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Defining kbd macro...
Keyboard macro defined
(Type e to repeat macro) [5 times]
Making completion list...

Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml
mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
gmm-utils mailheader sendmail regexp-opt rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mail-utils help-mode easymenu view edmacro kmacro
time-date tooltip ediff-hook vc-hooks lisp-float-type mwheel dos-w32
disp-table ls-lisp w32-win w32-vars tool-bar dnd fontset image fringe
lisp-mode register page menu-bar rfn-eshadow timer select scroll-bar
mouse jit-lock font-lock syntax facemenu font-core frame cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev
minibuffer loaddefs button faces cus-face files text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process multi-tty emacs)

Raymond Zeitler - Senior Design Engineer
Phonon Corp 90 Wolcott Road, Simsbury CT 06070
TEL 860-651-0211 x7741
FAX 860-651-8618
rzeitler <at> phonon.com<mailto:rzeitler <at> phonon.com>
http://www.phonon.com

[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#13452; Package emacs. (Tue, 15 Jan 2013 19:16:02 GMT) Full text and rfc822 format available.

Message #8 received at 13452 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Raymond Zeitler <rzeitler <at> phonon.com>
Cc: r.zeitler <at> ieee.org, 13452 <at> debbugs.gnu.org
Subject: Re: bug#13452: 24.1; Macro Playback Fails When Buffer Scrolls
Date: Tue, 15 Jan 2013 21:15:38 +0200
> From: Raymond Zeitler <rzeitler <at> phonon.com>
> Date: Tue, 15 Jan 2013 18:01:13 +0000
> Cc: "r.zeitler <at> ieee.org" <r.zeitler <at> ieee.org>
> 
> Create a file with many more lines than the buffer can display at once.
> In my test, the buffer has about 500 identical lines like this:
> 
> 123456789 0123456789 01234567890
> 
> Then place Point at line 1 column 1.
> 
> I recorded the keyboard macro that you see in Recent Input, which merely
> moves point just past the first 9, then deletes it and puts an "x" in
> its place for the first three lines.  Then it puts a "y" for the next
> three.  Point is then moved to the start of the next line before the
> macro is finished recording.
> 
> Play back the macro a few dozen times.
> 
> As Point keeps moving down, the buffer will need to scroll.  When it
> does scroll, Point will not return to the start of the next line.

Set line-move-visual to nil, and Bob's your uncle.

> I'm amazed that I've been using Emacs (with macros) for 12.5 years and
> never noticed this before!

line-move-visual didn't exist before Emacs 23.  So most of those 12.5
years, the bug didn't exist, because the only behavior available was
the one you see when you set line-move-visual to a nil value.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#13452; Package emacs. (Tue, 15 Jan 2013 20:56:02 GMT) Full text and rfc822 format available.

Message #11 received at 13452 <at> debbugs.gnu.org (full text, mbox):

From: Raymond Zeitler <rzeitler <at> phonon.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: "r.zeitler <at> ieee.org" <r.zeitler <at> ieee.org>,
	"13452 <at> debbugs.gnu.org" <13452 <at> debbugs.gnu.org>
Subject: RE: bug#13452: 24.1; Macro Playback Fails When Buffer Scrolls
Date: Tue, 15 Jan 2013 20:55:02 +0000
Dear Eli:

Thank you so much for your helpful and quick reply, and also for your involvement in the mailing lists, which has helped me many times before.

Sorry about sending a bug report, especially using MS Outlook.

Peace.

- Ray

-----Original Message-----
From: Eli Zaretskii [mailto:eliz <at> gnu.org] 
Sent: Tuesday, January 15, 2013 2:16 PM
To: Raymond Zeitler
Cc: 13452 <at> debbugs.gnu.org; r.zeitler <at> ieee.org
Subject: Re: bug#13452: 24.1; Macro Playback Fails When Buffer Scrolls

> From: Raymond Zeitler <rzeitler <at> phonon.com>
> Date: Tue, 15 Jan 2013 18:01:13 +0000
> Cc: "r.zeitler <at> ieee.org" <r.zeitler <at> ieee.org>
> 
> Create a file with many more lines than the buffer can display at once.
> In my test, the buffer has about 500 identical lines like this:
> 
> 123456789 0123456789 01234567890
> 
> Then place Point at line 1 column 1.
> 
> I recorded the keyboard macro that you see in Recent Input, which merely
> moves point just past the first 9, then deletes it and puts an "x" in
> its place for the first three lines.  Then it puts a "y" for the next
> three.  Point is then moved to the start of the next line before the
> macro is finished recording.
> 
> Play back the macro a few dozen times.
> 
> As Point keeps moving down, the buffer will need to scroll.  When it
> does scroll, Point will not return to the start of the next line.

Set line-move-visual to nil, and Bob's your uncle.

> I'm amazed that I've been using Emacs (with macros) for 12.5 years and
> never noticed this before!

line-move-visual didn't exist before Emacs 23.  So most of those 12.5
years, the bug didn't exist, because the only behavior available was
the one you see when you set line-move-visual to a nil value.




Merged 13452 23551. Request was from Eli Zaretskii <eliz <at> gnu.org> to control <at> debbugs.gnu.org. (Mon, 16 May 2016 17:27:02 GMT) Full text and rfc822 format available.

Merged 13452 23551 23555. Request was from Eli Zaretskii <eliz <at> gnu.org> to control <at> debbugs.gnu.org. (Mon, 16 May 2016 18:56:02 GMT) Full text and rfc822 format available.

Reply sent to Eli Zaretskii <eliz <at> gnu.org>:
You have taken responsibility. (Sat, 28 May 2016 15:39:02 GMT) Full text and rfc822 format available.

Notification sent to Raymond Zeitler <rzeitler <at> phonon.com>:
bug acknowledged by developer. (Sat, 28 May 2016 15:39:02 GMT) Full text and rfc822 format available.

Message #20 received at 13452-done <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: abbott <at> dima.unige.it, Markus Triska <triska <at> metalevel.at>,
 Raymond Zeitler <rzeitler <at> phonon.com>
Cc: 13452-done <at> debbugs.gnu.org
Subject: Re: bug#23551: 24.5; beginning-of-line wrong in repeated kbd macro
Date: Sat, 28 May 2016 18:38:53 +0300
> Date: Mon, 16 May 2016 20:30:29 +0300
> From: Eli Zaretskii <eliz <at> gnu.org>
> Cc: 23551 <at> debbugs.gnu.org
> 
> > Date: Mon, 16 May 2016 16:30:32 +0000
> > From: abbott <at> dima.unige.it
> > Cc: Abbott John <abbott <at> dima.unige.it>
> > 
> > Open the attached file in Emacs, and move point to the first position.
> > Define a keyboard macro: (I want to put each line inside double-quotes)
> > "			;; self-insert-command
> > C-e			;; move-end-of-line
> > "			;; self-insert-command
> > C-a			;; message-beginning-of-line
> > <down>			;; next-line
> > 
> > Now ask Emacs to repeat this macro 49 times.
> > The result is wrong: at around line 35, the first double-quote
> > is no longer at the start of the line; then on successive lines
> > the position of the first inserted double-quote walks to the right.
> 
> Thanks.
> 
> This is a duplicate of the (old, but unsolved) bug #13452.  The
> problem is not in beginning-of-line, it's in next-line: when the
> window needs to scroll as result of next-line, point ends up in
> columns 1, 2, 3, ... (i.e. gains one column per line moved down),
> instead of sticking to column zero.
> 
> To work around, set line-move-visual to nil before running the macro
> (or as part of the macro), then the problem goes away.
> 
> I'll try to debug this one of these days.

Should be fixed now, please test the latest Emacs master branch.




Reply sent to Eli Zaretskii <eliz <at> gnu.org>:
You have taken responsibility. (Sat, 28 May 2016 15:39:02 GMT) Full text and rfc822 format available.

Notification sent to abbott <at> dima.unige.it:
bug acknowledged by developer. (Sat, 28 May 2016 15:39:02 GMT) Full text and rfc822 format available.

Reply sent to Eli Zaretskii <eliz <at> gnu.org>:
You have taken responsibility. (Sat, 28 May 2016 15:39:03 GMT) Full text and rfc822 format available.

Notification sent to Markus Triska <triska <at> metalevel.at>:
bug acknowledged by developer. (Sat, 28 May 2016 15:39:03 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 26 Jun 2016 11:24:04 GMT) Full text and rfc822 format available.

bug unarchived. Request was from npostavs <at> users.sourceforge.net to control <at> debbugs.gnu.org. (Sat, 09 Jul 2016 03:48:02 GMT) Full text and rfc822 format available.

Forcibly Merged 8809 13452 23551 23555. Request was from npostavs <at> users.sourceforge.net to control <at> debbugs.gnu.org. (Sat, 09 Jul 2016 03:48:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 06 Aug 2016 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 8 years and 321 days ago.

Previous Next


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