changeset 65349:3607a394b655

*** empty log message ***
author Chong Yidong <cyd@stupidchicken.com>
date Tue, 06 Sep 2005 19:10:06 +0000
parents 2061c57aa73f
children 270e91b8e480
files lisp/ChangeLog lisp/buff-menu.el lisp/mouse.el
diffstat 3 files changed, 29 insertions(+), 24 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Tue Sep 06 08:08:08 2005 +0000
+++ b/lisp/ChangeLog	Tue Sep 06 19:10:06 2005 +0000
@@ -1,4 +1,11 @@
-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.
 
--- a/lisp/buff-menu.el	Tue Sep 06 08:08:08 2005 +0000
+++ b/lisp/buff-menu.el	Tue Sep 06 19:10:06 2005 +0000
@@ -638,29 +638,28 @@
   (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)
--- a/lisp/mouse.el	Tue Sep 06 08:08:08 2005 +0000
+++ b/lisp/mouse.el	Tue Sep 06 19:10:06 2005 +0000
@@ -538,11 +538,10 @@
 	 (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))))
 
 
 (defun mouse-drag-vertical-line (start-event)