+2001-01-24 17:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
+
+ * gnus-agent.el (gnus-agent-add-server): Redraw the line.
+ (gnus-agent-remove-server): Ditto.
+
+ * gnus-srvr.el (gnus-server-line-format): Add %a.
+ (gnus-server-line-format-alist): Add gnus-tmp-agent.
+ (gnus-server-insert-server-line): Use it.
+
+2001-01-24 09:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
+
+ * mm-util.el (mm-mime-mule-charset-alist): Preferred MIME names
+ GB2312 and Big5.
+
+2001-01-24 Simon Josefsson <sj@extundo.com>
+
+ * mail-source.el (mail-sources): Add :program specifier to IMAP
+ mail source.
+ (mail-source-fetch-imap): Map :program to `imap-shell-program'.
+
+2001-01-24 08:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
+
+ * gnus-score.el (gnus-score-lower-thread): Fix a doc typo.
+
2001-01-24 12:22:47 Lars Magne Ingebrigtsen <larsi@gnus.org>
* nntp.el (nntp-wait-for): Return the success code.
(when (member method gnus-agent-covered-methods)
(error "Server already in the agent program"))
(push method gnus-agent-covered-methods)
+ (gnus-server-update-server server)
(gnus-agent-write-servers)
(message "Entered %s into the Agent" server)))
(error "Server not in the agent program"))
(setq gnus-agent-covered-methods
(delete method gnus-agent-covered-methods))
+ (gnus-server-update-server server)
(gnus-agent-write-servers)
(message "Removed %s from the agent" server)))
;;; gnus-int.el --- backend interface functions for Gnus
-;; Copyright (C) 1996, 1997, 1998, 1999, 2000
+;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
;; Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;;; gnus-score.el --- scoring code for Gnus
-;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001
;; Free Software Foundation, Inc.
;; Author: Per Abrahamsen <amanda@iesd.auc.dk>
(gnus-message 5 "Scoring...done"))))))
(defun gnus-score-lower-thread (thread score-adjust)
- "Lower the socre on THREAD with SCORE-ADJUST.
+ "Lower the score on THREAD with SCORE-ADJUST.
THREAD is expected to contain a list of the form `(PARENT [CHILD1
CHILD2 ...])' where PARENT is a header array and each CHILD is a list
of the same form as THREAD. The empty list `nil' is valid. For each
;; gnus-score-index is used as a free variable.
alike last this art entries alist articles
new news)
-
+
;; Change score file to the adaptive score file. All entries that
;; this function makes will be put into this file.
(save-excursion
(gnus-score-file-name
gnus-newsgroup-name gnus-adaptive-file-suffix))))
- (setq gnus-scores-articles (sort gnus-scores-articles
+ (setq gnus-scores-articles (sort gnus-scores-articles
'gnus-score-string<)
articles gnus-scores-articles)
(push new news)))))
;; Update expire date
(cond ((null date)) ;Permanent entry.
- ((and found gnus-update-score-entry-dates)
+ ((and found gnus-update-score-entry-dates)
;Match, update date.
(gnus-score-set 'touched '(t) alist)
(setcar (nthcdr 2 kill) now))
;;; gnus-srvr.el --- virtual server support for Gnus
-;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001
;; Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
(defvar gnus-server-mode-hook nil
"Hook run in `gnus-server-mode' buffers.")
-(defconst gnus-server-line-format " {%(%h:%w%)} %s\n"
+(defconst gnus-server-line-format " {%(%h:%w%)} %s%a\n"
"Format of server lines.
It works along the same lines as a normal formatting string,
with some simple extensions.
%h backend
%n name
%w address
-%s status")
+%s status
+%a agent covered")
(defvar gnus-server-mode-line-format "Gnus: %%b"
"The format specification for the server mode line.")
`((?h gnus-tmp-how ?s)
(?n gnus-tmp-name ?s)
(?w gnus-tmp-where ?s)
- (?s gnus-tmp-status ?s)))
+ (?s gnus-tmp-status ?s)
+ (?a gnus-tmp-agent ?s)))
(defvar gnus-server-mode-line-format-alist
`((?S gnus-tmp-news-server ?s)
"n" next-line
"p" previous-line
-
+
"g" gnus-server-regenerate-server
"\C-c\C-i" gnus-info-find-node
(eq (nth 1 elem) 'ok))
"(opened)")
(t
- "(closed)"))))
+ "(closed)")))
+ (gnus-tmp-agent (if (and gnus-agent
+ (member method
+ gnus-agent-covered-methods))
+ "(agent)"
+ "")))
(beginning-of-line)
(gnus-add-text-properties
(point)
(goto-char (point-min))
(unless (string= gnus-ignored-newsgroups "")
(delete-matching-lines gnus-ignored-newsgroups))
- (while (not (eobp))
+ (while (not (eobp))
(ignore-errors
- (push (cons
+ (push (cons
(if (eq (char-after) ?\")
(read cur)
(let ((p (point)) (name ""))
(string< (car l1) (car l2)))))
(if gnus-server-browse-in-group-buffer
(let* ((gnus-select-method orig-select-method)
- (gnus-group-listed-groups
- (mapcar (lambda (group)
+ (gnus-group-listed-groups
+ (mapcar (lambda (group)
(let ((name
- (gnus-group-prefixed-name
+ (gnus-group-prefixed-name
(car group) method)))
(gnus-set-active name (cdr group))
name))
groups)))
(gnus-configure-windows 'group)
- (funcall gnus-group-prepare-function
+ (funcall gnus-group-prepare-function
gnus-level-killed 'ignore 1 'ingore))
(gnus-get-buffer-create gnus-browse-buffer)
(when gnus-carpal
(point)
(prog1 (1+ (point))
(insert
- (format "%c%7d: %s\n"
+ (format "%c%7d: %s\n"
(let ((level
(let ((gnus-select-method orig-select-method))
(gnus-group-level
- (gnus-group-prefixed-name (car group)
+ (gnus-group-prefixed-name (car group)
method)))))
- (cond
+ (cond
((<= level gnus-level-subscribed) ? )
((<= level gnus-level-unsubscribed) ?U)
((= level gnus-level-zombie) ?Z)
nil nil (if (gnus-server-equal
gnus-browse-current-method "native")
nil
- (gnus-method-simplify
+ (gnus-method-simplify
gnus-browse-current-method)))
gnus-level-default-subscribed (gnus-group-level group)
(and (car (nth 1 gnus-newsrc-alist))
;;; mail-source.el --- functions for fetching mail
-;; Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news, mail
(const :format "" pop)
(checklist :tag "Options" :greedy t
(group :inline t
- (const :format "" :value :server)
+ (const :format "" :value :server)
(string :tag "Server"))
(group :inline t
- (const :format "" :value :port)
+ (const :format "" :value :port)
(choice :tag "Port"
- :value "pop3"
+ :value "pop3"
(number :format "%v")
(string :format "%v")))
(group :inline t
(const :format "" :value :function)
(function :tag "Function"))
(group :inline t
- (const :format ""
+ (const :format ""
:value :authentication)
(choice :tag "Authentication"
:value apop
(string :tag "Server"))
(group :inline t
(const :format "" :value :port)
- (choice :tag "Port"
- :value 143
+ (choice :tag "Port"
+ :value 143
number string))
(group :inline t
(const :format "" :value :user)
:value network
,@mail-source-imap-streams))
(group :inline t
+ (const :format "" :value :program)
+ (string :tag "Program"))
+ (group :inline t
(const :format ""
:value :authenticator)
(choice :tag "Authenticator"
:value "INBOX"))
(group :inline t
(const :format "" :value :predicate)
- (string :tag "Predicate"
+ (string :tag "Predicate"
:value "UNSEEN UNDELETED"))
(group :inline t
(const :format "" :value :fetchflag)
(cons :tag "Webmail server"
(const :format "" webmail)
(checklist :tag "Options" :greedy t
- (group :inline t
+ (group :inline t
(const :format "" :value :subtype)
;; Should be generated from
;; `webmail-type-definition', but we
(:server (getenv "MAILHOST"))
(:port)
(:stream)
+ (:program)
(:authentication)
(:user (or (user-login-name) (getenv "LOGNAME") (getenv "USER")))
(:password)
(defvar mail-source-report-new-mail-timer nil)
(defvar mail-source-report-new-mail-idle-timer nil)
-(eval-when-compile
+(eval-when-compile
(if (featurep 'xemacs)
(require 'itimer)
(require 'timer)))
(goto-char (point-min))
;;; ;; Unix mail format
;;; (unless (looking-at "\n*From ")
-;;; (insert "From maildir "
+;;; (insert "From maildir "
;;; (current-time-string) "\n"))
;;; (while (re-search-forward "^From " nil t)
;;; (replace-match ">From "))
(buf (get-buffer-create
(format " *imap source %s:%s:%s *" server user mailbox)))
(mail-source-string (format "imap:%s:%s" server mailbox))
+ (imap-shell-program (or (list program) imap-shell-program))
remove)
(if (and (imap-open server port stream authentication buf)
(imap-authenticate
(when (eq authentication 'password)
(setq password
(or password
- (cdr (assoc (format "webmail:%s:%s" subtype user)
+ (cdr (assoc (format "webmail:%s:%s" subtype user)
mail-source-password-cache))
(mail-source-read-passwd
(format "Password for %s at %s: " user subtype))))
(when (and password
- (not (assoc (format "webmail:%s:%s" subtype user)
+ (not (assoc (format "webmail:%s:%s" subtype user)
mail-source-password-cache)))
- (push (cons (format "webmail:%s:%s" subtype user) password)
+ (push (cons (format "webmail:%s:%s" subtype user) password)
mail-source-password-cache)))
(webmail-fetch mail-source-crash-box subtype user password)
(mail-source-callback callback (symbol-name subtype)))))
(viscii vietnamese-viscii-lower)
(iso-2022-jp latin-jisx0201 japanese-jisx0208 japanese-jisx0208-1978)
(euc-kr korean-ksc5601)
- (cn-gb-2312 chinese-gb2312)
- (cn-big5 chinese-big5-1 chinese-big5-2)
+ (gb2312 chinese-gb2312)
+ (big5 chinese-big5-1 chinese-big5-2)
(tibetan tibetan)
(thai-tis620 thai-tis620)
(iso-2022-7bit ethiopic arabic-1-column arabic-2-column)
;;; nntp.el --- nntp access for Gnus
;; Copyright (C) 1987, 1988, 1989, 1990, 1992, 1993, 1994, 1995, 1996,
-;; 1997, 1998, 2000
+;; 1997, 1998, 2000, 2001
;; Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
(wait-for
(nntp-wait-for process wait-for buffer decode))
(t t)))
- (error
- (nnheader-report 'nntp "Couldn't open connection to %s: %s"
+ (error
+ (nnheader-report 'nntp "Couldn't open connection to %s: %s"
address err))
(quit
(message "Quit retrieving data from nntp")
;; Wait for the reply from the final command.
(unless (gnus-buffer-live-p buf)
- (error
+ (error
(nnheader-report 'nntp "Connection to %s is closed." server)))
(set-buffer buf)
(goto-char (point-max))
(goto-char (point-max))
(if (not nntp-server-list-active-group)
(not (re-search-backward "\r?\n" (- (point) 3) t))
- (not (re-search-backward "^\\.\r?\n"
+ (not (re-search-backward "^\\.\r?\n"
(- (point) 4) t)))))
(nntp-accept-response)))
;; Now all replies are received. We remove CRs.
(unless (gnus-buffer-live-p buf)
- (error
+ (error
(nnheader-report 'nntp "Connection to %s is closed." server)))
(set-buffer buf)
(goto-char (point-min))
(while (and (cdr articles)
(< (- (nth 1 articles) (car articles)) nntp-nov-gap))
(setq articles (cdr articles)))
-
+
(setq in-process-buffer-p (stringp nntp-server-xover))
(nntp-send-xover-command first (car articles))
(setq articles (cdr articles))
(when (and nntp-server-xover in-process-buffer-p)
;; Don't count tried request.
(setq count (1+ count))
-
+
;; Every 400 requests we have to read the stream in
;; order to avoid deadlocks.
(when (or (null articles) ;All requests have been sent.
+2001-01-24 Simon Josefsson <sj@extundo.com>
+
+ * gnus.texi (Mail Source Specifiers): Add IMAP :program, fix POP
+ :program typo.
+
2001-01-15 16:15:20 Lars Magne Ingebrigtsen <larsi@gnus.org>
* gnus.texi (The Active File): Only old versionf of leafnode
\e$B$O!"\e(B@samp{kerberos4}, @samp{cram-md5}, @samp{anonymous} \e$B$+=i4|CM\e(B
\e$B$N\e(B @samp{login} \e$B$K$J$j$^$9!#\e(B
+@item :program
+:stream \e$B$K\e(B `shell' \e$B$,@_Dj$5$l$F$$$k$H$-$O!"$3$NCM$,JQ\e(B
+\e$B?t\e(B `imap-shell-program' \e$B$K3d$jEv$F$i$l$^$9!#$3$l$O\e(B @code{format} \e$B$U$&$N\e(B
+\e$BJ8;zNs\e(B (\e$B$^$?$OJ8;zNs$N%j%9%H\e(B) \e$B$G$J$1$l$P$J$j$^$;$s!#Nc$r<($7$^$7$g$&!#\e(B
+
+@example
+ssh %s imapd
+@end example
+
+\e$BM-8z$J\e(B format \e$B;X<(;R$O0J2<$NDL$j$G$9!#\e(B
+
+@table @samp
+@item s
+\e$B%5!<%P!<$NL>A0!#\e(B
+
+@item l
+`imap-default-user' \e$B$G@_Dj$5$l$?%f!<%6L>!#\e(B
+
+@item p
+\e$B%5!<%P!<$N%]!<%HHV9f!#\e(B
+@end table
+
+\e$B$3$l$i$N;XDj$K;H$o$l$kCM$O!"BP1~$9$k%-!<%o!<%I$KM?$($?CM$+$i<h$C$F$-$^$9!#\e(B
+
@item :mailbox
\e$B%a!<%k$r<hF@$9$k%a!<%k%\%C%/%9$NL>A0!#=i4|CM$O\e(B @samp{INBOX} \e$B$G!"$3$l$OIa\e(B
\e$BDL$OF~$C$F$/$k%a!<%k$r<u$1<h$k%a!<%k%\%C%/%9$G$9!#\e(B
prompted.
@item :program
-The program to use to fetch mail from the POP server. This is should be
+The program to use to fetch mail from the POP server. This should be
a @code{format}-like string. Here's an example:
@example
means @samp{kerberos4}, @samp{cram-md5}, @samp{anonymous} or the default
@samp{login}.
+@item :program
+When using the `shell' :stream, the contents of this variable is
+mapped into the `imap-shell-program' variable. This should be a
+@code{format}-like string (or list of strings). Here's an example:
+
+@example
+ssh %s imapd
+@end example
+
+The valid format specifier characters are:
+
+@table @samp
+@item s
+The name of the server.
+
+@item l
+User name from `imap-default-user'.
+
+@item p
+The port number of the server.
+@end table
+
+The values used for these specs are taken from the values you give the
+corresponding keywords.
+
@item :mailbox
The name of the mailbox to get mail from. The default is @samp{INBOX}
which normally is the mailbox which receive incoming mail.