summaryrefslogtreecommitdiff
path: root/lisp/msb.el
diff options
context:
space:
mode:
authorDave Love <fx@gnu.org>1999-07-28 16:46:30 +0000
committerDave Love <fx@gnu.org>1999-07-28 16:46:30 +0000
commit492bd7587de29d4a79f65181a8657c0d38bab2eb (patch)
treefab757e9cf20ae3ea360a5b97a95b229c078ffb9 /lisp/msb.el
parent87f0532f1139f933caefa84bc950c086d226db81 (diff)
downloademacs-492bd7587de29d4a79f65181a8657c0d38bab2eb.tar.gz
Require cl only when compiling.
(msb--home-dir): Deleted. (msb--format-title): Use abbreviate-file-name. (msb--choose-file-menu): Simplify string comparison.
Diffstat (limited to 'lisp/msb.el')
-rw-r--r--lisp/msb.el31
1 files changed, 10 insertions, 21 deletions
diff --git a/lisp/msb.el b/lisp/msb.el
index 9d523a666a5..866a5c3dddc 100644
--- a/lisp/msb.el
+++ b/lisp/msb.el
@@ -75,10 +75,11 @@
;; Richard Stallman <rms@gnu.ai.mit.edu>
;; Steve Fisk <fisk@medved.bowdoin.edu>
-;; This version turned into a global minor mode by Dave Love.
+;; This version turned into a global minor mode and subsequently
+;; hacked on by Dave Love.
;;; Code:
-(require 'cl)
+(eval-when-compile (require 'cl))
;;;
;;; Some example constants to be used for `msb-menu-cond'. See that
@@ -399,13 +400,6 @@ This is instead of the groups in `msb-menu-cond'."
;;; Internal variables
;;;
-;; Home directory for the current user
-(defconst msb--home-dir
- (condition-case nil
- (substitute-in-file-name "$HOME")
- ;; If $HOME isn't defined, use nil
- (error nil)))
-
;; The last calculated menu.
(defvar msb--last-buffer-menu nil)
@@ -565,13 +559,8 @@ If the argument is left out or nil, then the current buffer is considered."
(defun msb--format-title (top-found-p path number-of-items)
"Format a suitable title for the menu item."
- (let ((new-path path))
- (when (and msb--home-dir
- (string-match (concat "^" msb--home-dir) path))
- (setq new-path (concat "~"
- (substring path (match-end 0)))))
- (format (if top-found-p "%s... (%d)" "%s (%d)")
- new-path number-of-items)))
+ (format (if top-found-p "%s... (%d)" "%s (%d)")
+ (abbreviate-file-name path) number-of-items))
;; Variables for debugging.
(defvar msb--choose-file-menu-list)
@@ -608,7 +597,7 @@ If the argument is left out or nil, then the current buffer is considered."
(while (and tmp-rest
(<= (length buffers) max-clumped-together)
(>= (length (car item)) (length path))
- (string= path (substring (car item) 0 (length path))))
+ (compare-strings path 0 nil (car item) 0 (length path)))
(setq found-p t)
(setq buffers (append buffers (cdr item))) ;nconc is faster than append
(setq tmp-rest (cdr tmp-rest)
@@ -646,11 +635,11 @@ If the argument is left out or nil, then the current buffer is considered."
(setq last-path path))
(when (and last-path
(or (and (>= (length path) (length last-path))
- (string= last-path
- (substring path 0 (length last-path))))
+ (compare-strings last-path 0 nil
+ path 0 (length last-path)))
(and (< (length path) (length last-path))
- (string= path
- (substring last-path 0 (length path))))))
+ (compare-strings path 0 nil
+ last-path 0 (length path)))))
;; We have reached the same place in the file hierarchy as
;; the last result, so we should quit at this point and
;; take what we have as result.