*** empty log message ***
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Sat, 28 Feb 1998 07:18:05 +0000 (07:18 +0000)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Sat, 28 Feb 1998 07:18:05 +0000 (07:18 +0000)
25 files changed:
Makefile.in [new file with mode: 0644]
aclocal.m4 [new file with mode: 0644]
configure.in [new file with mode: 0644]
lisp/ChangeLog
lisp/Makefile.in [new file with mode: 0644]
lisp/gnus-agent.el
lisp/gnus-art.el
lisp/gnus-demon.el
lisp/gnus-ems.el
lisp/gnus-picon.el
lisp/gnus-start.el
lisp/gnus-sum.el
lisp/gnus-util.el
lisp/gnus.el
lisp/message.el
lisp/nndb.el
lisp/nneething.el
lisp/nnheader.el
lisp/nnlistserv.el
lisp/nnmail.el
lisp/nnsoup.el
lisp/nnvirtual.el
texi/Makefile.in [new file with mode: 0644]
texi/gnus.texi
texi/message.texi

diff --git a/Makefile.in b/Makefile.in
new file mode 100644 (file)
index 0000000..5b6b592
--- /dev/null
@@ -0,0 +1,55 @@
+srcdir = @srcdir@
+
+@SET_MAKE@
+EMACS = emacs
+XEMACS = xemacs
+
+all: lick info
+
+lick:
+       cd lisp && $(MAKE) EMACS=$(EMACS) all
+
+install:
+       cd lisp && $(MAKE) EMACS=$(EMACS) install
+       cd texi && $(MAKE) EMACS=$(EMACS) install
+
+# Rule for Lars and nobody else.
+some:
+       cd lisp && $(MAKE) EMACS=$(EMACS) some
+l:
+       cd lisp && $(MAKE) EMACS=$(EMACS) clever
+
+info:
+       cd texi && $(MAKE) EMACS=$(EMACS) all
+
+clean:
+       rm -f */*.orig */*.rej *.orig *.rej
+
+xsome:
+       cd lisp && $(MAKE) EMACS=$(XEMACS) some
+
+elclean:
+       rm lisp/*.elc
+
+x:
+       make EMACS=xemacs
+
+distclean:
+       make clean
+       rm -r *~
+       for i in lisp texi; do (cd $$i; make distclean); done
+       rm -f config.log config.status Makefile
+
+osome:
+       make EMACS=emacs-19.34 some
+
+config.status: $(srcdir)/configure
+       $(SHELL) ./config.status --recheck
+$(srcdir)/configure: $(srcdir)/configure.in
+       cd $(srcdir) && autoconf
+Makefile: $(srcdir)/Makefile.in config.status
+       CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/aclocal.m4 b/aclocal.m4
new file mode 100644 (file)
index 0000000..b56880a
--- /dev/null
@@ -0,0 +1,31 @@
+# serial 1
+
+AC_DEFUN(AM_PATH_LISPDIR,
+ [# If set to t, that means we are running in a shell under Emacs.
+  # If you have an Emacs named "t", then use the full path.
+  test "$EMACS" = t && EMACS=
+  AC_PATH_PROG(EMACS, emacs xemacs, no)
+  if test $EMACS != "no"; then
+    AC_MSG_CHECKING([where .elc files should go])
+    dnl Set default value
+    lispdir="\$(datadir)/emacs/site-lisp"
+    if test "x$prefix" = "xNONE"; then
+      if test -d $ac_default_prefix/share/emacs/site-lisp; then
+       lispdir="\$(prefix)/share/emacs/site-lisp"
+      else
+       if test -d $ac_default_prefix/lib/emacs/site-lisp; then
+         lispdir="\$(prefix)/lib/emacs/site-lisp"
+       fi
+      fi
+    else
+      if test -d $prefix/share/emacs/site-lisp; then
+       lispdir="\$(prefix)/share/emacs/site-lisp"
+      else
+       if test -d $prefix/lib/emacs/site-lisp; then
+         lispdir="\$(prefix)/lib/emacs/site-lisp"
+       fi
+      fi
+    fi
+    AC_MSG_RESULT($lispdir)
+  fi
+  AC_SUBST(lispdir)])
diff --git a/configure.in b/configure.in
new file mode 100644 (file)
index 0000000..675635b
--- /dev/null
@@ -0,0 +1,6 @@
+AC_INIT(lisp/gnus.el)
+AC_SET_MAKE
+AC_PROG_INSTALL
+AM_PATH_LISPDIR
+AC_PATH_PROG(MAKEINFO, makeinfo, no)
+AC_OUTPUT(Makefile lisp/Makefile texi/Makefile)
index fe61cf7..d6e98a1 100644 (file)
@@ -1,3 +1,50 @@
+Sat Feb 28 08:17:37 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.33 is released.
+
+Sat Feb 28 08:10:27 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-picon.el (gnus-picons-display-x-face): `buf' -- unbound
+       var. 
+
+Sat Feb 28 08:03:23 1998  François Pinard  <pinard@iro.umontreal.ca>
+
+       * gnus: configure'd.
+
+Sat Feb 28 07:43:00 1998  Nelson Jose dos Santos Ferreira  <Nelson.Ferreira@inesc.pt>
+
+       * nnsoup.el (nnsoup-store-reply): Fix double sep error.
+
+Sat Feb 28 07:01:17 1998  Lasse Rasinen  <lrasinen@iki.fi>
+
+       * gnus-start.el (gnus-ask-server-for-new-groups): Message more. 
+
+Fri Feb 27 13:26:34 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * message.el (message-resend): Allow arbitrary Also's.
+
+1998-02-27  Dave Love  <d.love@dl.ac.uk>
+
+       * gnus-sum.el (gnus-simplify-subject-functions): Fix
+       customization, doc.
+
+1998-02-25  Dave Love  <d.love@dl.ac.uk>
+
+       * gnus-art.el (gnus-article-x-face-command): Replace leading `{'.
+
+Mon Feb 23 18:26:48 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-agent.el (gnus-plugged): New command and keystroke.
+
+       * gnus-ems.el (gnus-ems-redefine): Define
+       'gnus-summary-set-display-table as a function that takes no
+       params. 
+
+       * gnus.el (gnus-interactive): Don't use gnus-sum macros.
+       (gnus-valid-select-methods): Include nnlistserv.
+
+       * gnus.el: Autoloaded things to make byte-comp silent.
+
 Mon Feb 23 18:06:47 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
        * gnus.el: Quassia Gnus v0.32 is released.
diff --git a/lisp/Makefile.in b/lisp/Makefile.in
new file mode 100644 (file)
index 0000000..6045356
--- /dev/null
@@ -0,0 +1,64 @@
+datadir = @datadir@
+lispdir = @lispdir@
+prefix = @prefix@
+srcdir = @srcdir@
+subdir = lisp
+top_srcdir = @top_srcdir@
+
+EMACS = emacs
+FLAGS = -batch -q -no-site-file -l ./dgnushack.el
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+SHELL = /bin/sh
+VPATH = @srcdir@
+
+total:
+       rm -f *.elc ; $(EMACS) $(FLAGS) -f dgnushack-compile
+
+all:
+       rm -f *.elc ; $(EMACS) $(FLAGS) -f dgnushack-compile
+
+clever:
+       $(EMACS) $(FLAGS) -f dgnushack-compile
+
+some:
+       $(EMACS) $(FLAGS) -f dgnushack-compile
+
+install: clever
+       $(SHELL) $(top_srcdir)/mkinstalldirs $(lispdir)
+       for p in *.elc; do \
+         echo " $(INSTALL_DATA) $$p $(lispdir)/$$p"; \
+         $(INSTALL_DATA) $$p $(lispdir)/$$p; \
+       done
+
+tags:
+       etags *.el
+
+separately:
+       rm -f *.elc ; for i in *.el; do $(EMACS) $(FLAGS) -f batch-byte-compile $$i; done
+
+pot:
+       xpot -drgnus -r`cat ./version` *.el > rgnus.pot
+
+gnus-load.el:
+       echo ";;; gnus-load.el --- automatically extracted custom dependencies" > gnus-load.el
+       echo ";;" >> gnus-load.el
+       echo ";;; Code:" >> gnus-load.el
+       echo >> gnus-load.el
+       $(EMACS)  $(FLAGS) -l ./dgnushack.el -l cus-edit.el *.el \
+               -f custom-make-dependencies >> gnus-load.el
+       echo >> gnus-load.el
+       echo "(provide 'gnus-load)" >> gnus-load.el
+       echo >> gnus-load.el
+       echo ";;; gnus-load.el ends here" >> gnus-load.el
+
+distclean:
+       rm -f *.orig *.rej *.elc *~ Makefile
+
+Makefile: $(srcdir)/Makefile.in ../config.status
+       cd .. \
+         && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
index ed4cc72..f8f353d 100644 (file)
   (setq gnus-plugged nil)
   (gnus))
 
+;;;###autoload
+(defun gnus-plugged ()
+  "Start Gnus plugged."
+  (interactive)
+  (setq gnus-plugged t)
+  (gnus))
+
 ;;;###autoload
 (defun gnus-agentize ()
   "Allow Gnus to be an offline newsreader.
index c009a28..215423d 100644 (file)
@@ -167,7 +167,7 @@ regexp.  If it matches, the text in question is not a signature."
   :group 'gnus-article-hiding)
 
 (defcustom gnus-article-x-face-command
-  " echo '/* Width=48, Height=48 */'; uncompface; } | icontopbm | xv -quit -"
+  "{ echo '/* Width=48, Height=48 */'; uncompface; } | icontopbm | xv -quit -"
   "*String or function to be executed to display an X-Face header.
 If it is a string, the command will be executed in a sub-shell
 asynchronously.         The compressed face will be piped to this command."
