bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#2541: 23.0.91; doc-view: unexpected scrolling after returning to tex


From: Tassilo Horn
Subject: bug#2541: 23.0.91; doc-view: unexpected scrolling after returning to text mode
Date: Tue, 11 Jan 2011 22:13:13 +0100
User-agent: Gnus/5.110011 (No Gnus v0.11) Emacs/24.0.50 (gnu/linux)

Markus Triska <markus.triska@gmx.at> writes:

> Given p.ps from:
>
>    http://www.logic.at/prolog/p.ps
>
> when I do:
>
> 1)   $ emacs -Q p.ps
>
> 2)   M-: (setq doc-view-ghostscript-options (list "-dSAFER" "-dNOPAUSE" 
> "-sDEVICE=png16m" "-dTextAlphaBits=4" "-dBATCH" "-dGraphicsAlphaBits=4" 
> "-dQUIET" "-dEPSCrop")) RET
>
> 3)   C-u - 1 M-r C-c C-c C-v C-c C-c
>
> then (as expected) doc-view returns to text mode, and point is on the
> same position where it was before entering graphics mode. When I then
> press C-p repeatedly, instead of moving point to the previous line,
> the text is unexpectedly scrolled down without moving point.

I can reproduce that (even without step 2) using

  GNU Emacs 24.0.50.1 (x86_64-pc-linux-gnu) of 2011-01-11 on thinkpad

However, C-p is bound to `previous-line' as usual in that context.

After edebugging a bit, I found that the reasion is that in

--8<---------------cut here---------------start------------->8---
(defun line-move (arg &optional noerror to-end try-vscroll)
  (unless (and auto-window-vscroll try-vscroll
               ;; Only vscroll for single line moves
               (= (abs arg) 1)
               ;; But don't vscroll in a keyboard macro.
               (not defining-kbd-macro)
               (not executing-kbd-macro)
               (line-move-partial arg noerror to-end))
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    (set-window-vscroll nil 0 t)
    (if line-move-visual
        (line-move-visual arg noerror)
      (line-move-1 arg noerror to-end))))
--8<---------------cut here---------------end--------------->8---

the underlined call scrolls one line and returns some integer in that
context.  That makes the and clause return non-nil, and so the unless
body is not executed.  I don't know this part of emacs, so I don't know
how to fix the issue...

But I don't think that has something to do with doc-view.

Bye,
Tassilo





reply via email to

[Prev in Thread] Current Thread [Next in Thread]