summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Blandy <jimb@redhat.com>1993-07-18 06:40:09 +0000
committerJim Blandy <jimb@redhat.com>1993-07-18 06:40:09 +0000
commita18b7c814dc2c425dd27e81db052a324bfa2f565 (patch)
tree2c466c630c41cd60bb2cb97b7d5ce0b9168251ef
parent041b69acff52c98d6cfb0a10e0c94623a42df9ed (diff)
downloademacs-a18b7c814dc2c425dd27e81db052a324bfa2f565.tar.gz
* files.el (insert-directory): Doc fix.
* files.el (insert-directory): If FULL-DIRECTORY-P is non-nil, add "." component to the end of the path, so that if file is a symlink, we get the contents of the directory, not the symlink itself.
-rw-r--r--lisp/files.el20
1 files changed, 7 insertions, 13 deletions
diff --git a/lisp/files.el b/lisp/files.el
index a9ebe2bb8e4..aefc4fa4e88 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -1852,7 +1852,7 @@ and `list-directory-verbose-switches'."
;; dired-after-subdir-garbage (defines what a "total" line is)
;; - variable dired-subdir-regexp
(defun insert-directory (file switches &optional wildcard full-directory-p)
- "Insert directory listing for of FILE, formatted according to SWITCHES.
+ "Insert directory listing for FILE, formatted according to SWITCHES.
Leaves point after the inserted text.
Optional third arg WILDCARD means treat FILE as shell wildcard.
Optional fourth arg FULL-DIRECTORY-P means file is a directory and
@@ -1873,18 +1873,12 @@ If WILDCARD, it also runs the shell specified by `shell-file-name'."
"-c" (concat insert-directory-program
" -d " switches " "
(file-name-nondirectory file))))
- ;; Barry Margolin says: "SunOS 4.1.3 (and SV and POSIX?)
- ;; lists the link if we give a link to a directory - yuck!"
- ;; That's why we used to chase symlinks. But we don't want
- ;; to chase links before passing the filename to ls; that
- ;; would mean that our line of output would not display
- ;; FILE's name as given. To really address the problem that
- ;; SunOS 4.1.3 has, we need to find the right switch to get
- ;; a description of the link itself.
- ;; (let (symlink)
- ;; (while (setq symlink (file-symlink-p file))
- ;; (setq file symlink)))
- (call-process insert-directory-program nil t nil switches file))))))
+ ;; 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)))))))
(defun save-buffers-kill-emacs (&optional arg)
"Offer to save each buffer, then kill this Emacs process.