emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/ls-lisp.el


From: Lars Hansen
Subject: [Emacs-diffs] Changes to emacs/lisp/ls-lisp.el
Date: Tue, 22 Nov 2005 14:25:34 -0500

Index: emacs/lisp/ls-lisp.el
diff -c emacs/lisp/ls-lisp.el:1.58 emacs/lisp/ls-lisp.el:1.59
*** emacs/lisp/ls-lisp.el:1.58  Sat Nov 19 11:38:23 2005
--- emacs/lisp/ls-lisp.el       Tue Nov 22 19:25:33 2005
***************
*** 45,52 ****
  ;; * 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).
--- 45,50 ----
***************
*** 61,68 ****
  ;; Revised by Andrew Innes and Geoff Volker (and maybe others).
  
  ;; Modified by Francis J. Wright <address@hidden>, mainly
! ;; to support many more ls options, "platform emulation", hooks for
! ;; external symbolic link support and more robust sorting.
  
  ;;; Code:
  
--- 59,66 ----
  ;; Revised by Andrew Innes and Geoff Volker (and maybe others).
  
  ;; Modified by Francis J. Wright <address@hidden>, mainly
! ;; to support many more ls options, "platform emulation" and more
! ;; robust sorting.
  
  ;;; Code:
  
***************
*** 175,188 ****
  (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)
- 
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  
--- 173,178 ----
***************
*** 429,435 ****
    ;; symbolic link, or nil.
        (let (el dirs files)
        (while file-alist
!         (if (eq (cadr (setq el (car file-alist))) t) ; directory
              (setq dirs (cons el dirs))
            (setq files (cons el files)))
          (setq file-alist (cdr file-alist)))
--- 419,427 ----
    ;; symbolic link, or nil.
        (let (el dirs files)
        (while file-alist
!         (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,466 ****
  \[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)))
           (cons
!           (concat file-name (if (eq dir t) "/" "@"))
            (cdr filedata)))
          ((string-match "x" (nth 9 filedata))
           (cons
--- 447,457 ----
  \[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 ((file-name (car filedata))
!         (type (cadr filedata)))
!     (cond (type
           (cons
!           (concat file-name (if (eq type t) "/" "@"))
            (cdr filedata)))
          ((string-match "x" (nth 9 filedata))
           (cons
***************
*** 506,515 ****
        ;; 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
--- 497,502 ----




reply via email to

[Prev in Thread] Current Thread [Next in Thread]