*** empty log message ***
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Tue, 4 Mar 1997 02:45:12 +0000 (02:45 +0000)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Tue, 4 Mar 1997 02:45:12 +0000 (02:45 +0000)
14 files changed:
lisp/ChangeLog
lisp/gnus-cache.el
lisp/gnus-cite.el
lisp/gnus-ems.el
lisp/gnus-msg.el
lisp/gnus-uu.el
lisp/gnus-vis.el
lisp/gnus.el
lisp/nnbabyl.el
lisp/nnfolder.el
lisp/nnmbox.el
lisp/nnmh.el
lisp/nnml.el
texi/gnus.texi

index d647f87..035a8a6 100644 (file)
@@ -1,4 +1,33 @@
-Mon Jul 10 10:44:46 1995  Lars Magne Ingebrigtsen  <lingebri@sunscipw.cern.ch>
+Tue Jul 11 09:36:28 1995  Lars Magne Ingebrigtsen  <lingebri@sunscipw.cern.ch>
+
+       * gnus-msg.el (gnus-debug): A `sit-for' may sometimes change
+       active buffer.
+
+       * gnus-ems.el (gnus-ems-redefine): Mule redefinition.
+
+       * gnus.el (gnus-summary-respool-article): Didn't allow respooling.
+       
+
+       * gnus-uu.el (gnus-uu-command): Also escape !s.
+
+       * gnus-cache.el (gnus-cache-change-buffer): Reset
+       gnus-cache-removeable-articles. 
+       (gnus-cache-possibly-remove-articles): Don't stat everything
+       between heaven and earth.
+
+       * gnus.el (gnus-summary-expire-articles-now): Use -1 as the expiry
+       wait period. 
+       (gnus-summary-caesar-message): Changed somewhat. Removed all
+       caesar code from gnus - use the functions in rnews.el instead. 
+
+Mon Jul 10 20:42:14 1995  Lars Magne Ingebrigtsen  <lingebri@sunscipw.cern.ch>
+
+       * gnus.el (gnus-summary-catchup-to-here): Don't mark current
+       article as read. 
+
+Mon Jul 10 10:44:46 1995  Lars Magne Ingebrigtsen  <lingebri@sunsci4.cern.ch>
+
+       * gnus.el: 0.93 is released.
 
        * gnus-ems.el (gnus-ems-redefine): Redefine for XEmacs.
 
index 9839954..7124fd6 100644 (file)
@@ -38,6 +38,7 @@
 \f
 
 (defvar gnus-cache-buffer nil)
+(defvar gnus-cache-removeable-articles nil)
 
 \f
 
@@ -67,7 +68,8 @@
           (setcar gnus-cache-buffer group)
           (let ((file (gnus-cache-file-name group ".overview")))
             (and (file-exists-p file)
-                 (insert-file-contents file)))))))
+                 (insert-file-contents file))))))
+  (setq gnus-cache-removeable-articles nil))
 
 
 ;; Just save the overview buffer.
                          (or (header-xref headers) ""))))
        t))))
 
-(defvar gnus-cache-removeable-articles nil)
-
 (defun gnus-cache-enter-remove-article (article)
   (setq gnus-cache-removeable-articles
        (cons article gnus-cache-removeable-articles)))
 
 (defun gnus-cache-possibly-remove-articles ()
   (let ((articles gnus-cache-removeable-articles)
+       (cache-articles (gnus-cache-articles-in-group gnus-newsgroup-name))
        article)
     (while articles
       (setq article (car articles)
            articles (cdr articles))
-      (gnus-cache-possibly-remove-article
-       gnus-newsgroup-name article 
-       (memq article gnus-newsgroup-marked)
-       (memq article gnus-newsgroup-dormant)
-       (or (memq article gnus-newsgroup-unreads)
-          (memq article gnus-newsgroup-unselected))))))
+      (if (memq article cache-articles)
+         ;; The article was in the cache, so we see whether we are
+         ;; supposed to remove it from the cache.
+         (gnus-cache-possibly-remove-article
+          gnus-newsgroup-name article 
+          (memq article gnus-newsgroup-marked)
+          (memq article gnus-newsgroup-dormant)
+          (or (memq article gnus-newsgroup-unreads)
+              (memq article gnus-newsgroup-unselected)))))))
 
 (defun gnus-cache-possibly-remove-article 
   (group article ticked dormant unread)
index bbe1492..51f8ec2 100644 (file)
@@ -552,6 +552,8 @@ See also the documentation for `gnus-article-highlight-citation'."
          (setq prefix (car entry))))
     prefix))
 
