aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/callproc.c16
1 files changed, 3 insertions, 13 deletions
diff --git a/src/callproc.c b/src/callproc.c
index b296bdb088b..4473b19a297 100644
--- a/src/callproc.c
+++ b/src/callproc.c
@@ -108,11 +108,8 @@ static Lisp_Object call_process (ptrdiff_t, Lisp_Object *, int, ptrdiff_t);
108Lisp_Object 108Lisp_Object
109encode_current_directory (void) 109encode_current_directory (void)
110{ 110{
111 Lisp_Object dir; 111 Lisp_Object curdir = BVAR (current_buffer, directory);
112 112 Lisp_Object dir = Funhandled_file_name_directory (curdir);
113 dir = BVAR (current_buffer, directory);
114
115 dir = Funhandled_file_name_directory (dir);
116 113
117 /* If the file name handler says that dir is unreachable, use 114 /* If the file name handler says that dir is unreachable, use
118 a sensible default. */ 115 a sensible default. */
@@ -120,17 +117,10 @@ encode_current_directory (void)
120 dir = build_string ("~"); 117 dir = build_string ("~");
121 118
122 dir = expand_and_dir_to_file (dir); 119 dir = expand_and_dir_to_file (dir);
123
124 if (NILP (Ffile_accessible_directory_p (dir)))
125 report_file_error ("Setting current directory",
126 BVAR (current_buffer, directory));
127
128 /* Remove "/:" from DIR and encode it. */
129 dir = ENCODE_FILE (remove_slash_colon (dir)); 120 dir = ENCODE_FILE (remove_slash_colon (dir));
130 121
131 if (! file_accessible_directory_p (dir)) 122 if (! file_accessible_directory_p (dir))
132 report_file_error ("Setting current directory", 123 report_file_error ("Setting current directory", curdir);
133 BVAR (current_buffer, directory));
134 124
135 return dir; 125 return dir;
136} 126}