[Top][All Lists]
[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)
- [Emacs-diffs] Changes to emacs/lisp/speedbar.el [lexbind],
Miles Bader <=