unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#23551: 24.5; beginning-of-line wrong in repeated kbd macro
@ 2016-05-16 16:30 abbott
  2016-05-16 17:30 ` Eli Zaretskii
  0 siblings, 1 reply; 5+ messages in thread
From: abbott @ 2016-05-16 16:30 UTC (permalink / raw)
  To: 23551; +Cc: Abbott John

[-- Attachment #1: Type: text/plain, Size: 3661 bytes --]

I would like to report the following bug.
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.

-----------------------------------------------------------------
In GNU Emacs 24.5.1 (i686-apple-darwin, NS apple-appkit-1038.36)
  of 2015-04-10 on builder10-6.porkrind.org
Windowing system distributor `Apple', version 10.3.1038
Configured using:
  `configure --with-ns '--enable-locallisppath=/Library/Application
  Support/Emacs/${version}/site-lisp:/Library/Application
  Support/Emacs/site-lisp' --host=i686-apple-darwin
  --build=i686-apple-darwin --with-jpeg=no --with-png=no --with-gif=no
  --with-tiff=no'

Important settings:
   locale-coding-system: utf-8-unix

Major mode: Fundamental

Minor modes in effect:
   recentf-mode: t
   show-paren-mode: t
   tooltip-mode: t
   electric-indent-mode: t
   mouse-wheel-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 messages:
Cleaning up the recentf list...
File /Users/abbott/ShortTerm/EMACS-BUG-orig removed from the recentf list
Cleaning up the recentf list...done (1 removed)
Loading /Users/abbott/Work/CoCoA/CoCoA4/4.7/UI/emacs/cocoa.emacs...done
Loading  
/Users/abbott/Work/CoCoA/CoCoA5/CoCoALib-0.99/src/CoCoA-5/emacs/cocoa5.emacs...done
Loading rmail-spam-filter.elc...done
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)

Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr warnings emacsbug sendmail cl-extra
info magit-autoloads git-rebase-mode-autoloads git-commit-mode-autoloads
package epg-config rmail-spam-filter rmailsum rmail recentf tree-widget
wid-edit git-blame git derived log-edit easy-mmode message cl-macs
format-spec rfc822 mml easymenu mml-sec mm-decode mm-bodies mm-encode
mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mm-util help-fns
mail-prsvr mailabbrev mail-utils gmm-utils mailheader ring pcvs-util
add-log ewoc cl gv paren cus-start cus-load edmacro kmacro cl-loaddefs
cl-lib time-date tooltip electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel ns-win tool-bar dnd fontset image regexp-opt
fringe tabulated-list newcomment lisp-mode prog-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 nadvice
loaddefs button faces cus-face macroexp files text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process cocoa ns
multi-tty emacs)

Memory information:
((conses 8 143707 11759)
  (symbols 24 23822 0)
  (miscs 20 100 224)
  (strings 16 30397 6332)
  (string-bytes 1 745514)
  (vectors 8 14455)
  (vector-slots 4 436468 9860)
  (floats 8 71 198)
  (intervals 28 254 26)
  (buffers 512 14))


[-- Attachment #2: EMACS-BUG --]
[-- Type: text/plain, Size: 1700 bytes --]

use P ::= QQ[c[0..99]];
f :=
c[0]*c[1]^7*c[27]
-c[0]*c[1]^6*c[26]
+6*c[0]*c[1]^5*c[4]*c[27]*c[57]
+6*c[0]*c[1]^5*c[5]*c[27]*c[43]
+6*c[0]*c[1]^5*c[13]*c[27]*c[85]
+c[0]*c[1]^5*c[18]*c[27]*c[43]
+c[0]*c[1]^5*c[25]
+c[0]*c[1]^5*c[41]*c[43]
-5*c[0]*c[1]^4*c[2]*c[27]*c[43]
-5*c[0]*c[1]^4*c[4]*c[26]*c[57]
+5*c[0]*c[1]^4*c[4]*c[27]*c[43]*c[61]
+5*c[0]*c[1]^4*c[4]*c[27]*c[57]*c[60]
+5*c[0]*c[1]^4*c[4]*c[27]*c[69]*c[85]
-5*c[0]*c[1]^4*c[5]*c[26]*c[43]
+5*c[0]*c[1]^4*c[5]*c[27]*c[43]*c[47]
+5*c[0]*c[1]^4*c[5]*c[27]*c[46]*c[57]
+5*c[0]*c[1]^4*c[5]*c[27]*c[55]*c[85]
-5*c[0]*c[1]^4*c[12]*c[27]*c[85]
-5*c[0]*c[1]^4*c[13]*c[26]*c[85]
+5*c[0]*c[1]^4*c[13]*c[27]*c[43]*c[89]
+5*c[0]*c[1]^4*c[13]*c[27]*c[57]*c[88]
+5*c[0]*c[1]^4*c[13]*c[27]*c[85]*c[97]
-c[0]*c[1]^4*c[18]*c[26]*c[43]
+c[0]*c[1]^4*c[18]*c[27]*c[43]*c[47]
+c[0]*c[1]^4*c[18]*c[27]*c[46]*c[57]
+c[0]*c[1]^4*c[18]*c[27]*c[55]*c[85]
-c[0]*c[1]^4*c[24]
-c[0]*c[1]^4*c[40]*c[43]
+c[0]*c[1]^4*c[41]*c[43]*c[47]
+c[0]*c[1]^4*c[41]*c[46]*c[57]
+c[0]*c[1]^4*c[41]*c[55]*c[85]
+4*c[0]*c[1]^3*c[2]*c[26]*c[43]
-4*c[0]*c[1]^3*c[2]*c[27]*c[43]*c[47]
-4*c[0]*c[1]^3*c[2]*c[27]*c[46]*c[57]
-4*c[0]*c[1]^3*c[2]*c[27]*c[55]*c[85]
+10*c[0]*c[1]^3*c[4]^2*c[27]*c[57]^2
+20*c[0]*c[1]^3*c[4]*c[5]*c[27]*c[43]*c[57]
+20*c[0]*c[1]^3*c[4]*c[13]*c[27]*c[57]*c[85]
+4*c[0]*c[1]^3*c[4]*c[18]*c[27]*c[43]*c[57]
+4*c[0]*c[1]^3*c[4]*c[25]*c[57]
-4*c[0]*c[1]^3*c[4]*c[26]*c[43]*c[61]
-4*c[0]*c[1]^3*c[4]*c[26]*c[57]*c[60]
-4*c[0]*c[1]^3*c[4]*c[26]*c[69]*c[85]
+4*c[0]*c[1]^3*c[4]*c[27]*c[43]*c[47]*c[61]
-4*c[0]*c[1]^3*c[4]*c[27]*c[43]*c[58]
+4*c[0]*c[1]^3*c[4]*c[27]*c[43]*c[60]*c[61]
+4*c[0]*c[1]^3*c[4]*c[27]*c[43]*c[69]*c[89]
+4*c[0]*c[1]^3*c[4]*c[27]*c[46]*c[57]*c[61]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#23551: 24.5; beginning-of-line wrong in repeated kbd macro
  2016-05-16 16:30 bug#23551: 24.5; beginning-of-line wrong in repeated kbd macro abbott
@ 2016-05-16 17:30 ` Eli Zaretskii
  2016-05-16 19:36   ` abbott
  2016-05-28 15:38   ` bug#13452: " Eli Zaretskii
  0 siblings, 2 replies; 5+ messages in thread
