*** empty log message ***
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Tue, 4 Mar 1997 03:16:46 +0000 (03:16 +0000)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Tue, 4 Mar 1997 03:16:46 +0000 (03:16 +0000)
lisp/ChangeLog
lisp/gnus-ems.el
lisp/gnus.el
texi/gnus.texi

index 24acde7..e3bcff0 100644 (file)
@@ -1,7 +1,31 @@
+Sun Aug 20 01:04:45 1995  Lars Magne Ingebrigtsen  <lingebri@sunsci4.cern.ch>
+
+       * gnus-ems.el (gnus-ems-redefine): One entry too many; XEmacs
+       bugout. 
+
+Sat Aug 19 22:41:22 1995  Lars Magne Ingebrigtsen  <lingebri@sunsci4.cern.ch>
+
+       * gnus.el (gnus-article-treat-overstrike): Make overstrikes
+       invisible instead of deleitng them.
+       (gnus-summary-mode-map): Changed the "M p" and "M s" keymaps.
+       (gnus-update-active-hashtb-from-killed): New function.
+       (gnus-setup-news): Use it.
+
+Sat Aug 19 22:03:14 1995  Lars Magne Ingebrigtsen  <lingebri@sunscipw.cern.ch>
+
+       * gnus.el (gnus-window-left-corner): New function.
+       * gnus-ems.el (gnus-window-left-corner-xemacs): Redefine it.
+
+       * gnus-ems.el (gnus-rebuild-thread-xemacs): Would infloop.
+       (gnus-highlight-selected-summary-xemacs): Did not work on the
+       first line in a group.
+
 Sat Aug 19 16:37:58 1995  Lars Magne Ingebrigtsen  <lingebri@sunsci4.cern.ch>
 
-       * nnbabyl.el (nnbabyl-read-mbox): Would create ghost articles. 
+       * gnus.el: 0.99.12 is released.
 
+       * nnbabyl.el (nnbabyl-read-mbox): Would create ghost articles. 
+       
        * gnus.el (gnus-summary-move-article): Would barf on respooling to
        (as-yet) non-existant groups.
        (gnus-summary-best-unread-article): Really go to the best article.
