[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Redisplay problems with invisible text at the beginning of a line.
From: |
Lute Kamstra |
Subject: |
Redisplay problems with invisible text at the beginning of a line. |
Date: |
Thu, 1 May 2003 14:13:47 +0200 |
Dear people,
This concerns not only cvs Emacs 21.3.50 but also released Emacs 21.1
and 21.3. The bugs are slightly different for the released Emacsen,
though.
Currently, I'm writing a major mode that uses an invisible character
at the beginning of each line to store some data. This results in a
number of redisplay problems. A good way to reproduce three of them
is as follows:
Create a buffer in a window and make sure that the buffer is
significantly larger that the window. (Opening the tutorial with C-h
t will do nicely.)
Move point to the first character of a nonempty line in the bottom
half of the window.
Evaluate (put-text-property (point) (+ (point) 1) 'invisible t) to
make the first character of the line invisible.
Type C-u 0 C-l (to invoke recenter).
What I would expect to see now is that the line the point is in would
become the first line of the window and that point would not move.
However, this is not the case. Bug number 1:
A. For Emacs 21.1 and 21.3 the following happens. The line point is
in, that is, the line starting with the invisible character,
becomes the first line of the window and point moves to the
beginning of the line in the middle of the window.
B. For Emacs 21.3.50 the following happens. The line point is in
becomes the middle line of the window (as if C-l had been typed
without a prefix).
To see bug number 2, make sure that the line starting with the
invisible character is the top line of the window and that point is in
the line just after the top line.
Now type C-a followed by C-p. I would expect that point would just
move to the beginning of the top line. This does happen, but the
window is also redisplayed and the line point is in is now shown in
the middle of the window.
For Emacs 21.1 under X (I can't test 21.3 or 21.3.50 under X at the
moment) bug number 3 now occurs that does not happen on a console (-nw
option). The line starting with the invisible character that is shown
in the middle of the window is followed by a copy of itself. So the
line line starting with the invisible character is displayed *twice*.
Typing C-l at this time causes the copy to go away.
Regards,
Lute.
In GNU Emacs 21.3.50.1 (i686-pc-linux-gnu, GNU/LessTif Version 1.2 Release
0.93.18)
of 2003-04-28 on occarina.pna.cwi.nl
configured using `configure '--prefix=/export/scratch1/lute/software/cvs'
'--exec-prefix=/export/scratch1/lute/software/cvs' '--with-x-toolkit=motif'
'--with-xpm' '--with-jpeg' '--with-tiff' '--with-gif' '--with-png' '--with-x''
Important settings:
value of $LC_ALL: nil
value of $LC_COLLATE: C
value of $LC_CTYPE: nil
value of $LC_MESSAGES: nil
value of $LC_MONETARY: nil
value of $LC_NUMERIC: nil
value of $LC_TIME: nil
value of $LANG: en_US
locale-coding-system: iso-latin-1
default-enable-multibyte-characters: t
Recent input:
ESC x r e p o r t TAB RET
Recent messages:
(emacs-21.3.50 -q --no-site-file)
Loading disp-table...done
Loading encoded-kb...done
For information about the GNU Project and its goals, type C-h C-p.
Loading emacsbug...done
- Redisplay problems with invisible text at the beginning of a line.,
Lute Kamstra <=