[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/emacs-24 r111082: Fix bug #13277 with TTY c
From: |
Eli Zaretskii |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/emacs-24 r111082: Fix bug #13277 with TTY cursor positioning in a line with overlay arrow. |
Date: |
Thu, 27 Dec 2012 19:29:14 +0200 |
User-agent: |
Bazaar (2.5.0) |
------------------------------------------------------------
revno: 111082
fixes bug: http://debbugs.gnu.org/13277
committer: Eli Zaretskii <address@hidden>
branch nick: emacs-24
timestamp: Thu 2012-12-27 19:29:14 +0200
message:
Fix bug #13277 with TTY cursor positioning in a line with overlay arrow.
src/xdisp.c (set_cursor_from_row): Don't confuse a truncation or
continuation glyph on a TTY with an indication of an empty line.
src/dispextern.h: Improve commentary to glyph->charpos and
glyph->object.
modified:
src/ChangeLog
src/dispextern.h
src/xdisp.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2012-12-27 07:55:14 +0000
+++ b/src/ChangeLog 2012-12-27 17:29:14 +0000
@@ -1,3 +1,9 @@
+2012-12-27 Eli Zaretskii <address@hidden>
+
+ * xdisp.c (set_cursor_from_row): Don't confuse a truncation or
+ continuation glyph on a TTY with an indication of an empty line.
+ (Bug#13277)
+
2012-12-27 Glenn Morris <address@hidden>
* cygw32.c (Fcygwin_convert_file_name_to_windows)
=== modified file 'src/dispextern.h'
--- a/src/dispextern.h 2012-10-07 22:31:58 +0000
+++ b/src/dispextern.h 2012-12-27 17:29:14 +0000
@@ -317,13 +317,18 @@
Lisp string, this is a position in that string. If it is a
buffer, this is a position in that buffer. A value of -1
together with a null object means glyph is a truncation glyph at
- the start of a row. */
+ the start of a row. Right truncation and continuation glyphs at
+ the right edge of a row have their position set to the next
+ buffer position that is not shown on this row. Glyphs inserted
+ by redisplay, such as the empty space after the end of a line on
+ TTYs, have this set to -1. */
ptrdiff_t charpos;
- /* Lisp object source of this glyph. Currently either a buffer or
- a string, if the glyph was produced from characters which came from
+ /* Lisp object source of this glyph. Currently either a buffer or a
+ string, if the glyph was produced from characters which came from
a buffer or a string; or 0 if the glyph was inserted by redisplay
- for its own purposes such as padding. */
+ for its own purposes such as padding or truncation/continuation
+ glyphs on TTYs. */
Lisp_Object object;
/* Width in pixels. */
=== modified file 'src/xdisp.c'
--- a/src/xdisp.c 2012-11-24 07:25:52 +0000
+++ b/src/xdisp.c 2012-12-27 17:29:14 +0000
@@ -14241,7 +14241,12 @@
CHARPOS is zero or negative. */
int empty_line_p =
(row->reversed_p ? glyph > glyphs_end : glyph < glyphs_end)
- && INTEGERP (glyph->object) && glyph->charpos > 0;
+ && INTEGERP (glyph->object) && glyph->charpos > 0
+ /* On a TTY, continued and truncated rows also have a glyph at
+ their end whose OBJECT is zero and whose CHARPOS is
+ positive (the continuation and truncation glyphs), but such
+ rows are obviously not "empty". */
+ && !(row->continued_p || row->truncated_on_right_p);
if (row->ends_in_ellipsis_p && pos_after == last_pos)
{
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/emacs-24 r111082: Fix bug #13277 with TTY cursor positioning in a line with overlay arrow.,
Eli Zaretskii <=