]> git.eshelyaron.com Git - emacs.git/commitdiff
* doc.c (get_doc_string): Encode file name.
authorStefan Monnier <monnier@iro.umontreal.ca>
Wed, 12 Oct 2011 19:08:04 +0000 (15:08 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Wed, 12 Oct 2011 19:08:04 +0000 (15:08 -0400)
Fixes: debbugs:9735
src/ChangeLog
src/doc.c

index 0d1faa3ba2f88af355681a718c281845764fb90a..94664833b9bbb903d3880e2077f3c751379da05e 100644 (file)
@@ -1,3 +1,7 @@
+2011-10-12  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * doc.c (get_doc_string): Encode file name (bug#9735).
+
 2011-10-12  Eli Zaretskii  <eliz@gnu.org>
 
        * bidi.c (bidi_level_of_next_char):
index 83e943c42b87f78c473d3d5b15c9f527177e8e48..80aaba9f7b2add210ca298d2f106de819594ada0 100644 (file)
--- a/src/doc.c
+++ b/src/doc.c
@@ -116,14 +116,16 @@ get_doc_string (Lisp_Object filepos, int unibyte, int definition)
      If it is relative, combine it with Vdoc_directory.  */
 
   tem = Ffile_name_absolute_p (file);
+  file = ENCODE_FILE (file);
   if (NILP (tem))
     {
-      minsize = SCHARS (Vdoc_directory);
+      Lisp_Object docdir = ENCODE_FILE (Vdoc_directory);
+      minsize = SCHARS (docdir);
       /* sizeof ("../etc/") == 8 */
       if (minsize < 8)
        minsize = 8;
       name = (char *) alloca (minsize + SCHARS (file) + 8);
-      strcpy (name, SSDATA (Vdoc_directory));
+      strcpy (name, SSDATA (docdir));
       strcat (name, SSDATA (file));
     }
   else
@@ -138,7 +140,7 @@ get_doc_string (Lisp_Object filepos, int unibyte, int definition)
       if (!NILP (Vpurify_flag))
        {
          /* Preparing to dump; DOC file is probably not installed.
-            So check in ../etc. */
+            So check in ../etc.  */
          strcpy (name, "../etc/");
          strcat (name, SSDATA (file));