783 |
|
|
784 |
/* Save STRP in IDX. */ |
/* Save STRP in IDX. */ |
785 |
idx = strp - SDATA (string); |
idx = strp - SDATA (string); |
786 |
tem = Fintern (make_string (start, length_byte), Qnil); |
name = Fintern (make_string (start, length_byte), Qnil); |
787 |
|
|
788 |
/* Ignore remappings unless there are no ordinary bindings. */ |
/* Ignore remappings unless there are no ordinary bindings. */ |
789 |
tem = Fwhere_is_internal (tem, keymap, Qt, Qnil, Qt); |
tem = Fwhere_is_internal (name, keymap, Qt, Qnil, Qt); |
790 |
if (NILP (tem)) |
if (NILP (tem)) |
791 |
tem = Fwhere_is_internal (tem, keymap, Qt, Qnil, Qnil); |
tem = Fwhere_is_internal (name, keymap, Qt, Qnil, Qnil); |
792 |
|
|
793 |
/* Note the Fwhere_is_internal can GC, so we have to take |
/* Note the Fwhere_is_internal can GC, so we have to take |
794 |
relocation of string contents into account. */ |
relocation of string contents into account. */ |
795 |
strp = SDATA (string) + idx; |
strp = SDATA (string) + idx; |
796 |
start = SDATA (string) + start_idx; |
start = SDATA (string) + start_idx; |
797 |
|
|
|
/* Disregard menu bar bindings; it is positively annoying to |
|
|
mention them when there's no menu bar, and it isn't terribly |
|
|
useful even when there is a menu bar. */ |
|
|
if (!NILP (tem)) |
|
|
{ |
|
|
firstkey = Faref (tem, make_number (0)); |
|
|
if (EQ (firstkey, Qmenu_bar)) |
|
|
tem = Qnil; |
|
|
} |
|
|
|
|
798 |
if (NILP (tem)) /* but not on any keys */ |
if (NILP (tem)) /* but not on any keys */ |
799 |
{ |
{ |
800 |
int offset = bufp - buf; |
int offset = bufp - buf; |