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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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>
parents: 83346 64651
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