725 |
bsize = SBYTES (string); |
bsize = SBYTES (string); |
726 |
bufp = buf = (unsigned char *) xmalloc (bsize); |
bufp = buf = (unsigned char *) xmalloc (bsize); |
727 |
|
|
728 |
strp = (unsigned char *) SDATA (string); |
strp = SDATA (string); |
729 |
while (strp < SDATA (string) + SBYTES (string)) |
while (strp < SDATA (string) + SBYTES (string)) |
730 |
{ |
{ |
731 |
if (strp[0] == '\\' && strp[1] == '=') |
if (strp[0] == '\\' && strp[1] == '=') |
761 |
start = strp; |
start = strp; |
762 |
start_idx = start - SDATA (string); |
start_idx = start - SDATA (string); |
763 |
|
|
764 |
while ((strp - (unsigned char *) SDATA (string) |
while ((strp - SDATA (string) |
765 |
< SBYTES (string)) |
< SBYTES (string)) |
766 |
&& *strp != ']') |
&& *strp != ']') |
767 |
strp++; |
strp++; |
770 |
strp++; /* skip ] */ |
strp++; /* skip ] */ |
771 |
|
|
772 |
/* Save STRP in IDX. */ |
/* Save STRP in IDX. */ |
773 |
idx = strp - (unsigned char *) SDATA (string); |
idx = strp - SDATA (string); |
774 |
tem = Fintern (make_string (start, length_byte), Qnil); |
tem = Fintern (make_string (start, length_byte), Qnil); |
775 |
|
|
776 |
/* Note the Fwhere_is_internal can GC, so we have to take |
/* Note the Fwhere_is_internal can GC, so we have to take |
821 |
start = strp; |
start = strp; |
822 |
start_idx = start - SDATA (string); |
start_idx = start - SDATA (string); |
823 |
|
|
824 |
while ((strp - (unsigned char *) SDATA (string) |
while ((strp - SDATA (string) < SCHARS (string)) |
|
< SCHARS (string)) |
|
825 |
&& *strp != '}' && *strp != '>') |
&& *strp != '}' && *strp != '>') |
826 |
strp++; |
strp++; |
827 |
|
|
829 |
strp++; /* skip } or > */ |
strp++; /* skip } or > */ |
830 |
|
|
831 |
/* Save STRP in IDX. */ |
/* Save STRP in IDX. */ |
832 |
idx = strp - (unsigned char *) SDATA (string); |
idx = strp - SDATA (string); |
833 |
|
|
834 |
/* Get the value of the keymap in TEM, or nil if undefined. |
/* Get the value of the keymap in TEM, or nil if undefined. |
835 |
Do this while still in the user's current buffer |
Do this while still in the user's current buffer |