From: Eli Zaretskii @ 2016-05-16 17:30 UTC (permalink / raw)
  To: abbott; +Cc: 23551

> Date: Mon, 16 May 2016 16:30:32 +0000
> From: abbott@dima.unige.it
> Cc: Abbott John <abbott@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.





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#23551: 24.5; beginning-of-line wrong in repeated kbd macro
  2016-05-16 17:30 ` Eli Zaretskii
@ 2016-05-16 19:36   ` abbott
  2016-05-16 19:42     ` Eli Zaretskii
  2016-05-28 15:38   ` bug#13452: " Eli Zaretskii
  1 sibling, 1 reply; 5+ messages in thread
From: abbott @ 2016-05-16 19:36 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 23551

Hi Eli

Thanks for the swift response, and the explanation.

> This is a duplicate of the (old, but unsolved) bug #13452....
> To work around, set line-move-visual to nil before running the macro

It seems that move-end-of-line and then forward-char achieves the right
thing (at least it did in a quick test).


> I'll try to debug this one of these days.

Good luck!

John Abbott







^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#23551: 24.5; beginning-of-line wrong in repeated kbd macro
  2016-05-16 19:36   ` abbott
@ 2016-05-16 19:42     ` Eli Zaretskii
  0 siblings, 0 replies; 5+ messages in thread
From: Eli Zaretskii @ 2016-05-16 19:42 UTC (permalink / raw)
  To: abbott; +Cc: 23551

> Date: Mon, 16 May 2016 19:36:42 +0000
> From: abbott@dima.unige.it
> Cc: 23551@debbugs.gnu.org
> 
> It seems that move-end-of-line and then forward-char achieves the right
> thing (at least it did in a quick test).

But the above two calls are not a good replacement for next-line, they
produce different results.

> > I'll try to debug this one of these days.
> 
> Good luck!

I doubt that luck has anything to do with this ;-)





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#13452: bug#23551: 24.5; beginning-of-line wrong in repeated kbd macro
  2016-05-16 17:30 ` Eli Zaretskii
  2016-05-16 19:36   ` abbott
@ 2016-05-28 15:38   ` Eli Zaretskii
  1 sibling, 0 replies; 5+ messages in thread
From: Eli Zaretskii @ 2016-05-28 15:38 UTC (permalink / raw)
  To: abbott, Markus Triska, Raymond Zeitler; +Cc: 13452-done

> Date: Mon, 16 May 2016 20:30:29 +0300
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: 23551@debbugs.gnu.org
> 
> > Date: Mon, 16 May 2016 16:30:32 +0000
> > From: abbott@dima.unige.it
> > Cc: Abbott John <abbott@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.





^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-05-28 15:38 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-05-16 16:30 bug#23551: 24.5; beginning-of-line wrong in repeated kbd macro abbott
2016-05-16 17:30 ` Eli Zaretskii
2016-05-16 19:36   ` abbott
2016-05-16 19:42     ` Eli Zaretskii
2016-05-28 15:38   ` bug#13452: " Eli Zaretskii

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).