Mercurial > emacs
changeset 101985:82f3d6b4d8c1
(adjust_point_for_property): Allow stopping betwen two invisible areas.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Thu, 12 Feb 2009 18:20:52 +0000 |
parents | 84b9607bddb0 |
children | aab85e9d78b6 |
files | src/ChangeLog src/keyboard.c |
diffstat | 2 files changed, 44 insertions(+), 30 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog Thu Feb 12 18:16:26 2009 +0000 +++ b/src/ChangeLog Thu Feb 12 18:20:52 2009 +0000 @@ -1,3 +1,8 @@ +2009-02-12 Stefan Monnier <monnier@iro.umontreal.ca> + + * keyboard.c (adjust_point_for_property): Allow stopping betwen two + invisible areas. + 2009-02-12 Jason Rumney <jasonr@gnu.org> * w32font.c (check_face_name): Check for fake helv. (Bug#2275) @@ -27,14 +32,14 @@ * search.c (fast_looking_at): New function. - * term.c (encode_terminal_code): Adjusted for the change of + * term.c (encode_terminal_code): Adjust for the change of <struct glyph>.u.cmp.to. (append_composite_glyph): Likewise. - * xdisp.c (fill_gstring_glyph_string): Adjusted for the change of + * xdisp.c (fill_gstring_glyph_string): Adjust for the change of <struct glyph>.u.cmp.to. Check if the glyph belongs to the same composition. - (append_composite_glyph): Adjusted for the change of + (append_composite_glyph): Adjust for the change of <strcut glyph>.u.cmp.to. 2009-02-11 Juanma Barranquero <lekktu@gmail.com> @@ -84,8 +89,8 @@ 2009-02-07 Eli Zaretskii <eliz@gnu.org> - * coding.c (syms_of_coding) <translation-table-for-input>: Modify - doc string to discourage use for character code unification. + * coding.c (syms_of_coding) <translation-table-for-input>: + Modify doc string to discourage use for character code unification. 2009-02-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> @@ -119,8 +124,8 @@ * nsterm.m (ns_read_socket): Same and don't set handling_signal. - * keyboard.c (poll_for_input_1, handle_async_input): Set - handling_signal under HAVE_NS. + * keyboard.c (poll_for_input_1, handle_async_input): + Set handling_signal under HAVE_NS. 2009-02-04 Glenn Morris <rgm@gnu.org> @@ -214,11 +219,9 @@ * lisp.h (QUIT): Check pending_signals instead of interrupt_input_pending. Use process_pending_signals. - * atimer.c (run_timers, alarm_signal_handler): Update - pending_signals. - - * process.c (wait_reading_process_output): Use - process_pending_signals. + * atimer.c (run_timers, alarm_signal_handler): Update pending_signals. + + * process.c (wait_reading_process_output): Use process_pending_signals. * sysdep.c (emacs_write): Use process_pending_signals. @@ -273,7 +276,7 @@ * xftfont.c (struct xftfont_info): New member `index'. * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit. - (Ffontset_font): Adjusted for the change of fontset entry. + (Ffontset_font): Adjust for the change of fontset entry. 2009-01-26 Kenichi Handa <handa@m17n.org> @@ -389,8 +392,8 @@ * nsterm.h (EmacsApp-setAppleMenu:): Conditionalize more correctly on Tiger. - * nsfns.m (ns_do_applescript): Conditionalize - typeUTF16ExternalRepresentation on Tiger. + * nsfns.m (ns_do_applescript): + Conditionalize typeUTF16ExternalRepresentation on Tiger. 2009-01-21 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change) @@ -433,8 +436,7 @@ 2009-01-19 Kenichi Handa <handa@m17n.org> - * ftfont.c (ftfont_lookup_cache): Check the return value of - FcFontList. + * ftfont.c (ftfont_lookup_cache): Check the return value of FcFontList. (ftfont_list): Likewise. 2009-01-18 Juanma Barranquero <lekktu@gmail.com> @@ -461,8 +463,7 @@ 2009-01-15 Kenichi Handa <handa@m17n.org> - * coding.c (detect_coding_system): Fix handling of - null_byte_found. + * coding.c (detect_coding_system): Fix handling of null_byte_found. 2009-01-14 Jason Rumney <jasonr@gnu.org> @@ -516,8 +517,7 @@ * coding.c (inhibit_null_byte_detection): New variable. (detect_coding, detect_coding_system): Don't pay attention to null bytes if inhibit_null_byte_detection is non-zero. - (syms_of_coding) <inhibit-null-byte-detection>: Declare and - document. + (syms_of_coding) <inhibit-null-byte-detection>: Declare and document. <inhibit-iso-escape-detection>: Doc fix. 2009-01-09 Jason Rumney <jasonr@gnu.org> @@ -528,11 +528,10 @@ 2009-01-09 Chong Yidong <cyd@stupidchicken.com> - * xfaces.c (Fx_font_family_list): Function deleted. Compatibility - version moved to faces.el. - - * font.c (Ffont_family_list): Return a list of strings, not - symbols. + * xfaces.c (Fx_font_family_list): Delete function. + Move compatibility version to faces.el. + + * font.c (Ffont_family_list): Return a list of strings, not symbols. 2009-01-09 Martin Rudalics <rudalics@gmx.at> @@ -550,8 +549,7 @@ 2009-01-08 Chong Yidong <cyd@stupidchicken.com> - * font.c (font_open_for_lface): Handle unspecified height - attribute. + * font.c (font_open_for_lface): Handle unspecified height attribute. 2009-01-08 Jason Rumney <jasonr@gnu.org> @@ -671,8 +669,7 @@ * xfns.c (x_create_tip_frame): Set border width of the X window. - * xfaces.c (Finternal_set_lisp_face_attribute): Improve error - message. + * xfaces.c (Finternal_set_lisp_face_attribute): Improve error message. 2009-01-01 Jason Rumney <jasonr@gnu.org>
--- a/src/keyboard.c Thu Feb 12 18:16:26 2009 +0000 +++ b/src/keyboard.c Thu Feb 12 18:20:52 2009 +0000 @@ -2046,6 +2046,20 @@ /* Find boundaries `beg' and `end' of the invisible area, if any. */ while (end < ZV + /* Stop if we find a spot between two runs of + `invisible' where inserted text would be visible. + This is important when we have two invisible + boundaries that enclose an area: if the area is + empty, we need this test in order to make it + possible to place point in the middle rather than + skip both boundaries. + Note that this will stop anywhere in a non-sticky + text-property, but I don't think there's much we + can do about that. */ + && (val = get_pos_property (make_number (end), + Qinvisible, Qnil), + TEXT_PROP_MEANS_INVISIBLE (val)) + /* FIXME: write and then use get_pos_property_and_overlay. */ && !NILP (val = get_char_property_and_overlay (make_number (end), Qinvisible, Qnil, &overlay)) && (inv = TEXT_PROP_MEANS_INVISIBLE (val))) @@ -2059,6 +2073,9 @@ end = NATNUMP (tmp) ? XFASTINT (tmp) : ZV; } while (beg > BEGV + && (val = get_pos_property (make_number (beg), + Qinvisible, Qnil), + TEXT_PROP_MEANS_INVISIBLE (val)) && !NILP (val = get_char_property_and_overlay (make_number (beg - 1), Qinvisible, Qnil, &overlay)) && (inv = TEXT_PROP_MEANS_INVISIBLE (val)))