Mercurial > emacs
annotate lisp/term/vt300.el @ 111116:b52e94e0cf53
Implement mouse highlight for bidi-reordered lines.
xdisp.c (fast_find_string_pos): #ifdef away, not used anymore.
(mouse_face_from_string_pos): New function, replaces
fast_find_string_pos.
(note_mouse_highlight): Call it instead of fast_find_string_pos.
(note_mode_line_or_margin_highlight): Support bidi-reordered
strings and R2L glyph rows. Fix comments.
(note_mouse_highlight): When bidi reordering is turned on in a
buffer, call next-single-property-change and
previous-single-property-change with last argument nil. Clear
mouse highlight when mouse pointer is in a R2L row on the stretch
glyph that stands for no text beyond the line end.
(row_containing_pos): Don't return too early when CHARPOS is in a
bidi-reordered continued line. Return immediately when the first
hit is found in a line that is not continued, or when an exact
match for CHARPOS is found.
(rows_from_pos_range): New function.
(mouse_face_from_buffer_pos): Use it instead of calling
row_containing_pos for START_CHARPOS and END_CHARPOS. Rewrite the
function to support mouse highlight in bidi-reordered lines and
not to assume that START_CHARPOS is always in mouse_face_beg_row.
If necessary, swap mouse_face_beg_row and mouse_face_end_row so
that the former is always above the latter or identical to it.
(show_mouse_face): Support drawing highlighted R2L lines.
(coords_in_mouse_face_p): New function, bidi-aware.
(cursor_in_mouse_face_p, note_mouse_highlight, erase_phys_cursor):
Call it instead of comparing with mouse-face members of dpyinfo.
(note_mode_line_or_margin_highlight): Fix confusingly swapped
usage of hpos and vpos.
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Sat, 23 Oct 2010 17:30:45 +0200 |
parents | 528714e93230 |
children | 4bc33ffdda1a ef719132ddfa |
rev | line source |
---|---|
47726
33d53d287ee4
Add "no-byte-compile: t" in first line.
Juanma Barranquero <lekktu@gmail.com>
parents:
38414
diff
changeset
|
1 ;; -*- no-byte-compile: t -*- |
64651
af1c58687bdd
* term/apollo.el (terminal-init-apollo): New function containing
Dan Nicolaescu <dann@ics.uci.edu>
parents:
52401
diff
changeset
|
2 (defun terminal-init-vt300 () |
83353
532e0a9335a9
Merged in changes from CVS trunk. Plus added lisp/term tweaks.
Karoly Lorentey <lorentey@elte.hu>
diff
changeset
|
3 "Terminal initialization function for vt300." |
83524
673d62ad74b5
Fix and/or simplify terminal initialization files.
Karoly Lorentey <lorentey@elte.hu>
parents:
83394
diff
changeset
|
4 (tty-run-terminal-initialization (selected-frame) "vt100") |
64651
af1c58687bdd
* term/apollo.el (terminal-init-apollo): New function containing
Dan Nicolaescu <dann@ics.uci.edu>
parents:
52401
diff
changeset
|
5 ;; Make F11 an escape key. |
85550
528714e93230
(terminal-init-vtNNN): Use input-decode-map.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83524
diff
changeset
|
6 (define-key input-decode-map "\e[23~" [f11]) ;Probably redundant. |
528714e93230
(terminal-init-vtNNN): Use input-decode-map.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83524
diff
changeset
|
7 (define-key local-function-key-map [f11] [?\e])) |
38414
67b464da13ec
Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents:
25841
diff
changeset
|
8 |
85550
528714e93230
(terminal-init-vtNNN): Use input-decode-map.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83524
diff
changeset
|
9 ;; arch-tag: 876831c9-a6f2-444a-b033-706e6fbc149f |
38414
67b464da13ec
Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents:
25841
diff
changeset
|
10 ;;; vt300.el ends here |