[Top][All Lists]

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

RE: hscroll-step doc bug; cannot turn off hscroll by binding

From: Drew Adams
Subject: RE: hscroll-step doc bug; cannot turn off hscroll by binding
Date: Tue, 30 May 2006 10:24:40 -0700

    > 1. The doc string of `hscroll-step' refers to variable
    > `automatic-hscroll-margin'. I believe this should be `hscroll-margin'
    > (the former apparently does not exist).

    I don't see this


    ... is your emacs up-to-date?

Apparently not. It dates from March 20.

    > 2. I tried to bind `auto-hscroll-mode' to nil in a particular context,
    > to prevent automatic scrolling (without changing the user's value of
    > the option). It does not seem to work - scrolling occurs
    > anyway. Likewise, binding `hscroll-margin' to 0 had no effect (didn't
    > prevent auto scrolling). I used a let binding in a mouse command, but
    > as soon as the command exited the window was scrolled anyway (after
    > clicking near a window edge). I ended up setting `auto-hscroll-mode'
    > as a buffer-local variable, which is OK, but I think binding it should
    > also work.

    Hscrolling is done by the redisplay engine _after_ the command has
    completed, so any temporary change to hscroll related variables will
    have no effect on how things are displayed.

Too bad. How about explaining this in the manual or doc string? You might
also mention that setting `auto-hscroll-mode' (as a local variable) is about
the only way to turn this off locally by program (unless you are willing to
clobber the user setting).

AFAICT, this auto-scroll thing is new. It can be annoying in some contexts
(e.g. windows where you want users to click to choose something, possibly
close to the window edge, but where you don't want to scroll the window in
any way). It would be good for Lisp code to be able to turn it off for, say,
the duration of some code. I guess there is no way to do that. Fortunately,
in my application, I was able to turn it off locally for a buffer, and that
was sufficient.

reply via email to

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