aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenichi Handa2003-01-24 02:31:24 +0000
committerKenichi Handa2003-01-24 02:31:24 +0000
commit2a026b0452500dff9772640365ff9a91510939ba (patch)
tree55d664f536edb6707eed5de4e9c74d83fa432f1a /src
parent175573acecde5135601d6dd915e014929fa9ffb1 (diff)
downloademacs-2a026b0452500dff9772640365ff9a91510939ba.tar.gz
emacs-2a026b0452500dff9772640365ff9a91510939ba.zip
(adjust_point_for_property): New second arg MODIFIED.
It it is nonzero, don't pretend that an invisible area doesn't exist. (command_loop_1): Call adjust_point_for_property with proper second arg.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog8
-rw-r--r--src/keyboard.c16
2 files changed, 17 insertions, 7 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 3a695bcee56..ad2da41b98c 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,11 @@
12003-01-24 Kenichi Handa <handa@m17n.org>
2
3 * keyboard.c (adjust_point_for_property): New second arg MODIFIED.
4 It it is nonzero, don't pretend that an invisible area doesn't
5 exist.
6 (command_loop_1): Call adjust_point_for_property with proper
7 second arg.
8
12003-01-22 Jason Rumney <jasonr@gnu.org> 92003-01-22 Jason Rumney <jasonr@gnu.org>
2 10
3 Sync changes with xterm.c and xfns.c. 11 Sync changes with xterm.c and xfns.c.
diff --git a/src/keyboard.c b/src/keyboard.c
index d54dcd22bc4..dae9470f70c 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -1335,7 +1335,7 @@ DEFUN ("abort-recursive-edit", Fabort_recursive_edit, Sabort_recursive_edit, 0,
1335static int read_key_sequence P_ ((Lisp_Object *, int, Lisp_Object, 1335static int read_key_sequence P_ ((Lisp_Object *, int, Lisp_Object,
1336 int, int, int)); 1336 int, int, int));
1337void safe_run_hooks P_ ((Lisp_Object)); 1337void safe_run_hooks P_ ((Lisp_Object));
1338static void adjust_point_for_property P_ ((int)); 1338static void adjust_point_for_property P_ ((int, int));
1339 1339
1340Lisp_Object 1340Lisp_Object
1341command_loop_1 () 1341command_loop_1 ()
@@ -1587,7 +1587,7 @@ command_loop_1 ()
1587 /* Put this before calling adjust_point_for_property 1587 /* Put this before calling adjust_point_for_property
1588 so it will only get called once in any case. */ 1588 so it will only get called once in any case. */
1589 goto directly_done; 1589 goto directly_done;
1590 adjust_point_for_property (last_point_position); 1590 adjust_point_for_property (last_point_position, 0);
1591 already_adjusted = 1; 1591 already_adjusted = 1;
1592 if (PT == last_point_position + 1 1592 if (PT == last_point_position + 1
1593 && (dp 1593 && (dp
@@ -1621,7 +1621,7 @@ command_loop_1 ()
1621 lose = FETCH_CHAR (PT_BYTE); 1621 lose = FETCH_CHAR (PT_BYTE);
1622 if (! NILP (Vpost_command_hook)) 1622 if (! NILP (Vpost_command_hook))
1623 goto directly_done; 1623 goto directly_done;
1624 adjust_point_for_property (last_point_position); 1624 adjust_point_for_property (last_point_position, 0);
1625 already_adjusted = 1; 1625 already_adjusted = 1;
1626 if (PT == last_point_position - 1 1626 if (PT == last_point_position - 1
1627 && (dp 1627 && (dp
@@ -1791,7 +1791,7 @@ command_loop_1 ()
1791 && NILP (Vdisable_point_adjustment) 1791 && NILP (Vdisable_point_adjustment)
1792 && NILP (Vglobal_disable_point_adjustment) 1792 && NILP (Vglobal_disable_point_adjustment)
1793 && !already_adjusted) 1793 && !already_adjusted)
1794 adjust_point_for_property (last_point_position); 1794 adjust_point_for_property (last_point_position, MODIFF != prev_modiff);
1795 1795
1796 /* Install chars successfully executed in kbd macro. */ 1796 /* Install chars successfully executed in kbd macro. */
1797 1797
@@ -1817,8 +1817,9 @@ extern Lisp_Object Qafter_string, Qbefore_string;
1817extern Lisp_Object get_pos_property P_ ((Lisp_Object, Lisp_Object, Lisp_Object)); 1817extern Lisp_Object get_pos_property P_ ((Lisp_Object, Lisp_Object, Lisp_Object));
1818 1818
1819static void 1819static void
1820adjust_point_for_property (last_pt) 1820adjust_point_for_property (last_pt, modified)
1821 int last_pt; 1821 int last_pt;
1822 int modified;
1822{ 1823{
1823 int beg, end; 1824 int beg, end;
1824 Lisp_Object val, overlay, tmp; 1825 Lisp_Object val, overlay, tmp;
@@ -1894,8 +1895,9 @@ adjust_point_for_property (last_pt)
1894 check_composition = check_display = 1; 1895 check_composition = check_display = 1;
1895 } 1896 }
1896 xassert (PT == beg || PT == end); 1897 xassert (PT == beg || PT == end);
1897 /* Pretend the area doesn't exist. */ 1898 /* Pretend the area doesn't exist if the buffer is not
1898 if (!ellipsis && beg < end) 1899 modified. */
1900 if (!modified && !ellipsis && beg < end)
1899 { 1901 {
1900 if (last_pt == beg && PT == end && end < ZV) 1902 if (last_pt == beg && PT == end && end < ZV)
1901 (check_composition = check_display = 1, SET_PT (end + 1)); 1903 (check_composition = check_display = 1, SET_PT (end + 1));