[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/doc.c
From: |
Kim F . Storm |
Subject: |
[Emacs-diffs] Changes to emacs/src/doc.c |
Date: |
Fri, 09 Sep 2005 07:55:09 -0400 |
Index: emacs/src/doc.c
diff -c emacs/src/doc.c:1.114 emacs/src/doc.c:1.115
*** emacs/src/doc.c:1.114 Sun Aug 7 12:33:16 2005
--- emacs/src/doc.c Fri Sep 9 11:55:09 2005
***************
*** 57,62 ****
--- 57,64 ----
extern Lisp_Object Voverriding_local_map;
+ extern Lisp_Object Qremap;
+
/* For VMS versions with limited file name syntax,
convert the name to something VMS will allow. */
static void
***************
*** 812,817 ****
--- 814,820 ----
else if (strp[0] == '\\' && strp[1] == '[')
{
int start_idx;
+ int follow_remap = 1;
changed = 1;
strp += 2; /* skip \[ */
***************
*** 830,839 ****
--- 833,852 ----
idx = strp - SDATA (string);
name = Fintern (make_string (start, length_byte), Qnil);
+ do_remap:
/* Ignore remappings unless there are no ordinary bindings. */
tem = Fwhere_is_internal (name, keymap, Qt, Qnil, Qt);
if (NILP (tem))
tem = Fwhere_is_internal (name, keymap, Qt, Qnil, Qnil);
+
+ if (VECTORP (tem) && XVECTOR (tem)->size > 1
+ && EQ (AREF (tem, 0), Qremap) && SYMBOLP (AREF (tem, 1))
+ && follow_remap)
+ {
+ name = AREF (tem, 1);
+ follow_remap = 0;
+ goto do_remap;
+ }
/* Note the Fwhere_is_internal can GC, so we have to take
relocation of string contents into account. */
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] Changes to emacs/src/doc.c,
Kim F . Storm <=