aboutsummaryrefslogtreecommitdiffstats
path: root/src/callproc.c
diff options
context:
space:
mode:
authorDmitry Antipov2015-01-14 09:50:39 +0300
committerDmitry Antipov2015-01-14 09:50:39 +0300
commit01ebf7a3655541ef09cee068bddffbc1b38c69c8 (patch)
tree41300cd8f3167f16aebc536d8322dbc757eb4f5a /src/callproc.c
parent3ef29501b029567156440d257c758b99099213fe (diff)
downloademacs-01ebf7a3655541ef09cee068bddffbc1b38c69c8.tar.gz
emacs-01ebf7a3655541ef09cee068bddffbc1b38c69c8.zip
Avoid extra multibyteness check in ENCODE_FILE users.
* callproc.c (encode_current_directory, Fcall_process, call_process): * dired.c (directory_files_internal, file_name_completion): Do not check for STRING_MULTIBYTE because encode_file_name is a no-op for unibyte strings.
Diffstat (limited to 'src/callproc.c')
-rw-r--r--src/callproc.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/callproc.c b/src/callproc.c
index 0fdf278073d..970a2017b38 100644
--- a/src/callproc.c
+++ b/src/callproc.c
@@ -135,8 +135,7 @@ encode_current_directory (void)
135 if (! NILP (Fstring_match (build_string ("^/:"), dir, Qnil))) 135 if (! NILP (Fstring_match (build_string ("^/:"), dir, Qnil)))
136 dir = Fsubstring (dir, make_number (2), Qnil); 136 dir = Fsubstring (dir, make_number (2), Qnil);
137 137
138 if (STRING_MULTIBYTE (dir)) 138 dir = ENCODE_FILE (dir);
139 dir = ENCODE_FILE (dir);
140 if (! file_accessible_directory_p (dir)) 139 if (! file_accessible_directory_p (dir))
141 report_file_error ("Setting current directory", 140 report_file_error ("Setting current directory",
142 BVAR (current_buffer, directory)); 141 BVAR (current_buffer, directory));
@@ -267,7 +266,7 @@ usage: (call-process PROGRAM &optional INFILE DESTINATION DISPLAY &rest ARGS) *
267 infile = build_string (NULL_DEVICE); 266 infile = build_string (NULL_DEVICE);
268 267
269 GCPRO1 (infile); 268 GCPRO1 (infile);
270 encoded_infile = STRING_MULTIBYTE (infile) ? ENCODE_FILE (infile) : infile; 269 encoded_infile = ENCODE_FILE (infile);
271 270
272 filefd = emacs_open (SSDATA (encoded_infile), O_RDONLY, 0); 271 filefd = emacs_open (SSDATA (encoded_infile), O_RDONLY, 0);
273 if (filefd < 0) 272 if (filefd < 0)
@@ -439,9 +438,9 @@ call_process (ptrdiff_t nargs, Lisp_Object *args, int filefd,
439 438
440 GCPRO4 (buffer, current_dir, error_file, output_file); 439 GCPRO4 (buffer, current_dir, error_file, output_file);
441 440
442 if (STRINGP (error_file) && STRING_MULTIBYTE (error_file)) 441 if (STRINGP (error_file))
443 error_file = ENCODE_FILE (error_file); 442 error_file = ENCODE_FILE (error_file);
444 if (STRINGP (output_file) && STRING_MULTIBYTE (output_file)) 443 if (STRINGP (output_file))
445 output_file = ENCODE_FILE (output_file); 444 output_file = ENCODE_FILE (output_file);
446 UNGCPRO; 445 UNGCPRO;
447 } 446 }
@@ -498,8 +497,7 @@ call_process (ptrdiff_t nargs, Lisp_Object *args, int filefd,
498 } 497 }
499 else 498 else
500 new_argv[1] = 0; 499 new_argv[1] = 0;
501 if (STRING_MULTIBYTE (path)) 500 path = ENCODE_FILE (path);
502 path = ENCODE_FILE (path);
503 new_argv[0] = SSDATA (path); 501 new_argv[0] = SSDATA (path);
504 UNGCPRO; 502 UNGCPRO;
505 } 503 }