emacs-devel
[Top][All Lists]
Advanced

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

Re: files.el


From: Luc Teirlinck
Subject: Re: files.el
Date: Thu, 18 Mar 2004 07:30:48 -0600 (CST)

The dolist loop in my previous patch was silly.  I originally had
another condition than string=, for which the dolist was necessary.
When I replaced it with string=, I failed to notice that after that,
the dolist became essentially equivalent to member.  Revised patch:

===File ~/files.el-diff=====================================
*** files.el.~1.680.~   Thu Mar  4 15:36:49 2004
--- files.el    Thu Mar 18 07:18:56 2004
***************
*** 4205,4218 ****
  (defun insert-directory (file switches &optional wildcard full-directory-p)
    "Insert directory listing for FILE, formatted according to SWITCHES.
  Leaves point after the inserted text.
! SWITCHES may be a string of options, or a list of strings.
  Optional third arg WILDCARD means treat FILE as shell wildcard.
  Optional fourth arg FULL-DIRECTORY-P means file is a directory and
  switches do not contain `d', so that a full listing is expected.
  
  This works by running a directory listing program
  whose name is in the variable `insert-directory-program'.
! If WILDCARD, it also runs the shell specified by `shell-file-name'."
    ;; We need the directory in order to find the right handler.
    (let ((handler (find-file-name-handler (expand-file-name file)
                                         'insert-directory)))
--- 4205,4224 ----
  (defun insert-directory (file switches &optional wildcard full-directory-p)
    "Insert directory listing for FILE, formatted according to SWITCHES.
  Leaves point after the inserted text.
! SWITCHES may be a string of options, or a list of strings
! representing individual options.
  Optional third arg WILDCARD means treat FILE as shell wildcard.
  Optional fourth arg FULL-DIRECTORY-P means file is a directory and
  switches do not contain `d', so that a full listing is expected.
  
  This works by running a directory listing program
  whose name is in the variable `insert-directory-program'.
! If WILDCARD, it also runs the shell specified by `shell-file-name'.
! 
! When SWITCHES contains the long `--dired' option,this function
! treats it specially, for the sake of dired.  However, the
! normally equivalent short `-D' option is just passed on to
! `insert-directory-program', as any other option."
    ;; We need the directory in order to find the right handler.
    (let ((handler (find-file-name-handler (expand-file-name file)
                                         'insert-directory)))
***************
*** 4225,4231 ****
  
          ;; Read the actual directory using `insert-directory-program'.
          ;; RESULT gets the status code.
!         (let* (;; We at first read by no-conversion, then after
                 ;; putting text property `dired-filename, decode one
                 ;; bunch by one to preserve that property.
                 (coding-system-for-read 'no-conversion)
--- 4231,4237 ----
  
          ;; Read the actual directory using `insert-directory-program'.
          ;; RESULT gets the status code.
!         (let* ( ;; We at first read by no-conversion, then after
                 ;; putting text property `dired-filename, decode one
                 ;; bunch by one to preserve that property.
                 (coding-system-for-read 'no-conversion)
***************
*** 4301,4307 ****
              (access-file file "Reading directory")
              (error "Listing directory failed but `access-file' worked")))
  
!         (when (string-match "--dired\\>" switches)
            (forward-line -2)
              (when (looking-at "//SUBDIRED//")
                (delete-region (point) (progn (forward-line 1) (point)))
--- 4307,4315 ----
              (access-file file "Reading directory")
              (error "Listing directory failed but `access-file' worked")))
  
!         (when (if (stringp switches)
!                   (string-match "--dired\\>" switches)
!                 (member "--dired" switches))
            (forward-line -2)
              (when (looking-at "//SUBDIRED//")
                (delete-region (point) (progn (forward-line 1) (point)))
============================================================




reply via email to

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