;;; bs.el --- menu for selecting and displaying buffers
;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+;; 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
;; Author: Olaf Sylvester <Olaf.Sylvester@netsurf.de>
;; Maintainer: Olaf Sylvester <Olaf.Sylvester@netsurf.de>
;; Keywords: convenience
"Save buffer on current line."
(interactive)
(with-current-buffer (bs--current-buffer)
- (save-buffer)
- (bs--update-current-line))
+ (save-buffer))
+ (bs--update-current-line))
(defun bs-visit-tags-table ()
"Visit the tags table in the buffer on this line.
"Move cursor vertically down one line.
If at end of buffer list go to first line."
(if (eq (line-end-position) (point-max))
- (goto-line (1+ bs-header-lines-length))
+ (progn
+ (goto-char (point-min))
+ (forward-line bs-header-lines-length))
(forward-line 1)))
(defun bs-visits-non-file (buffer)
(setq bs--marked-buffers nil)
(bs--show-with-configuration (bs--configuration-name-for-prefix-arg arg)))
+;; ----------------------------------------------------------------------
+;; Cleanup
+;; ----------------------------------------------------------------------
+
+(defun bs-unload-function ()
+ "Unload the Buffer Selection library."
+ (let ((bs-buf (get-buffer "*buffer-selection*")))
+ (when bs-buf
+ (with-current-buffer bs-buf
+ (when (eq major-mode 'bs-mode)
+ (bs-kill)
+ (kill-buffer bs-buf)))))
+ ;; continue standard unloading
+ nil)
+
;; Now provide feature bs
(provide 'bs)