GNU bug report logs - #7046
23.1; Repeating emacs macro skipping every second line

Previous Next

Package: emacs;

Reported by: Gord Wait <gordwait <at> lighthauslogic.com>

Date: Thu, 16 Sep 2010 19:00:03 UTC

Severity: normal

Merged with 8114, 10461

Found in versions 23.1, 24.0.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


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

From: Johan Bockgård <bojohan <at> gnu.org>
To: Gord Wait <gordwait <at> lighthauslogic.com>
Cc: "'7046 <at> debbugs.gnu.org'" <7046 <at> debbugs.gnu.org>
Subject: Re: bug#7046: More info
Date: Sun, 26 Sep 2010 01:45:16 +0200
Gord Wait <gordwait <at> lighthauslogic.com> writes:

> I also tried using "forward-line" and got similar results.

Really?

> It seems to be dependent on how many repeats I select. If I auto
> repeat say 10 lines worth, It seems to be ok. If I auto repeat the
> macro 1000 times, then it starts to skip every line at some point..

next-line can move to the wrong column when point gets below the end of
the window.

The problem is in line-move-visual (i.e it only exists if the variable
line-move-visual is non-nil),

    ;; Otherwise, we should reset `temporary-goal-column'.
    (let ((posn (posn-at-point)))
      (cond
       ;; Handle the `overflow-newline-into-fringe' case:
       ((eq (nth 1 posn) 'right-fringe)
        (setq temporary-goal-column (cons (- (window-width) 1) hscroll)))
       ((car (posn-x-y posn))
        (setq temporary-goal-column
              (cons (/ (float (car (posn-x-y posn)))
                       (frame-char-width)) hscroll)))))

If the position is not visible in the window, posn-at-point returns nil
and temporary-goal-column is not updated as it should.




This bug report was last modified 5 years and 143 days ago.

Previous Next


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