]> code.delx.au - gnu-emacs/blobdiff - lisp/bs.el
* lisp/mouse.el (mouse-select-region-move-to-beginning): Add :group.
[gnu-emacs] / lisp / bs.el
index 09aefee416ed8495775b9a6cd14de7290ad2047f..835116912d4e321feee585e9fc0c2b80fc66c53a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; bs.el --- menu for selecting and displaying buffers -*- lexical-binding: t -*-
 
-;; Copyright (C) 1998-2012 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2016 Free Software Foundation, Inc.
 ;; Author: Olaf Sylvester <Olaf.Sylvester@netsurf.de>
 ;; Maintainer: Olaf Sylvester <Olaf.Sylvester@netsurf.de>
 ;; Keywords: convenience
@@ -336,15 +336,13 @@ Used internally, only.")
 ;; Internal globals
 ;; ----------------------------------------------------------------------
 
-(defvar bs-buffer-show-mark nil
+(defvar-local bs-buffer-show-mark nil
   "Flag for the current mode for showing this buffer.
 A value of nil means buffer will be shown depending on the current
 configuration.
 A value of `never' means to never show the buffer.
 A value of `always' means to show buffer regardless of the configuration.")
 
-(make-variable-buffer-local 'bs-buffer-show-mark)
-
 ;; Make face named region (for XEmacs)
 (unless (facep 'region)
   (make-face 'region)
@@ -648,17 +646,14 @@ available Buffer Selection Menu configuration.
 to show always.
 \\[bs-visit-tags-table] -- call `visit-tags-table' on current line's buffer.
 \\[bs-help] -- display this help text."
-  (make-local-variable 'font-lock-defaults)
-  (make-local-variable 'font-lock-verbose)
-  (make-local-variable 'font-lock-global-modes)
   (buffer-disable-undo)
   (setq 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)
-  (set (make-local-variable 'revert-buffer-function) 'bs-refresh)
+       show-trailing-whitespace nil)
+  (setq-local font-lock-defaults '(bs-mode-font-lock-keywords t))
+  (setq-local font-lock-verbose nil)
+  (setq-local font-lock-global-modes '(not bs-mode))
+  (setq-local revert-buffer-function 'bs-refresh)
   (add-hook 'window-size-change-functions 'bs--track-window-changes)
   (add-hook 'kill-buffer-hook 'bs--remove-hooks nil t)
   (add-hook 'change-major-mode-hook 'bs--remove-hooks nil t))
@@ -959,10 +954,10 @@ Default is `bs--current-sort-function'."
 
 (defun bs-toggle-readonly ()
   "Toggle read-only status for buffer on current line.
-Uses function `toggle-read-only'."
+Uses function `read-only-mode'."
   (interactive)
   (with-current-buffer (bs--current-buffer)
-    (call-interactively 'toggle-read-only))
+    (read-only-mode 'toggle))
   (bs--update-current-line))
 
 (defun bs-clear-modified ()
@@ -1148,7 +1143,7 @@ and move point to current buffer."
     (delete-char -1)
     (bs--set-window-height)
     (bs--goto-current-buffer)
-    (font-lock-fontify-buffer)
+    (font-lock-ensure)
     (bs-apply-sort-faces)
     (set-buffer-modified-p nil)))
 
@@ -1319,7 +1314,7 @@ ALL-BUFFERS is the list of buffers appearing in Buffer Selection Menu."
   (format-mode-line mode-name nil nil start-buffer))
 
 (defun bs--get-file-name (_start-buffer _all-buffers)
-  "Return string for column 'File' in Buffer Selection Menu.
+  "Return string for column `File' in Buffer Selection Menu.
 This is the variable `buffer-file-name' of current buffer.
 If not visiting a file, `list-buffers-directory' is returned instead.
 START-BUFFER is the buffer where we started buffer selection.
@@ -1411,7 +1406,7 @@ for buffer selection."
          (select-window active-window)
        (bs--restore-window-config)
        (setq bs--window-config-coming-from (current-window-configuration))
-       (when (> (window-height (selected-window)) 7)
+       (when (> (window-height) 7)
           ;; Errors would mess with the window configuration (bug#10882).
           (ignore-errors (select-window (split-window-below)))))
       (bs-show-in-buffer liste)