+(gnus-ems-redefine)
+
 (provide 'gnus-cite)
 
 ;;; gnus-cite.el ends here
index 43cd565..e6c61ed 100644 (file)
@@ -413,6 +413,23 @@ NOTE: This command only works with newsgroups that use real or simulated NNTP."
       )
     (defalias 'gnus-truncate-string 'truncate-string)
 
+    (defun gnus-cite-add-face (number prefix face)
+      ;; At line NUMBER, ignore PREFIX and add FACE to the rest of the line.
+      (if face
+         (let ((inhibit-point-motion-hooks t)
+               from to)
+           (goto-line number)
+           (if (boundp 'MULE)
+               (forward-char (chars-in-string prefix))
+             (forward-char (length prefix)))
+           (skip-chars-forward " \t")
+           (setq from (point))
+           (end-of-line 1)
+           (skip-chars-backward " \t")
+           (setq to (point))
+           (if (< from to)
+               (overlay-put (make-overlay from to) 'face face)))))
+
     (fset 
      'gnus-format-max-width 
      (lambda (form length)
index 7e9465f..5510ddc 100644 (file)
@@ -1657,11 +1657,11 @@ The source file has to be in the Emacs load path."
   (interactive)
   (let ((files '("gnus.el" "gnus-msg.el" "gnus-score.el"))
        file dirs expr olist)
+    (message "Please wait while we snoop your variables...")
+    (sit-for 0)
     (save-excursion
       (set-buffer (get-buffer-create " *gnus bug info*"))
       (buffer-disable-undo (current-buffer))
-      (message "Please wait while we snoop your variables...")
-      (sit-for 0)
       (while files
        (erase-buffer)
        (setq dirs load-path)
@@ -1675,7 +1675,7 @@ The source file has to be in the Emacs load path."
            (setq dirs nil)
            (insert-file-contents file)
            (goto-char (point-min))
-           (or (re-search-forward "^;;* Internal variables" nil t)
+           (or (re-search-forward "^;;* *Internal variables" nil t)
                (error "Malformed sources in file %s" file))
            (narrow-to-region (point-min) (point))
            (goto-char (point-min))
index 78a20c4..f2176c3 100644 (file)
@@ -1520,10 +1520,10 @@ The headers will be included in the sequence they are matched.")
          (append file gnus-uu-generated-file-list))))
 
 ;; Inputs an action and a file and returns a full command, putting
-;; ticks round the file name and escaping any ticks in the file name.
+;; quotes round the file name and escaping any quotes in the file name.
 (defun gnus-uu-command (action file)
   (let ((ofile ""))
-    (while (string-match "`\\|\"\\|\\$\\|\\\\" file)
+    (while (string-match "!\\|`\\|\"\\|\\$\\|\\\\" file)
       (progn
        (setq ofile
              (concat ofile (substring file 0 (match-beginning 0)) "\\"
index 89c468f..6989cda 100644 (file)
@@ -442,7 +442,7 @@ highlight-headers-follow-url-netscape:
      ["Fetch parent of article" gnus-summary-refer-parent-article t]
      ["Fetch article with id..." gnus-summary-refer-article t]
      ["Stop page breaking" gnus-summary-stop-page-breaking t]
-     ["Caesar rotate" gnus-summary-caesar-message t]
+     ["Rot 13" gnus-summary-caesar-message t]
      ["Redisplay" gnus-summary-show-article t]
      ["Toggle header" gnus-summary-toggle-header t]
      ["Toggle MIME" gnus-summary-toggle-mime t]
index c10c8ae..fdd9123 100644 (file)
@@ -1229,7 +1229,6 @@ automatically when it is selected.")
 (defvar gnus-newsgroup-selected-overlay nil)
 
 (defvar gnus-article-mode-map nil)
-(defvar caesar-translate-table nil)
 (defvar gnus-dribble-buffer nil)
 (defvar gnus-headers-retrieved-by nil)
 (defvar gnus-article-reply nil)
@@ -1341,7 +1340,7 @@ variable (string, integer, character, etc).")
 (defconst gnus-maintainer "gnus-bug@ifi.uio.no (The Gnus Bugfixing Girls + Boys)"
   "The mail address of the Gnus maintainers.")
 
-(defconst gnus-version "(ding) Gnus v0.93"
+(defconst gnus-version "(ding) Gnus v0.94"
   "Version number for this version of Gnus.")
 
 (defvar gnus-info-nodes
@@ -1374,8 +1373,7 @@ variable (string, integer, character, etc).")
   "Gnus variables saved in the quick startup file.")
 
 (defvar gnus-overload-functions
-  '((news-inews gnus-inews-news "rnewspost")
-    (caesar-region gnus-caesar-region "rnews"))
+  '((news-inews gnus-inews-news "rnewspost"))
   "Functions overloaded by gnus.
 It is a list of `(original overload &optional file)'.")
 
@@ -8254,24 +8252,20 @@ If ARG is a positive number, turn MIME processing on."
          (> (prefix-numeric-value arg) 0)))
   (gnus-summary-select-article t 'force))
 
-(defun gnus-summary-caesar-message (rotnum)
-  "Caesar rotates all letters of current message by 13/47 places.
-With prefix arg, specifies the number of places to rotate each letter forward.
-Caesar rotates Japanese letters by 47 places in any case."
+(defun gnus-summary-caesar-message (arg)
+  "Caesar rotate the current article by 13.
+The numerical prefix specifies how manu places to rotate each letter
+forward."
   (interactive "P")
   (gnus-set-global-variables)
   (gnus-summary-select-article)
-  (let ((mail-header-separator "")) ; !!! Is this necessary?
-    (gnus-overload-functions)
+  (let ((mail-header-separator ""))
     (gnus-eval-in-buffer-window 
      gnus-article-buffer
      (save-restriction
        (widen)
-       ;; We don't want to jump to the beginning of the message.
-       ;; `save-excursion' does not do its job.
-       (move-to-window-line 0)
        (let ((last (point)))
-        (news-caesar-buffer-body rotnum)
+        (news-caesar-buffer-body arg)
         (goto-char last)
         (recenter 0))))))
 
@@ -8302,7 +8296,7 @@ and `request-accept' functions. (Ie. mail newsgroups at present.)"
       (error "The current newsgroup does not support article moving"))
   (let ((articles (gnus-summary-work-articles n))
        (prefix (gnus-group-real-prefix gnus-newsgroup-name))
-       art-group to-method)
+       art-group to-method sel-met)
     (if (and (not to-newsgroup) (not select-method))
        (setq to-newsgroup
              (completing-read 
@@ -8322,8 +8316,8 @@ and `request-accept' functions. (Ie. mail newsgroups at present.)"
              (gnus-activate-newsgroup to-newsgroup)
               (error "No such group: %s" to-newsgroup))
           (setq gnus-current-move-group to-newsgroup)))
-    (setq to-method (or select-method (gnus-find-method-for-group
-                                      to-newsgroup)))
+    (setq to-method (if select-method (list select-method "")
+                     (gnus-find-method-for-group to-newsgroup)))
     (or (gnus-check-backend-function 'request-accept-article (car to-method))
        (error "%s does not support article copying" (car to-method)))
     (or (gnus-server-opened to-method)
@@ -8455,8 +8449,8 @@ functions. (Ie. mail newsgroups at present.)"
              (gnus-activate-newsgroup to-newsgroup)
               (error "No such group: %s" to-newsgroup))
           (setq gnus-current-move-group to-newsgroup)))
-    (setq to-method (or select-method (gnus-find-method-for-group
-                                      to-newsgroup)))
+    (setq to-method (if select-method (list select-method "")
+                     (gnus-find-method-for-group to-newsgroup)))
     (or (gnus-check-backend-function 'request-accept-article (car to-method))
        (error "%s does not support article copying" (car to-method)))
     (or (gnus-server-opened to-method)
@@ -8559,7 +8553,7 @@ deleted forever, right now."
       (gnus-y-or-n-p
        "Are you really, really, really sure you want to expunge? ")
       (error "Phew!"))
-  (let ((nnmail-expiry-wait 0)
+  (let ((nnmail-expiry-wait -1)
        (nnmail-expiry-wait-function nil))
     (gnus-summary-expire-articles)))
 
@@ -9356,9 +9350,11 @@ The number of articles marked as read is returned."
 If ALL is non-nil, also mark ticked and dormant articles as read."
   (interactive)
   (save-excursion
-    (end-of-line)
-    (gnus-summary-catchup all t (point))
-    (gnus-set-mode-line 'summary))
+    (and (zerop (forward-line -1))
+        (progn
+          (end-of-line)
+          (gnus-summary-catchup all t (point))
+          (gnus-set-mode-line 'summary))))
   (gnus-summary-position-cursor))
 
 (defun gnus-summary-catchup-all (&optional quietly)
@@ -10836,63 +10832,6 @@ Argument LINES specifies lines to be scrolled down."
     (setq func (lookup-key (current-local-map) (this-command-keys)))
     (call-interactively func)))
 
-;; caesar-region written by phr@prep.ai.mit.edu  Nov 86
-;; Modified by tower@prep Nov 86
-;; Modified by umerin@flab.flab.Fujitsu.JUNET for ROT47.
-
-(defun gnus-caesar-region (&optional n)
-  "Caesar rotation of region by N, default 13, for decrypting netnews.
-ROT47 will be performed for Japanese text in any case."
-  (interactive (if current-prefix-arg  ; Was there a prefix arg?
-                  (list (prefix-numeric-value current-prefix-arg))
-                (list nil)))
-  (cond ((not (numberp n)) (setq n 13))
-       (t (setq n (mod n 26))))        ;canonicalize N
-  (if (not (zerop n))          ; no action needed for a rot of 0
-      (progn
-       (if (or (not (boundp 'caesar-translate-table))
-               (not caesar-translate-table)
-               (/= (aref caesar-translate-table ?a) (+ ?a n)))
-           (let ((i 0) 
-                 (lower "abcdefghijklmnopqrstuvwxyz")
-                 upper)
-             (gnus-message 9 "Building caesar-translate-table...")
-             (setq caesar-translate-table (make-vector 256 0))
-             (while (< i 256)
-               (aset caesar-translate-table i i)
-               (setq i (1+ i)))
-             (setq lower (concat lower lower)
-                   upper (upcase lower)
-                   i 0)
-             (while (< i 26)
-               (aset caesar-translate-table (+ ?a i) (aref lower (+ i n)))
-               (aset caesar-translate-table (+ ?A i) (aref upper (+ i n)))
-               (setq i (1+ i)))
-             ;; ROT47 for Japanese text.
-             ;; Thanks to ichikawa@flab.fujitsu.junet.
-             (setq i 161)
-             (let ((t1 (logior ?O 128))
-                   (t2 (logior ?! 128))
-                   (t3 (logior ?~ 128)))
-               (while (< i 256)
-                 (aset caesar-translate-table i
-                       (let ((v (aref caesar-translate-table i)))
-                         (if (<= v t1) (if (< v t2) v (+ v 47))
-                           (if (<= v t3) (- v 47) v))))
-                 (setq i (1+ i))))
-             (gnus-message 9 "Building caesar-translate-table...done")))
-       (let ((from (region-beginning))
-             (to (region-end))
-             (i 0) str len)
-         (setq str (buffer-substring from to))
-         (setq len (length str))
-         (while (< i len)
-           (aset str i (aref caesar-translate-table (aref str i)))
-           (setq i (1+ i)))
-         (goto-char from)
-         (delete-region from to)
-         (insert str)))))
-
 \f
 ;; Basic ideas by emv@math.lsa.umich.edu (Edward Vielmetti)
 
index 7f0aa88..abee4ff 100644 (file)
                   nnmail-expiry-wait))
         (is-old t)
         rest)
+    (nnbabyl-request-list)
+    (setq nnbabyl-group-alist (nnmail-get-active))
+
     (save-excursion 
       (set-buffer nnbabyl-mbox-buffer)
       (while articles
index 337c139..0942128 100644 (file)
@@ -303,6 +303,9 @@ such things as moving mail.  All buffers always get killed upon server close.")
                   nnmail-expiry-wait))
         (is-old t)
         rest)
+    (nnfolder-request-list)
+    (setq nnfolder-group-alist (nnmail-get-active))
+
     (save-excursion 
       (set-buffer nnfolder-current-buffer)
       (while articles
index cbbbe4e..ed30874 100644 (file)
                   nnmail-expiry-wait))
         (is-old t)
         rest)
+    (nnmbox-request-list)
+    (setq nnmbox-group-alist (nnmail-get-active))
+
     (save-excursion 
       (set-buffer nnmbox-mbox-buffer)
       (while articles
index 488d6c8..3200733 100644 (file)
         (max-article (and active-articles (apply 'max active-articles)))
         (is-old t)
         article rest mod-time)
+    (nnmh-request-list)
+    (setq nnmh-group-alist (nnmail-get-active))
+
     (while (and articles is-old)
       (setq article (concat nnmh-current-directory 
                            (int-to-string (car articles))))
index c58cb8d..a9de45c 100644 (file)
@@ -271,6 +271,9 @@ all. This may very well take some time.")
         (max-article (and active-articles (apply 'max active-articles)))
         (is-old t)
         article rest mod-time)
+    (nnml-request-list)
+    (setq nnml-group-alist (nnmail-get-active))
+
     (while (and articles is-old)
       (setq article (concat nnml-current-directory 
                            (int-to-string (car articles))))
index 3c863c9..7e55f2a 100644 (file)
@@ -119,7 +119,6 @@ which makes it a more appropriate name, don't you think?)
 * Why?::                What's the point of Gnus?
 * Compatibility::       Just how compatible is (ding) Gnus with @sc{gnus}?
 * Contributors::        Oodles of people.  
-* Gnus & hilit::        Old hilit19 code will not work with (ding) Gnus.
 * New Features::        A short description of all the new stuff in Gnus.
 * Newest Features::     Features so new that they haven't been written yet.
 @end menu
@@ -193,7 +192,9 @@ remove all hilit code from all Gnus hooks
 (@code{gnus-group-prepare-hook}, @code{gnus-summary-prepare-hook} and
 @code{gnus-summary-article-hook}).  (Well, at the very least the first
 two.)  Gnus provides various integrated functions for highlighting.
-These are faster and more accurate.
+These are faster and more accurate.  To make life easier for everybody,
+Gnus will by default remove all hilit calls from all hilit hooks.
+Uncleanliness!  Away!
 
 Packages like @code{expire-kill} will no longer work.  As a matter of
 fact, you should probably remove all old @sc{gnus} packages (and other
@@ -269,46 +270,6 @@ code and suggestions.
 @end itemize
 
 
-@node Gnus & hilit
-@section Gnus & hilit
-@cindex hilit
-
-@c Written by Sudish Joseph
-
-@code{gnus-vis} can be used to highlight the summary buffer.  It
-offers far more flexibility than hilit (since it has access to more
-data; eg. the article score) in deciding how to highlight a given
-article.  Also, hilit gets confused by the way Gnus manipulates the
-summary buffer, leading to errors.  Such errors may be detected by
-looking for any hilit-specific functions in the @code{*Backtrace*}
-buffer.  If such a reference exists, you should be using the code below.
-
-You can also get @code{gnus-vis} to highlight the article buffer, so
-you should get rid of all hilit-specific Gnus calls.
-
-Add the code below to your @file{.gnus} file to remove all the hilit
-crud:
-
-@lisp
-(add-hook 'gnus-startup-hook
-          '(lambda ()
-             ;; gnus-vis is far better for summary highlighting
-             ;; also, hilit cannot handle a (ding) summary and will
-             ;; crash on you
-             (remove-hook 'gnus-summary-prepare-hook
-                          'hilit-rehighlight-buffer-quietly)
-             (remove-hook 'gnus-summary-prepare-hook 'hilit-install-line-hooks)
-             (setq gnus-mark-article-hook '(gnus-summary-mark-unread-as-read))
-             ;; this is too early for the purpose of highlighting
-             (remove-hook 'gnus-article-prepare-hook
-                          'hilit-rehighlight-buffer-quietly)
-             ;; use this instead.  note that the final t is *essential*,
-             ;; this must be the last thing done
-             (add-hook 'gnus-article-display-hook
-                       'gnus-article-maybe-highlight t)))
-@end lisp
-
-
 @node New Features
 @section New Features
 @cindex new features