+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.
)
(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)
(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))
(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
(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)
()
'(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))
"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
(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))
(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.
(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)
(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)
(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))))))))
;; 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))
(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)
(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
@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
@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
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}).