]> code.delx.au - gnu-emacs/commitdiff
* callproc.c (encode_current_directory): Support handling of file
authorMichael Albinus <michael.albinus@gmx.de>
Fri, 7 Nov 2014 14:45:34 +0000 (15:45 +0100)
committerMichael Albinus <michael.albinus@gmx.de>
Fri, 7 Nov 2014 14:45:34 +0000 (15:45 +0100)
names prepended by "/:".

Fixes: debbugs:18891
src/ChangeLog
src/callproc.c

index a812fd4a7718f7866d56ff7cfb352e5713e0042a..81e2a27c200f85a7b7849d8197e333cd1a40c3d1 100644 (file)
@@ -1,3 +1,8 @@
+2014-11-07  Michael Albinus  <michael.albinus@gmx.de>
+
+       * callproc.c (encode_current_directory): Support handling of file
+       names prepended by "/:".  (Bug#18891)
+
 2014-11-06  Alan Mackenzie  <acm@muc.de>
 
        * syntax.c (back_comment): Fix off-by-one error (bug#18022).
index 7ba3e398b41e9f6cace04b6175444d68c68d8be7..488fae3644e1c7af1b4c8bb7fc76b346d1d1c735 100644 (file)
@@ -152,10 +152,14 @@ encode_current_directory (void)
 
   if (STRING_MULTIBYTE (dir))
     dir = ENCODE_FILE (dir);
-  if (! file_accessible_directory_p (SSDATA (dir)))
+  if (NILP (Ffile_accessible_directory_p (dir)))
     report_file_error ("Setting current directory",
                       BVAR (current_buffer, directory));
 
+  /* Remove "/:" from dir.  */
+  if (Fstring_match (build_string ("^/:"), dir, Qnil))
+    dir = Fsubstring (dir, make_number (2), Qnil);
+
   RETURN_UNGCPRO (dir);
 }