+2000-07-03 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * lisp/gnus-vers.el (T-gnus): Update to 6.14.5.
+ (gnus-revision-number): Clear to 00.
+
+ * README.T-gnus: Update.
+
+ * lisp/{webmail.el,rfc2047.el,qp.el,pop3.el,nnwarchive.el,
+ nnsoup.el,nnslashdot.el,nnml.el,nnmh.el,nnmbox.el,nnmail.el,
+ nnimap.el,nnheader.el,nnfolder.el,nndraft.el,nndoc.el,mml.el,
+ mm-view.el,mm-uu.el,mm-util.el,mm-decode.el,mm-bodies.el,
+ message.el,mail-source.el,lpath.el,imap.el,gnus.el,gnus-uu.el,
+ gnus-util.el,gnus-topic.el,gnus-sum.el,gnus-start.el,gnus-srvr.el,
+ gnus-soup.el,gnus-score.el,gnus-msg.el,gnus-mailcap.el,
+ gnus-group.el,gnus-ems.el,gnus-demon.el,gnus-cus.el,gnus-art.el,
+ gnus-agent.el,ChangeLog}: Sync up with Gnus v5.8.7.
+
+ * texi/{message.texi,gnus.texi,gnus-ja.texi,ChangeLog}: Sync up
+ with Gnus v5.8.7.
+
+ * contrib/rfc2015.el: New file.
+
2000-06-27 Katsumi Yamaoka <yamaoka@jpl.org>
* lisp/gnus-vers.el (gnus-revision-number): Increment to 04.
rm -f MANIFEST.*
for i in lisp texi; do (cd $$i; $(MAKE) clean); done
-xsome:
- cd lisp && $(MAKE) EMACS="$(XEMACS)" some
-
elclean:
cd lisp && rm -f *.elc auto-autoloads.el custom-load.el
x:
$(MAKE) EMACS="$(XEMACS)"
+xsome:
+ $(MAKE) EMACS="$(XEMACS)" some
+
distclean: clean
rm -rf *~
for i in lisp texi; do (cd $$i; $(MAKE) distclean); done
rm -f config.log config.status config.cache Makefile
-osome:
- $(MAKE) EMACS="$(XEMACS)" some
-
config.status: $(srcdir)/configure
$(SHELL) ./config.status --recheck
$(srcdir)/configure: $(srcdir)/configure.in
* T-gnus 6.14 - this is based on Pterodactyl Gnus.
- The latest T-gnus is T-gnus 6.14.4 (Based on Gnus 5.8.6). It requires
+ The latest T-gnus is T-gnus 6.14.5 (Based on Gnus 5.8.7). It requires
SEMI/WEMI (1.13.5 or later), FLIM (1.13.1 or later), and APEL (10.0 or
later).
+2000-07-03 00:29:08 Julien Gilles <julien.gilles@bcv01y01.vz.cit.alcatel.fr>
+
+ * gnus-ml.el: New file.
+
+2000-07-02 16:11:25 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * nnultimate.el (nnultimate-request-close): New function.
+
+ * gnus-start.el (gnus-clear-system): Clear nnmail-split-history.
+
+2000-06-18 Norbert Koch <norbert@s.netic.de>
+
+ * Makefile.in: Better support for xemacs builds
+
+Sun Jul 2 15:11:35 2000 Lars Magne Ingebrigtsen <lmi@quimbies.gnus.org>
+
+ * gnus.el: Gnus v5.8.7 is released.
+
+2000-05-19 06:32:52 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * mm-decode.el (mm-insert-part): Characters doubly decoded.
+
+2000-07-01 10:23:08 Shenghuo ZHU <zsh@cs.rochester.edu>
+
+ * message.el (message-do-fcc): Encode MIME.
+
2000-06-28 13:52:57 Shenghuo ZHU <zsh@cs.rochester.edu>
* lpath.el: Fbind image-size.
--- /dev/null
+;;; gnus-ml.el --- Mailing list minor mode for gnus
+
+;; Copyright (C) 2000 by Julien Gilles
+
+;; Author: Julien Gilles <jgilles@free.fr>
+;; Keywords: news
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program; if not, write to the Free Software
+;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+;;; Commentary:
+
+;; implement (small subset of) RFC 2369
+
+;;; Code:
+
+(require 'gnus)
+(eval-when-compile (require 'cl))
+
+;;; Mailing list minor mode
+
+(defvar gnus-mailing-list-mode nil
+ "Minor mode for providing mailing-list commands.")
+
+(defvar gnus-mailing-list-mode-map nil)
+
+(unless gnus-mailing-list-mode-map
+ (setq gnus-mailing-list-mode-map (make-sparse-keymap))
+
+ (gnus-define-keys gnus-mailing-list-mode-map
+ "\C-nh" gnus-mailing-list-help
+ "\C-ns" gnus-mailing-list-subscribe
+ "\C-nu" gnus-mailing-list-unsubscribe
+ "\C-np" gnus-mailing-list-post
+ "\C-no" gnus-mailing-list-owner
+ "\C-na" gnus-mailing-list-archive
+ ))
+
+(defun gnus-mailing-list-make-menu-bar ()
+ (unless (boundp 'gnus-mailing-list-menu)
+ (easy-menu-define
+ gnus-mailing-list-menu gnus-mailing-list-mode-map ""
+ '("Mailing-Lists"
+ ["Get help" gnus-mailing-list-help t]
+ ["Subscribe" gnus-mailing-list-subscribe t]
+ ["Unsubscribe" gnus-mailing-list-unsubscribe t]
+ ["Post a message" gnus-mailing-list-post t]
+ ["Mail to owner" gnus-mailing-list-owner t]
+ ["Browse archive" gnus-mailing-list-archive t]))))
+
+(defun turn-on-gnus-mailing-list-mode ()
+ (when (gnus-group-get-parameter group 'to-list)
+ (gnus-mailing-list-mode 1)))
+
+(defun gnus-mailing-list-mode (&optional arg)
+ "Minor mode for providing mailing-list commands.
+
+\\{gnus-mailing-list-mode-map}"
+ (interactive "P")
+ (when (eq major-mode 'gnus-summary-mode)
+ (when (set (make-local-variable 'gnus-mailing-list-mode)
+ (if (null arg) (not gnus-mailing-list-mode)
+ (> (prefix-numeric-value arg) 0)))
+ ;; Set up the menu.
+ (when (gnus-visual-p 'mailing-list-menu 'menu)
+ (gnus-mailing-list-make-menu-bar))
+ (gnus-add-minor-mode 'gnus-mailing-list-mode " Mailing-List" gnus-mailing-list-mode-map)
+ (gnus-run-hooks 'gnus-mailing-list-mode-hook))))
+
+;;; Commands
+
+(defun gnus-mailing-list-help ()
+ "Get help from mailing list server."
+ (interactive)
+ (cond (list-help (gnus-mailing-list-message list-help))
+ (t (display-message 'no-log "no list-help in this group"))))
+
+(defun gnus-mailing-list-subscribe ()
+ "Subscribe"
+ (interactive)
+ (cond (list-subscribe (gnus-mailing-list-message list-subscribe))
+ (t (display-message 'no-log "no list-subscribe in this group"))))
+
+
+(defun gnus-mailing-list-unsubscribe ()
+ "Unsubscribe"
+ (interactive)
+ (cond (list-unsubscribe (gnus-mailing-list-message list-unsubscribe))
+ (t (display-message 'no-log "no list-unsubscribe in this group"))))
+
+(defun gnus-mailing-list-post ()
+ "Post message (really useful ?)"
+ (interactive)
+ (cond (list-post (gnus-mailing-list-message list-post))
+ (t (display-message 'no-log "no list-post in this group")))
+ )
+
+(defun gnus-mailing-list-owner ()
+ "Mail to the owner"
+ (interactive)
+ (cond (list-owner (gnus-mailing-list-message list-owner))
+ (t (display-message 'no-log "no list-owner in this group")))
+ )
+
+(defun gnus-mailing-list-archive ()
+ "Browse archive"
+ (interactive)
+ (cond (list-archive (gnus-mailing-list-message list-archive))
+ (t (display-message 'no-log "no list-owner in this group")))
+ )
+
+;;; Utility functions
+
+(defun gnus-xmas-mailing-list-menu-add ()
+ (gnus-xmas-menu-add mailing-list
+ gnus-mailing-list-menu))
+
+(add-hook 'gnus-mailing-list-mode-hook 'gnus-xmas-mailing-list-menu-add)
+
+(defun gnus-mailing-list-message (address)
+ ""
+ (let ((mailto "")
+ (to ())
+ (subject "None")
+ (body "")
+ )
+ (cond
+ ((string-match "<mailto:\\([^>]*\\)>" address)
+ (let ((args (match-string 1 address)))
+ (cond ; with param
+ ((string-match "\\(.*\\)\\?\\(.*\\)" args)
+ (setq mailto (match-string 1 args))
+ (let ((param (match-string 2 args)))
+ (if (string-match "subject=\\([^&]*\\)" param)
+ (setq subject (match-string 1 param)))
+ (if (string-match "body=\\([^&]*\\)" param)
+ (setq body (match-string 1 param)))
+ (if (string-match "to=\\([^&]*\\)" param)
+ (push (match-string 1 param) to))
+ ))
+ (t (setq mailto args))))) ; without param
+
+ ; other case <http://... to be done.
+ (t nil))
+ (gnus-setup-message 'message (message-mail mailto subject))
+ (insert body)
+ ))
+
+(provide 'gnus-ml)
+
+;;; gnus-ml.el ends here
gnus-newsgroup-unreads nil
nnoo-state-alist nil
gnus-current-select-method nil
+ nnmail-split-history nil
gnus-ephemeral-servers nil)
(gnus-shutdown 'gnus)
;; Kill the startup file.
(or
(mail-content-type-get
(mm-handle-disposition handle) 'filename)
- (concat gnus-newsgroup-name "." gnus-current-article)))
+ (concat gnus-newsgroup-name
+ "." (number-to-string
+ (cdr gnus-article-current)))))
dir)))
(unless (file-exists-p file)
(mm-save-part-to-file handle file))))))
(require 'product)
(provide 'gnus-vers)
-(defconst gnus-revision-number "04"
+(defconst gnus-revision-number "00"
"Revision number for this version of gnus.")
;; Product information of this gnus.
(product-provide 'gnus-vers
(product-define "T-gnus" nil
- (list 6 14 4
+ (list 6 14 5
(string-to-number gnus-revision-number))))
-(defconst gnus-original-version-number "5.8.7"
+(defconst gnus-original-version-number "5.8.8"
"Version number for this version of Gnus.")
(provide 'running-pterodactyl-gnus-0_73-or-later)
vcard-pretty-print image-type-available-p
put-image create-image display-graphic-p
find-image insert-image image-size
- make-overlay overlay-put make-symbolic-link))
+ make-overlay overlay-put make-symbolic-link
+ subst-char-in-string))
(maybe-bind '(global-face-data
mark-active transient-mark-mode mouse-selection-click-count
mouse-selection-click-count-buffer buffer-display-table
find-coding-systems-for-charsets find-coding-systems-region
font-lock-set-defaults function-max-args get-charset-property
make-symbolic-link map-extents smiley-encode-buffer
- toolbar-gnus
- )))
+ toolbar-gnus subst-char-in-string)))
(setq load-path (cons "." load-path))
(require 'custom)
(save-excursion
(if (member (mm-handle-media-supertype handle) '("text" "message"))
(with-temp-buffer
- (if (eq (or (mm-handle-encoding handle)
- (with-current-buffer (mm-handle-buffer handle)
- (mm-body-7-or-8)))
- '8bit)
- ;; Emacs MULE can not handle some 8bit characters in
- ;; multibyte character!!
- (let ((text (with-current-buffer
- (mm-handle-buffer handle)
- (mm-with-unibyte-current-buffer
- (buffer-string)))))
- (mm-with-unibyte-current-buffer
- (insert text)))
- (insert-buffer-substring (mm-handle-buffer handle)))
+ (insert-buffer-substring (mm-handle-buffer handle))
(mm-decode-content-transfer-encoding
(mm-handle-encoding handle)
(mm-handle-media-type handle))
"211 %d %d %d %s\n" (cadr elem) 1 (cadr elem)
(prin1-to-string group))))))
+(deffoo nnultimate-request-close ()
+ (setq nnultimate-groups-alist nil
+ nnultimate-groups nil))
+
(deffoo nnultimate-request-article (article &optional group server buffer)
(nnultimate-possibly-change-server group server)
(let ((contents (cdr (assq article nnultimate-articles))))
+2000-07-03 00:24:55 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus.texi (Splitting Mail): Mention gnus-summary-respool-trace.
+ (Searching for Articles): Fix.
+ (Newest Features): Fix.
+
2000-06-28 Simon Josefsson <simon@josefsson.org>
* gnus.texi (Splitting in IMAP): Update.
@end table
+\e$B$=$7$F!"$I$&$d$C$F5-;v$NK\J8\e(B (body) \e$B$NFbMF$r4p$K%W%m%;%90u$rIU$1$k$+$O!"\e(B
+@pxref{Searching for Articles} \e$B$N\e(B @kbd{&} \e$BL?Na$r;2>H$7$F2<$5$$!#\e(B
+
@node Limiting
@section \e$B@)8B$r$9$k\e(B
@findex gnus-summary-execute-command
\e$B$3$NL?Na$O$"$J$?$K%X%C%@!<ItJ,$H$=$NItJ,$K9gCW$9$k@55,I=8=!"9gCW$7$?>l9g\e(B
\e$B$K<B9T$5$l$kL?Na$NF~NO$rB%?J$7$^$9\e(B (@code{gnus-summary-execute-command})\e$B!#\e(B
-\e$B$b$7@\F,0z?t$rM?$($i$l$l$P!"Be$o$j$K8e$m8~$-$KC5$7$^$9!#\e(B
+\e$B$b$7%X%C%@!<$,6uJ8;zNs$J$i$P!"5-;vA4BN$rC5$7$^$9!#$b$7@\F,0z?t$rM?$($i$l\e(B
+\e$B$l$P!"Be$o$j$K8e$m8~$-$KC5$7$^$9!#\e(B
+
+\e$BNc$($P\e(B @kbd{& RET \e$BJ8;zNs\e(B #} \e$B$O!"%X%C%@!<$+K\J8$K\e(B @samp{\e$BJ8;zNs\e(B} \e$B$r;}$D$9\e(B
+\e$B$Y$F$N5-;v$K%W%m%;%90u$rIU$1$^$9!#\e(B
@item M-&
@kindex M-& \e$B!J35N,!K\e(B
@kindex M-x nnmail-split-history
@kindex nnmail-split-history
\e$BA0$N%a!<%kJ,3d$,%a%C%;!<%8$r$I$3$KF~$l$?$+$r8+$?$$>l9g$O!"L?Na\e(B @kbd{M-x
-nnmail-split-history} \e$B$r;H$&;v$,$G$-$^$9!#\e(B
+nnmail-split-history} \e$B$r;H$&;v$,$G$-$^$9!#$3$l$+$i%9%W!<%k$7D>$=$&$H$9$k\e(B
+\e$B%a%C%;!<%8$,$I$3$KF~$k$+$r8+$?$$>l9g$O!"\e(B@code{gnus-summary-respool-trace}
+\e$B$H4XO"$9$kL?Na\e(B (@pxref{Mail Group Commands}) \e$B$r;H$&;v$,$G$-$^$9!#\e(B
Gnus \e$B$O$"$J$?$K<+J,<+?H$KD7$MJV$C$F$/$k$h$&$J2DG=@-$N$"$kA4$F$N5!2q$rDs\e(B
\e$B6!$7$^$9!#Nc$($P!"$"$J$?$N>e;J$+$i$/$kA4$F$N%a!<%k$r4^$s$@%0%k!<%W$r:n$C\e(B
Handle external-body parts.
@item
+When renaming a group name, nnmail-split-history does not get the group
+name renamed.
+
+@item
+Allow mail splitting on bodies when using advanced mail splitting.
+
+@lisp
+ (body "whatever.text")
+@end lisp
+
+@item
Solve the halting problem.
@c TODO
@end table
+Also see the @kbd{&} command in @pxref{Searching for Articles} for how to
+set process marks based on article body contents.
+
@node Limiting
@section Limiting
@item &
@kindex & (Summary)
@findex gnus-summary-execute-command
-This command will prompt you for a header field, a regular expression to
-match on this field, and a command to be executed if the match is made
-(@code{gnus-summary-execute-command}). If given a prefix, search
-backward instead.
+This command will prompt you for a header, a regular expression to match
+on this field, and a command to be executed if the match is made
+(@code{gnus-summary-execute-command}). If the header is an empty
+string, the match is done on the entire article. If given a prefix,
+search backward instead.
+
+For instance, @kbd{& RET some.*string #} will put the process mark on
+all articles that have heads or bodies that match @samp{some.*string}.
@item M-&
@kindex M-& (Summary)
@kindex M-x nnmail-split-history
@kindex nnmail-split-history
If you wish to see where the previous mail split put the messages, you
-can use the @kbd{M-x nnmail-split-history} command.
+can use the @kbd{M-x nnmail-split-history} command. If you wish to see
+where re-spooling messages would put the messages, you can use
+@code{gnus-summary-respool-trace} and related commands (@pxref{Mail
+Group Commands}).
Gnus gives you all the opportunity you could possibly want for shooting
yourself in the foot. Let's say you create a group that will contain
Handle external-body parts.
@item
+When renaming a group name, nnmail-split-history does not get the group
+name renamed.
+
+@item
+Allow mail splitting on bodies when using advanced mail splitting.
+
+@lisp
+ (body "whatever.text")
+@end lisp
+
+@item
Solve the halting problem.
@c TODO