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" |
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; |
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 |
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; |
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) |