*** empty log message ***
[gnus] / lisp / gnus-salt.el
index 43c9d91..60a47f4 100644 (file)
@@ -1,5 +1,5 @@
 ;;; gnus-salt.el --- alternate summary mode interfaces for Gnus
-;; Copyright (C) 1996,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
@@ -76,8 +76,7 @@ It accepts the same format specs that `gnus-summary-line-format' does."
     "u" gnus-pick-unmark-article-or-thread
     "." gnus-pick-article-or-thread
     gnus-down-mouse-2 gnus-pick-mouse-pick-region
-    "\r" gnus-pick-start-reading
-    ))
+    "\r" gnus-pick-start-reading))
 
 (defun gnus-pick-make-menu-bar ()
   (unless (boundp 'gnus-pick-menu)
@@ -131,7 +130,8 @@ It accepts the same format specs that `gnus-summary-line-format' does."
               (set-buffer gnus-summary-buffer)
               gnus-pick-mode))
     (message-add-action
-     '(gnus-configure-windows 'pick t) 'send 'exit 'postpone 'kill)))
+     '(gnus-configure-windows ,gnus-current-window-configuration t)
+     'send 'exit 'postpone 'kill)))
 
 (defvar gnus-pick-line-number 1)
 (defun gnus-pick-line-number ()
@@ -172,7 +172,7 @@ article number, then stay on current line."
     (if (not pos)
        (gnus-error 2 "No such line: %s" arg)
       (goto-char pos))))
-    
+
 (defun gnus-pick-article (&optional arg)
     "Pick the article on the current line.
 If ARG, pick the article on that line instead."
@@ -191,7 +191,7 @@ If ARG, pick the article/thread on that line instead."
   (if gnus-thread-hide-subtree
       (gnus-uu-mark-thread)
     (gnus-summary-mark-as-processable 1)))
-                 
+
 (defun gnus-pick-unmark-article-or-thread (&optional arg)
   "If gnus-thread-hide-subtree is t, then unmark the thread on current line.
 Otherwise unmark the article on current line.
@@ -202,7 +202,7 @@ If ARG, unmark thread/article on that line instead."
   (if gnus-thread-hide-subtree
       (gnus-uu-unmark-thread)
     (gnus-summary-unmark-as-processable 1)))
-  
+
 (defun gnus-pick-mouse-pick (e)
   (interactive "e")
   (mouse-set-point e)
@@ -219,7 +219,6 @@ This must be bound to a button-down mouse event."
         (start-point (posn-point start-posn))
          (start-line (1+ (count-lines 1 start-point)))
         (start-window (posn-window start-posn))
-        (start-frame (window-frame start-window))
         (bounds (gnus-window-edges start-window))
         (top (nth 1 bounds))
         (bottom (if (window-minibuffer-p start-window)
@@ -239,7 +238,7 @@ This must be bound to a button-down mouse event."
     ;; end-of-range is used only in the single-click case.
     ;; It is the place where the drag has reached so far
     ;; (but not outside the window where the drag started).
-    (let (event end end-point last-end-point (end-of-range (point)))
+    (let (event end end-point (end-of-range (point)))
       (track-mouse
        (while (progn
                 (setq event (cdr (gnus-read-event-char)))
@@ -249,8 +248,6 @@ This must be bound to a button-down mouse event."
              nil
            (setq end (event-end event)
                  end-point (posn-point end))
-           (when end-point
-             (setq last-end-point end-point))
 
            (cond
             ;; Are we moving within the original window?
@@ -433,6 +430,7 @@ Two predefined functions are available:
 (defvar gnus-selected-tree-overlay nil)
 
 (defvar gnus-tree-displayed-thread nil)
+(defvar gnus-tree-inhibit nil)
 
 (defvar gnus-tree-mode-map nil)
 (put 'gnus-tree-mode 'mode-class 'special)
@@ -471,7 +469,7 @@ Two predefined functions are available:
   (setq mode-name "Tree")
   (setq major-mode 'gnus-tree-mode)
   (use-local-map gnus-tree-mode-map)
-  (buffer-disable-undo (current-buffer))
+  (buffer-disable-undo)
   (setq buffer-read-only t)
   (setq truncate-lines t)
   (save-excursion
@@ -483,15 +481,17 @@ Two predefined functions are available:
 (defun gnus-tree-read-summary-keys (&optional arg)
   "Read a summary buffer key sequence and execute it."
   (interactive "P")
-  (let ((buf (current-buffer))
-       win)
-    (set-buffer gnus-article-buffer)      
-    (gnus-article-read-summary-keys arg nil t)
-    (when (setq win (get-buffer-window buf))
-      (select-window win)
-      (when gnus-selected-tree-overlay
-       (goto-char (or (gnus-overlay-end gnus-selected-tree-overlay) 1)))
-      (gnus-tree-minimize))))
+  (unless gnus-tree-inhibit
+    (let ((buf (current-buffer))
+         (gnus-tree-inhibit t)
+         win)
+      (set-buffer gnus-article-buffer)
+      (gnus-article-read-summary-keys arg nil t)
+      (when (setq win (get-buffer-window buf))
+       (select-window win)
+       (when gnus-selected-tree-overlay
+         (goto-char (or (gnus-overlay-end gnus-selected-tree-overlay) 1)))
+       (gnus-tree-minimize)))))
 
 (defun gnus-tree-show-summary ()
   "Reconfigure windows to show summary buffer."
@@ -522,12 +522,14 @@ Two predefined functions are available:
 
 (defun gnus-tree-article-region (article)
   "Return a cons with BEG and END of the article region."
-  (let ((pos (text-property-any (point-min) (point-max) 'gnus-number article)))
+  (let ((pos (text-property-any
+             (point-min) (point-max) 'gnus-number article)))
     (when pos
       (cons pos (next-single-property-change pos 'gnus-number)))))
 
 (defun gnus-tree-goto-article (article)
-  (let ((pos (text-property-any (point-min) (point-max) 'gnus-number article)))
+  (let ((pos (text-property-any
+             (point-min) (point-max) 'gnus-number article)))
     (when pos
       (goto-char pos))))
 
@@ -705,7 +707,7 @@ Two predefined functions are available:
          (while (progn
                   (forward-line -1)
                   (forward-char col)
-                  (= (following-char) ? ))
+                  (eq (char-after) ? ))
            (delete-char 1)
            (insert (caddr gnus-tree-parent-child-edges)))
          (goto-char beg)))
@@ -763,7 +765,7 @@ Two predefined functions are available:
          (forward-char -1)
          ;; Draw "-" lines leftwards.
          (while (and (> (point) 1)
-                     (= (char-after (1- (point))) ? ))
+                     (eq (char-after (1- (point))) ? ))
            (delete-char -1)
            (insert (car gnus-tree-parent-child-edges))
            (forward-char -1))
@@ -970,7 +972,7 @@ The following commands are available:
   (setq mode-name "Gnus Carpal")
   (setq mode-line-process nil)
   (use-local-map gnus-carpal-mode-map)
-  (buffer-disable-undo (current-buffer))
+  (buffer-disable-undo)
   (setq buffer-read-only t)
   (make-local-variable 'gnus-carpal-attached-buffer)
   (gnus-run-hooks 'gnus-carpal-mode-hook))