]> git.eshelyaron.com Git - emacs.git/commitdiff
(ls-lisp-parse-symlink): Delete.
authorLars Hansen <larsh@soem.dk>
Tue, 22 Nov 2005 19:25:50 +0000 (19:25 +0000)
committerLars Hansen <larsh@soem.dk>
Tue, 22 Nov 2005 19:25:50 +0000 (19:25 +0000)
(ls-lisp-classify, ls-lisp-format): Delete call to ls-lisp-parse-symlink.
(ls-lisp-handle-switches): Handle symlinks to directories as directories
when ls-lisp-dirs-first in non-nil.

lisp/ChangeLog
lisp/ls-lisp.el

index 3a9e3f9c83d8f49f384f987e610b83c5fc0b5506..6c914d440fb085b84c29469ae7fe6b9ac6a1f98e 100644 (file)
@@ -1,3 +1,10 @@
+2005-11-22 Lars Hansen <larsh@soem.dk>
+       * ls-lisp.el (ls-lisp-parse-symlink): Delete.
+       (ls-lisp-classify, ls-lisp-format): Delete call to
+       ls-lisp-parse-symlink.
+       (ls-lisp-handle-switches): Handle symlinks to directories as
+       directories when ls-lisp-dirs-first in non-nil.
+
 2005-11-21  Luc Teirlinck  <teirllm@auburn.edu>
 
        * startup.el (command-line): Make sure that loaddefs.el is handled
index 5f5a53b0df0d9517fe7490bb7d262a0708b64abf..0da641281189460ecb6abe87151afca59c06d5a8 100644 (file)
@@ -45,8 +45,6 @@
 ;; * A few obscure ls switches are still ignored: see the docstring of
 ;; `insert-directory'.
 
-;; * Generally only numeric uid/gid.
-
 ;; TO DO =============================================================
 
 ;; Complete handling of F switch (if/when possible).
@@ -61,8 +59,8 @@
 ;; Revised by Andrew Innes and Geoff Volker (and maybe others).
 
 ;; Modified by Francis J. Wright <F.J.Wright@maths.qmw.ac.uk>, mainly
-;; to support many more ls options, "platform emulation", hooks for
-;; external symbolic link support and more robust sorting.
+;; to support many more ls options, "platform emulation" and more
+;; robust sorting.
 
 ;;; Code:
 
@@ -175,14 +173,6 @@ current year. The OLD-TIME-FORMAT is used for older files.  To use ISO
 (or (featurep 'ls-lisp)  ; FJW: unless this file is being reloaded!
     (setq original-insert-directory (symbol-function 'insert-directory)))
 
-;; This stub is to allow ls-lisp to parse symbolic links via another
-;; library such as w32-symlinks.el from
-;; http://centaur.maths.qmw.ac.uk/Emacs/:
-(defun ls-lisp-parse-symlink (file-name)
-  "This stub may be redefined to parse FILE-NAME as a symlink.
-It should return nil or the link target as a string."
-  nil)
-
 \f
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
@@ -429,7 +419,9 @@ SWITCHES is a list of characters.  Default sorting is alphabetic."
   ;; symbolic link, or nil.
       (let (el dirs files)
        (while file-alist
-         (if (eq (cadr (setq el (car file-alist))) t) ; directory
+         (if (or (eq (cadr (setq el (car file-alist))) t) ; directory
+                  (and (stringp (cadr el))
+                       (file-directory-p (cadr el)))) ; symlink to a directory
              (setq dirs (cons el dirs))
            (setq files (cons el files)))
          (setq file-alist (cdr file-alist)))
@@ -455,12 +447,11 @@ links, `|' for FIFOs, `=' for sockets, and nothing for regular files.
 \[But FIFOs and sockets are not recognized.]
 FILEDATA has the form (filename . `file-attributes').  Its `cadr' is t
 for directory, string (name linked to) for symbolic link, or nil."
-  (let ((dir (cadr filedata)) (file-name (car filedata)))
-    (cond ((or dir
-              ;; Parsing .lnk files here is perhaps overkill!
-              (setq dir (ls-lisp-parse-symlink file-name)))
+  (let ((file-name (car filedata))
+        (type (cadr filedata)))
+    (cond (type
           (cons
-           (concat file-name (if (eq dir t) "/" "@"))
+           (concat file-name (if (eq type t) "/" "@"))
            (cdr filedata)))
          ((string-match "x" (nth 9 filedata))
           (cons
@@ -506,10 +497,6 @@ SWITCHES, TIME-INDEX and NOW give the full switch list and time data."
        ;; t for directory, string (name linked to)
        ;; for symbolic link, or nil.
        (drwxrwxrwx (nth 8 file-attr))) ; attribute string ("drwxrwxrwx")
-    (and (null file-type)
-        ;; Maybe no kernel support for symlinks, so...
-        (setq file-type (ls-lisp-parse-symlink file-name))
-        (aset drwxrwxrwx 0 ?l)) ; symbolic link - update attribute string
     (concat (if (memq ?i switches)     ; inode number
                (format " %6d" (nth 10 file-attr)))
            ;; nil is treated like "" in concat