Mercurial > emacs
comparison src/keyboard.c @ 49192:f9bae037b4c3
(command_loop_1): Don't redisplay directly if there's a post-command-hook.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Mon, 13 Jan 2003 08:20:09 +0000 |
parents | ce422542bd8d |
children | 1dd9faae71ac |
comparison
equal
deleted
inserted
replaced
49191:9b836b1dabe5 | 49192:f9bae037b4c3 |
---|---|
1581 { | 1581 { |
1582 struct Lisp_Char_Table *dp | 1582 struct Lisp_Char_Table *dp |
1583 = window_display_table (XWINDOW (selected_window)); | 1583 = window_display_table (XWINDOW (selected_window)); |
1584 lose = FETCH_CHAR (PT_BYTE); | 1584 lose = FETCH_CHAR (PT_BYTE); |
1585 SET_PT (PT + 1); | 1585 SET_PT (PT + 1); |
1586 if (! NILP (Vpost_command_hook)) | |
1587 /* Put this before calling adjust_point_for_property | |
1588 so it will only get called once in any case. */ | |
1589 goto directly_done; | |
1586 adjust_point_for_property (last_point_position); | 1590 adjust_point_for_property (last_point_position); |
1587 already_adjusted = 1; | 1591 already_adjusted = 1; |
1588 if (PT == last_point_position + 1 | 1592 if (PT == last_point_position + 1 |
1589 && (dp | 1593 && (dp |
1590 ? (VECTORP (DISP_CHAR_VECTOR (dp, lose)) | 1594 ? (VECTORP (DISP_CHAR_VECTOR (dp, lose)) |
1613 { | 1617 { |
1614 struct Lisp_Char_Table *dp | 1618 struct Lisp_Char_Table *dp |
1615 = window_display_table (XWINDOW (selected_window)); | 1619 = window_display_table (XWINDOW (selected_window)); |
1616 SET_PT (PT - 1); | 1620 SET_PT (PT - 1); |
1617 lose = FETCH_CHAR (PT_BYTE); | 1621 lose = FETCH_CHAR (PT_BYTE); |
1622 if (! NILP (Vpost_command_hook)) | |
1623 goto directly_done; | |
1618 adjust_point_for_property (last_point_position); | 1624 adjust_point_for_property (last_point_position); |
1619 already_adjusted = 1; | 1625 already_adjusted = 1; |
1620 if (PT == last_point_position - 1 | 1626 if (PT == last_point_position - 1 |
1621 && (dp | 1627 && (dp |
1622 ? (VECTORP (DISP_CHAR_VECTOR (dp, lose)) | 1628 ? (VECTORP (DISP_CHAR_VECTOR (dp, lose)) |
1641 else if (EQ (Vthis_command, Qself_insert_command) | 1647 else if (EQ (Vthis_command, Qself_insert_command) |
1642 /* Try this optimization only on char keystrokes. */ | 1648 /* Try this optimization only on char keystrokes. */ |
1643 && NATNUMP (last_command_char) | 1649 && NATNUMP (last_command_char) |
1644 && CHAR_VALID_P (XFASTINT (last_command_char), 0)) | 1650 && CHAR_VALID_P (XFASTINT (last_command_char), 0)) |
1645 { | 1651 { |
1646 unsigned int c = | 1652 unsigned int c |
1647 translate_char (Vtranslation_table_for_input, | 1653 = translate_char (Vtranslation_table_for_input, |
1648 XFASTINT (last_command_char), 0, 0, 0); | 1654 XFASTINT (last_command_char), 0, 0, 0); |
1649 int value; | 1655 int value; |
1650 if (NILP (Vexecuting_macro) | 1656 if (NILP (Vexecuting_macro) |
1651 && !EQ (minibuf_window, selected_window)) | 1657 && !EQ (minibuf_window, selected_window)) |
1652 { | 1658 { |
1653 if (!nonundocount || nonundocount >= 20) | 1659 if (!nonundocount || nonundocount >= 20) |