unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Le Wang <l26wang@gmail.com>
Cc: 12401@debbugs.gnu.org
Subject: bug#12401: scroll-preserve-screen-position broken with font height	faces
Date: Mon, 10 Sep 2012 10:23:57 +0300	[thread overview]
Message-ID: <83mx0yl4s2.fsf@gnu.org> (raw)
In-Reply-To: <CAM=K+io7LpXt+trfeiKpBuPNwfR7wMkgp9mUCjKsB338MYAwFA@mail.gmail.com>

> Date: Mon, 10 Sep 2012 14:12:39 +0800
> From: Le Wang <l26wang@gmail.com>
> 
> with "scroll-preserve-screen-position" set to t, pressing <C-v>, <M-v>
> brings point back to the same buffer position.
> 
> However if I customize a face e.g. font-lock-keyword-face with height
> of 1.3, then this no longer works.  Browsing any emacs-lisp source,
> <C-v>, <M-v> changes line position.

scroll-preserve-screen-position tries to preserve the
_screen_position_ of point, i.e. where you find the cursor, after it
executes one of the scrolling commands.  But since arbitrary pixel
coordinates on the screen might in general (in the presence of
variable-size fonts) correspond to one of 2 possible text lines, Emacs
needs to choose where to put the cursor.  What exactly do you expect
Emacs to do in such a situation, where it simply _cannot_ keep the
same pixel coordinates?

IOW, what is the "contract" that you expect Emacs to keep under
scroll-preserve-screen-position?  Is it just that doing N C-v's
followed by N M-v's brings point to the same location where it was
before this sequence of 2N commands?  Or do you also expect something
from each individual C-v/M-v, and if so, what exactly?

> For reference this package works just fine with variable height faces:
> http://www.cs.utah.edu/~eeide/emacs/scroll-in-place.el.gz

I cannot use it, neither in Emacs 24.2 nor in the current trunk code:
it complains about a missing function screen-width.  Please provide a
complete recipe for using this package, starting with "emacs -Q", in
Emacs 24.2 or newer, so I could study what it does and how.

For that matter, please also provide all the details collected by
report-emacs-bug, they might be important.

Thanks.





  reply	other threads:[~2012-09-10  7:23 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-10  6:12 bug#12401: scroll-preserve-screen-position broken with font height faces Le Wang
2012-09-10  7:23 ` Eli Zaretskii [this message]
2012-09-10 12:37   ` Le Wang
2012-09-10 18:02     ` Eli Zaretskii
2012-09-10 13:26   ` Stefan Monnier
2012-09-10 18:05     ` Eli Zaretskii
2012-09-10 20:42       ` Stefan Monnier
2012-09-12  8:08       ` martin rudalics
2012-09-12 16:48         ` Eli Zaretskii
2012-09-12 17:38           ` martin rudalics
2022-02-09  9:17 ` Lars Ingebrigtsen
2022-03-09 16:22   ` Lars Ingebrigtsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83mx0yl4s2.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=12401@debbugs.gnu.org \
    --cc=l26wang@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).