index a5765fe..f3968ea 100644 (file)
@@ -31,6 +31,7 @@
 (require 'gnus-int)
 (require 'nnheader)
 (require 'nntp)
+(require 'nnmail)
 (eval-and-compile
   (if (string-match "XEmacs" (emacs-version))
       (require 'itimer)
index ec43267..d7e8fb8 100644 (file)
       "Display table used in summary mode buffers.")
     (fset 'gnus-cite-add-face 'gnus-mule-cite-add-face)
     (fset 'gnus-max-width-function 'gnus-mule-max-width-function)
-    (fset 'gnus-summary-set-display-table 'ignore)
+    (fset 'gnus-summary-set-display-table (lambda ()))
     (fset 'gnus-encode-coding-string 'encode-coding-string)
     (fset 'gnus-decode-coding-string 'decode-coding-string)
     
index 40d15c1..7f04650 100644 (file)
@@ -90,7 +90,7 @@ Some people may want to add \"unknown\" to this list."
   :group 'picons)
 
 (defcustom gnus-picons-x-face-file-name
-  '(format "/tmp/picon-xface.%s.xbm" (user-login-name))
+  (format "/tmp/picon-xface.%s.xbm" (user-login-name))
   "*The name of the file in which to store the converted X-face header."
   :type 'string
   :group 'picons)
@@ -159,13 +159,6 @@ List of pairs (KEY . GLYPH) where KEY is either a filename or an URL.")
   "Picons file names cache.
 List of pairs (KEY . NAME) where KEY is (USER HOST DBS) and NAME is an URL.")
 
-(defvar gnus-group-annotations nil
-  "List of annotations added/removed when selecting/exiting a group")
-(defvar gnus-article-annotations nil
-  "List of annotations added/removed when selecting an article")
-(defvar gnus-x-face-annotations nil
-  "List of annotations added/removed when selecting an article with an X-Face.")
-
 (defvar gnus-picons-jobs-alist nil
   "List of jobs that still need be done.
 This is a list of (SYM-ANN TAG ARGS...) where SYM-ANN three annotations list,
@@ -178,28 +171,16 @@ arguments necessary for the job.")
 
 ;;; Functions:
 
-(defun gnus-picons-remove (symbol)
-  "Remove all annotations in variable named SYMBOL.
-This function is careful to set it to nil before removing anything so that
-asynchronous process don't get crazy."
-  (setq gnus-picons-jobs-alist (remassq symbol gnus-picons-jobs-alist))
-  ;; notify running job that it may have been preempted
-  (if (and (listp gnus-picons-job-already-running)
-          (eq (car gnus-picons-job-already-running) symbol))
-      (setq gnus-picons-job-already-running t))
-  ;; clear all annotations
-  (mapc (function (lambda (item)
-                   (if (annotationp item)
-                       (delete-annotation item))))
-       (prog1 (symbol-value symbol)
-         (set symbol nil))))
-
 (defun gnus-picons-remove-all ()
   "Removes all picons from the Gnus display(s)."
   (interactive)
-  (gnus-picons-remove 'gnus-article-annotations)
-  (gnus-picons-remove 'gnus-group-annotations)
-  (gnus-picons-remove 'gnus-x-face-annotations))
+  (map-extents (function (lambda (ext unused) (delete-annotation ext) nil))
+              nil nil nil nil nil 'gnus-picon)
+  (setq gnus-picons-jobs-alist '())
+  ;; notify running job that it may have been preempted
+  (if (and (listp gnus-picons-job-already-running)
+          gnus-picons-job-already-running)
+      (setq gnus-picons-job-already-running t)))
 
 (defun gnus-get-buffer-name (variable)
   "Returns the buffer name associated with the contents of a variable."
@@ -226,41 +207,33 @@ asynchronous process don't get crazy."
                     (list (list (current-buffer)
                                 (cons nil gnus-picons-has-modeline-p)))))))
 
-(defun gnus-picons-prepare-for-annotations (annotations)
-  "Prepare picons buffer for puting annotations memorized in ANNOTATIONS.
-ANNOTATIONS should be a symbol naming a variable wich contains a list of
-annotations.  Sets buffer to `gnus-picons-display-where'."
+(defun gnus-picons-prepare-for-annotations ()
+  "Prepare picons buffer for putting annotations."
   ;; let drawing catch up
   (when gnus-picons-refresh-before-display
     (sit-for 0))
   (gnus-picons-set-buffer)
-  (gnus-picons-remove annotations))
+  (gnus-picons-remove-all))
 
-(defsubst gnus-picons-make-annotation (&rest args)
+(defun gnus-picons-make-annotation (&rest args)
   (let ((annot (apply 'make-annotation args)))
-    (set-extent-property annot 'duplicable nil)
+    (set-extent-property annot 'gnus-picon t)
+    (set-extent-property annot 'duplicable t)
     annot))
 
 (defun gnus-picons-article-display-x-face ()
   "Display the x-face header bitmap in the 'gnus-picons-display-where buffer."
-  ;; delete any old ones.
-  ;; This is needed here because gnus-picons-display-x-face will not
-  ;; be called if there is no X-Face header
-  (gnus-picons-remove 'gnus-x-face-annotations)
-  ;; display the new one.
   (let ((gnus-article-x-face-command 'gnus-picons-display-x-face))
     (gnus-article-display-x-face)))
 
 (defun gnus-picons-x-face-sentinel (process event)
-  (let* ((env (assq process gnus-picons-processes-alist))
-        (annot (cdr env)))
+  (when (memq process gnus-picons-processes-alist)
     (setq gnus-picons-processes-alist
-         (remassq process gnus-picons-processes-alist))
-    (when (annotationp annot)
-      (set-annotation-glyph annot
-                           (make-glyph gnus-picons-x-face-file-name))
-      (if (memq annot gnus-x-face-annotations)
-         (delete-file gnus-picons-x-face-file-name)))))
+         (delq process gnus-picons-processes-alist))
+    (gnus-picons-set-buffer)
+    (gnus-picons-make-annotation (make-glyph gnus-picons-x-face-file-name)
+                                nil 'text)
+    (delete-file gnus-picons-x-face-file-name)))
 
 (defun gnus-picons-display-x-face (beg end)
   "Function to display the x-face header in the picons window.
@@ -268,26 +241,17 @@ To use:  (setq gnus-article-x-face-command 'gnus-picons-display-x-face)"
   (interactive)
   (if (featurep 'xface)
       ;; Use builtin support
-      (let ((buf (current-buffer)))
-       (save-excursion
-         (gnus-picons-prepare-for-annotations 'gnus-x-face-annotations)
-         (setq gnus-x-face-annotations
-               (cons (gnus-picons-make-annotation
-                      (vector 'xface
-                              :data (concat "X-Face: "
-                                            (buffer-substring beg end buf)))
-                                      nil 'text)
-                     gnus-x-face-annotations))))
+      (save-excursion
+       (gnus-picons-set-buffer)
+       (gnus-picons-make-annotation
+        (vector 'xface
+                :data (concat "X-Face: " (buffer-substring beg end)))
+        nil 'text))
     ;; convert the x-face header to a .xbm file
     (let* ((process-connection-type nil)
-          (annot (save-excursion
-                   (gnus-picons-prepare-for-annotations
-                    'gnus-x-face-annotations)
-                   (gnus-picons-make-annotation nil nil 'text)))
           (process (start-process-shell-command "gnus-x-face" nil 
                                                 gnus-picons-convert-x-face)))
-      (push annot gnus-x-face-annotations)
-      (push (cons process annot) gnus-picons-processes-alist)
+      (push process gnus-picons-processes-alist)
       (process-kill-without-query process)
       (set-process-sentinel process 'gnus-picons-x-face-sentinel)
       (process-send-region process beg end)
@@ -312,37 +276,28 @@ To use:  (setq gnus-article-x-face-command 'gnus-picons-display-x-face)"
                             (message-tokenize-header gnus-local-domain "."))
                       (message-tokenize-header (substring from (1+ at-idx))
                                                "."))))
-         (gnus-picons-prepare-for-annotations 'gnus-article-annotations)
-         ;; if display in article buffer, the group annotations
-         ;; wrongly placed.  Move them here
-         (if (eq gnus-picons-display-where 'article)
-             (dolist (ext gnus-group-annotations)
-               (when (extent-live-p ext)
-                 (set-extent-endpoints ext (point) (point)))))
+         (gnus-picons-prepare-for-annotations)
+         (gnus-group-display-picons)
          (if (null gnus-picons-piconsearch-url)
-             (setq gnus-article-annotations
-                   (nconc gnus-article-annotations
-                          (gnus-picons-display-pairs
-                           (gnus-picons-lookup-pairs
-                            addrs gnus-picons-domain-directories)
-                           gnus-picons-display-as-address
-                           "." t)
-                          (if (and gnus-picons-display-as-address addrs)
-                              (list (gnus-picons-make-annotation
-                                     [string :data "@"] nil
-                                     'text nil nil nil t)))
-                          (gnus-picons-display-picon-or-name
-                           (gnus-picons-lookup-user username addrs)
-                           username t)))
+             (progn
+               (gnus-picons-display-pairs (gnus-picons-lookup-pairs
+                                           addrs
+                                           gnus-picons-domain-directories)
+                                          gnus-picons-display-as-address
+                                          "." t)
+               (if (and gnus-picons-display-as-address addrs)
+                   (gnus-picons-make-annotation
+                    [string :data "@"] nil 'text nil nil nil t))
+               (gnus-picons-display-picon-or-name
+                (gnus-picons-lookup-user username addrs)
+                username t))
            (push (list 'gnus-article-annotations 'search username addrs
                        gnus-picons-domain-directories t)
                  gnus-picons-jobs-alist)
-           (gnus-picons-next-job))
-
-         (add-hook 'gnus-summary-exit-hook 'gnus-picons-remove-all))))))
+           (gnus-picons-next-job)))))))
 
 (defun gnus-group-display-picons ()
-  "Display icons for the group in the gnus-picons-display-where buffer."
+  "Display icons for the group in the `gnus-picons-display-where' buffer."
   (interactive)
   (when (and (featurep 'xpm)
             (or (not (fboundp 'device-type)) (equal (device-type) 'x))
@@ -350,16 +305,15 @@ To use:  (setq gnus-article-x-face-command 'gnus-picons-display-x-face)"
                 (not (string-match gnus-picons-group-excluded-groups
                                    gnus-newsgroup-name))))
     (save-excursion
-      (gnus-picons-prepare-for-annotations 'gnus-group-annotations)
+      (gnus-picons-prepare-for-annotations)
       (if (null gnus-picons-piconsearch-url)
-         (setq gnus-group-annotations
-               (gnus-picons-display-pairs
+         (gnus-picons-display-pairs
                 (gnus-picons-lookup-pairs
                  (reverse (message-tokenize-header
                            (gnus-group-real-name gnus-newsgroup-name) 
                            "."))
                  gnus-picons-news-directories)
-                t "."))
+                t ".")
        (push (list 'gnus-group-annotations 'search nil
                    (message-tokenize-header 
                     (gnus-group-real-name gnus-newsgroup-name) ".")
@@ -372,7 +326,7 @@ To use:  (setq gnus-article-x-face-command 'gnus-picons-display-x-face)"
 
       (add-hook 'gnus-summary-exit-hook 'gnus-picons-remove-all))))
 
-(defsubst gnus-picons-lookup-internal (addrs dir)
+(defun gnus-picons-lookup-internal (addrs dir)
   (setq dir (expand-file-name dir gnus-picons-database))
   (gnus-picons-try-face (dolist (part (reverse addrs) dir)
                          (setq dir (expand-file-name part dir)))))
@@ -601,8 +555,7 @@ none, and whose CDR is the corresponding element of DOMAINS."
 
 (defun gnus-picons-network-display-internal (sym-ann glyph part right-p)
   (gnus-picons-set-buffer)
-  (set sym-ann (nconc (symbol-value sym-ann)
-                     (gnus-picons-display-picon-or-name glyph part right-p)))
+  (gnus-picons-display-picon-or-name glyph part right-p)
   (gnus-picons-next-job-internal))
 
 (defun gnus-picons-network-display-callback (url part sym-ann right-p)
@@ -697,6 +650,7 @@ none, and whose CDR is the corresponding element of DOMAINS."
                                       (prog1 (gnus-picons-parse-filenames)
                                         (kill-buffer (current-buffer)))))
 
+;; Initiate a query on the picon database
 (defun gnus-picons-network-search (user addrs dbs sym-ann right-p)
   (let* ((host (mapconcat 'identity addrs "."))
         (key (list (or user "unknown") host (if user
index 0159fb7..974936e 100644 (file)
@@ -1076,9 +1076,10 @@ for new groups."
         hashtb))
       (when new-newsgroups
        (gnus-subscribe-hierarchical-interactive new-newsgroups)))
-    (when (> groups 0)
-      (gnus-message 6 "%d new newsgroup%s arrived."
-                   groups (if (> groups 1) "s have" " has")))
+     (if (> groups 0)
+        (gnus-message 5 "%d new newsgroup%s arrived"
+                      groups (if (> groups 1) "s have" " has"))
+       (gnus-message 5 "No new newsgroups"))
     (when got-new
       (setq gnus-newsrc-last-checked-date new-date))
     got-new))
index 439d814..22c941d 100644 (file)
@@ -122,9 +122,12 @@ comparing subjects."
 
 (defcustom gnus-simplify-subject-functions nil
   "List of functions taking a string argument that simplify subjects.
-The functions are applied recursively."
+The functions are applied recursively.
+
+Useful functions to put in this list include: `gnus-simplify-subject-re',
+`gnus-simplify-subject-fuzzy' and `gnus-simplify-whitespace'."
   :group 'gnus-thread
-  :type '(repeat (list function)))
+  :type '(repeat function))
 
 (defcustom gnus-simplify-ignored-prefixes nil
   "*Regexp, matches for which are removed from subject lines when simplifying fuzzily."
index dbe42bc..856b7a2 100644 (file)
 (require 'message)
 
 (eval-and-compile
-  (autoload 'nnmail-date-to-time "nnmail"))
+  (autoload 'nnmail-date-to-time "nnmail")
+  (autoload 'rmail-insert-rmail-file-header "rmail")
+  (autoload 'rmail-count-new-messages "rmail")
+  (autoload 'rmail-show-message "rmail"))
 
 (defun gnus-boundp (variable)
   "Return non-nil if VARIABLE is bound and non-nil."
index 91ba202..d84b28e 100644 (file)
@@ -246,7 +246,7 @@ is restarted, and sometimes reloaded."
   :link '(custom-manual "(gnus)Exiting Gnus")
   :group 'gnus)
 
-(defconst gnus-version-number "0.32"
+(defconst gnus-version-number "0.33"
   "Version number for this version of Gnus.")
 
 (defconst gnus-version (format "Quassia Gnus v%s" gnus-version-number)
@@ -1127,6 +1127,7 @@ slower."
     ("nnfolder" mail respool address)
     ("nngateway" none address prompt-address physical-address)
     ("nnweb" none)
+    ("nnlistserv" none)
     ("nnagent" post-mail))
   "*An alist of valid select methods.
 The first element of each list lists should be a string with the name
@@ -1633,7 +1634,9 @@ gnus-newsrc-hashtb should be kept so that both hold the same information.")
       gnus-group-list-groups gnus-group-first-unread-group
       gnus-group-set-mode-line gnus-group-set-info gnus-group-save-newsrc
       gnus-group-setup-buffer gnus-group-get-new-news
-      gnus-group-make-help-group gnus-group-update-group)
+      gnus-group-make-help-group gnus-group-update-group
+      gnus-clear-inboxes-moved gnus-group-iterate
+      gnus-group-group-name)
      ("gnus-bcklg" gnus-backlog-request-article gnus-backlog-enter-article
       gnus-backlog-remove-article)
      ("gnus-art" gnus-article-read-summary-keys gnus-article-save
@@ -2075,11 +2078,13 @@ g -- Group name."
        ((= c ?g)
         (gnus-group-group-name))
        ((= c ?A)
-        (gnus-summary-article-number))
+        (gnus-summary-skip-intangible)
+        (or (get-text-property (point) 'gnus-number)
+            (gnus-summary-last-subject)))
        ((= c ?H)
-        (gnus-summary-article-header))
+        (gnus-data-header (gnus-data-find (gnus-summary-article-number))))
        (t
-        (error "Noimplemented spec")))
+        (error "Non-implemented spec")))
        out)
       (cond
        ((= c ?r)
index 1cc9649..3269031 100644 (file)
@@ -919,7 +919,10 @@ The cdr of ech entry is a function for applying the face to a region.")
   (autoload 'gnus-output-to-rmail "gnus-util")
   (autoload 'mail-abbrev-in-expansion-header-p "mailabbrev")
   (autoload 'nndraft-request-associate-buffer "nndraft")
-  (autoload 'nndraft-request-expire-articles "nndraft"))
+  (autoload 'nndraft-request-expire-articles "nndraft")
+  (autoload 'gnus-open-server "gnus-int")
+  (autoload 'gnus-request-post "gnus-int")
+  (autoload 'rmail-output "rmail"))
 
 \f
 
@@ -3550,7 +3553,7 @@ Optional NEWS will use news to forward instead of mail."
        (goto-char (point-max)))
       (insert mail-header-separator)
       ;; Rename all old ("Also-")Resent headers.
-      (while (re-search-backward "^\\(Also-\\)?Resent-" beg t)
+      (while (re-search-backward "^\\(Also-\\)*Resent-" beg t)
        (beginning-of-line)
        (insert "Also-"))
       ;; Quote any "From " lines at the beginning.
index 088b5c6..032d7c0 100644 (file)
@@ -70,7 +70,8 @@
   (autoload 'cancel-timer "timer")
   (autoload 'telnet "telnet" nil t)
   (autoload 'telnet-send-input "telnet" nil t)
-  (autoload 'timezone-parse-date "timezone"))
+  (autoload 'timezone-parse-date "timezone")
+  (autoload 'gnus-declare-backend "gnus-start"))
 
 ;; Declare nndb as derived from nntp
 
index be3bcbd..4584560 100644 (file)
@@ -68,6 +68,8 @@ If this variable is nil, no files will be excluded.")
 
 \f
 
+(autoload 'gnus-encode-coding-string "gnus-ems")
+
 ;;; Interface functions.
 
 (nnoo-define-basics nneething)
index c16bdef..5751973 100644 (file)
@@ -59,7 +59,10 @@ on your system, you could say something like:
  (autoload 'mail-position-on-field "sendmail")
  (autoload 'message-remove-header "message")
  (autoload 'cancel-function-timers "timers")
- (autoload 'gnus-point-at-eol "gnus-util"))
+ (autoload 'gnus-point-at-eol "gnus-util")
+ (autoload 'gnus-delete-line "gnus-util")
+ (autoload 'gnus-buffer-live-p "gnus-util")
+ (autoload 'gnus-encode-coding-string "gnus-ems"))
 
 ;;; Header access macros.
 
index e74b6a2..684595c 100644 (file)
@@ -30,8 +30,6 @@
 
 (eval-when-compile (require 'cl))
 
-(push '("nnlistserv" none) gnus-valid-select-methods)
-
 (require 'nnoo)
 (require 'nnweb)
 
index c12f099..5c0cd70 100644 (file)
@@ -33,7 +33,9 @@
 (require 'custom)
 
 (eval-and-compile
-  (autoload 'gnus-error "gnus-util"))
+  (autoload 'gnus-error "gnus-util")
+  (autoload 'gnus-buffer-live-p "gnus-util")
+  (autoload 'gnus-encode-coding-string "gnus-ems"))
 
 (defgroup nnmail nil
   "Reading mail with Gnus."
index 39db45f..6eb1a02 100644 (file)
@@ -666,6 +666,7 @@ backend for the messages.")
   (require 'mail-utils)
   (let ((tembuf (generate-new-buffer " message temp"))
        (case-fold-search nil)
+       (real-header-separator mail-header-separator)
        (mail-header-separator "")
        delimline
        (mailbuf (current-buffer)))
@@ -692,7 +693,7 @@ backend for the messages.")
            ;; Change header-delimiter to be what sendmail expects.
            (goto-char (point-min))
            (re-search-forward
-            (concat "^" (regexp-quote mail-header-separator) "\n"))
+            (concat "^" (regexp-quote real-header-separator) "\n"))
            (replace-match "\n")
            (backward-char 1)
            (setq delimline (point-marker))
index 556b318..41964dc 100644 (file)
@@ -38,6 +38,7 @@
 (require 'gnus-util)
 (require 'gnus-start)
 (require 'gnus-sum)
+(require 'gnus-msg)
 (require 'cl)
 
 (nnoo-declare nnvirtual)
diff --git a/texi/Makefile.in b/texi/Makefile.in
new file mode 100644 (file)
index 0000000..2fc3cec
--- /dev/null
@@ -0,0 +1,185 @@
+infodir = @infodir@
+prefix = @prefix@
+srcdir = @srcdir@
+subdir = texi
+top_srcdir = @top_srcdir@
+
+TEXI2DVI=texi2dvi
+EMACS=emacs
+MAKEINFO=@MAKEINFO@
+EMACSINFO=$(EMACS) -batch -q -no-site-file
+INFOSWI=-l texinfmt -f texinfo-every-node-update -f texinfo-format-buffer -f save-buffer
+XINFOSWI=-l texinfmt -f texinfo-every-node-update -f texinfo-format-buffer -f save-buffer
+LATEX=latex
+DVIPS=dvips
+PERL=perl
+
+all: gnus message
+
+most: texi2latex.elc latex latexps
+
+.SUFFIXES: .texi .dvi .ps
+
+.texi:
+       if test $(MAKEINFO) = no; then \
+         $(EMACSINFO) -eval '(find-file "$<")' $(XINFOSWI); \
+       else \
+         makeinfo -o $* $<; \
+       fi
+
+dvi: gnus.dvi message.dvi
+
+.texi.dvi :
+       $(PERL) -n -e 'print unless (/\@iflatex/ .. /\@end iflatex/)' $< > gnustmp.texi
+       $(TEXI2DVI) gnustmp.texi
+       cp gnustmp.dvi $*.dvi
+       rm gnustmp.*
+
+refcard.dvi: refcard.tex gnuslogo.refcard gnusref.tex
+       $(LATEX) refcard.tex
+
+clean:
+       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 *.tmplatexi gnus.tmplatexi1 texput.log *.orig *.rej \
+       gnus.latexi*~* tmp/*.ps xface.tex picons.tex smiley.tex *.latexi
+
+makeinfo:
+       makeinfo -o gnus gnus.texi
+       makeinfo -o message message.texi
+
+texi2latex.elc: texi2latex.el
+       $(EMACS) -batch -l bytecomp --eval '(byte-compile-file "texi2latex.el")'
+
+latex: gnus.texi texi2latex.elc
+       $(EMACS) -batch -q -no-site-file gnus.texi -l ./texi2latex.elc -f latexi-translate
+
+latexps:
+       make texi2latex.elc
+       rm -f gnus.aux
+       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
+       sed 's/\\char 5E\\relax {}/\\symbol{"5E}/' < gnus.kind > gnus.tmpkind
+       mv gnus.tmpkind gnus.kind
+       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 /local/tmp/larsi/gnus.ps /local/tmp/larsi/gnus-manual-a4.ps
+       gzip /local/tmp/larsi/gnus-manual-a4.ps
+       sed 's/,a4paper//' gnus.latexi > gnus-standard.latexi
+       mv gnus-standard.latexi gnus.latexi
+       make latexps
+       mv /local/tmp/larsi/gnus.ps /local/tmp/larsi/gnus-manual-standard.ps
+       gzip /local/tmp/larsi/gnus-manual-standard.ps
+
+out:
+       cp /local/tmp/larsi/gnus-manual-standard.ps.gz \
+       /local/tmp/larsi/gnus-manual-a4.ps.gz \
+       /local/ftp/pub/emacs/gnus/manual
+       mv /local/tmp/larsi/gnus-manual-standard.ps.gz \
+       /local/tmp/larsi/gnus-manual-a4.ps.gz \
+       /hom/larsi/www_docs/www.gnus.org/documents
+
+veryclean:
+       make clean
+       rm -f gnus.dvi gnus.ps
+
+distclean:
+       make clean
+       rm -f *.orig *.rej *.elc *~ gnus gnus-[0-9] gnus-[0-9][0-9]
+       rm -f message message-[0-9]
+
+install:
+       $(SHELL) $(top_srcdir)/mkinstalldirs $(infodir)
+       @for file in gnus message; do \
+         for ifile in `cd $$d && echo $$file $$file-[0-9] $$file-[0-9][0-9]`; do \
+           if test -f $$ifile; then \
+             echo " $(INSTALL_DATA) $$d/$$ifile $(infodir)/$$ifile"; \
+             $(INSTALL_DATA) $$ifile $(infodir)/$$ifile; \
+           else : ; fi; \
+         done; \
+       done
+
+tmps:
+       if [ ! -e tmp ]; then mkdir tmp; fi
+       make screens
+       make herdss
+       make etcs
+       make piconss
+       make xfaces
+       make smiley
+       make miscs
+
+herdss:
+       cd herds ; for i in new-herd-[0-9]*.gif; do echo $$i; giftopnm $$i | pnmcrop -white | pnmmargin -white 9 | pnmscale 2 | pnmconvol convol5.pnm  | ppmtopgm | pnmdepth 255 | pnmtops -width 100 -height 100 -noturn > ../tmp/`basename $$i .gif`.ps; done
+       cd herds ; giftopnm new-herd-section.gif | pnmscale 4 | pnmconvol convol11.pnm | ppmtopgm | pnmdepth 255 | pnmtops -noturn -width 100 -height 100 > ../tmp/new-herd-section.ps
+
+
+screens:
+       cd screen ; for i in *.gif; do echo $$i; giftopnm $$i | pnmmargin -black 1 | ppmtopgm | pnmtops -width 100 -height 100 -noturn > ../tmp/`basename $$i .gif`.ps; done
+
+miscs:
+       giftopnm misc/larsi.gif | ppmtopgm | pnmtops -noturn > tmp/larsi.ps
+       tifftopnm misc/eseptember.tif | pnmscale 4 | ppmtopgm | pnmtops -noturn  -width 100 -height 100 > tmp/september.ps
+       tifftopnm misc/fseptember.tif | pnmscale 2 | ppmtopgm | pnmtops -noturn  -width 100 -height 100 > tmp/fseptember.ps
+       tifftopnm misc/fred.tif | pnmscale 2 | ppmtopgm | pnmtops -noturn  -width 100 -height 100 > tmp/fred.ps
+       tifftopnm misc/ered.tif | pnmscale 2 | ppmtopgm | pnmtops -noturn  -width 100 -height 100 > tmp/red.ps
+
+etcs:
+       cd etc; for i in gnus-*.xpm; do echo $$i; xpmtoppm $$i | ppmtopgm | pnmdepth 255 | pnmtops -noturn > ../tmp/`basename $$i .xpm`.ps; done
+
+piconss:
+       cd picons; for i in *.xbm; do echo $$i; xbmtopbm $$i | pnmtops -noturn > ../tmp/picons-`basename $$i .xbm`.ps; done
+       cd picons; for i in *.gif; do echo $$i; giftopnm $$i | ppmtopgm | pnmtops -noturn > ../tmp/picons-`basename $$i .gif`.ps; done
+       for i in tmp/picons-*.ps; do echo "\\gnuspicon{$$i}"; done > picons.tex
+
+xfaces:
+       cd xface; for i in *.gif; do echo $$i; giftopnm $$i | ppmtopgm | pnmtops -noturn > ../tmp/xface-`basename $$i .gif`.ps; done
+       for i in tmp/xface-*.ps; do \
+               if [ -n "$$a" ]; then a=""; echo "{$$i}"; else \
+               a="h"; echo -n "\\gnusxface{$$i}"; fi done > xface.tex; \
+               if [ -n "$$a" ]; then echo "{$$i}" >> xface.tex; fi
+
+smiley:
+       cd smilies; tifftopnm BigFace.tif | ppmtopgm | pnmtops > ../tmp/BigFace.ps
+       cd smilies; for i in *.xpm; do echo $$i; sed "s/none/#FFFFFF/" $$i | xpmtoppm | ppmtopgm | pnmdepth 255 | pnmtops > ../tmp/smiley-`basename $$i .xpm`.ps; done
+       for i in tmp/smiley-*.ps; do \
+               if [ -n "$$a" ]; then a=""; echo "{$$i}"; else \
+               a="h"; echo -n "\\gnussmiley{$$i}"; fi done > smiley.tex; \
+               if [ -n "$$a" ]; then echo "{$$i}" >> smiley.tex; fi
+
+pspackage:
+       tar czvf pspackage.tar.gz gnus-faq.texi gnus.texi herds misc pagestyle.sty picons pixidx.sty postamble.tex ps screen smilies splitindex texi2latex.el xface Makefile README etc
+
+complete:
+       make texi2latex.elc
+       make tmps
+       make pss
+
+Makefile: $(srcdir)/Makefile.in ../config.status
+       cd .. \
+         && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
index ee0fbb7..f464893 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename gnus
-@settitle Quassia Gnus 0.32 Manual
+@settitle Quassia Gnus 0.33 Manual
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
@@ -316,7 +316,7 @@ into another language, under the above conditions for modified versions.
 @tex
 
 @titlepage
-@title Quassia Gnus 0.32 Manual
+@title Quassia Gnus 0.33 Manual
 
 @author by Lars Magne Ingebrigtsen
 @page
@@ -352,7 +352,7 @@ can be gotten by any nefarious means you can think of---@sc{nntp}, local
 spool or your mbox file.  All at the same time, if you want to push your
 luck.
 
-This manual corresponds to Quassia Gnus 0.32.
+This manual corresponds to Quassia Gnus 0.33.
 
 @end ifinfo
 
@@ -12297,7 +12297,7 @@ ignored when handling global score files.
 @item read-only
 Read-only score files will not be updated or saved.  Global score files
 should feature this atom (@pxref{Global Score Files}).  (Note:
-@dfn{Global} here really means @dfn{global}; not just your personal
+@dfn{Global} here really means @dfn{global}; not your personal
 apply-to-all-groups score files.)
 
 @item orphan
@@ -17298,6 +17298,10 @@ Allow breaking lengthy NNTP commands.
 @item
 gnus-article-highlight-limit, to disable highlighting in big articles. 
 
+@item
+Editing an article should put the article to be edited
+in a special, unique buffer.
+
 @item
 Solve the halting problem.
 
index 08eb899..75949c2 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename message
-@settitle Message 0.32 Manual
+@settitle Message 0.33 Manual
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
@@ -42,7 +42,7 @@ into another language, under the above conditions for modified versions.
 @tex
 
 @titlepage
-@title Message 0.32 Manual
+@title Message 0.33 Manual
 
 @author by Lars Magne Ingebrigtsen
 @page
@@ -83,7 +83,7 @@ Message mode buffers.
 * Key Index::         List of Message mode keys.
 @end menu
 
-This manual corresponds to Message 0.32.  Message is distributed with
+This manual corresponds to Message 0.33.  Message is distributed with
 the Gnus distribution bearing the same version number as this manual
 has.