]> git.eshelyaron.com Git - emacs.git/commitdiff
(shell-quote-argument): Quote null string usefully.
authorRichard M. Stallman <rms@gnu.org>
Thu, 1 May 1997 02:03:16 +0000 (02:03 +0000)
committerRichard M. Stallman <rms@gnu.org>
Thu, 1 May 1997 02:03:16 +0000 (02:03 +0000)
lisp/subr.el

index edd425d33e6134cbb7e925adb0c42b0ac4d9f4bc..70fea7691b63143ada60ab499542b1ea5e4d2422 100644 (file)
@@ -873,15 +873,17 @@ If SEPARATORS is absent, it defaults to \"[ \\f\\t\\n\\r\\v]+\"."
       argument
     (if (eq system-type 'windows-nt)
        (concat "\"" argument "\"")
-      ;; Quote everything except POSIX filename characters.
-      ;; This should be safe enough even for really weird shells.
-      (let ((result "") (start 0) end)
-       (while (string-match "[^-0-9a-zA-Z_./]" argument start)
-         (setq end (match-beginning 0)
-               result (concat result (substring argument start end)
-                              "\\" (substring argument end (1+ end)))
-               start (1+ end)))
-       (concat result (substring argument start))))))
+      (if (equal argument "")
+         "''"
+       ;; Quote everything except POSIX filename characters.
+       ;; This should be safe enough even for really weird shells.
+       (let ((result "") (start 0) end)
+         (while (string-match "[^-0-9a-zA-Z_./]" argument start)
+           (setq end (match-beginning 0)
+                 result (concat result (substring argument start end)
+                                "\\" (substring argument end (1+ end)))
+                 start (1+ end)))
+         (concat result (substring argument start)))))))
 
 (defun make-syntax-table (&optional oldtable)
   "Return a new syntax table.