diff options
author | Jim Blandy <jimb@redhat.com> | 1993-07-18 06:40:09 +0000 |
---|---|---|
committer | Jim Blandy <jimb@redhat.com> | 1993-07-18 06:40:09 +0000 |
commit | a18b7c814dc2c425dd27e81db052a324bfa2f565 (patch) | |
tree | 2c466c630c41cd60bb2cb97b7d5ce0b9168251ef | |
parent | 041b69acff52c98d6cfb0a10e0c94623a42df9ed (diff) | |
download | emacs-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.el | 20 |
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. |