Mercurial > emacs
annotate lisp/term/vt200.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 -*- |
3848
73eb72de291d
Translate F11 (ESC [ 23 ~) to ESC.
Richard M. Stallman <rms@gnu.org>
parents:
3289
diff
changeset
|
2 ;; For our purposes we can treat the vt200 and vt100 almost alike. |
73eb72de291d
Translate F11 (ESC [ 23 ~) to ESC.
Richard M. Stallman <rms@gnu.org>
parents:
3289
diff
changeset
|
3 ;; Most differences are handled by the termcap entry. |
64651
af1c58687bdd
* term/apollo.el (terminal-init-apollo): New function containing
Dan Nicolaescu <dann@ics.uci.edu>
parents:
52401
diff
changeset
|
4 (defun terminal-init-vt200 () |
83353
532e0a9335a9
Merged in changes from CVS trunk. Plus added lisp/term tweaks.
Karoly Lorentey <lorentey@elte.hu>
diff
changeset
|
5 "Terminal initialization function for vt200." |
83524
673d62ad74b5
Fix and/or simplify terminal initialization files.
Karoly Lorentey <lorentey@elte.hu>
parents:
83394
diff
changeset
|
6 (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
|
7 ;; Make F11 an escape key. |
85550
528714e93230
(terminal-init-vtNNN): Use input-decode-map.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83524
diff
changeset
|
8 (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
|
9 (define-key local-function-key-map [f11] [?\e])) |
38414
67b464da13ec
Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents:
3848
diff
changeset
|
10 |
85550
528714e93230
(terminal-init-vtNNN): Use input-decode-map.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83524
diff
changeset
|
11 ;; arch-tag: 0f78f583-9f32-4237-b106-28bcfff21d89 |
38414
67b464da13ec
Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents:
3848
diff
changeset
|
12 ;;; vt200.el ends here |