1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-30 12:21:25 -08:00

(shell-quote-argument): New function.

This commit is contained in:
Richard M. Stallman 1993-12-31 09:25:12 +00:00
parent 06811c2dd3
commit 8af7df607d

View file

@ -643,6 +643,18 @@ Wildcards and redirection are handle as usual in the shell."
(cons 'progn body)
(list 'store-match-data original)))))
(defun shell-quote-argument (argument)
"Quote an argument for passing as argument to an inferior shell."
;; 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))))
;; now in fns.c
;(defun nth (n list)
; "Returns the Nth element of LIST.