*** empty log message ***
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Tue, 4 Mar 1997 23:22:54 +0000 (23:22 +0000)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Tue, 4 Mar 1997 23:22:54 +0000 (23:22 +0000)
12 files changed:
lisp/ChangeLog
lisp/gnus-art.el
lisp/gnus-cache.el
lisp/gnus-cite.el
lisp/gnus-group.el
lisp/gnus-msg.el
lisp/gnus-sum.el
lisp/gnus-xmas.el
lisp/gnus.el
lisp/nnheader.el
texi/Makefile [new file with mode: 0644]
texi/gnus.texi

index 0eded61..8946e33 100644 (file)
@@ -1,3 +1,43 @@
+Fri Sep 27 21:24:46 1996  Lars Magne Ingebrigtsen  <larsi@ylfing.ifi.uio.no>
+
+       * gnus-sum.el (gnus-nov-parse-line): Would double articles.
+
+Fri Sep 27 20:52:31 1996  Shlomo Mahlab  <shlomo@en3501.oren.co.il>
+
+       * gnus-cache.el (gnus-jog-cache): Call with function name.
+
+       * gnus-group.el (gnus-group-universal-argument): Shadowed `func'. 
+
+Fri Sep 27 19:48:52 1996  Lars Magne Ingebrigtsen  <larsi@ylfing.ifi.uio.no>
+
+       * gnus-cite.el (gnus-article-fill-cited-article): Nix out data
+       after filling.
+
+       * gnus-group.el (gnus-group-unsubscribe-current-group): Accept
+       second param.
+       (gnus-group-unsubscribe): New function.
+       (gnus-group-subscribe): New function.
+
+Fri Sep 27 17:36:31 1996  Kurt Swanson  <kurt@dna.lth.se>
+
+       * gnus-sum.el (gnus-get-newsgroup-headers-xover): Never add nil
+       headers. 
+
+Fri Sep 27 17:33:30 1996  Stephen Peters  <speters@cygnus.com>
+
+       * gnus-art.el (gnus-header-face-alist): Typo.
+
+Fri Sep 27 04:10:21 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus-msg.el (gnus-summary-mail-crosspost-complaint): Add a tag
+       to the subject.
+       (gnus-mail-yank-original): Elided.
+       (gnus-inews-yank-articles): Would yank articles in reverse order.
+
+Thu Sep 26 22:39:45 1996  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.el: Red Gnus v0.43 is released.
+
 Thu Sep 26 22:13:00 1996  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
 
        * nnweb.el (nnweb-altavista-wash-article): Didn't remove all
index 1b9ebb7..2ec6f15 100644 (file)
@@ -261,7 +261,7 @@ above them."
 
 (defcustom gnus-header-face-alist
   '(("From" nil gnus-header-from-face)
-    ("Subejct" nil gnus-header-subject-face)
+    ("Subject" nil gnus-header-subject-face)
     ("Newsgroups:.*," nil gnus-header-newsgroups-face)
     ("" gnus-header-name-face gnus-header-content-face))
   "Controls highlighting of article header.
index ded9e81..cca9609 100644 (file)
@@ -524,7 +524,7 @@ $ emacs -batch -l ~/.emacs -l gnus -f gnus-jog-cache"
     (gnus-group-universal-argument 
      nil nil 
      (lambda ()
-       (gnus-summary-read-group nil nil t)
+       (gnus-summary-read-group (gnus-group-group-name) nil t)
        ;; ... and enter the articles into the cache.
        (when (eq major-mode 'gnus-summary-mode)
         (gnus-uu-mark-buffer)
index 51a927d..42fcbfe 100644 (file)
@@ -273,7 +273,12 @@ Lines matching `gnus-cite-attribution-suffix' and perhaps
          (set-marker (caar marks) nil)
          (setq marks (cdr marks)))
        (when marks
-         (set-marker (caar marks) nil))))))
+         (set-marker (caar marks) nil))
+       ;; All this information is now incorrect.
+       (setq gnus-cite-prefix-alist nil
+             gnus-cite-attribution-alist nil
+             gnus-cite-loose-prefix-alist nil
+             gnus-cite-loose-attribution-alist nil)))))
 
 (defun gnus-article-hide-citation (&optional arg force)
   "Toggle hiding of all cited text except attribution lines.
index 8f783c9..0d1935c 100644 (file)
@@ -1284,8 +1284,7 @@ Return nil if the group isn't displayed."
 (defun gnus-group-universal-argument (arg &optional groups func)
   "Perform any command on all groups according to the process/prefix convention."
   (interactive "P")
-  (let ((groups (or groups (gnus-group-process-prefix arg)))
-       func)
+  (let ((groups (or groups (gnus-group-process-prefix arg))))
     (if (eq (setq func (or func
                           (key-binding
                            (read-key-sequence
@@ -2368,7 +2367,17 @@ or nil if no action could be taken."
       (gnus-group-update-group-line)))
   (gnus-group-position-point))
 
-(defun gnus-group-unsubscribe-current-group (&optional n)
+(defun gnus-group-unsubscribe (&optional n)
+  "Unsubscribe the current group."
+  (interactive "P")
+  (gnus-group-unsubscribe-current-group n 'unsubscribe))
+
+(defun gnus-group-subscribe (&optional n)
+  "Unsubscribe the current group."
+  (interactive "P")
+  (gnus-group-unsubscribe-current-group n 'subscribe))
+
+(defun gnus-group-unsubscribe-current-group (&optional n do-sub)
   "Toggle subscription of the current group.
 If given numerical prefix, toggle the N next groups."
   (interactive "P")
@@ -2379,9 +2388,17 @@ If given numerical prefix, toggle the N next groups."
            groups (cdr groups))
       (gnus-group-remove-mark group)
       (gnus-group-unsubscribe-group
-       group (if (<= (gnus-group-group-level) gnus-level-subscribed)
-                gnus-level-default-unsubscribed
-              gnus-level-default-subscribed) t)
+       group 
+       (cond
+       ((eq do-sub 'unsubscribe)
+        gnus-level-default-unsubscribed)
+       ((eq do-sub 'subscribe)
+        gnus-level-default-subscribed)
+       ((<= (gnus-group-group-level) gnus-level-subscribed)
+        gnus-level-default-unsubscribed)
+       (t
+        gnus-level-default-subscribed))
+       t)
       (gnus-group-update-group-line))
     (gnus-group-next-group 1)))
 
index 2f9afb4..adc2a70 100644 (file)
@@ -242,13 +242,13 @@ If prefix argument YANK is non-nil, original article is yanked automatically."
 
 (defun gnus-inews-yank-articles (articles)
   (let (beg article)
+    (message-goto-body)      
     (while (setq article (pop articles))
       (save-window-excursion
        (set-buffer gnus-summary-buffer)
        (gnus-summary-select-article nil nil nil article)
        (gnus-summary-remove-process-mark article))
       (gnus-copy-article-buffer)
-      (message-goto-body)      
       (let ((message-reply-buffer gnus-article-copy)
            (message-reply-headers gnus-current-headers))
        (message-yank-original)
@@ -630,6 +630,9 @@ The current group name will be inserted at \"%s\".")
          (set-buffer gnus-message-buffer)
          (message-goto-body)
          (insert (format gnus-crosspost-complaint newsgroups group))
+         (message-goto-subject)
+         (re-search-forward " *$")
+         (replace-match " (crosspost notification)" t t)
          (when (gnus-y-or-n-p "Send this complaint? ")
            (message-send-and-exit)))))))
 
@@ -666,13 +669,6 @@ The current group name will be inserted at \"%s\".")
       (skip-chars-forward ", "))
     accumulated))
 
-(defun gnus-mail-yank-original ()
-  (interactive)
-  (save-excursion
-    (mail-yank-original nil))
-  (or mail-yank-hooks mail-citation-hook
-      (run-hooks 'news-reply-header-hook)))
-
 (defun gnus-inews-add-to-address (group)
   (let ((to-address (mail-fetch-field "to")))
     (when (and to-address
index 3bda04e..54c64df 100644 (file)
@@ -3946,11 +3946,12 @@ The resulting hash table is returned, or nil if no Xrefs were found."
 (defmacro gnus-nov-field ()
   '(buffer-substring (point) (if (gnus-nov-skip-field) (1- (point)) eol)))
 
+(defvar gnus-nov-none-counter 0)
+
 ;; This function has to be called with point after the article number
 ;; on the beginning of the line.
 (defun gnus-nov-parse-line (number dependencies &optional force-new)
-  (let ((none 0)
-       (eol (gnus-point-at-eol))
+  (let ((eol (gnus-point-at-eol))
        (buffer (current-buffer))
        header ref id id-dep ref-dep)
 
@@ -3967,17 +3968,17 @@ The resulting hash table is returned, or nil if no Xrefs were found."
           (setq id (or (gnus-nov-field)
                        (concat "none+"
                                (int-to-string
-                                (setq none (1+ none)))))) ; id
+                                (incf gnus-nov-none-counter))))) ; id
           (progn
-            (save-excursion
-              (let ((beg (point)))
-                (search-forward "\t" eol)
-                (if (search-backward ">" beg t)
-                    (setq ref
-                          (buffer-substring
-                           (1+ (point))
-                           (search-backward "<" beg t)))
-                  (setq ref nil))))
+            (let ((beg (point)))
+              (search-forward "\t" eol)
+              (if (search-backward ">" beg t)
+                  (setq ref
+                        (buffer-substring
+                         (1+ (point))
+                         (search-backward "<" beg t)))
+                (setq ref nil))
+              (goto-char beg))
             (gnus-nov-field))          ; refs
           (gnus-nov-read-integer)      ; chars
           (gnus-nov-read-integer)      ; lines
@@ -4008,11 +4009,12 @@ The resulting hash table is returned, or nil if no Xrefs were found."
              (setq header nil))
          (setcar (symbol-value id-dep) header))
       (set id-dep (list header)))
-    (if (boundp (setq ref-dep (intern (or ref "none") dependencies)))
-       (setcdr (symbol-value ref-dep)
-               (nconc (cdr (symbol-value ref-dep))
-                      (list (symbol-value id-dep))))
-      (set ref-dep (list nil (symbol-value id-dep))))
+    (when header
+      (if (boundp (setq ref-dep (intern (or ref "none") dependencies)))
+         (setcdr (symbol-value ref-dep)
+                 (nconc (cdr (symbol-value ref-dep))
+                        (list (symbol-value id-dep))))
+       (set ref-dep (list nil (symbol-value id-dep)))))
     header))
 
 ;; Goes through the xover lines and returns a list of vectors
@@ -4042,14 +4044,14 @@ list of headers that match SEQUENCE (see `nntp-retrieve-headers')."
                   (eq number (car sequence))
                   (progn
                     (setq sequence (cdr sequence))
-                    (push (inline (gnus-nov-parse-line
-                                   number dependencies force-new))
-                          headers)))
+                    (setq header (inline
+                                   (gnus-nov-parse-line
+                                    number dependencies force-new))))
+                  (push header headers))
              (forward-line 1))
          (error
-          (progn
-            (gnus-error 4 "Strange nov line")
-            (forward-line 1)))))
+          (gnus-error 4 "Strange nov line")))
+       (forward-line 1))
       (nreverse headers))))
 
 (defun gnus-article-get-xrefs ()
index 7643b15..ec47f77 100644 (file)
@@ -599,22 +599,22 @@ If it is non-nil, it must be a toolbar.  The five legal values are
 `right-toolbar', and `left-toolbar'.")
 
 (defvar gnus-group-toolbar 
-  '(
-    [gnus-group-get-new-news gnus-group-get-new-news t "Get new news"]
+  '([gnus-group-get-new-news gnus-group-get-new-news t "Get new news"]
     [gnus-group-get-new-news-this-group 
      gnus-group-get-new-news-this-group t "Get new news in this group"]
     [gnus-group-catchup-current 
      gnus-group-catchup-current t "Catchup group"]
     [gnus-group-describe-group 
      gnus-group-describe-group t "Describe group"]
+    [gnus-group-unsubscribe gnus-group-unsubscribe t "Unsubscribe group"]
+    [gnus-group-subscribe gnus-group-subscribe t "Subscribe group"]
     [gnus-group-kill-group gnus-group-kill-group t "Kill group"]
     [gnus-group-exit gnus-group-exit t "Exit Gnus"]
     )
   "The group buffer toolbar.")
 
 (defvar gnus-summary-toolbar 
-  '(
-    [gnus-summary-prev-unread 
+  '([gnus-summary-prev-unread 
      gnus-summary-prev-unread-article t "Prev unread article"]
     [gnus-summary-next-unread 
      gnus-summary-next-unread-article t "Next unread article"]
@@ -641,6 +641,8 @@ If it is non-nil, it must be a toolbar.  The five legal values are
      gnus-uu-post-news t "Post an uuencoded article"]
     [gnus-summary-cancel-article
      gnus-summary-cancel-article t "Cancel article"]
+    [gnus-summary-catchup
+     gnus-summary-catchup t "Catchup"]
     [gnus-summary-catchup-and-exit
      gnus-summary-catchup-and-exit t "Catchup and exit"]
     [gnus-summary-exit gnus-summary-exit t "Exit this summary"]
@@ -672,6 +674,8 @@ If it is non-nil, it must be a toolbar.  The five legal values are
      gnus-summary-save-article t "Save article"]
     [gnus-summary-catchup-and-exit
      gnus-summary-catchup-and-exit t "Catchup and exit"]
+    [gnus-summary-catchup
+     gnus-summary-catchup t "Catchup"]
     [gnus-summary-exit gnus-summary-exit t "Exit this summary"]
     )
   "The summary buffer mail toolbar.")
index 5e41816..8b27916 100644 (file)
@@ -42,7 +42,7 @@
   "Score and kill file handling."
   :group 'gnus )
 
-(defconst gnus-version-number "0.43"
+(defconst gnus-version-number "0.44"
   "Version number for this version of Gnus.")
 
 (defconst gnus-version (format "Red Gnus v%s" gnus-version-number)
index 89554e3..9a33e66 100644 (file)
@@ -468,27 +468,50 @@ the line could be found."
   (current-buffer))
 
 (defmacro nnheader-temp-write (file &rest forms)
-  "Create a new buffer, evaluate FORM there, and write the buffer to FILE."
-  `(save-excursion
-     (let* ((nnheader-temp-file ,file)
-           (default-major-mode 'fundamental-mode)
-           (nnheader-temp-cur-buffer
-            (nnheader-set-temp-buffer
-             (generate-new-buffer-name " *nnheader temp*"))))
-       (when (and nnheader-temp-file 
-                 (not (file-directory-p (file-name-directory 
-                                         nnheader-temp-file))))
-        (make-directory (file-name-directory nnheader-temp-file) t))
-       (unwind-protect
-          (prog1
+  "Create a new buffer, evaluate FORMS there, and write the buffer to FILE.
+Return the value of FORMS.
+If FILE is nil, just evaluate FORMS and don't save anything.
+If FILE is t, return the buffer contents as a string."
+  (let ((temp-file (make-symbol "temp-file"))
+       (temp-buffer (make-symbol "temp-buffer"))
+       (temp-results (make-symbol "temp-results")))
+    `(save-excursion
+       (let* ((,temp-file ,file)
+             (default-major-mode 'fundamental-mode)
+             (,temp-buffer
               (progn
-                ,@forms)
-            (when nnheader-temp-file
-              (set-buffer nnheader-temp-cur-buffer)
-              (write-region (point-min) (point-max) 
-                            nnheader-temp-file nil 'nomesg)))
-        (when (buffer-name nnheader-temp-cur-buffer)
-          (kill-buffer nnheader-temp-cur-buffer))))))
+                (set-buffer
+                 (get-buffer-create
+                  (generate-new-buffer-name " *nnheader temp*")))
+                (buffer-disable-undo (current-buffer))
+                (current-buffer)))
+             ,temp-results)
+        (unwind-protect
+            (progn
+              (setq ,temp-results (progn ,@forms))
+              (cond
+               ;; Don't save anything.
+               ((null ,temp-file)
+                ,temp-results)
+               ;; Return the buffer contents.
+               ((eq ,temp-file t)
+                (set-buffer ,temp-buffer)
+                (buffer-string))
+               ;; Save a file.
+               (t
+                (set-buffer ,temp-buffer)
+                ;; Make sure the directory where this file is
+                ;; to be saved exists.
+                (when (not (file-directory-p
+                            (file-name-directory ,temp-file)))
+                  (make-directory (file-name-directory ,temp-file) t))
+                ;; Save the file.
+                (write-region (point-min) (point-max)
+                              ,temp-file nil 'nomesg)
+                ,temp-results)))
+          ;; Kill the buffer.
+          (when (buffer-name ,temp-buffer)
+            (kill-buffer ,temp-buffer)))))))
 
 (put 'nnheader-temp-write 'lisp-indent-function 1)
 (put 'nnheader-temp-write 'lisp-indent-hook 1)
diff --git a/texi/Makefile b/texi/Makefile
new file mode 100644 (file)
index 0000000..fa3b7f9
--- /dev/null
@@ -0,0 +1,90 @@
+TEXI2DVI=texi2dvi
+EMACS=emacs
+MAKEINFO=$(EMACS) -batch -q -no-site-file
+INFOSWI=-l texinfmt -f texinfo-every-node-update -f texinfo-format-buffer -f save-buffer
+LATEX=latex
+DVIPS=dvips
+PERL=perl
+
+all: gnus message
+
+most: texi2latexi.elc latex latexps
+
+gnus: gnus.texi
+       $(MAKEINFO) gnus.texi $(INFOSWI)
+
+message: message.texi
+       $(MAKEINFO) message.texi $(INFOSWI)
+
+dvi: gnus.dvi message.dvi
+
+.texi.dvi :
+       $(PERL) -n -e 'print unless (/\@iflatex/ .. /\@end iflatex/)' $< > gnustmp.texi
+       $(TEXI2DVI) gnustmp.texi
+
+refcard.dvi: refcard.tex gnuslogo.refcard gnusref.tex
+       $(LATEX) refcard.tex
+
+sclean:
+       rm -f gnus.*.bak *.ky *.cp *.fn *.cps *.kys *.log *.aux *.dvi *.vr \
+       *.tp *.toc \
+       *.pg gnus.latexi *.aux *.[cgk]idx \
+       gnus.ilg gnus.ind gnus.[cgk]ind gnus.idx \
+       gnus.tmptexi gnus.tmplatexi gnus.tmplatexi1 texput.log *.orig *.rej \
+       gnus.latexi*~*
+
+clean:
+       make sclean 
+       rm -f *.latexi 
+
+makeinfo: 
+       makeinfo -o gnus gnus.texi      
+       makeinfo -o message message.texi        
+
+texi2latexi.elc:
+       $(EMACS) -batch -l bytecomp -f batch-byte-recompile-directory
+
+latex: gnus.texi
+       $(EMACS) -batch -q -no-site-file gnus.texi -l ./texi2latex.elc -f latexi-translate
+
+latexps: 
+       egrep -v "label.*Index|chapter.*Index" gnus.latexi > gnus.tmplatexi1
+       $(LATEX) gnus.tmplatexi1
+       splitindex
+       makeindex -o gnus.kind gnus.kidx
+       makeindex -o gnus.cind gnus.cidx
+       makeindex -o gnus.gind gnus.gidx
+       egrep -v "end{document}" gnus.tmplatexi1 > gnus.tmplatexi
+       cat postamble.tex >> gnus.tmplatexi
+       $(LATEX) gnus.tmplatexi 
+       $(LATEX) gnus.tmplatexi 
+       $(DVIPS) -f gnus.dvi > gnus.ps
+
+pss:   
+       make latex
+       make latexps
+
+psout:
+       make latex
+       make latexboth
+       make out
+
+latexboth: 
+       rm -f gnus-manual-a4.ps.gz gnus-manual-standard.ps.gz 
+       make latexps
+       mv gnus.ps gnus-manual-a4.ps
+       gzip gnus-manual-a4.ps 
+       sed 's/,a4paper//' gnus.latexi > gnus-standard.latexi 
+       make latexps
+       mv gnus.ps gnus-manual-standard.ps 
+       gzip gnus-manual-standard.ps 
+
+out:
+       cp gnus-manual-standard.ps.gz gnus-manual-a4.ps.gz \
+       /local/ftp/pub/emacs/gnus/manual
+       mv gnus-manual-standard.ps.gz gnus-manual-a4.ps.gz \
+       /hom/larsi/www_docs/gnus/manual
+
+veryclean:
+       make clean
+       rm -f gnus.dvi gnus.ps
index fb92975..663f1d7 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename gnus
-@settitle Red Gnus 0.43 Manual
+@settitle Red Gnus 0.44 Manual
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
@@ -287,7 +287,7 @@ into another language, under the above conditions for modified versions.
 @tex
 
 @titlepage
-@title Red Gnus 0.43 Manual
+@title Red Gnus 0.44 Manual
 
 @author by Lars Magne Ingebrigtsen
 @page
@@ -12540,7 +12540,8 @@ Norwegian, and was the person(s) who invented NoCeM.
 
 @item jem@@xpat.com;
 @cindex Jem
-Jem---Korean despammer who is getting very busy these days.
+John Milburn---despammer located in Korea who is getting very busy these
+days.
 
 @item red@@redpoll.mrfs.oh.us (Richard E. Depew)
 Richard E. Depew---lone American despammer.  He mostly cancels binary