diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 4 | ||||
| -rw-r--r-- | src/doc.c | 8 |
2 files changed, 9 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 0d1faa3ba2f..94664833b9b 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2011-10-12 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * doc.c (get_doc_string): Encode file name (bug#9735). | ||
| 4 | |||
| 1 | 2011-10-12 Eli Zaretskii <eliz@gnu.org> | 5 | 2011-10-12 Eli Zaretskii <eliz@gnu.org> |
| 2 | 6 | ||
| 3 | * bidi.c (bidi_level_of_next_char): | 7 | * bidi.c (bidi_level_of_next_char): |
| @@ -116,14 +116,16 @@ get_doc_string (Lisp_Object filepos, int unibyte, int definition) | |||
| 116 | If it is relative, combine it with Vdoc_directory. */ | 116 | If it is relative, combine it with Vdoc_directory. */ |
| 117 | 117 | ||
| 118 | tem = Ffile_name_absolute_p (file); | 118 | tem = Ffile_name_absolute_p (file); |
| 119 | file = ENCODE_FILE (file); | ||
| 119 | if (NILP (tem)) | 120 | if (NILP (tem)) |
| 120 | { | 121 | { |
| 121 | minsize = SCHARS (Vdoc_directory); | 122 | Lisp_Object docdir = ENCODE_FILE (Vdoc_directory); |
| 123 | minsize = SCHARS (docdir); | ||
| 122 | /* sizeof ("../etc/") == 8 */ | 124 | /* sizeof ("../etc/") == 8 */ |
| 123 | if (minsize < 8) | 125 | if (minsize < 8) |
| 124 | minsize = 8; | 126 | minsize = 8; |
| 125 | name = (char *) alloca (minsize + SCHARS (file) + 8); | 127 | name = (char *) alloca (minsize + SCHARS (file) + 8); |
| 126 | strcpy (name, SSDATA (Vdoc_directory)); | 128 | strcpy (name, SSDATA (docdir)); |
| 127 | strcat (name, SSDATA (file)); | 129 | strcat (name, SSDATA (file)); |
| 128 | } | 130 | } |
| 129 | else | 131 | else |
| @@ -138,7 +140,7 @@ get_doc_string (Lisp_Object filepos, int unibyte, int definition) | |||
| 138 | if (!NILP (Vpurify_flag)) | 140 | if (!NILP (Vpurify_flag)) |
| 139 | { | 141 | { |
| 140 | /* Preparing to dump; DOC file is probably not installed. | 142 | /* Preparing to dump; DOC file is probably not installed. |
| 141 | So check in ../etc. */ | 143 | So check in ../etc. */ |
| 142 | strcpy (name, "../etc/"); | 144 | strcpy (name, "../etc/"); |
| 143 | strcat (name, SSDATA (file)); | 145 | strcat (name, SSDATA (file)); |
| 144 | 146 | ||