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)