summaryrefslogtreecommitdiff
path: root/lisp/bs.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/bs.el')
-rw-r--r--lisp/bs.el51
1 files changed, 26 insertions, 25 deletions
diff --git a/lisp/bs.el b/lisp/bs.el
index 9d89eb17b2d..4d13c97c2fd 100644
--- a/lisp/bs.el
+++ b/lisp/bs.el
@@ -131,8 +131,6 @@
;;; Code:
-(defvar font-lock-verbose)
-
;; ----------------------------------------------------------------------
;; Globals for customization
;; ----------------------------------------------------------------------
@@ -244,7 +242,8 @@ The function gets one argument - the buffer to test.")
(defvar bs-buffer-sort-function nil
"Sort function to sort the buffers that appear in Buffer Selection Menu.
-The function gets two arguments - the buffers to compare.")
+The function gets two arguments - the buffers to compare.
+It must return non-nil if the first buffer should sort before the second.")
(defcustom bs-maximal-buffer-name-column 45
"*Maximum column width for buffer names.
@@ -337,7 +336,7 @@ Must be a string used in `bs-configurations' for naming a configuration."
:type 'string)
(defcustom bs-string-show-normally " "
- "*String added in column 1 indicating a unmarked buffer."
+ "*String added in column 1 indicating an unmarked buffer."
:group 'bs-appearance
:type 'string)
@@ -393,9 +392,9 @@ A value of `always' means to show buffer regardless of the configuration.")
("by nothing" nil nil nil))
"*List of all possible sorting aspects for Buffer Selection Menu.
You can add a new entry with a call to `bs-define-sort-function'.
-Each element is a list of four elements (NAME FUNCTION REGEXP-FOR-SORTING FACE)
+Each element is a list of four elements (NAME FUNCTION REGEXP-FOR-SORTING FACE).
NAME specifies the sort order defined by function FUNCTION.
-FUNCTION nil means don't sort the buffer list. Otherwise the functions
+FUNCTION nil means don't sort the buffer list. Otherwise the function
must have two parameters - the buffers to compare.
REGEXP-FOR-SORTING is a regular expression which describes the
column title to highlight.
@@ -620,7 +619,7 @@ actually the line which begins with character in `bs-string-current' or
\\<bs-mode-map>
Aside from two header lines each line describes one buffer.
Move to a line representing the buffer you want to edit and select
-buffer by \\[bs-select] or SPC. Abort buffer list with \\[bs-kill].
+buffer by \\[bs-select] or SPC. Abort buffer list with \\[bs-kill].
There are many key commands similar to `Buffer-menu-mode' for
manipulating the buffer list and buffers.
For faster navigation each digit key is a digit argument.
@@ -653,11 +652,14 @@ to show always.
(use-local-map bs-mode-map)
(make-local-variable 'font-lock-defaults)
(make-local-variable 'font-lock-verbose)
+ (make-local-variable 'font-lock-global-modes)
(buffer-disable-undo)
(setq major-mode 'bs-mode
mode-name "Buffer-Selection-Menu"
buffer-read-only t
truncate-lines t
+ show-trailing-whitespace nil
+ font-lock-global-modes '(not bs-mode)
font-lock-defaults '(bs-mode-font-lock-keywords t)
font-lock-verbose nil)
(run-mode-hooks 'bs-mode-hook))
@@ -669,7 +671,7 @@ to show always.
(setq bs--window-config-coming-from nil)))
(defun bs-kill ()
- "Let buffer disappear and reset window-configuration."
+ "Let buffer disappear and reset window configuration."
(interactive)
(bury-buffer (current-buffer))
(bs--restore-window-config))
@@ -778,7 +780,7 @@ Leave Buffer Selection Menu."
(defun bs-mouse-select-other-frame (event)
"Select selected line's buffer in new created frame.
Leave Buffer Selection Menu.
-EVENT: a mouse click EVENT."
+EVENT: a mouse click event."
(interactive "e")
(mouse-set-point event)
(bs-select-other-frame))
@@ -929,7 +931,7 @@ WHAT is a value of nil, `never', or `always'."
(bs-up 1))))
(defun bs-show-sorted ()
- "Show buffer list sorted by buffer name."
+ "Show buffer list sorted by next sort aspect."
(interactive)
(setq bs--current-sort-function
(bs-next-config-aux (car bs--current-sort-function)
@@ -1020,13 +1022,13 @@ If at end of buffer list go to first line."
(forward-line 1)))
(defun bs-visits-non-file (buffer)
- "Return t or nil whether BUFFER visits no file.
+ "Return whether BUFFER visits no file.
A value of t means BUFFER belongs to no file.
A value of nil means BUFFER belongs to a file."
(not (buffer-file-name buffer)))
(defun bs-sort-buffer-interns-are-last (b1 b2)
- "Function for sorting internal buffers B1 and B2 at the end of all buffers."
+ "Function for sorting internal buffers at the end of all buffers."
(string-match "^\\*" (buffer-name b2)))
;; ----------------------------------------------------------------------
@@ -1034,7 +1036,7 @@ A value of nil means BUFFER belongs to a file."
;; ----------------------------------------------------------------------
(defun bs-config-clear ()
- "*Reset all variables which specify a configuration.
+ "Reset all variables which specify a configuration.
These variables are `bs-dont-show-regexp', `bs-must-show-regexp',
`bs-dont-show-function', `bs-must-show-function' and
`bs-buffer-sort-function'."
@@ -1274,7 +1276,7 @@ or a string."
(defun bs--get-marked-string (start-buffer all-buffers)
"Return a string which describes whether current buffer is marked.
START-BUFFER is the buffer where we started buffer selection.
-ALL-BUFFERS is the list of buffer appearing in Buffer Selection Menu.
+ALL-BUFFERS is the list of buffers appearing in Buffer Selection Menu.
The result string is one of `bs-string-current', `bs-string-current-marked',
`bs-string-marked', `bs-string-show-normally', `bs-string-show-never', or
`bs-string-show-always'."
@@ -1299,19 +1301,19 @@ The result string is one of `bs-string-current', `bs-string-current-marked',
(defun bs--get-modified-string (start-buffer all-buffers)
"Return a string which describes whether current buffer is modified.
START-BUFFER is the buffer where we started buffer selection.
-ALL-BUFFERS is the list of buffer appearing in Buffer Selection Menu."
+ALL-BUFFERS is the list of buffers appearing in Buffer Selection Menu."
(if (buffer-modified-p) "*" " "))
(defun bs--get-readonly-string (start-buffer all-buffers)
"Return a string which describes whether current buffer is read only.
START-BUFFER is the buffer where we started buffer selection.
-ALL-BUFFERS is the list of buffer appearing in Buffer Selection Menu."
+ALL-BUFFERS is the list of buffers appearing in Buffer Selection Menu."
(if buffer-read-only "%" " "))
(defun bs--get-size-string (start-buffer all-buffers)
"Return a string which describes the size of current buffer.
START-BUFFER is the buffer where we started buffer selection.
-ALL-BUFFERS is the list of buffer appearing in Buffer Selection Menu."
+ALL-BUFFERS is the list of buffers appearing in Buffer Selection Menu."
(int-to-string (buffer-size)))
(defun bs--get-name (start-buffer all-buffers)
@@ -1319,7 +1321,7 @@ ALL-BUFFERS is the list of buffer appearing in Buffer Selection Menu."
The name of current buffer gets additional text properties
for mouse highlighting.
START-BUFFER is the buffer where we started buffer selection.
-ALL-BUFFERS is the list of buffer appearing in Buffer Selection Menu."
+ALL-BUFFERS is the list of buffers appearing in Buffer Selection Menu."
(propertize (buffer-name)
'help-echo "mouse-2: select this buffer, mouse-3: select in other frame"
'mouse-face 'highlight))
@@ -1327,7 +1329,7 @@ ALL-BUFFERS is the list of buffer appearing in Buffer Selection Menu."
(defun bs--get-mode-name (start-buffer all-buffers)
"Return the name of mode of current buffer for Buffer Selection Menu.
START-BUFFER is the buffer where we started buffer selection.
-ALL-BUFFERS is the list of buffer appearing in Buffer Selection Menu."
+ALL-BUFFERS is the list of buffers appearing in Buffer Selection Menu."
mode-name)
(defun bs--get-file-name (start-buffer all-buffers)
@@ -1336,7 +1338,7 @@ This is the variable `buffer-file-name' of current buffer.
If current mode is `dired-mode' or `shell-mode' it returns the
default directory.
START-BUFFER is the buffer where we started buffer selection.
-ALL-BUFFERS is the list of buffer appearing in Buffer Selection Menu."
+ALL-BUFFERS is the list of buffers appearing in Buffer Selection Menu."
(propertize (if (member major-mode '(shell-mode dired-mode))
default-directory
(or buffer-file-name ""))
@@ -1372,7 +1374,7 @@ normally *buffer-selection*."
string))
(defun bs--format-aux (string align len)
- "Generate a string with STRING with alignment ALIGN and length LEN.
+ "Pad STRING to length LEN with alignment ALIGN.
ALIGN is one of the symbols `left', `middle', or `right'."
(let* ((width (length string))
(len (max len width)))
@@ -1383,9 +1385,8 @@ ALIGN is one of the symbols `left', `middle', or `right'."
(defun bs--show-header ()
"Insert header for Buffer Selection Menu in current buffer."
- (mapcar '(lambda (string)
- (insert string "\n"))
- (bs--create-header)))
+ (dolist (string (bs--create-header))
+ (insert string "\n")))
(defun bs--get-name-length ()
"Return value of `bs--name-entry-length'."
@@ -1471,7 +1472,7 @@ Otherwise return `bs-alternative-configuration'."
"Make a menu of buffers so you can manipulate buffers or the buffer list.
\\<bs-mode-map>
There are many key commands similar to `Buffer-menu-mode' for
-manipulating buffer list and buffers itself.
+manipulating the buffer list and the buffers themselves.
User can move with [up] or [down], select a buffer
by \\[bs-select] or [SPC]\n
Type \\[bs-kill] to leave Buffer Selection Menu without a selection.