26 |
#include "lisp.h" |
#include "lisp.h" |
27 |
#include "commands.h" |
#include "commands.h" |
28 |
#include "buffer.h" |
#include "buffer.h" |
29 |
#include "charset.h" |
#include "character.h" |
30 |
#include "dispextern.h" |
#include "dispextern.h" |
31 |
#include "keyboard.h" |
#include "keyboard.h" |
32 |
#include "frame.h" |
#include "frame.h" |
2123 |
|
|
2124 |
/* Now find first word-break in the stuff found by completion. |
/* Now find first word-break in the stuff found by completion. |
2125 |
i gets index in string of where to stop completing. */ |
i gets index in string of where to stop completing. */ |
2126 |
{ |
while (i_byte < SBYTES (completion)) |
2127 |
int len, c; |
{ |
2128 |
int bytes = SBYTES (completion); |
int c; |
2129 |
completion_string = SDATA (completion); |
|
2130 |
for (; i_byte < SBYTES (completion); i_byte += len, i++) |
FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE (c, completion, i, i_byte); |
2131 |
{ |
if (SYNTAX (c) != Sword) |
2132 |
c = STRING_CHAR_AND_LENGTH (completion_string + i_byte, |
break; |
2133 |
bytes - i_byte, |
} |
|
len); |
|
|
if (SYNTAX (c) != Sword) |
|
|
{ |
|
|
i_byte += len; |
|
|
i++; |
|
|
break; |
|
|
} |
|
|
} |
|
|
} |
|
2134 |
|
|
2135 |
/* If got no characters, print help for user. */ |
/* If got no characters, print help for user. */ |
2136 |
|
|
2370 |
doc: /* Terminate minibuffer input. */) |
doc: /* Terminate minibuffer input. */) |
2371 |
() |
() |
2372 |
{ |
{ |
2373 |
if (INTEGERP (last_command_char)) |
if (CHARACTERP (last_command_char)) |
2374 |
internal_self_insert (XINT (last_command_char), 0); |
internal_self_insert (XINT (last_command_char), 0); |
2375 |
else |
else |
2376 |
bitch_at_user (); |
bitch_at_user (); |