-2005-09-05 Chong Yidong <cyd@stupidchicken.com>
+2005-09-06 Chong Yidong <cyd@stupidchicken.com>
+
+ * buff-menu.el (Buffer-menu-make-sort-button): Allow mouse-1
+ clicks when using a header line. Otherwise, use
+ mouse-1-click-follows-link.
+
+ * mouse.el (mouse-drag-header-line): Do nothing if the header-line
+ can't be moved; don't signal an error.
* custom.el (custom-push-theme): Fix last change.
(propertize name
'help-echo (if column
(if Buffer-menu-use-header-line
- (concat "mouse-2: sort by " (downcase name))
+ (concat "mouse-1, mouse-2: sort by "
+ (downcase name))
(concat "mouse-2, RET: sort by "
(downcase name)))
(if Buffer-menu-use-header-line
- "mouse-2: sort by visited order"
+ "mouse-1, mouse-2: sort by visited order"
"mouse-2, RET: sort by visited order"))
'mouse-face 'highlight
- 'keymap (let ((map (make-sparse-keymap)))
- (if Buffer-menu-use-header-line
- (define-key map [header-line mouse-2]
- `(lambda (e)
- (interactive "e")
- (save-window-excursion
- (if e (mouse-select-window e))
- (Buffer-menu-sort ,column))))
- (define-key map [mouse-2]
- `(lambda (e)
- (interactive "e")
- (if e (mouse-select-window e))
- (Buffer-menu-sort ,column)))
- (define-key map "\C-m"
- `(lambda () (interactive)
- (Buffer-menu-sort ,column))))
+ 'keymap (let ((map (make-sparse-keymap))
+ (fun `(lambda (e)
+ (interactive "e")
+ (if e (mouse-select-window e))
+ (Buffer-menu-sort ,column))))
+ ;; This keymap handles both nil and non-nil
+ ;; values for Buffer-menu-use-header-line.
+ (define-key map [header-line mouse-1] fun)
+ (define-key map [header-line mouse-2] fun)
+ (define-key map [mouse-2] fun)
+ (define-key map [follow-link] 'mouse-face)
+ (define-key map "\C-m"
+ `(lambda () (interactive)
+ (Buffer-menu-sort ,column)))
map)))
(defun list-buffers-noselect (&optional files-only buffer-list)
(window (posn-window start))
(frame (window-frame window))
(first-window (frame-first-window frame)))
- (when (or (eq window first-window)
- (= (nth 1 (window-edges window))
- (nth 1 (window-edges first-window))))
- (error "Cannot move header-line at the top of the frame"))
- (mouse-drag-mode-line-1 start-event nil)))
+ (unless (or (eq window first-window)
+ (= (nth 1 (window-edges window))
+ (nth 1 (window-edges first-window))))
+ (mouse-drag-mode-line-1 start-event nil))))
\f
(defun mouse-drag-vertical-line (start-event)