emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 01ebf7a: Avoid extra multibyteness check in ENCODE_


From: Dmitry Antipov
Subject: [Emacs-diffs] master 01ebf7a: Avoid extra multibyteness check in ENCODE_FILE users.
Date: Wed, 14 Jan 2015 06:53:43 +0000

branch: master
commit 01ebf7a3655541ef09cee068bddffbc1b38c69c8
Author: Dmitry Antipov <address@hidden>
Commit: Dmitry Antipov <address@hidden>

    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.
---
 src/ChangeLog  |    8 ++++++++
 src/callproc.c |   12 +++++-------
 src/dired.c    |    8 +++-----
 3 files changed, 16 insertions(+), 12 deletions(-)

diff --git a/src/ChangeLog b/src/ChangeLog
index 67f4866..5055ed1 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,11 @@
+2015-01-14  Dmitry Antipov  <address@hidden>
+
+       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.
+
 2015-01-14  Paul Eggert  <address@hidden>
 
        Use bool for boolean in xmenu.c, xml.c
diff --git a/src/callproc.c b/src/callproc.c
index 0fdf278..970a201 100644
--- a/src/callproc.c
+++ b/src/callproc.c
@@ -135,8 +135,7 @@ encode_current_directory (void)
   if (! NILP (Fstring_match (build_string ("^/:"), dir, Qnil)))
     dir = Fsubstring (dir, make_number (2), Qnil);
 
-  if (STRING_MULTIBYTE (dir))
-    dir = ENCODE_FILE (dir);
+  dir = ENCODE_FILE (dir);
   if (! file_accessible_directory_p (dir))
     report_file_error ("Setting current directory",
                       BVAR (current_buffer, directory));
@@ -267,7 +266,7 @@ usage: (call-process PROGRAM &optional INFILE DESTINATION 
DISPLAY &rest ARGS)  *
     infile = build_string (NULL_DEVICE);
 
   GCPRO1 (infile);
-  encoded_infile = STRING_MULTIBYTE (infile) ? ENCODE_FILE (infile) : infile;
+  encoded_infile = ENCODE_FILE (infile);
 
   filefd = emacs_open (SSDATA (encoded_infile), O_RDONLY, 0);
   if (filefd < 0)
@@ -439,9 +438,9 @@ call_process (ptrdiff_t nargs, Lisp_Object *args, int 
filefd,
 
     GCPRO4 (buffer, current_dir, error_file, output_file);
 
-    if (STRINGP (error_file) && STRING_MULTIBYTE (error_file))
+    if (STRINGP (error_file))
       error_file = ENCODE_FILE (error_file);
-    if (STRINGP (output_file) && STRING_MULTIBYTE (output_file))
+    if (STRINGP (output_file))
       output_file = ENCODE_FILE (output_file);
     UNGCPRO;
   }
@@ -498,8 +497,7 @@ call_process (ptrdiff_t nargs, Lisp_Object *args, int 
filefd,
       }
     else
       new_argv[1] = 0;
-    if (STRING_MULTIBYTE (path))
-      path = ENCODE_FILE (path);
+    path = ENCODE_FILE (path);
     new_argv[0] = SSDATA (path);
     UNGCPRO;
   }
diff --git a/src/dired.c b/src/dired.c
index 9026c56..ca43cd9 100644
--- a/src/dired.c
+++ b/src/dired.c
@@ -176,10 +176,8 @@ directory_files_internal (Lisp_Object directory, 
Lisp_Object full,
   /* Note: ENCODE_FILE and DECODE_FILE can GC because they can run
      run_pre_post_conversion_on_str which calls Lisp directly and
      indirectly.  */
-  if (STRING_MULTIBYTE (dirfilename))
-    dirfilename = ENCODE_FILE (dirfilename);
-  encoded_directory = (STRING_MULTIBYTE (directory)
-                      ? ENCODE_FILE (directory) : directory);
+  dirfilename = ENCODE_FILE (dirfilename);
+  encoded_directory = ENCODE_FILE (directory);
 
   /* Now *bufp is the compiled form of MATCH; don't call anything
      which might compile a new regexp until we're done with the loop!  */
@@ -482,7 +480,7 @@ file_name_completion (Lisp_Object file, Lisp_Object 
dirname, bool all_flag,
   /* Actually, this is not quite true any more: we do most of the completion
      work with decoded file names, but we still do some filtering based
      on the encoded file name.  */
-  encoded_file = STRING_MULTIBYTE (file) ? ENCODE_FILE (file) : file;
+  encoded_file = ENCODE_FILE (file);
 
   encoded_dir = ENCODE_FILE (Fdirectory_file_name (dirname));
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]