emacs-diffs
[Top][All Lists]
Advanced

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

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


From: Miles Bader
Subject: [Emacs-diffs] Changes to emacs/lisp/speedbar.el [lexbind]
Date: Sat, 04 Sep 2004 05:47:47 -0400

Index: emacs/lisp/speedbar.el
diff -c emacs/lisp/speedbar.el:1.42.2.3 emacs/lisp/speedbar.el:1.42.2.4
*** emacs/lisp/speedbar.el:1.42.2.3     Thu Feb  5 14:48:33 2004
--- emacs/lisp/speedbar.el      Sat Sep  4 09:22:56 2004
***************
*** 689,696 ****
    :type '(repeat (regexp :tag "Extension Regexp"))
    :set (lambda (sym val)
         (setq speedbar-supported-extension-expressions val
!              speedbar-file-regexp (speedbar-extension-list-to-regex val)))
!   )
  
  (defvar speedbar-file-regexp
    (speedbar-extension-list-to-regex speedbar-supported-extension-expressions)
--- 689,704 ----
    :type '(repeat (regexp :tag "Extension Regexp"))
    :set (lambda (sym val)
         (setq speedbar-supported-extension-expressions val
!              speedbar-file-regexp (speedbar-extension-list-to-regex val))))
! 
! (defcustom speedbar-scan-subdirs nil
!   "*Non-nil means speedbar will check if subdirs are empty.
! That way you don't have to click on them to find out.  But this
! incurs extra I/O, hence it slows down directory display
! proportionally to the number of subdirs."
!   :group 'speedbar
!   :type 'boolean
!   :version 21.4)
  
  (defvar speedbar-file-regexp
    (speedbar-extension-list-to-regex speedbar-supported-extension-expressions)
***************
*** 2185,2205 ****
    ;; find the directory, either in the cache, or build it.
    (or (cdr-safe (assoc directory speedbar-directory-contents-alist))
        (let ((default-directory directory)
!           (dir (directory-files directory nil))
!           (dirs nil)
!           (files nil))
!       (while dir
!         (if (not
!              (or (string-match speedbar-file-unshown-regexp (car dir))
!                  (string-match speedbar-directory-unshown-regexp (car dir))))
!             (if (file-directory-p (car dir))
!                 (setq dirs (cons (car dir) dirs))
!               (setq files (cons (car dir) files))))
!         (setq dir (cdr dir)))
!       (let ((nl (cons (nreverse dirs) (list (nreverse files)))))
          (aput 'speedbar-directory-contents-alist directory nl)
!         nl))
!       ))
  
  (defun speedbar-directory-buttons (directory index)
    "Insert a single button group at point for DIRECTORY.
--- 2193,2209 ----
    ;; find the directory, either in the cache, or build it.
    (or (cdr-safe (assoc directory speedbar-directory-contents-alist))
        (let ((default-directory directory)
!           (case-fold-search read-file-name-completion-ignore-case)
!           dirs files)
!       (dolist (file (directory-files directory nil))
!         (or (string-match speedbar-file-unshown-regexp file)
!             (string-match speedbar-directory-unshown-regexp file)
!             (if (file-directory-p file)
!                 (setq dirs (cons file dirs))
!               (setq files (cons file files)))))
!       (let ((nl `(,(nreverse dirs) ,(nreverse files))))
          (aput 'speedbar-directory-contents-alist directory nl)
!         nl))))
  
  (defun speedbar-directory-buttons (directory index)
    "Insert a single button group at point for DIRECTORY.
***************
*** 2343,2376 ****
  
  ;;; Build button lists
  ;;
! (defun speedbar-insert-files-at-point (files level)
    "Insert list of FILES starting at point, and indenting all files to LEVEL.
  Tag expandable items with a +, otherwise a ?.  Don't highlight ? as we
  don't know how to manage them.  The input parameter FILES is a cons
  cell of the form ( 'DIRLIST .  'FILELIST )."
    ;; Start inserting all the directories
!   (let ((dirs (car files)))
!     (while dirs
!       (speedbar-make-tag-line 'angle ?+ 'speedbar-dired (car dirs)
!                             (car dirs) 'speedbar-dir-follow nil
!                             'speedbar-directory-face level)
!       (setq dirs (cdr dirs))))
!   (let ((lst (car (cdr files)))
!       (case-fold-search t))
!     (while lst
!       (let* ((known (string-match speedbar-file-regexp (car lst)))
             (expchar (if known ?+ ??))
             (fn (if known 'speedbar-tag-file nil)))
        (if (or speedbar-show-unknown-files (/= expchar ??))
!           (speedbar-make-tag-line 'bracket expchar fn (car lst)
!                                   (car lst) 'speedbar-find-file nil
!                                   'speedbar-file-face level)))
!       (setq lst (cdr lst)))))
  
  (defun speedbar-default-directory-list (directory index)
    "Insert files for DIRECTORY with level INDEX at point."
    (speedbar-insert-files-at-point
!    (speedbar-file-lists directory) index)
    (speedbar-reset-scanners)
    (if (= index 0)
        ;; If the shown files variable has extra directories, then
--- 2347,2386 ----
  
  ;;; Build button lists
  ;;
! (defun speedbar-insert-files-at-point (files level directory)
    "Insert list of FILES starting at point, and indenting all files to LEVEL.
  Tag expandable items with a +, otherwise a ?.  Don't highlight ? as we
  don't know how to manage them.  The input parameter FILES is a cons
  cell of the form ( 'DIRLIST .  'FILELIST )."
    ;; Start inserting all the directories
!   (dolist (dir (car files))
!     (if (if speedbar-scan-subdirs
!           (condition-case nil
!               (let ((l (speedbar-file-lists (concat directory dir))))
!                 (or (car l) (cadr l)))
!             (file-error))
!         (file-readable-p (concat directory dir)))
!       (speedbar-make-tag-line 'angle ?+ 'speedbar-dired dir
!                               dir 'speedbar-dir-follow nil
!                               'speedbar-directory-face level)
!       (speedbar-make-tag-line 'angle ?  nil dir
!                             dir 'speedbar-dir-follow nil
!                             'speedbar-directory-face level)))
!   (let ((case-fold-search read-file-name-completion-ignore-case))
!     (dolist (file (cadr files))
!       (let* ((known (and (file-readable-p (concat directory file))
!                        (string-match speedbar-file-regexp file)))
             (expchar (if known ?+ ??))
             (fn (if known 'speedbar-tag-file nil)))
        (if (or speedbar-show-unknown-files (/= expchar ??))
!           (speedbar-make-tag-line 'bracket expchar fn file
!                                   file 'speedbar-find-file nil
!                                   'speedbar-file-face level))))))
  
  (defun speedbar-default-directory-list (directory index)
    "Insert files for DIRECTORY with level INDEX at point."
    (speedbar-insert-files-at-point
!    (speedbar-file-lists directory) index directory)
    (speedbar-reset-scanners)
    (if (= index 0)
        ;; If the shown files variable has extra directories, then
***************
*** 2918,2924 ****
         (newcf (if newcfd newcfd))
         (lastb (current-buffer))
         (sucf-recursive (boundp 'sucf-recursive))
!        (case-fold-search t))
      (if (and newcf
             ;; check here, that way we won't refresh to newcf until
             ;; its been written, thus saving ourselves some time
--- 2928,2934 ----
         (newcf (if newcfd newcfd))
         (lastb (current-buffer))
         (sucf-recursive (boundp 'sucf-recursive))
!        (case-fold-search read-file-name-completion-ignore-case))
      (if (and newcf
             ;; check here, that way we won't refresh to newcf until
             ;; its been written, thus saving ourselves some time
***************
*** 4235,4243 ****
           (speedbar-convert-emacs21-imagespec-to-xemacs (quote ,imagespec)))
          'buffer)
         (error nil))
!      ,docstring))
! 
! )))
  
  (defimage-speedbar speedbar-directory-plus
    ((:type xpm :file "sb-dir-plus.xpm" :ascent center))
--- 4245,4251 ----
           (speedbar-convert-emacs21-imagespec-to-xemacs (quote ,imagespec)))
          'buffer)
         (error nil))
!      ,docstring)))))
  
  (defimage-speedbar speedbar-directory-plus
    ((:type xpm :file "sb-dir-plus.xpm" :ascent center))
***************
*** 4247,4252 ****
--- 4255,4264 ----
    ((:type xpm :file "sb-dir-minus.xpm" :ascent center))
    "Image used for open directories with stuff in them.")
  
+ (defimage-speedbar speedbar-directory
+   ((:type xpm :file "sb-dir.xpm" :ascent center))
+   "Image used for empty or unreadable directories.")
+ 
  (defimage-speedbar speedbar-page-plus
    ((:type xpm :file "sb-pg-plus.xpm" :ascent center))
    "Image used for closed files with stuff in them.")
***************
*** 4290,4295 ****
--- 4302,4308 ----
  (defvar speedbar-expand-image-button-alist
    '(("<+>" . speedbar-directory-plus)
      ("<->" . speedbar-directory-minus)
+     ("< >" . speedbar-directory)
      ("[+]" . speedbar-page-plus)
      ("[-]" . speedbar-page-minus)
      ("[?]" . speedbar-page)




reply via email to

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