+2001-08-31 Sam Steingold <sds@gnu.org>
+
+ * imap.el (imap-mailbox-examine, imap-mailbox-examine-1): Fix a
+ typo: `exmine' --> `examine'.
+
2001-08-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
* earcon.el (earcon-auto-play): Remove unused option.
(gnus-output-to-mail): Ditto.
* nnmail.el (nnmail-pathname-coding-system): Set default to nil.
-
+
2001-08-07 Gerd Moellmann <gerd@gnu.org>
* mm-uu.el (mm-uu-dissect, mm-uu-test): Fix autoload cookies.
2001-08-01 Gerd Moellmann <gerd@gnu.org>
- * mm-view.el (autoload): Don't autoload `diff-mode' if it's
- already fboundp. Add INTERACTIVE arg to autoload form.
+ * mm-view.el (autoload): Don't autoload `diff-mode' if it's
+ already fboundp. Add INTERACTIVE arg to autoload form.
2001-08-01 ShengHuo ZHU <zsh@cs.rochester.edu>
(message-forward-subject-author-subject): Use it.
(message-make-forward-subject): Use it.
(message-forward): Use it.
-
+
* gnus-uu.el (gnus-uu-digest-mail-forward): Use it.
2001-03-05 Dave Love <fx@gnu.org>
argument. Allow to print several articles in one file.
* webmail.el (webmail-type-definition): netaddress changes.
-
+
2001-01-31 Dave Love <fx@gnu.org>
* mm-util.el (mm-mime-mule-charset-alist)
* gnus-vm.el (gnus-summary-save-article-vm): Require gnus-art
before binding gnus-default-article-saver.
- * gnus-sum.el (gnus-summary-save-article):
- (gnus-summary-pipe-output):
- (gnus-summary-save-article-mail):
- (gnus-summary-save-article-rmail):
- (gnus-summary-save-article-file):
- (gnus-summary-write-article-file):
+ * gnus-sum.el (gnus-summary-save-article):
+ (gnus-summary-pipe-output):
+ (gnus-summary-save-article-mail):
+ (gnus-summary-save-article-rmail):
+ (gnus-summary-save-article-file):
+ (gnus-summary-write-article-file):
(gnus-summary-save-article-body-file): Ditto.
* gnus-mh.el (gnus-summary-save-article-folder): Ditto.
* mml.el (gnus-ems): Require it.
* gnus-msg.el (gnus-summary-mail-forward):
-
+
* message.el (message-forward): Move mime-to-mml here.
* nnmbox.el (nnmbox-file-coding-system): Use binary.
* gnus-cite.el (gnus-article-hide-citation): Use them.
(gnus-article-toggle-cited-text): Use them.
-
+
* gnus-art.el (gnus-signature-toggle): Use them.
(gnus-article-show-hidden-text): Ditto.
(gnus-article-hide-text): Ditto.
* smiley-ems.el (smiley-regexp-alist): Make regexps match
at the end of the buffer.
(smiley-region): In the loop, move to the end of the submatch
- matching the smiley instead of using the end of the match
+ matching the smiley instead of using the end of the match
of the whole regexp.
2000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
2000-12-12 Gerd Moellmann <gerd@gnu.org>
* smiley-ems.el (smiley-region): Doc fix.
-
+
2000-12-11 Miles Bader <miles@gnu.org>
* gnus-sum.el (gnus-summary-recenter): When trying to keep the
* gnus-art.el (gnus-mime-button-map): Don't inherit from
gnus-article-mode-map.
(gnus-mime-button-menu): Use mouse-set-point.
- (gnus-insert-mime-button, gnus-mime-display-alternative)
+ (gnus-insert-mime-button, gnus-mime-display-alternative)
(gnus-mime-display-alternative): Don't use local-map property.
2000-11-17 Katsumi Yamaoka <yamaoka@jpl.org>
2000-11-10 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
* gnus-mlspl.el: Documentation tweaks.
-
+
2000-11-10 Dave Love <fx@gnu.org>
* gnus-agent.el (gnus-agent-confirmation-function): Add :version.
* gnus-start.el (gnus-read-newsrc-file): Add :version.
- * gnus-art.el (gnus-article-banner-alist)
- (gnus-emphasize-whitespace-regexp, gnus-ignored-mime-types)
- (gnus-article-date-lapsed-new-header)
- (gnus-article-mime-match-handle-function, gnus-mime-action-alist)
- (gnus-treat-strip-list-identifiers, gnus-treat-date-iso8601)
- (gnus-treat-strip-headers-in-body)
- (gnus-treat-capitalize-sentences, gnus-treat-play-sounds)
+ * gnus-art.el (gnus-article-banner-alist)
+ (gnus-emphasize-whitespace-regexp, gnus-ignored-mime-types)
+ (gnus-article-date-lapsed-new-header)
+ (gnus-article-mime-match-handle-function, gnus-mime-action-alist)
+ (gnus-treat-strip-list-identifiers, gnus-treat-date-iso8601)
+ (gnus-treat-strip-headers-in-body)
+ (gnus-treat-capitalize-sentences, gnus-treat-play-sounds)
(gnus-treat-translate): Add :version.
(gnus-article-mime-part-function): Fix defcustom.
- * nnmail.el (nnmail-expiry-target)
- (nnmail-scan-directory-mail-source-once, nnmail-extra-headers)
+ * nnmail.el (nnmail-expiry-target)
+ (nnmail-scan-directory-mail-source-once, nnmail-extra-headers)
(nnmail-split-header-length-limit): Add :version.
- * gnus-sum.el (gnus-auto-expirable-marks)
- (gnus-inhibit-user-auto-expire, gnus-list-identifiers)
- (gnus-extra-headers, gnus-ignored-from-addresses)
- (gnus-newsgroup-ignored-charsets)
- (gnus-group-highlight-words-alist)
+ * gnus-sum.el (gnus-auto-expirable-marks)
+ (gnus-inhibit-user-auto-expire, gnus-list-identifiers)
+ (gnus-extra-headers, gnus-ignored-from-addresses)
+ (gnus-newsgroup-ignored-charsets)
+ (gnus-group-highlight-words-alist)
(gnus-summary-show-article-charset-alist): Add :version.
* catchup.pbm, describe-group.pbm, exit-gnus.pbm, get-news.pbm:
* message.el (message-mode) <adaptive-fill-regexp>:
<adaptive-fill-first-line-regexp>: Use [:alnum:] in regexp range.
(message-newline-and-reformat): Likewise.
- (message-forward-as-mime, message-forward-ignored-headers)
- (message-buffer-naming-style, message-default-charset)
+ (message-forward-as-mime, message-forward-ignored-headers)
+ (message-buffer-naming-style, message-default-charset)
(message-dont-reply-to-names, message-send-mail-partially-limit):
Add :version.
2000-11-09 Dave Love <fx@gnu.org>
- * gnus-group.el (gnus-group-make-directory-group)
+ * gnus-group.el (gnus-group-make-directory-group)
(gnus-group-fetch-faq): Use expand-file-name.
(gnus-group-fetch-faq): Simplify completing-read form.
(gnus-tm-lisp-directory): Deleted.
(gnus-use-installed-mailcrypt, gnus-emacs-lisp-directory): Use
(featurep 'xemacs).
- (gnus-gnus-lisp-directory, gnus-mailcrypt-lisp-directory)
+ (gnus-gnus-lisp-directory, gnus-mailcrypt-lisp-directory)
(gnus-mailcrypt-lisp-directory, gnus-bbdb-lisp-directory): Remove
version numbers from file names.
2000-11-08 Lars Magne Ingebrigtsen <larsi@gnus.org>
* nnweb.el (nnweb-decode-entities): Work for non-character
- entities.
+ entities.
* gnus-start.el (gnus-read-active-file, gnus-activate-group):
Issue message on quit.
2000-11-08 ShengHuo ZHU <zsh@cs.rochester.edu>
* gnus-start.el: Remove gnus-xemacs.
-
+
* nndoc.el (nndoc-dissect-mime-parts-sub): Correctly mark body-begin.
* gnus-score.el (gnus-score-body): Don't score body when
(gnus-all-score-files): Use it.
(gnus-score-find-bnews): Use directory-sep-char.
- * nnweb.el (nnweb-url-retrieve-asynch): url-retrieve is
+ * nnweb.el (nnweb-url-retrieve-asynch): url-retrieve is
asynchronous in Exp version.
2000-11-08 Dave Love <fx@gnu.org>
(turn-on-gnus-mailing-list-mode, gnus-mailing-list-mode): Autoload.
* gnus-logic.el (gnus-advanced-string): Use "" if nil.
-
+
2000-11-03 Stefan Monnier <monnier@cs.yale.edu>
* message.el (message-font-lock-keywords): Match a final newline
(gnus-treatment-function-alist): Added entry for the above
correlation.
-2000-10-27 Richard M. Alderson III <alderson@netcom2.netcom.com>
+2000-10-27 Richard M. Alderson III <alderson@netcom2.netcom.com>
* gnus-art.el (gnus-read-save-file-name): expand-file-name.
(imap-login-p): Support LOGINDISABLED.
(imap-parse-body): Work around bug in Sun SIMS.
- * gnus-agent.el (gnus-agent-possibly-do-gcc):
- (gnus-agent-restore-gcc):
+ * gnus-agent.el (gnus-agent-possibly-do-gcc):
+ (gnus-agent-restore-gcc):
(gnus-agent-possibly-save-gcc): New functions.
Asks the user to synch flags with server when you plug in.
gnus-overlay-start.
* gnus.el (gnus-agent-fetching): New variable.
* gnus-agent.el (gnus-agent-with-fetch): Bind it.
-
+
* gnus-agent.el (gnus-agent-fetch-session): Catch quit.
(gnus-agent-fetch-group-1): Score-param could be nil.
(gnus-agent-any-covered-gcc): New function.
webmail-hotmail-list): Update.
(webmail-my-deja-*): Rewrite.
- * gnus-sum.el (gnus-refer-article-methods): The second could be
+ * gnus-sum.el (gnus-refer-article-methods): The second could be
a named method.
(gnus-cache-write-active): Auto load.
(gnus-summary-display-article): Enable multibyte.
* nnkiboze.el (nnkiboze-generate-group): Use it. Inhibit list groups.
(nnkiboze-enter-nov): Fix it when there is no xref.
- (nnkiboze-generate-groups): List groups.
+ (nnkiboze-generate-groups): List groups.
(nnkiboze-request-article): Use
gnus-cache-request-article.
- * gnus-group.el (gnus-group-make-kiboze-group): Use
+ * gnus-group.el (gnus-group-make-kiboze-group): Use
nnkiboze-score-file.
(gnus-group-make-kiboze-group): Fix prompt.
* message.el (message-make-in-reply-to): In-Reply-To is message-id
(see DRUMS).
-
+
2000-10-27 Simon Josefsson <simon@josefsson.org>
* message.el (message-send): Make sure error is signalled if no
of the `gnus-xemacs' variable, as the latter has been removed.
* gnus-start.el (gnus-1, gnus-read-descriptions-file): Likewise.
* gnus-art.el (gnus-treat-display-xface)
- (gnus-treat-display-smileys, gnus-treat-display-picons)
+ (gnus-treat-display-smileys, gnus-treat-display-picons)
(gnus-article-read-summary-keys): Likewise.
2000-10-26 Dave Love <fx@gnu.org>
* gnus-audio.el: Don't require cl.
(gnus-audio): New custom group.
(gnus-audio-inline-sound): Change to work with Emacs.
- (gnus-audio-directory, gnus-audio-directory)
+ (gnus-audio-directory, gnus-audio-directory)
(gnus-audio-au-player): Customize.
(gnus-audio-play): Try external player if play-sound-file fails.
Use file-name-extension, not string-match.
smiley-toggle-extent-ems, smiley-toggle-extents-ems,
smiley-toggle-buffer-ems): New functions for Emacs 21. Toggle
functions are not implemented yet.
-
- * dgnushack.el (dgnushack-compile): Remove smiley.el and
+
+ * dgnushack.el (dgnushack-compile): Remove smiley.el and
x-overlay.el from the FSF Emacs black list.
2000-09-15 ShengHuo ZHU <zsh@cs.rochester.edu>
* mm-decode.el (mm-inlined-types): Add application/emacs-lisp.
(mm-inline-media-tests): Ditto.
(mm-automatic-display): Ditto.
- * mm-view.el (mm-display-inline-fontify): Generalize from
- mm-display-patch-inline.
+ * mm-view.el (mm-display-inline-fontify): Generalize from
+ mm-display-patch-inline.
(mm-display-patch-inline): Use it.
(mm-display-elisp-inline): Ditto.
-
+
2000-09-15 ShengHuo ZHU <zsh@cs.rochester.edu>
* gnus-topic.el (gnus-topic-find-groups): Add recursive parameter.
* gnus-group.el (gnus-group-rename-group): Inhibit renaming of
zombie or killed groups.
-
+
2000-09-15 ShengHuo ZHU <zsh@cs.rochester.edu>
- * mml.el (mml-preview): Reinsert unibyte content.
+ * mml.el (mml-preview): Reinsert unibyte content.
(mml-parse-1): Remove with-unibyte-current-buffer.
(mml-generate-mime-1): Ditto.
* gnus-msg.el (gnus-summary-mail-forward): Ditto.
2000-09-14 Dave Love <fx@gnu.org>
- * gnus.el (gnus-charset):
+ * gnus.el (gnus-charset):
* mm-decode.el (mime-display):
* imap.el (imap) <defgroup>: Add :version.
`format'.
(mm-content-transfer-encoding): Don't use cadar.
- * uudecode.el (uudecode-decoder-program)
+ * uudecode.el (uudecode-decoder-program)
(uudecode-decoder-switches): Customize.
* gnus-score.el (gnus-home-score-file): Improve custom type.
coding-system-for-write.
* nnmail.el (nnmail-get-new-mail): Don't test nnmail-spool-file.
-
+
* gnus-cache.el (gnus-jog-cache): Temporarily disable mail-sources.
* gnus-kill.el (gnus-batch-score): Ditto.
* gnus-move.el (gnus-change-server): Ditto.
* nnimap.el (nnimap-before-find-minmax-bugworkaround): New
function, thanks to Lloyd Zusman for debugging.
- (nnimap-request-group):
- (nnimap-request-list):
- (nnimap-retrieve-groups):
+ (nnimap-request-group):
+ (nnimap-request-list):
+ (nnimap-retrieve-groups):
(nnimap-request-newgroups): Use it.
* nnimap.el (nnimap-request-article-part): Less verbose.
* nnheader.el (nnheader-replace-chars-in-string): Use
subst-char-in-string if available.
- * gnus-art.el (gnus-read-save-file-name, gnus-plain-save-name)
+ * gnus-art.el (gnus-read-save-file-name, gnus-plain-save-name)
(gnus-request-article-this-buffer): Use expand-file-name.
(gnus-mime-view-part-as-type): Simplify interactive spec.
(gnus-mime-button-map): Define it all in defvar.
2000-08-14 Rod Whitby <list.ding@rwhitby.net>
* gnus-sum.el (gnus-summary-expire-articles): Fix the handling of
- expiry-target group parameters.
+ expiry-target group parameters.
2000-08-13 Lars Magne Ingebrigtsen <larsi@gnus.org>
2000-08-12 John H. Palmieri <palmieri@math.washington.edu>
* mail-source.el (mail-source-incoming-file-prefix): New
- variable.
+ variable.
2000-08-12 Lars Magne Ingebrigtsen <larsi@gnus.org>
2000-08-11 Florian Weimer <fw@deneb.enyo.de>
- * message.el (message-syntax-checks): New check quotin-style:
+ * message.el (message-syntax-checks): New check quotin-style:
Text must be written below quoted text.
(message-check-news-body-syntax): Check it.
list of unexpired articles.
* gnus-group.el (gnus-group-expire-articles-1): Return the list of
- un-expired articles.
+ un-expired articles.
* gnus-sum.el (gnus-summary-reparent-thread): Narrow to the
- headers.
+ headers.
* gnus-topic.el (gnus-topic-kill-group): Move up one line so that
- we update the right topic..
+ we update the right topic..
- * mm-decode.el (mm-display-external): Put point at start.
+ * mm-decode.el (mm-display-external): Put point at start.
2000-08-10 Kai Gro\e,A_\e(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
2000-08-07 ShengHuo ZHU <zsh@cs.rochester.edu>
- * gnus-group.el (gnus-group-iterate): Uncompiled function should
+ * gnus-group.el (gnus-group-iterate): Uncompiled function should
not use pop.
2000-07-19 Dave Love <fx@gnu.org>
* gnus-cus.el (gnus-group-parameters, banner): Type is regexp.
- * imap.el (imap):
- (imap-kerberos4-program):
- (imap-gssapi-program):
+ * imap.el (imap):
+ (imap-kerberos4-program):
+ (imap-gssapi-program):
(imap-ssl-program): Customization.
- (imap-shell-program):
+ (imap-shell-program):
(imap-shell-host): New variables.
- (imap-streams):
+ (imap-streams):
(imap-stream-alist): Add shell.
- (imap-shell-p):
+ (imap-shell-p):
(imap-shell-open): New functions.
(imap-open): Don't call authenticator if preauth.
(imap-authenticate): Return t if already authenticated.
2000-07-14 ShengHuo ZHU <zsh@cs.rochester.edu>
- * gnus-agent.el (gnus-agent-fetch-group-1): mark-below,
+ * gnus-agent.el (gnus-agent-fetch-group-1): mark-below,
expunge-below and orphan-score are "group variables".
2000-07-13 Simon Josefsson <jas@pdc.kth.se>
2000-07-11 ShengHuo ZHU <zsh@cs.rochester.edu>
* nnslashdot.el (nnslashdot-threaded-retrieve-headers): Save point.
- * webmail.el (webmail-fetch): Bind
+ * webmail.el (webmail-fetch): Bind
url-http-silence-on-insecure-redirection.
2000-07-10 ShengHuo ZHU <zsh@cs.rochester.edu>
2000-07-10 William M. Perry <wmperry@aventail.com>
- * mailcap.el (mailcap-parse-mimetype-file):
+ * mailcap.el (mailcap-parse-mimetype-file):
2000-07-08 ShengHuo ZHU <zsh@cs.rochester.edu>
2000-07-03 Julien Gilles <julien.gilles@bcv01y01.vz.cit.alcatel.fr>
- * gnus-ml.el: New file.
+ * gnus-ml.el: New file.
2000-07-02 Lars Magne Ingebrigtsen <larsi@gnus.org>
* nnultimate.el (nnultimate-request-close): New function.
- * gnus-start.el (gnus-clear-system): Clear nnmail-split-history.
+ * gnus-start.el (gnus-clear-system): Clear nnmail-split-history.
2000-07-02 Lars Magne Ingebrigtsen <lmi@quimbies.gnus.org>
2000-06-26 Dave Love <fx@gnu.org>
- * mm-decode.el (mm-image-fit-p): Use `image-size' in Emacs.
+ * mm-decode.el (mm-image-fit-p): Use `image-size' in Emacs.
* message.el: Remove unnecessary `require'ments. Defvar
gnus-list-identifiers when compiling. Don't try to autoload
* gnus-start.el (gnus-get-unread-articles): If
`gnus-activate-group' and/or `gnus-check-server' return nil, don't
try to do anything on that server.
-
+
2000-05-25 Simon Josefsson <jas@pdc.kth.se>
* gnus-group.el (gnus-group-nnimap-edit-acl): Help text updated
;;
;; Mailbox commands:
;;
-;; imap-mailbox-get, imap-mailbox-map, imap-current-mailbox,
+;; imap-mailbox-get, imap-mailbox-map, imap-current-mailbox,
;; imap-current-mailbox-p, imap-search, imap-mailbox-select,
;; imap-mailbox-examine, imap-mailbox-unselect, imap-mailbox-expunge
;; imap-mailbox-close, imap-mailbox-create, imap-mailbox-delete
;; imap-fetch-asynch, imap-fetch,
;; imap-current-message, imap-list-to-message-set,
;; imap-message-get, imap-message-map
-;; imap-message-envelope-date, imap-message-envelope-subject,
+;; imap-message-envelope-date, imap-message-envelope-subject,
;; imap-message-envelope-from, imap-message-envelope-sender,
;; imap-message-envelope-reply-to, imap-message-envelope-to,
;; imap-message-envelope-cc, imap-message-envelope-bcc
;; => "X-Sieve: cmu-sieve 1.3^M\nX-Username: <jas@pdc.kth.se>^M\r...."
;;
;; Todo:
-;;
+;;
;; o Parse UIDs as strings? We need to overcome the 28 bit limit somehow.
;; o Don't use `read' at all (important places already fixed)
;; o Accept list of articles instead of message set string in most
server support the stream and OPEN is a function for opening the
stream.")
-(defvar imap-authenticators '(gssapi
+(defvar imap-authenticators '(gssapi
kerberos4
digest-md5
cram-md5
anonymous)
"Priority of authenticators to consider when authenticating to server.")
-(defvar imap-authenticator-alist
+(defvar imap-authenticator-alist
'((gssapi imap-gssapi-auth-p imap-gssapi-auth)
(kerberos4 imap-kerberos4-auth-p imap-kerberos4-auth)
(cram-md5 imap-cram-md5-p imap-cram-md5-auth)
(defvar imap-username nil)
(defvar imap-password nil)
(defvar imap-calculate-literal-size-first nil)
-(defvar imap-state 'closed
+(defvar imap-state 'closed
"IMAP state.
Valid states are `closed', `initial', `nonauth', `auth', `selected'
and `examine'.")
(defvar imap-reached-tag 0
"Lower limit on command tags that have been parsed.")
-(defvar imap-failed-tags nil
+(defvar imap-failed-tags nil
"Alist of tags that failed.
Each element is a list with four elements; tag (a integer), response
state (a symbol, `OK', `NO' or `BAD'), response code (a string), and
(and string
(condition-case ()
(utf7-encode string t)
- (error (message
+ (error (message
"imap: Could not UTF7 encode `%s', using it unencoded..."
string)
string)))
(let* ((port (or port imap-default-port))
(coding-system-for-read imap-coding-system-for-read)
(coding-system-for-write imap-coding-system-for-write)
- (process (start-process
+ (process (start-process
name buffer shell-file-name shell-command-switch
(format-spec
cmd
(delete-process process)
nil)))))
done))
-
+
(defun imap-gssapi-stream-p (buffer)
(imap-capability 'AUTH=GSSAPI buffer))
(let* ((port (or port imap-default-port))
(coding-system-for-read imap-coding-system-for-read)
(coding-system-for-write imap-coding-system-for-write)
- (process (start-process
+ (process (start-process
name buffer shell-file-name shell-command-switch
(format-spec
cmd
(let* ((port (or port imap-default-port))
(coding-system-for-read imap-coding-system-for-read)
(coding-system-for-write imap-coding-system-for-write)
- (process (start-process
+ (process (start-process
name buffer shell-file-name shell-command-switch
(format-spec
cmd
done)
(message "imap: Connecting with STARTTLS...failed")
nil)))
-
+
;; Server functions; authenticator stuff:
(defun imap-interactive-login (buffer loginfunc)
;; (condition-case ()
(while (or (not user) (not passwd))
(setq user (or imap-username
- (read-from-minibuffer
+ (read-from-minibuffer
(concat "IMAP username for " imap-server ": ")
(or user imap-default-user))))
(setq passwd (or imap-password
(imap-read-passwd
- (concat "IMAP password for " user "@"
+ (concat "IMAP password for " user "@"
imap-server ": "))))
(when (and user passwd)
(if (funcall loginfunc user passwd)
(if done
(message "imap: Authenticating using CRAM-MD5...done")
(message "imap: Authenticating using CRAM-MD5...failed"))))
-
-
+
+
(defun imap-login-p (buffer)
(and (not (imap-capability 'LOGINDISABLED buffer))
(defun imap-login-auth (buffer)
"Login to server using the LOGIN command."
(message "imap: Plaintext authentication...")
- (imap-interactive-login buffer
+ (imap-interactive-login buffer
(lambda (user passwd)
- (imap-ok-p (imap-send-command-wait
- (concat "LOGIN \"" user "\" \""
+ (imap-ok-p (imap-send-command-wait
+ (concat "LOGIN \"" user "\" \""
passwd "\""))))))
(defun imap-anonymous-p (buffer)
(message "imap: Loging in anonymously...")
(with-current-buffer buffer
(imap-ok-p (imap-send-command-wait
- (concat "LOGIN anonymous \"" (concat (user-login-name) "@"
+ (concat "LOGIN anonymous \"" (concat (user-login-name) "@"
(system-name)) "\"")))))
(defun imap-digest-md5-p (buffer)
(imap-interactive-login
buffer
(lambda (user passwd)
- (let ((tag
+ (let ((tag
(imap-send-command
(list
"AUTHENTICATE DIGEST-MD5"
(digest-md5-parse-digest-challenge
(base64-decode-string challenge))
(let* ((digest-uri
- (digest-md5-digest-uri
+ (digest-md5-digest-uri
"imap" (digest-md5-challenge 'realm)))
(response
- (digest-md5-digest-response
+ (digest-md5-digest-response
user passwd digest-uri)))
(base64-encode-string response 'no-line-break))))
)))
imap-current-message nil
imap-state 'initial
imap-process (condition-case ()
- (funcall (nth 2 (assq imap-stream
+ (funcall (nth 2 (assq imap-stream
imap-stream-alist))
"imap" buffer imap-server imap-port)
((error quit) nil)))
(let ((streams imap-streams))
(while (setq stream (pop streams))
(if (funcall (nth 1 (assq stream imap-stream-alist)) buffer)
- (setq stream-changed (not (eq (or imap-stream
+ (setq stream-changed (not (eq (or imap-stream
imap-default-stream)
stream))
imap-stream stream
(if (imap-open-1 buffer)
(message "imap: Reconnecting with stream `%s'...done"
imap-stream)
- (message "imap: Reconnecting with stream `%s'...failed"
+ (message "imap: Reconnecting with stream `%s'...failed"
imap-stream))
(setq imap-capability nil))
(if (imap-opened buffer)
(when (and (null imap-auth) (not (eq imap-state 'auth)))
(let ((auths imap-authenticators))
(while (setq auth (pop auths))
- (if (funcall (nth 1 (assq auth imap-authenticator-alist))
+ (if (funcall (nth 1 (assq auth imap-authenticator-alist))
buffer)
(setq imap-auth auth
auths nil)))
(defun imap-mailbox-map-1 (func &optional mailbox-decoder buffer)
(with-current-buffer (or buffer (current-buffer))
(let (result)
- (mapatoms
+ (mapatoms
(lambda (s)
(push (funcall func (if mailbox-decoder
(funcall mailbox-decoder (symbol-name s))
imap-current-mailbox
(setq imap-current-mailbox mailbox)
(if (imap-ok-p (imap-send-command-wait
- (concat (if examine "EXAMINE" "SELECT") " \""
+ (concat (if examine "EXAMINE" "SELECT") " \""
mailbox "\"")))
(progn
(setq imap-message-data (make-vector imap-message-prime 0)
;; Failed SELECT/EXAMINE unselects current mailbox
(setq imap-current-mailbox nil))))
-(defun imap-mailbox-select (mailbox &optional examine buffer)
+(defun imap-mailbox-select (mailbox &optional examine buffer)
(with-current-buffer (or buffer (current-buffer))
- (imap-utf7-decode
+ (imap-utf7-decode
(imap-mailbox-select-1 (imap-utf7-encode mailbox) examine))))
(defun imap-mailbox-examine-1 (mailbox &optional buffer)
(with-current-buffer (or buffer (current-buffer))
- (imap-mailbox-select-1 mailbox 'exmine)))
+ (imap-mailbox-select-1 mailbox 'examine)))
(defun imap-mailbox-examine (mailbox &optional buffer)
"Examine MAILBOX on server in BUFFER."
- (imap-mailbox-select mailbox 'exmine buffer))
+ (imap-mailbox-select mailbox 'examine buffer))
(defun imap-mailbox-unselect (&optional buffer)
"Close current folder in BUFFER, without expunging articles."
(when (or (eq imap-state 'auth)
(and (imap-capability 'UNSELECT)
(imap-ok-p (imap-send-command-wait "UNSELECT")))
- (and (imap-ok-p
+ (and (imap-ok-p
(imap-send-command-wait (concat "EXAMINE \""
imap-current-mailbox
"\"")))
(imap-send-command-wait (list "RENAME \"" oldname "\" "
"\"" newname "\""))))))
-(defun imap-mailbox-lsub (&optional root reference add-delimiter buffer)
+(defun imap-mailbox-lsub (&optional root reference add-delimiter buffer)
"Return a list of subscribed mailboxes on server in BUFFER.
If ROOT is non-nil, only list matching mailboxes. If ADD-DELIMITER is
non-nil, a hierarchy delimiter is added to root. REFERENCE is a
(imap-mailbox-map-1 (lambda (mailbox)
(imap-mailbox-put 'lsub nil mailbox)))
(when (imap-ok-p
- (imap-send-command-wait
+ (imap-send-command-wait
(concat "LSUB \"" reference "\" \"" (imap-utf7-encode root)
(and add-delimiter (imap-mailbox-get-1 'delimiter root))
"%\"")))
(imap-mailbox-map-1 (lambda (mailbox)
(imap-mailbox-put 'list nil mailbox)))
(when (imap-ok-p
- (imap-send-command-wait
+ (imap-send-command-wait
(concat "LIST \"" reference "\" \"" (imap-utf7-encode root)
(and add-delimiter (imap-mailbox-get-1 'delimiter root))
"%\"")))
"Send the SUBSCRIBE command on the mailbox to server in BUFFER.
Returns non-nil if successful."
(with-current-buffer (or buffer (current-buffer))
- (imap-ok-p (imap-send-command-wait (concat "SUBSCRIBE \""
+ (imap-ok-p (imap-send-command-wait (concat "SUBSCRIBE \""
(imap-utf7-encode mailbox)
"\"")))))
"Send the SUBSCRIBE command on the mailbox to server in BUFFER.
Returns non-nil if successful."
(with-current-buffer (or buffer (current-buffer))
- (imap-ok-p (imap-send-command-wait (concat "UNSUBSCRIBE "
+ (imap-ok-p (imap-send-command-wait (concat "UNSUBSCRIBE "
(imap-utf7-encode mailbox)
"\"")))))
or 'unseen. If ITEMS is a list of symbols, a list of values is
returned, if ITEMS is a symbol only it's value is returned."
(with-current-buffer (or buffer (current-buffer))
- (when (imap-ok-p
+ (when (imap-ok-p
(imap-send-command-wait (list "STATUS \""
(imap-utf7-encode mailbox)
"\" "
(format "%s"
(if (listp items)
- items
+ items
(list items))))))
(if (listp items)
(mapcar (lambda (item)
UIDS can be a string, number or a list of numbers. If RECEIVE
is non-nil return theese properties."
(with-current-buffer (or buffer (current-buffer))
- (when (imap-ok-p (imap-send-command-wait
+ (when (imap-ok-p (imap-send-command-wait
(format "%sFETCH %s %s" (if nouidfetch "" "UID ")
(if (listp uids)
(imap-list-to-message-set uids)
(imap-message-get uid receive)))
uids)
(imap-message-get uids receive))))))
-
+
(defun imap-message-put (uid propname value &optional buffer)
(with-current-buffer (or buffer (current-buffer))
(if imap-message-data
(imap-ok-p (imap-send-command-wait cmd)))))
(or no-copyuid
(imap-message-copyuid-1 mailbox)))))))
-
+
(defun imap-message-appenduid-1 (mailbox)
(if (imap-capability 'UIDPLUS)
(imap-mailbox-get-1 'appenduid mailbox)
(let ((mailbox (imap-utf7-encode mailbox)))
(with-current-buffer (or buffer (current-buffer))
(and (let ((imap-current-target-mailbox mailbox))
- (imap-ok-p
- (imap-send-command-wait
+ (imap-ok-p
+ (imap-send-command-wait
(list "APPEND \"" mailbox "\" " article))))
(imap-message-appenduid-1 mailbox)))))
-
+
(defun imap-body-lines (body)
"Return number of lines in article by looking at the mime bodystructure BODY."
(if (listp body)
(and from
(concat (aref from 0)
(if (aref from 0) " <")
- (aref from 2)
- "@"
+ (aref from 2)
+ "@"
(aref from 3)
(if (aref from 0) ">"))))
(replace-match eol)))
(if (not calcfirst)
(setq size (buffer-size))))
- (setq cmdstr
+ (setq cmdstr
(concat cmdstr (format "{%d}" size))))
(unwind-protect
(progn
(eq imap-state 'examine))
(imap-parse-response))
(t
- (message "Unknown state %s in arrival filter"
+ (message "Unknown state %s in arrival filter"
imap-state)))
(delete-region (point-min) (point-max))))))))
(defsubst imap-parse-astring ()
(or (imap-parse-string)
- (buffer-substring (point)
+ (buffer-substring (point)
(if (re-search-forward "[(){ \r\n%*\"\\]" nil t)
(goto-char (1- (match-end 0)))
(end-of-line)
(FLAGS (imap-mailbox-put 'flags (imap-parse-flag-list)))
(LIST (imap-parse-data-list 'list))
(LSUB (imap-parse-data-list 'lsub))
- (SEARCH (imap-mailbox-put
- 'search
+ (SEARCH (imap-mailbox-put
+ 'search
(read (concat "(" (buffer-substring (point) (point-max)) ")"))))
(STATUS (imap-parse-status))
- (CAPABILITY (setq imap-capability
+ (CAPABILITY (setq imap-capability
(read (concat "(" (upcase (buffer-substring
(point) (point-max)))
")"))))
(search-forward "]")))
(imap-forward))
(setq text (buffer-substring (point) (point-max)))
- (push (list token status code text)
+ (push (list token status code text)
imap-failed-tags))))
(BAD (progn
(setq imap-reached-tag (max imap-reached-tag token))
;; resp-text-code = "ALERT" /
;; "BADCHARSET [SP "(" astring *(SP astring) ")" ] /
-;; "NEWNAME" SP string SP string /
+;; "NEWNAME" SP string SP string /
;; "PARSE" /
-;; "PERMANENTFLAGS" SP "("
+;; "PERMANENTFLAGS" SP "("
;; [flag-perm *(SP flag-perm)] ")" /
-;; "READ-ONLY" /
-;; "READ-WRITE" /
+;; "READ-ONLY" /
+;; "READ-WRITE" /
;; "TRYCREATE" /
-;; "UIDNEXT" SP nz-number /
+;; "UIDNEXT" SP nz-number /
;; "UIDVALIDITY" SP nz-number /
;; "UNSEEN" SP nz-number /
;; resp-text-atom [SP 1*<any TEXT-CHAR except "]">]
;; ; delimits between two numbers inclusive.
;; ; Example: 2,4:7,9,12:* is 2,4,5,6,7,9,12,13,
;; ; 14,15 for a mailbox with 15 messages.
-;;
+;;
;; sequence-num = nz-number / "*"
;; ; * is the largest number in use. For message
;; ; sequence numbers, it is the number of messages
;; "BODY" ["STRUCTURE"] SPACE body /
;; "BODY" section ["<" number ">"] SPACE nstring /
;; "UID" SPACE uniqueid) ")"
-;;
+;;
;; date_time ::= <"> date_day_fixed "-" date_month "-" date_year
;; SPACE time SPACE zone <">
-;;
+;;
;; section ::= "[" [section_text / (nz_number *["." nz_number]
;; ["." (section_text / "MIME")])] "]"
-;;
+;;
;; section_text ::= "HEADER" / "HEADER.FIELDS" [".NOT"]
;; SPACE header_list / "TEXT"
-;;
+;;
;; header_fld_name ::= astring
-;;
+;;
;; header_list ::= "(" 1#header_fld_name ")"
(defsubst imap-parse-header-list ()
(nreverse strlist))))
(defsubst imap-parse-fetch-body-section ()
- (let ((section
+ (let ((section
(buffer-substring (point) (1- (re-search-forward "[] ]" nil t)))))
(if (eq (char-before) ? )
(prog1
(defun imap-parse-fetch (response)
(when (eq (char-after) ?\()
- (let (uid flags envelope internaldate rfc822 rfc822header rfc822text
+ (let (uid flags envelope internaldate rfc822 rfc822header rfc822text
rfc822size body bodydetail bodystructure)
(while (not (eq (char-after) ?\)))
(imap-forward)
;; mailbox-data = ...
;; "STATUS" SP mailbox SP "("
-;; [status-att SP number
+;; [status-att SP number
;; *(SP status-att SP number)] ")"
;; ...
;;
((eq token 'UNSEEN)
(imap-mailbox-put 'unseen (read (current-buffer)) mailbox))
(t
- (message "Unknown status data %s in mailbox %s ignored"
+ (message "Unknown status data %s in mailbox %s ignored"
token mailbox))))))))
;; acl_data ::= "ACL" SPACE mailbox *(SPACE identifier SPACE
(imap-forward)
(push (imap-parse-nstring) body);; body-fld-md5
(setq body (append (imap-parse-body-ext) body)));; body-ext-1part..
-
+
(assert (eq (char-after) ?\)))
(imap-forward)
(nreverse body)))))
(when imap-debug ; (untrace-all)
(require 'trace)
(buffer-disable-undo (get-buffer-create imap-debug))
- (mapcar (lambda (f) (trace-function-background f imap-debug))
+ (mapcar (lambda (f) (trace-function-background f imap-debug))
'(
imap-read-passwd
imap-utf7-encode
imap-parse-body-extension
imap-parse-body
)))
-
+
(provide 'imap)
;;; imap.el ends here