Mercurial > emacs
view .bzrignore @ 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 | b71665f4f9ba |
children | 9f1234368955 |
line wrap: on
line source
./_dir-locals.el ./bin ./BIN ./config.log ./config.status ./data ./etc/icons ./lock ./README.W32 ./site-lisp oo oo-spd *.dSYM *.elc *.exe autom4te.cache confdefs.h configure.lineno conftest* core DOC DOC-* makefile Makefile Makefile.c stamp_BLD subdirs.el TAGS TAGS-LISP info/* admin/unidata/unidata.txt leim/leim-list.el leim/quail/*.el leim/changed.misc leim/changed.tit lib-src/stamp-* lib-src/b2m lib-src/ctags lib-src/ctags.c lib-src/digest-doc lib-src/ebrowse lib-src/echolisp.tmp lib-src/emacsclient lib-src/etags lib-src/fakemail lib-src/getopt.h lib-src/hexl lib-src/make-docfile lib-src/movemail lib-src/profile lib-src/sorted-doc lib-src/test-distrib lib-src/update-game-score lisp/**/*-loaddefs.el lisp/**/loaddefs.el lisp/cus-load.el lisp/eshell/esh-groups.el lisp/finder-inf.el lisp/gnus/_dir-locals.el nextstep/Emacs.app nt/config.log src/_dbxinit src/_gdbinit src/bootstrap-emacs src/buildobj.h src/config.h src/deps src/emacs src/emacs-* src/epaths.h src/gdb.ini src/prefix-args* src/stamp-oldxmenu src/temacs test/indent/*.new +*