diff options
| author | Miles Bader | 2005-09-11 22:21:01 +0000 |
|---|---|---|
| committer | Miles Bader | 2005-09-11 22:21:01 +0000 |
| commit | ff8d296438e69b8cf701d95b6ccd271c416c46fd (patch) | |
| tree | 44b388101b40592656ad4c5033aabe2a1ae4b462 /src/doc.c | |
| parent | 389cb481135145b80a679beec8cdc8fed75682c5 (diff) | |
| parent | a8f6d239d2d541ec874a22000e0542c20fd55a67 (diff) | |
| download | emacs-ff8d296438e69b8cf701d95b6ccd271c416c46fd.tar.gz emacs-ff8d296438e69b8cf701d95b6ccd271c416c46fd.zip | |
Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-81
Merge from emacs--cvs-trunk--0
Patches applied:
* emacs--cvs-trunk--0 (patch 532-541)
- Update from CVS
- Merge from gnus--rel--5.10
* gnus--rel--5.10 (patch 112-115)
- Update from CVS
Diffstat (limited to 'src/doc.c')
| -rw-r--r-- | src/doc.c | 13 |
1 files changed, 13 insertions, 0 deletions
| @@ -57,6 +57,8 @@ static Lisp_Object Vbuild_files; | |||
| 57 | 57 | ||
| 58 | extern Lisp_Object Voverriding_local_map; | 58 | extern Lisp_Object Voverriding_local_map; |
| 59 | 59 | ||
| 60 | extern Lisp_Object Qremap; | ||
| 61 | |||
| 60 | /* For VMS versions with limited file name syntax, | 62 | /* For VMS versions with limited file name syntax, |
| 61 | convert the name to something VMS will allow. */ | 63 | convert the name to something VMS will allow. */ |
| 62 | static void | 64 | static void |
| @@ -812,6 +814,7 @@ thus, \\=\\=\\=\\= puts \\=\\= into the output, and \\=\\=\\=\\[ puts \\=\\[ int | |||
| 812 | else if (strp[0] == '\\' && strp[1] == '[') | 814 | else if (strp[0] == '\\' && strp[1] == '[') |
| 813 | { | 815 | { |
| 814 | int start_idx; | 816 | int start_idx; |
| 817 | int follow_remap = 1; | ||
| 815 | 818 | ||
| 816 | changed = 1; | 819 | changed = 1; |
| 817 | strp += 2; /* skip \[ */ | 820 | strp += 2; /* skip \[ */ |
| @@ -830,11 +833,21 @@ thus, \\=\\=\\=\\= puts \\=\\= into the output, and \\=\\=\\=\\[ puts \\=\\[ int | |||
| 830 | idx = strp - SDATA (string); | 833 | idx = strp - SDATA (string); |
| 831 | name = Fintern (make_string (start, length_byte), Qnil); | 834 | name = Fintern (make_string (start, length_byte), Qnil); |
| 832 | 835 | ||
| 836 | do_remap: | ||
| 833 | /* Ignore remappings unless there are no ordinary bindings. */ | 837 | /* Ignore remappings unless there are no ordinary bindings. */ |
| 834 | tem = Fwhere_is_internal (name, keymap, Qt, Qnil, Qt); | 838 | tem = Fwhere_is_internal (name, keymap, Qt, Qnil, Qt); |
| 835 | if (NILP (tem)) | 839 | if (NILP (tem)) |
| 836 | tem = Fwhere_is_internal (name, keymap, Qt, Qnil, Qnil); | 840 | tem = Fwhere_is_internal (name, keymap, Qt, Qnil, Qnil); |
| 837 | 841 | ||
| 842 | if (VECTORP (tem) && XVECTOR (tem)->size > 1 | ||
| 843 | && EQ (AREF (tem, 0), Qremap) && SYMBOLP (AREF (tem, 1)) | ||
| 844 | && follow_remap) | ||
| 845 | { | ||
| 846 | name = AREF (tem, 1); | ||
| 847 | follow_remap = 0; | ||
| 848 | goto do_remap; | ||
| 849 | } | ||
| 850 | |||
| 838 | /* Note the Fwhere_is_internal can GC, so we have to take | 851 | /* Note the Fwhere_is_internal can GC, so we have to take |
| 839 | relocation of string contents into account. */ | 852 | relocation of string contents into account. */ |
| 840 | strp = SDATA (string) + idx; | 853 | strp = SDATA (string) + idx; |