From: Richard M. Stallman Date: Tue, 12 Jul 1994 00:35:27 +0000 (+0000) Subject: (insert-directory): Allow list for SWITCHES. X-Git-Tag: emacs-19.34~7646 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=727d277d52e653024f2bfcf5ef88200814db785e;p=emacs.git (insert-directory): Allow list for SWITCHES. Also split up a string containing separate options. --- diff --git a/lisp/files.el b/lisp/files.el index 91dffa73b98..fc15ed2090f 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -2086,6 +2086,7 @@ and `list-directory-verbose-switches'." (defun insert-directory (file switches &optional wildcard full-directory-p) "Insert directory listing for FILE, formatted according to SWITCHES. Leaves point after the inserted text. +SWITCHES may be a string of options, or a list of strings. Optional third arg WILDCARD means treat FILE as shell wildcard. Optional fourth arg FULL-DIRECTORY-P means file is a directory and switches do not contain `d', so that a full listing is expected. @@ -2122,14 +2123,31 @@ If WILDCARD, it also runs the shell specified by `shell-file-name'." beg (1+ (match-end 0)))) (call-process shell-file-name nil t nil "-c" (concat insert-directory-program - " -d " switches " " + " -d " + (if (stringp switches) + switches + (mapconcat 'identity switches " ") + " " pattern))) ;; SunOS 4.1.3, SVr4 and others need the "." to list the ;; directory if FILE is a symbolic link. - (call-process insert-directory-program nil t nil switches - (if full-directory-p - (concat (file-name-as-directory file) ".") - file))))))) + (apply 'call-process + insert-directory-program nil t nil + (let (list) + (if (consp switches) + (setq list switches) + ;; Split the switches at any spaces + ;; so we can pass separate options as separate args. + (while (string-match " " switches) + (setq list (cons (substring switches 0 (match-beginning 0)) + list) + switches (substring switches (match-end 0)))) + (setq list (cons switches list))) + (append list + (list + (if full-directory-p + (concat (file-name-as-directory file) ".") + file)))))))))) (defvar kill-emacs-query-functions nil "Functions to call with no arguments to query about killing Emacs.