/[emacs]/emacs/src/cmds.c
ViewVC logotype

Diff of /emacs/src/cmds.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.89 by monnier, Tue Jul 8 21:25:35 2003 UTC revision 1.89.2.1 by handa, Mon Sep 8 12:48:10 2003 UTC
# Line 24  Boston, MA 02111-1307, USA.  */ Line 24  Boston, MA 02111-1307, USA.  */
24  #include "lisp.h"  #include "lisp.h"
25  #include "commands.h"  #include "commands.h"
26  #include "buffer.h"  #include "buffer.h"
27  #include "charset.h"  #include "character.h"
28  #include "syntax.h"  #include "syntax.h"
29  #include "window.h"  #include "window.h"
30  #include "keyboard.h"  #include "keyboard.h"
# Line 326  Whichever character you type to run this Line 326  Whichever character you type to run this
326    CHECK_NUMBER (n);    CHECK_NUMBER (n);
327    
328    /* Barf if the key that invoked this was not a character.  */    /* Barf if the key that invoked this was not a character.  */
329    if (!INTEGERP (last_command_char))    if (!CHARACTERP (last_command_char))
330      bitch_at_user ();      bitch_at_user ();
331    {    {
332      int character = translate_char (Vtranslation_table_for_input,      int character = translate_char (Vtranslation_table_for_input,
333                                      XINT (last_command_char), 0, 0, 0);                                      XINT (last_command_char));
334      if (XINT (n) >= 2 && NILP (current_buffer->overwrite_mode))      if (XINT (n) >= 2 && NILP (current_buffer->overwrite_mode))
335        {        {
336          int modified_char = character;          int modified_char = character;
# Line 394  internal_self_insert (c, noautofill) Line 394  internal_self_insert (c, noautofill)
394    /* At first, get multi-byte form of C in STR.  */    /* At first, get multi-byte form of C in STR.  */
395    if (!NILP (current_buffer->enable_multibyte_characters))    if (!NILP (current_buffer->enable_multibyte_characters))
396      {      {
       c = unibyte_char_to_multibyte (c);  
397        len = CHAR_STRING (c, str);        len = CHAR_STRING (c, str);
398        if (len == 1)        if (len == 1)
399          /* If C has modifier bits, this makes C an appropriate          /* If C has modifier bits, this makes C an appropriate
# Line 471  internal_self_insert (c, noautofill) Line 470  internal_self_insert (c, noautofill)
470          }          }
471        hairy = 2;        hairy = 2;
472      }      }
473    
474      if (NILP (current_buffer->enable_multibyte_characters))
475        MAKE_CHAR_MULTIBYTE (c);
476      synt = SYNTAX (c);
477    
478    if (!NILP (current_buffer->abbrev_mode)    if (!NILP (current_buffer->abbrev_mode)
479        && SYNTAX (c) != Sword        && synt != Sword
480        && NILP (current_buffer->read_only)        && NILP (current_buffer->read_only)
481        && PT > BEGV && SYNTAX (XFASTINT (Fprevious_char ())) == Sword)        && PT > BEGV
482          && (!NILP (current_buffer->enable_multibyte_characters)
483              ? SYNTAX (XFASTINT (Fprevious_char ())) == Sword
484              : (SYNTAX (unibyte_char_to_multibyte (XFASTINT (Fprevious_char ())))
485                 == Sword)))
486      {      {
487        int modiff = MODIFF;        int modiff = MODIFF;
488        Lisp_Object sym;        Lisp_Object sym;
# Line 542  internal_self_insert (c, noautofill) Line 550  internal_self_insert (c, noautofill)
550        Vself_insert_face = Qnil;        Vself_insert_face = Qnil;
551      }      }
552    
   synt = SYNTAX (c);  
553    if ((synt == Sclose || synt == Smath)    if ((synt == Sclose || synt == Smath)
554        && !NILP (Vblink_paren_function) && INTERACTIVE        && !NILP (Vblink_paren_function) && INTERACTIVE
555        && !noautofill)        && !noautofill)

Legend:
Removed from v.1.89  
changed lines
  Added in v.1.89.2.1

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26