[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#15716: 24.3.50; redisplay bug for display-table update
From: |
Eli Zaretskii |
Subject: |
bug#15716: 24.3.50; redisplay bug for display-table update |
Date: |
Fri, 25 Oct 2013 18:26:53 +0300 |
> Date: Fri, 25 Oct 2013 08:04:14 -0700 (PDT)
> From: Drew Adams <drew.adams@oracle.com>
>
> See attached screenshots, from the same session. The bad one (NG) was
> taken after `C-l', which should have taken care of any redisplay
> problem.
`C-l' does not necessarily do a redisplay, at least not by default.
It did so in the past, but ceased to since Emacs 23.1, where `C-l' was
bound to 'recenter-top-bottom' instead of 'recenter'.
> The good one (OK) was taken after then iconifying (thumbifying,
> actually) and then restoring the frame - that took care of the display
> problem.
>
> The part of the displayed buffer that got messed up is the result of
> modifying the display table for character ^L - what looks like a sunken
> line of text "Section (Printable Page)" is in fact just a ^L character.
> The code that does this is here:
> http://www.emacswiki.org/emacs-en/download/pp-c-l.el.
>
> This is the part of the code that updates the display table:
>
> (lambda (window)
> (let ((display-table (or (window-display-table window)
> (make-display-table))))
> (aset display-table ?\014 (and pretty-control-l-mode
> (pp^L-^L-display-table-entry window)))
> (set-window-display-table window display-table)))
Emacswiki seems to be off-line. But unless you are saying that
turning on this feature _always_ results in garbled display, I will
need a recipe to reproduce the problem, or else it is impossible to
debug it.
> BTW/FWIW - I think I have also noticed, with this build (perhaps other
> recent builds too?), the need to hit `C-l' more often. Until now I have
> probably used `C-l' only a few times over the last decade or so - hasn't
> been needed. (In the old days it was needed much more often.)
You read too much into what `C-l' does. I recommend redraw-display,
if you want to force a thorough redisplay.
Anyway, all those situations should be reported, if they are
reproducible. You shouldn't need to force redisplay manually.