index 21c818d..c38976c 100644 (file)
@@ -230,26 +230,15 @@ pounce directly on the real variables themselves.")
   )
 
 (defun gnus-highlight-selected-summary-xemacs ()
-  ;; Added by Per Abrahamsen <amanda@iesd.auc.dk>.
   ;; Highlight selected article in summary buffer
   (if gnus-summary-selected-face
-      (save-excursion
-       (let* ((beg (progn (beginning-of-line) (point)))
-              (end (progn (end-of-line) (point)))
-              (to (max 1 (1- (or (previous-single-property-change
-                                  end 'mouse-face nil beg) end))))
-              (from (1+ (or (next-single-property-change 
-                             beg 'mouse-face nil end) beg))))
-         (if (< to beg)
-             (progn
-               (setq from beg)
-               (setq to end)))
-         (if gnus-newsgroup-selected-overlay
-             (delete-extent gnus-newsgroup-selected-overlay))
-         (setq gnus-newsgroup-selected-overlay
-               (make-extent from to))
-         (set-extent-face gnus-newsgroup-selected-overlay
-                          gnus-summary-selected-face)))))
+      (progn
+       (if gnus-newsgroup-selected-overlay
+           (delete-extent gnus-newsgroup-selected-overlay))
+       (setq gnus-newsgroup-selected-overlay 
+             (make-extent (gnus-point-at-bol) (gnus-point-at-eol)))
+       (set-extent-face gnus-newsgroup-selected-overlay
+                        gnus-summary-selected-face))))
 
 (defun gnus-summary-recenter-xemacs ()
   (let* ((top (cond ((< (window-height) 4) 0)
@@ -474,7 +463,7 @@ call it with the value of the `gnus-data' text property."
       (gnus-summary-prepare-threads (list thread) 0)
       (save-excursion
        (while (and (>= (point) beg)
-                   (not (eobp)))
+                   (not (bobp)))
          (remove-text-properties
           (1+ (gnus-point-at-bol)) (1+ (gnus-point-at-eol))
           '(gnus-number nil gnus-mark nil gnus-level nil))
@@ -495,6 +484,8 @@ call it with the value of the `gnus-data' text property."
                        (and data (list 'gnus-data data))
                        (list 'highlight t))))
 
+(defun gnus-window-left-corner-xemacs (&optional window)
+  (nth 1 (window-pixel-edges window)))
 
 (defun gnus-ems-redefine ()
   (cond 
@@ -514,6 +505,7 @@ call it with the value of the `gnus-data' text property."
     (fset 'gnus-article-push-button 'gnus-article-push-button-xemacs)
     (fset 'gnus-rebuild-thread 'gnus-rebuild-thread-xemacs)
     (fset 'gnus-article-add-button 'gnus-article-add-button-xemacs)
+    (fset 'gnus-window-left-corner 'gnus-window-left-corner-xemacs)
 
     (if (not gnus-visual)
        ()
@@ -522,7 +514,6 @@ call it with the value of the `gnus-data' text property."
             '(lambda ()
               (easy-menu-add gnus-group-reading-menu)
               (easy-menu-add gnus-group-group-menu)
-              (easy-menu-add gnus-group-post-menu)
               (easy-menu-add gnus-group-misc-menu)
               (gnus-install-mouse-tracker)) 
             gnus-group-mode-hook))
index 1c8a935..09c1aa2 100644 (file)
@@ -1310,7 +1310,7 @@ variable (string, integer, character, etc).")
   "gnus-bug@ifi.uio.no (The Gnus Bugfixing Girls + Boys)"
   "The mail address of the Gnus maintainers.")
 
-(defconst gnus-version "(ding) Gnus v0.99.12"
+(defconst gnus-version "(ding) Gnus v0.99.13"
   "Version number for this version of Gnus.")
 
 (defvar gnus-info-nodes
@@ -2562,7 +2562,9 @@ If optional argument RE-ONLY is non-nil, strip `Re:' only."
        (setq hor (cdr hor))))
     (and (not invisible) jump-buffer)))
 
-      
+(defun gnus-window-left-corner (&optional window)
+  (nth 1 (window-edges window)))
+
 (defun gnus-remove-some-windows ()
   (let ((buffers gnus-window-to-buffer)
        (lowest (frame-height))
@@ -2578,9 +2580,9 @@ If optional argument RE-ONLY is non-nil, strip `Re:' only."
             (progn
               (setq bufs (cons buf bufs))
               (pop-to-buffer buf)
-              (if (< (nth 1 (window-edges)) lowest)
+              (if (< (gnus-window-left-corner) lowest)
                   (progn
-                    (setq lowest (nth 1 (window-edges)))
+                    (setq lowest (gnus-window-left-corner))
                     (setq lowest-buf buf)))))
        (setq buffers (cdr buffers)))
       ;; Remove windows on *all* summary buffers.
@@ -2592,10 +2594,10 @@ If optional argument RE-ONLY is non-nil, strip `Re:' only."
             (progn
               (setq bufs (cons buf bufs))
               (pop-to-buffer buf)
-              (if (< (nth 1 (window-edges)) lowest)
+              (if (< (gnus-window-left-corner) lowest)
                   (progn
                     (setq lowest-buf buf)
-                    (setq lowest (nth 1 (window-edges)))))))))))
+                    (setq lowest (gnus-window-left-corner))))))))))
       (and lowest-buf 
           (progn
             (pop-to-buffer lowest-buf)
@@ -5282,13 +5284,13 @@ buffer.
   (define-key gnus-summary-mark-map "K" 'gnus-summary-kill-same-subject)
 
   (define-prefix-command 'gnus-summary-mscore-map)
-  (define-key gnus-summary-mark-map "s" 'gnus-summary-mscore-map)
+  (define-key gnus-summary-mark-map "V" 'gnus-summary-mscore-map)
   (define-key gnus-summary-mscore-map "c" 'gnus-summary-clear-above)
   (define-key gnus-summary-mscore-map "u" 'gnus-summary-tick-above)
   (define-key gnus-summary-mscore-map "m" 'gnus-summary-mark-above)
   (define-key gnus-summary-mscore-map "k" 'gnus-summary-kill-below)
 
-  (define-key gnus-summary-mark-map "p" 'gnus-uu-mark-map)
+  (define-key gnus-summary-mark-map "P" 'gnus-uu-mark-map)
   
   (define-key gnus-summary-mode-map "S" 'gnus-summary-send-map)
   
@@ -10919,15 +10921,18 @@ Provided for backwards compatability."
        (let ((next (following-char))
              (previous (char-after (- (point) 2))))
          (cond ((eq next previous)
-                (delete-region (- (point) 2) (point))
+                (put-text-property (- (point) 2) (point)
+                                   'invisible t)
                 (put-text-property (point) (1+ (point))
                                    'face 'bold))
                ((eq next ?_)
-                (delete-region (1- (point)) (1+ (point)))
+                (put-text-property (1- (point)) (1+ (point))
+                                   'invisible t)
                 (put-text-property (1- (point)) (point)
                                    'face 'underline))
                ((eq previous ?_)
-                (delete-region (- (point) 2) (point))
+                (put-text-property (- (point) 2) (point)
+                                   'invisible t)
                 (put-text-property (point) (1+ (point))
                                    'face 'underline))))))))
 
@@ -11976,14 +11981,19 @@ If LEVEL is non-nil, the news will be set up at level LEVEL."
     ;; Read the newsrc file and create `gnus-newsrc-hashtb'.
     (if init (gnus-read-newsrc-file rawfile))
 
+    ;; If we don't read the complete active file, we fill in the
+    ;; hashtb here. 
+    (if (or (null gnus-read-active-file)
+           (eq gnus-read-active-file 'some))
+       (gnus-update-active-hashtb-from-killed))
+
     ;; Read the active file and create `gnus-active-hashtb'.
     ;; If `gnus-read-active-file' is nil, then we just create an empty
     ;; hash table. The partial filling out of the hash table will be
     ;; done in `gnus-get-unread-articles'.
-    (if (and gnus-read-active-file 
-            (not level))
-       (gnus-read-active-file)
-      (setq gnus-active-hashtb (make-vector 4095 0)))
+    (and gnus-read-active-file 
+        (not level)
+        (gnus-read-active-file))
 
     ;; Possibly eval the dribble file.
     (and init gnus-use-dribble-file (gnus-dribble-eval-file))
@@ -12656,6 +12666,18 @@ Returns whether the updating was successful."
              (gnus-remove-from-range (nth 2 info) (nreverse news)))
       (gnus-group-update-group group t))))
 
+;; Enter all dead groups into the hashtb.
+(defun gnus-update-active-hashtb-from-killed ()
+  (let ((hashtb (setq gnus-active-hashtb (make-vector 4095 0)))
+       (lists (list gnus-killed-list gnus-zombie-list))
+       killed)
+    (while lists
+      (setq killed (car lists))
+      (while killed
+       (gnus-sethash (car killed) nil hashtb)
+       (setq killed (cdr killed)))
+      (setq lists (cdr lists)))))
+
 ;; Get the active file(s) from the backend(s).
 (defun gnus-read-active-file ()
   (gnus-group-set-mode-line)
@@ -12701,9 +12723,9 @@ Returns whether the updating was successful."
                     (ding)
                     (sit-for 2))
                    ((eq list-type 'active)
-                    (gnus-active-to-gnus-format method))
+                    (gnus-active-to-gnus-format method gnus-active-hashtb))
                    (t
-                    (gnus-groups-to-gnus-format method)))))
+                    (gnus-groups-to-gnus-format method gnus-active-hashtb)))))
           (t
            (if (not (gnus-request-list method))
                (progn
index 23a52b5..eb5b97e 100644 (file)
@@ -3898,23 +3898,23 @@ Display all dormant articles (@code{gnus-summary-show-all-dormant}).
 @kindex M M-D (Summary)
 @findex gnus-summary-hide-all-dormant
 Hide all dormant articles (@code{gnus-summary-hide-all-dormant}).
-@item M s k
-@kindex M s k (Summary)
+@item M V k
+@kindex M V k (Summary)
 @findex gnus-summary-kill-below
 Kill all articles with scores below the default score (or below the
 numeric prefix) (@code{gnus-summary-kill-below}).
-@item M s c
-@kindex M s c (Summary)
+@item M V c
+@kindex M V c (Summary)
 @findex gnus-summary-clear-above
 Clear all marks from articles with scores over the default score (or
 over the numeric prefix) (@code{gnus-summary-clear-above}).
-@item M s u
-@kindex M s u (Summary)
+@item M V u
+@kindex M V u (Summary)
 @findex gnus-summary-tick-above
 Tick all articles with scores over the default score (or over the
 numeric prefix) (@code{gnus-summary-tick-above}).
-@item M s m
-@kindex M s m (Summary)
+@item M V m
+@kindex M V m (Summary)
 @findex gnus-summary-mark-above
 Prompt for a mark, and mark all articles with scores over the default
 score (or over the numeric prefix) with this mark
@@ -3932,49 +3932,49 @@ one line up or down.
 @cindex setting process marks
 
 @table @kbd
-@item M p p
+@item M P p
 @itemx #
 @kindex # (Summary)
-@kindex M p p (Summary)
+@kindex M P p (Summary)
 @findex gnus-summary-mark-as-processable
 Mark the current article with the process mark
 (@code{gnus-summary-mark-as-processable}). 
 @findex gnus-summary-unmark-as-processable
-@item M p u 
+@item M P u 
 @itemx M-#
-@kindex M p u (Summary)
+@kindex M P u (Summary)
 @kindex M-# (Summary)
 Remove the process mark, if any, from the current article
 (@code{gnus-summary-unmark-as-processable}).
-@item M p U
-@kindex M p U (Summary)
+@item M P U
+@kindex M P U (Summary)
 @findex gnus-summary-unmark-all-processable
 Remove the process mark from all articles
 (@code{gnus-summary-unmark-all-processable}). 
-@item M p R
-@kindex M p R (Summary)
+@item M P R
+@kindex M P R (Summary)
 @findex gnus-uu-mark-by-regexp
 Mark articles by a regular expression (@code{gnus-uu-mark-by-regexp}). 
-@item M p r
-@kindex M p r (Summary)
+@item M P r
+@kindex M P r (Summary)
 @findex gnus-uu-mark-region
 Mark articles in region (@code{gnus-uu-mark-region}).
-@item M p t
-@kindex M p t (Summary)
+@item M P t
+@kindex M P t (Summary)
 @findex gnus-uu-mark-thread
 Mark all articles in the current (sub)thread
 (@code{gnus-uu-mark-thread}).
-@item M p s
-@kindex M p s (Summary)
+@item M P s
+@kindex M P s (Summary)
 @findex gnus-uu-mark-series
 Mark all articles in the current series (@code{gnus-uu-mark-series}).
-@item M p S
-@kindex M p S (Summary)
+@item M P S
+@kindex M P S (Summary)
 @findex gnus-uu-mark-sparse
 Mark all series that have already had some articles marked
 (@code{gnus-uu-mark-sparse}).
-@item M p a
-@kindex M p a (Summary)
+@item M P a
+@kindex M P a (Summary)
 @findex gnus-uu-mark-all
 Mark all articles in series order (@code{gnus-uu-mark-series}).
 @end table
@@ -4609,7 +4609,7 @@ Uudecodes, views and saves the current series
 
 Remember that these all react to the presence of articles marked with
 the process mark.  If, for instance, you'd like to uncode and save an
-entire newsgroup, you'd typically do @kbd{M p a}
+entire newsgroup, you'd typically do @kbd{M P a}
 (@code{gnus-uu-mark-all}) and then @kbd{X U}
 (@code{gnus-uu-decode-uu-and-save}).