X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=lisp%2Fwinnt.el;h=5fe8b40c8475715c35c1033143db40f78f6daa84;hb=1a5e6d5283da6884ea5174abb431256f120c1b0c;hp=79352869f57b60098931a85ab9445a9451cb514c;hpb=f52a96980ed9280f8f906a20d4b899dc0b027644;p=chise%2Fxemacs-chise.git- diff --git a/lisp/winnt.el b/lisp/winnt.el index 7935286..5fe8b40 100644 --- a/lisp/winnt.el +++ b/lisp/winnt.el @@ -85,56 +85,4 @@ See also `auto-save-file-name-p'." (setq start (1+ (match-end 0)))) name)) -;;---------------------------------------------------------------------- -;; Quoting process args -;;-------------------- - -(defun nt-quote-args-verbatim (args) - "Copy ARG list verbatim, separating each arg with space." - (mapconcat #'identity args " ")) - -(defun nt-quote-args-prefix-quote (prefix args) - (mapconcat (lambda (str) - (concat "\"" - (mapconcat (lambda (ch) - (concat (if (eq ch ?\") prefix) - (char-to-string ch))) - str nil) - "\"")) - args " ")) - -(defun nt-quote-args-backslash-quote (args) - "Place ARG list in quotes, prefixing quotes in args with backslashes." - (nt-quote-args-prefix-quote "\\" args)) - -(defun nt-quote-args-double-quote (args) - "Place ARG list in quotes, doubling quotes in args." - (nt-quote-args-prefix-quote "\"" args)) - -(defvar nt-quote-args-functions-alist - '(("^.?.?sh\\." . nt-quote-args-double-quote)) - "An alist for determining proper argument quoting given executable file name. -Car of each cons must be a string, a regexp against which a file name sans -directory is matched. Cdr is a function symbol. The list is mathced in -forward order, and mathcing entry cdr's funcrion is called with a list of -strings, process arguments. It must return a string which is passed to -the newly created process. - -If not found, then `nt-quote-args-verbatim' is called on the argument list.") - -(defun nt-quote-process-args (args) - ;;Properly quote process ARGS for executing (car ARGS). - (let ((fname (file-name-nondirectory (car args))) - (alist nt-quote-args-functions-alist) - (case-fold-search nil) - (return-me nil) - (assoc nil)) - (while (and alist - (null return-me)) - (setq assoc (pop alist)) - (if (string-match (car assoc) fname) - (setq return-me (funcall (cdr assoc) (cdr args))))) - (or return-me - (nt-quote-args-verbatim (cdr args))))) - ;;; winnt.el ends here