GNU bug report logs - #11249
24.1.50; Overlay with face property causes calendar buffer to scroll

Previous Next

Packages: org-mode, emacs;

Reported by: Toby Cubitt <toby-dated-1335727506.fc2349 <at> dr-qubit.org>

Date: Sun, 15 Apr 2012 19:34:02 UTC

Severity: normal

Tags: notabug

Found in version 24.1.50

Done: Chong Yidong <cyd <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Toby Cubitt <toby-dated-1335733484.f898fc <at> dr-qubit.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: emacs-orgmode <at> gnu.org, 11249 <at> debbugs.gnu.org
Subject: bug#11249: 24.1.50;	Overlay with face property causes calendar buffer to scroll
Date: Sun, 15 Apr 2012 23:04:16 +0200
On Sun, Apr 15, 2012 at 11:41:00PM +0300, Eli Zaretskii wrote:
> > Date: Sun, 15 Apr 2012 21:24:39 +0200
> > From: Toby Cubitt <tsc25 <at> cantab.net>
> > 
> > Steps to reproduce:
> > 
> > 1. emacs -Q
> > 2. M-x calendar
> > 3. M-: (setq o (make-overlay 1 2))
> > 4. M-: (overlay-put o 'face 'font-lock-warning-face)
> > 5. Use C-n to move point to date in the last line of calendar
> > 
> > 
> > Symptoms:
> > 
> > When the point moves to the last line of the calendar in step 5., the
> > calendar buffer scrolls down, so that the top part of the calendar
> > scrolls off the top of the window and can't be seen.
> 
> This is not a bug, but a feature: Emacs does not allow the cursor to
> enter a partially visible line; it scrolls the buffer to make the line
> with the cursor fully visible.  Displaying characters in the
> font-lock-warning-face makes them slightly larger (because that face
> makes the characters bold), and that can cause the last line to exceed
> the visible portion of the window.

Aha, that makes sense.

> > The above steps are a minimal sequence needed to reproduce the bug. In
> > everyday Emacs use, the bug is triggered by date selection via
> > `org-read-date' in org-mode (which uses an overlay with non-null 'face
> > property in the calendar buffer to highlight the current date).
> 
> If that face also enlarges the characters, this is a feature of the
> Emacs display engine.

Yup, I chose `font-lock-warning-face' in the steps to reproduce because
org-mode sets `org-warning' face to this by default.

Even if this behaviour is related to a display engine feature, this is
nonetheless a bug in `org-read-date'.

It's very irritating to have the top part of the calendar scroll off the
top of the window. Apart from being ugly, it hides the month and day
names (in addition to half the dates), making it very difficult to select
the desired date.

The obvious solution is for org-mode to use a face that doesn't enlarge
the characters. I imagine that would mean defining a separate org-mode
face specifically for highlighting the date in the calendar, since
`org-warning' is used for all kinds of other things in org-mode for which
bold characters make sense (e.g. warning about todo items whose deadline
is due).

I've copied this to the org-mode mailing list, since presumably the
org-mode maintainers will have to take care of this.

Toby
-- 
Dr T. S. Cubitt
Mathematics and Quantum Information group
Department of Mathematics
Complutense University
Madrid, Spain

email: tsc25 <at> cantab.net
web:   www.dr-qubit.org




This bug report was last modified 13 years and 35 days ago.

Previous Next


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