# HG changeset patch # User Jim Blandy # Date 742977609 0 # Node ID 6b065ebb90901874cecfaadeea9cf38ce63b22f6 # Parent c6657758fb6f84310b8f80fac0ab37c6a7711f4d * 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. diff -r c6657758fb6f -r 6b065ebb9090 lisp/files.el --- a/lisp/files.el Sun Jul 18 06:29:55 1993 +0000 +++ b/lisp/files.el Sun Jul 18 06:40:09 1993 +0000 @@ -1852,7 +1852,7 @@ ;; 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 @@ "-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.