+2001-01-09 Didier Verna <didier@xemacs.org>
+
+ * dgnushack.el (dgnushack-compile): give a dummy value to
+ `gnus-xmas-glyph-directory' for the time of compilation.
+ * gnus-agent.el: moved some XEmacs specific hook add-ons from
+ `gnus-xmas-[re]define' to avoid loosing user custom settings.
+ * gnus-art.el: ditto.
+ * gnus-group.el: ditto.
+ * gnus-salt.el: ditto.
+ * gnus-sum.el: ditto.
+ * gnus-topic.el: ditto.
+ * gnus-xmas.el (gnus-xmas-define): see above.
+ * gnus-xmas.el (gnus-xmas-redefine): see above.
+ * gnus-xmas.el (gnus-xmas-glyph-directory): generate a
+ non-continuable error when the directory can't be found.
+
2001-01-09 01:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
* mm-decode.el (mm-interactively-view-part): Don't copy-sequence
2001-01-08 22:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
- * gnus-xmas.el (gnus-xmas-modeline-glyph):
- (gnus-xmas-group-startup-message):
+ * gnus-xmas.el (gnus-xmas-modeline-glyph):
+ (gnus-xmas-group-startup-message):
Detect gnus-xmas-glyph-directory when it is nil.
2001-01-08 09:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
2001-01-04 11:06:14 Gregory Chernov <greg@visiontech-dml.com>
* nnslashdot.el (nnslashdot-request-list): Always get the right
- sid.
+ sid.
2001-01-05 00:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
2001-01-02 06:28:28 Lars Magne Ingebrigtsen <larsi@gnus.org>
* gnus-sum.el (gnus-summary-expire-articles): Don't save
- excursion.
+ excursion.
* nnslashdot.el (nnslashdot-request-list): Get the right year.
(gnus-summary-setup-buffer): Use it.
* gnus-draft.el: Set things up with the right post method and
- stuff.
+ stuff.
* message.el (message-ignored-news-headers): Remove X-Draft-From.
* mm-uu.el (mm-uu-pgp-signed-extract-1): Unquote "- " quotes.
- * dgnushack.el (dgnushack-compile): Message whether there is w3.
+ * dgnushack.el (dgnushack-compile): Message whether there is w3.
Don't (push "/usr/share/emacs/site-lisp" load-path).
* gnus-cite.el (gnus-article-fill-cited-article): Don't add space
* nnmail.el (nnmail-expiry-wait): Not an integer.
* message.el (message-goto-body): Only expand abbrev when called
- interactively.
+ interactively.
(message-make-lines): Use it.
2000-12-29 20:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
after the fill prefix.
* gnus-sum.el (gnus-summary-make-menu-bar): Removed "Enter
- score...".
+ score...".
* gnus-art.el (gnus-ignored-headers): Hide more headers.
* mm-bodies.el (mm-long-lines-p): New function.
(mm-body-encoding): Use it.
(mm-body-encoding): Encode articles with lines longer than 1000
- characters.
+ characters.
2000-12-29 01:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
* nnheader.el (nnheader-string-as-multibyte): New alias.
- * mm-view.el (mm-inline-text): Warn when bugging out in w3.
+ * mm-view.el (mm-inline-text): Warn when bugging out in w3.
* gnus-uu.el (gnus-message-process-mark): New function.
(gnus-uu-mark-by-regexp): Use it.
2000-11-01 01:12:29 Lars Magne Ingebrigtsen <larsi@gnus.org>
* nnwfm.el (nnwfm-create-mapping): Remove quote marks and
- backslashes.
+ backslashes.
2000-12-26 Katsumi Yamaoka <yamaoka@jpl.org>
* 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.
2000-12-22 10:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
- * gnus-art.el (gnus-mime-security-button-map):
+ * gnus-art.el (gnus-mime-security-button-map):
(gnus-mime-button-map): Add parent.
2000-12-22 09:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
* mm-util.el (mm-image-load-path): New function.
* gnus-group.el (gnus-group-make-tool-bar): Use it.
-
+
* gnus-sum.el (gnus-summary-make-tool-bar): Use it.
-
+
* message.el (message-tool-bar-map): Use it.
* Makefile.in (install-el): New.
* mml.el (gnus-ems): Require it.
* gnus-msg.el (gnus-summary-mail-forward):
-
+
* message.el (message-forward): Move mime-to-mml here.
2000-12-20 02:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
* 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 Dave Love <fx@gnu.org>
* 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.
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>
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.
* mml.el (mml-mode-map): Change mml prefix from `M-m' to `C-c C-m'
to avoid conflict with the standard `back-to-indentation'
- binding.
+ binding.
2000-12-17 10:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
Also do some repair work, if we find articles that are missing the
appropriate X-Gnus-Newsgroup lines in the header. We can usually
reconstruct these from Xref info.
-
+
2000-12-04 18:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
* mail-source.el (mail-source-report-new-mail): Use
(mail-source-check-pop): Ditto.
(mail-source-start-idle-timer): Prevent multiple pop checks
running if the check takes a long time.
-
+
2000-12-04 14:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
* gnus-msg.el (gnus-msg-mail): COMPOSEFUNC should return t if
* 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.
2000-11-29 20:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
* nnfolder.el (nnfolder-request-expire-articles): expiry-target.
-
+
* nnbabyl.el (nnbabyl-request-expire-articles): Ditto.
-
+
* nnmbox.el (nnmbox-request-expire-articles): Ditto.
2000-11-22 Jan Nieuwenhuizen <janneke@gnu.org>
(mml-smime-encrypt-buffer): Use mml-smime-encrypt.
* mml-smime.el (mml-smime-sign): New function.
- (mml-smime-encrypt):
- (mml-smime-sign-query):
- (mml-smime-get-file-cert):
- (mml-smime-get-dns-cert):
+ (mml-smime-encrypt):
+ (mml-smime-sign-query):
+ (mml-smime-get-file-cert):
+ (mml-smime-get-dns-cert):
(mml-smime-encrypt-query): Moved from mml-sec.el.
2000-11-16 Simon Josefsson <sj@extundo.com>
* rfc2231.el (rfc2231-encode-string): Insert semi-colon and
leading space.
- * mm-extern.el (mm-inline-external-body): Report error when no
+ * mm-extern.el (mm-inline-external-body): Report error when no
access-type.
2000-11-12 19:48:30 ShengHuo ZHU <zsh@cs.rochester.edu>
as multipart/mixed.
2000-11-12 David Edmondson <dme@dme.org>
-
+
* message.el (message-cite-prefix-regexp): moved from gnus-cite.el
and replace `.' with `\w' to allow for different syntax tables
(from Vladimir Volovich).
* mml2015.el (mml2015-gpg-verify): Set "OK" security status.
* smime.el (smime-details-buffer): New variable.
- (smime-sign-region):
- (smime-encrypt-region):
- (smime-verify-region):
+ (smime-sign-region):
+ (smime-encrypt-region):
+ (smime-verify-region):
(smime-decrypt-region): Copy OpenSSL output to the buffer.
* mml-smime.el (mml-smime-verify): Support security info.
names. (Report from Nevin Kapur)
2000-11-10 01:23:20 ShengHuo ZHU <zsh@cs.rochester.edu>
-
+
* mm-partial.el (mm-inline-partial): Insert MIME-Version.
2000-11-09 17:02:50 ShengHuo ZHU <zsh@cs.rochester.edu>
2000-11-08 19:58:58 ShengHuo ZHU <zsh@cs.rochester.edu>
- * mml2015.el (mml2015-gpg-decrypt-1):
+ * mml2015.el (mml2015-gpg-decrypt-1):
(mml2015-gpg-verify): buffer-string has no argument in Emacs.
2000-11-08 16:37:02 ShengHuo ZHU <zsh@cs.rochester.edu>
* pop3.el (pop3-munge-message-separator): A message may have an
empty body.
-
+
2000-11-07 18:02:26 ShengHuo ZHU <zsh@cs.rochester.edu>
* mm-uu.el (mm-uu-type-alist): Don't test pgp stuff.
2000-02-02 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
* gnus-mlspl.el: Documentation tweaks.
-
+
2000-11-06 22:06:44 ShengHuo ZHU <zsh@cs.rochester.edu>
- * mm-decode.el (mm-possibly-verify-or-decrypt): Fix.
+ * mm-decode.el (mm-possibly-verify-or-decrypt): Fix.
* gnus-art.el (gnus-article-encrypt-body): Rename and support prefix
argument.
* mm-decode.el (mml-smime-verify): Autoload mml-smime.
Verify S/MIME signature support.
-
+
* mm-decode.el (mm-inline-media-tests): Add
application/{x-,}pkcs7-signature.
(mm-inlined-types): Ditto.
* message.el (message-font-lock-keywords): Match a final newline
to help font-lock's multiline support.
-
+
2000-11-04 09:11:44 ShengHuo ZHU <zsh@cs.rochester.edu>
* nnoo.el (nnoo-set): New function.
* message.el (message-get-reply-headers): Better handling when
Mail-Followup-To is very large.
-
+
2000-11-02 13:27:56 ShengHuo ZHU <zsh@cs.rochester.edu>
- * gnus-uu.el (gnus-uu-post-news): Comment out the redundancy.
- * gnus-art.el (gnus-article-edit-done):
- * gnus-sum.el (gnus-summary-edit-article-done): Move line
+ * gnus-uu.el (gnus-uu-post-news): Comment out the redundancy.
+ * gnus-art.el (gnus-article-edit-done):
+ * gnus-sum.el (gnus-summary-edit-article-done): Move line
counting code here.
* gnus-msg.el (gnus-setup-message): Remove a hack.
2000-11-02 09:33:01 ShengHuo ZHU <zsh@cs.rochester.edu>
* gnus-sum.el (gnus-newsgroup-variables): New variable.
- (gnus-summary-mode): Make them local variables.
+ (gnus-summary-mode): Make them local variables.
(gnus-set-global-variables): Globalize them.
(gnus-summary-exit): Kill them.
2000-11-01 01:12:29 Lars Magne Ingebrigtsen <larsi@gnus.org>
- * nnultimate.el (nnultimate-create-mapping): Use nreverse.
+ * nnultimate.el (nnultimate-create-mapping): Use nreverse.
2000-10-31 23:45:31 Lars Magne Ingebrigtsen <larsi@gnus.org>
2000-10-16 11:36:52 Lars Magne Ingebrigtsen <larsi@gnus.org>
* nnultimate.el (nnultimate-forum-table-p): Be a bit more
- restrictive.
+ restrictive.
(nnultimate-table-regexp): New variable.
(nnultimate-forum-table-p): Use it.
(gnus-request-accept-article): Ditto.
* mml.el (mml-preview): Use them.
* gnus-sum.el (gnus-summary-edit-article): Use them.
-
+
* message.el (message-options-get): New function.
(message-options-get): New function.
* rfc2047.el (rfc2047-encode-message-header): Use them.
2000-10-28 Simon Josefsson <sj@extundo.com>
- * nnimap.el (nnimap-retrieve-which-headers):
+ * nnimap.el (nnimap-retrieve-which-headers):
(nnimap-request-article-part): Quote message-id.
* smime.el (smime-CA-directory): Rename from `smime-CAs'.
(file-newer-than-file-p file elc))
(delete-file elc)))
- (let (;;(byte-compile-generate-call-tree t)
- (files dgnushack-exporting-files)
+ (let ((files dgnushack-exporting-files)
+ ;;(byte-compile-generate-call-tree t)
file elc)
+ ;; Avoid barfing (from gnus-xmas) because the etc directory is not yet
+ ;; installed.
+ (when (featurep 'xemacs)
+ (setq gnus-xmas-glyph-directory "dummy"))
(while (setq file (pop files))
(setq file (expand-file-name file srcdir))
(when (or (not (file-exists-p
:group 'gnus-agent
:type 'hook)
+;; Extracted from gnus-xmas-redefine in order to preserve user settings
+(when (featurep 'xemacs)
+ (add-hook 'gnus-agent-group-mode-hook 'gnus-xmas-agent-group-menu-add))
+
(defcustom gnus-agent-summary-mode-hook nil
"Hook run in Agent summary minor modes."
:group 'gnus-agent
:type 'hook)
+;; Extracted from gnus-xmas-redefine in order to preserve user settings
+(when (featurep 'xemacs)
+ (add-hook 'gnus-agent-summary-mode-hook 'gnus-xmas-agent-summary-menu-add))
+
(defcustom gnus-agent-server-mode-hook nil
"Hook run in Agent summary minor modes."
:group 'gnus-agent
:type 'hook)
+;; Extracted from gnus-xmas-redefine in order to preserve user settings
+(when (featurep 'xemacs)
+ (add-hook 'gnus-agent-server-mode-hook 'gnus-xmas-agent-server-menu-add))
+
(defcustom gnus-agent-confirmation-function 'y-or-n-p
"Function to confirm when error happens."
:version "21.1"
(unless (funcall gnus-agent-confirmation-function
(format "Error (%s). Continue? " err))
(error "Cannot fetch articles into the Gnus agent.")))
- (quit
+ (quit
(unless (funcall gnus-agent-confirmation-function
(format "Quit fetching session (%s). Continue? "
err))
(if (numberp fetch-date)
(> fetch-date day)
;; History file is corrupted.
- (gnus-message
- 5
+ (gnus-message
+ 5
(format "File %s is corrupted!"
(gnus-agent-lib-file "history")))
(sit-for 1)
(defcustom gnus-article-banner-alist nil
"Banner alist for stripping.
-For example,
+For example,
((egroups . \"^[ \\t\\n]*-------------------+\\\\( eGroups Sponsor -+\\\\)?....\\n\\\\(.+\\n\\\\)+\"))"
:version "21.1"
:type '(repeat (cons symbol regexp))
:group 'gnus-article-washing)
-(gnus-define-group-parameter
+(gnus-define-group-parameter
banner
:variable-document
"Alist of regexps (to match group names) and banner."
:variable-group gnus-article-washing
- :parameter-type
+ :parameter-type
'(choice :tag "Banner"
:value nil
(const :tag "Remove signature" signature)
(symbol :tag "Item in `gnus-article-banner-alist'" none)
regexp
(const :tag "None" nil))
- :parameter-document
+ :parameter-document
"If non-nil, specify how to remove `banners' from articles.
Symbol `signature' means to remove signatures delimited by
:type 'hook
:group 'gnus-article-various)
+(when (featurep 'xemacs)
+ ;; Extracted from gnus-xmas-define in order to preserve user settings
+ (when (fboundp 'turn-off-scroll-in-place)
+ (add-hook 'gnus-article-mode-hook 'turn-off-scroll-in-place))
+ ;; Extracted from gnus-xmas-redefine in order to preserve user settings
+ (add-hook 'gnus-article-mode-hook 'gnus-xmas-article-menu-add))
+
(defcustom gnus-article-menu-hook nil
"*Hook run after the creation of the article mode menu."
:type 'hook
(defcustom gnus-article-mime-match-handle-function 'undisplayed-alternative
"Function called with a MIME handle as the argument.
This is meant for people who want to view first matched part.
-For `undisplayed-alternative' (default), the first undisplayed
-part or alternative part is used. For `undisplayed', the first
-undisplayed part is used. For a function, the first part which
+For `undisplayed-alternative' (default), the first undisplayed
+part or alternative part is used. For `undisplayed', the first
+undisplayed part is used. For a function, the first part which
the function return `t' is used. For `nil', the first part is
used."
:version "21.1"
:group 'gnus-article-mime
- :type '(choice
+ :type '(choice
(item :tag "first" :value nil)
(item :tag "undisplayed" :value undisplayed)
- (item :tag "undisplayed or alternative"
+ (item :tag "undisplayed or alternative"
:value undisplayed-alternative)
(function)))
(defvar gnus-article-mode-syntax-table
(let ((table (copy-syntax-table text-mode-syntax-table)))
;; This causes the citation match run O(2^n).
- ;; (modify-syntax-entry ?- "w" table)
+ ;; (modify-syntax-entry ?- "w" table)
(modify-syntax-entry ?> ")" table)
(modify-syntax-entry ?< "(" table)
table)
(let ((inhibit-point-motion-hooks t)
buffer-read-only
(mail-parse-charset gnus-newsgroup-charset)
- (mail-parse-ignored-charsets
+ (mail-parse-ignored-charsets
(save-excursion (set-buffer gnus-summary-buffer)
gnus-newsgroup-ignored-charsets)))
(mail-decode-encoded-word-region (point-min) (point-max)))))
(let ((inhibit-point-motion-hooks t) (case-fold-search t)
buffer-read-only
(mail-parse-charset gnus-newsgroup-charset)
- (mail-parse-ignored-charsets
+ (mail-parse-ignored-charsets
(save-excursion (condition-case nil
(set-buffer gnus-summary-buffer)
(error))
format (and ctl (mail-content-type-get ctl 'format)))
(when cte
(setq cte (mail-header-strip cte)))
- (if (and ctl (not (string-match "/" (car ctl))))
+ (if (and ctl (not (string-match "/" (car ctl))))
(setq ctl nil))
(goto-char (point-max)))
(forward-line 1)
(setq type
(gnus-fetch-field "content-transfer-encoding"))
(let* ((ct (gnus-fetch-field "content-type"))
- (ctl (and ct
+ (ctl (and ct
(ignore-errors
(mail-header-parse-content-type ct)))))
(setq charset (and ctl
(mail-content-type-get ctl 'charset)))
(if (stringp charset)
(setq charset (intern (downcase charset)))))))
- (unless charset
+ (unless charset
(setq charset gnus-newsgroup-charset))
(when (or force
(and type (let ((case-fold-search t))
(setq type
(gnus-fetch-field "content-transfer-encoding"))
(let* ((ct (gnus-fetch-field "content-type"))
- (ctl (and ct
+ (ctl (and ct
(ignore-errors
(mail-header-parse-content-type ct)))))
(setq charset (and ctl
(mail-content-type-get ctl 'charset)))
(if (stringp charset)
(setq charset (intern (downcase charset)))))))
- (unless charset
+ (unless charset
(setq charset gnus-newsgroup-charset))
(when (or force
(and type (let ((case-fold-search t))
(if (gnus-buffer-live-p gnus-original-article-buffer)
(with-current-buffer gnus-original-article-buffer
(let* ((ct (gnus-fetch-field "content-type"))
- (ctl (and ct
+ (ctl (and ct
(ignore-errors
(mail-header-parse-content-type ct)))))
(setq charset (and ctl
(mail-content-type-get ctl 'charset)))
(if (stringp charset)
(setq charset (intern (downcase charset)))))))
- (unless charset
+ (unless charset
(setq charset gnus-newsgroup-charset))
(article-goto-body)
(save-window-excursion
(when regexp
(goto-char (point-min))
(when (re-search-forward
- (concat "^Subject: +\\(\\(\\(Re: +\\)?\\(" regexp
+ (concat "^Subject: +\\(\\(\\(Re: +\\)?\\(" regexp
" *\\)\\)+\\(Re: +\\)?\\)")
nil t)
(let ((s (or (match-string 3) (match-string 5))))
Originally it is hide instead of DUMMY."
(let ((buffer-read-only nil)
(inhibit-point-motion-hooks t))
- (gnus-remove-text-properties-when
+ (gnus-remove-text-properties-when
'article-type type
- (point-min) (point-max)
+ (point-min) (point-max)
(cons 'article-type (cons type
gnus-hidden-properties)))))
((eq type 'local)
(let ((tz (car (current-time-zone time))))
(format "Date: %s %s%02d%02d" (current-time-string time)
- (if (> tz 0) "+" "-") (/ (abs tz) 3600)
+ (if (> tz 0) "+" "-") (/ (abs tz) 3600)
(/ (% (abs tz) 3600) 60))))
;; Convert to Universal Time.
((eq type 'ut)
"Date: "
(format-time-string "%Y%m%dT%H%M%S" time)
(format "%s%02d%02d"
- (if (> tz 0) "+" "-") (/ (abs tz) 3600)
+ (if (> tz 0) "+" "-") (/ (abs tz) 3600)
(/ (% (abs tz) 3600) 60)))))
;; Do an X-Sent lapsed format.
((eq type 'lapsed)
(interactive (gnus-article-hidden-arg))
(unless (gnus-article-check-hidden-text 'emphasis arg)
(save-excursion
- (let ((alist (or
+ (let ((alist (or
(condition-case nil
- (with-current-buffer gnus-summary-buffer
- gnus-article-emphasis-alist)
+ (with-current-buffer gnus-summary-buffer
+ gnus-article-emphasis-alist)
(error))
gnus-emphasis-alist))
(buffer-read-only nil)
(let ((sig (with-current-buffer gnus-original-article-buffer
(gnus-fetch-field "X-PGP-Sig")))
items info headers)
- (when (and sig
+ (when (and sig
mml2015-use
(mml2015-clear-verify-function))
(with-temp-buffer
(case-fold-search t))
;; Don't verify multiple headers.
(setq headers (mapconcat (lambda (header)
- (concat header ": "
+ (concat header ": "
(mail-fetch-field header) "\n"))
(split-string (nth 1 items) ",") "")))
(delete-region (point-min) (point-max))
(let ((coding-system-for-write (or gnus-newsgroup-charset
'iso-8859-1)))
(funcall (mml2015-clear-verify-function)))
- (setq info
- (or (mm-handle-multipart-ctl-parameter
+ (setq info
+ (or (mm-handle-multipart-ctl-parameter
mm-security-handle 'gnus-details)
- (mm-handle-multipart-ctl-parameter
+ (mm-handle-multipart-ctl-parameter
mm-security-handle 'gnus-info)))))
(when info
(let (buffer-read-only bface eface)
(decf c))
keys))))
-(eval-when-compile
+(eval-when-compile
(defvar gnus-article-commands-menu))
(defun gnus-article-make-menu-bar ()
(set-buffer gnus-article-buffer)
(let ((handles (or handles gnus-article-mime-handles))
(mail-parse-charset gnus-newsgroup-charset)
- (mail-parse-ignored-charsets
+ (mail-parse-ignored-charsets
(with-current-buffer gnus-summary-buffer
gnus-newsgroup-ignored-charsets)))
(when handles
"Save the MIME part under point then replace it with an external body."
(interactive)
(gnus-article-check-buffer)
- (let* ((data (get-text-property (point) 'gnus-data))
+ (let* ((data (get-text-property (point) 'gnus-data))
(file (and data (mm-save-part data)))
param)
(when file
(insert "Content-Transfer-Encoding: binary\n")
(insert "\n"))
(setcdr data
- (cdr (mm-make-handle nil
+ (cdr (mm-make-handle nil
`("message/external-body"
(access-type . "LOCAL-FILE")
(name . ,file)))))
(set-buffer gnus-summary-buffer)
(gnus-article-edit-article
- `(lambda ()
+ `(lambda ()
(erase-buffer)
- (let ((mail-parse-charset (or gnus-article-charset
+ (let ((mail-parse-charset (or gnus-article-charset
',gnus-newsgroup-charset))
- (mail-parse-ignored-charsets
+ (mail-parse-ignored-charsets
(or gnus-article-ignored-charsets
',gnus-newsgroup-ignored-charsets))
(mbl mml-buffer-list))
',gnus-newsgroup-charset))
(message-options message-options)
(message-options-set-recipient)
- (mail-parse-ignored-charsets
+ (mail-parse-ignored-charsets
(or gnus-article-ignored-charsets
',gnus-newsgroup-ignored-charsets)))
(mml-to-mime)
(mml-destroy-buffers)
- (remove-hook 'kill-buffer-hook
+ (remove-hook 'kill-buffer-hook
'mml-destroy-buffers t)
(kill-local-variable 'mml-buffer-list))
(gnus-summary-edit-article-done
,(or (mail-header-references gnus-current-headers) "")
- ,(gnus-group-read-only-p)
+ ,(gnus-group-read-only-p)
,gnus-summary-buffer no-highlight))))))
(defun gnus-mime-save-part ()
(gnus-article-check-buffer)
(let* ((handle (or handle (get-text-property (point) 'gnus-data)))
(contents (and handle (mm-get-part handle)))
- (base (and handle
+ (base (and handle
(file-name-nondirectory
(or
(mail-content-type-get (mm-handle-type handle) 'name)
(if (mm-handle-undisplayer handle)
(mm-remove-part handle))
(setq charset
- (or (cdr (assq arg
+ (or (cdr (assq arg
gnus-summary-show-article-charset-alist))
(read-coding-system "Charset: ")))))
(forward-line 2)
(mm-insert-inline handle
- (if (and charset
- (setq charset (mm-charset-to-coding-system
+ (if (and charset
+ (setq charset (mm-charset-to-coding-system
charset))
(not (eq charset 'ascii)))
(mm-decode-coding-string contents charset)
(if (mm-handle-undisplayer handle)
(mm-remove-part handle))
(let ((gnus-newsgroup-charset
- (or (cdr (assq arg
+ (or (cdr (assq arg
gnus-summary-show-article-charset-alist))
(read-coding-system "Charset: ")))
(gnus-newsgroup-ignored-charsets 'gnus-all))
(mm-user-display-methods nil)
(mm-inlined-types nil)
(mail-parse-charset gnus-newsgroup-charset)
- (mail-parse-ignored-charsets
+ (mail-parse-ignored-charsets
(save-excursion (set-buffer gnus-summary-buffer)
gnus-newsgroup-ignored-charsets)))
(when handle
(mm-inlined-types '(".*"))
(mm-inline-large-images t)
(mail-parse-charset gnus-newsgroup-charset)
- (mail-parse-ignored-charsets
+ (mail-parse-ignored-charsets
(save-excursion (set-buffer gnus-summary-buffer)
gnus-newsgroup-ignored-charsets)))
(when handle
(if condition
(let ((alist gnus-article-mime-handle-alist) ihandle n)
(while (setq ihandle (pop alist))
- (if (and (cond
+ (if (and (cond
((functionp condition)
(funcall condition (cdr ihandle)))
- ((eq condition 'undisplayed)
+ ((eq condition 'undisplayed)
(not (or (mm-handle-undisplayer (cdr ihandle))
(equal (mm-handle-media-type (cdr ihandle))
"multipart/alternative"))))
(interactive "P")
(save-current-buffer
(set-buffer gnus-article-buffer)
- (or (numberp n) (setq n (gnus-article-mime-match-handle-first
+ (or (numberp n) (setq n (gnus-article-mime-match-handle-first
gnus-article-mime-match-handle-function)))
(when (> n (length gnus-article-mime-handle-alist))
(error "No such part"))
(prog1
(let ((window (selected-window))
(mail-parse-charset gnus-newsgroup-charset)
- (mail-parse-ignored-charsets
+ (mail-parse-ignored-charsets
(save-excursion (set-buffer gnus-summary-buffer)
gnus-newsgroup-ignored-charsets)))
(save-excursion
gnus-mime-button-line-format gnus-mime-button-line-format-alist
`(keymap ,gnus-mime-button-map
,@(if (>= (string-to-number emacs-version) 21)
- nil
+ nil
(list 'local-map gnus-mime-button-map))
gnus-callback gnus-mm-display-part
gnus-part ,gnus-tmp-id
;;;!!!to the first part.
;;(gnus-mime-display-part (cadr handle))
;;;!!! Most multipart/related is an HTML message plus images.
- ;;;!!! Unfortunately we are unable to let W3 display those
+ ;;;!!! Unfortunately we are unable to let W3 display those
;;;!!! included images, so we just display it as a mixed multipart.
;;(gnus-mime-display-mixed (cdr handle))
;;;!!! No, w3 can display everything just fine.
;(gnus-article-insert-newline)
(gnus-insert-mime-button
handle id (list (or display (and not-attachment text))))
- (gnus-article-insert-newline)
- ;(gnus-article-insert-newline)
+ (gnus-article-insert-newline)
+ ;(gnus-article-insert-newline)
;; Remember modify the number of forward lines.
(setq move t))
(setq beg (point))
(forward-line -1)
(setq beg (point)))
(let ((mail-parse-charset gnus-newsgroup-charset)
- (mail-parse-ignored-charsets
+ (mail-parse-ignored-charsets
(save-excursion (condition-case ()
(set-buffer gnus-summary-buffer)
(error))
(save-restriction
(narrow-to-region beg (point))
(gnus-treat-article
- nil id
+ nil id
(gnus-article-mime-total-parts)
(mm-handle-media-type handle)))))))))
(if (stringp (car preferred))
(gnus-display-mime preferred)
(let ((mail-parse-charset gnus-newsgroup-charset)
- (mail-parse-ignored-charsets
+ (mail-parse-ignored-charsets
(save-excursion (set-buffer gnus-summary-buffer)
gnus-newsgroup-ignored-charsets)))
(mm-display-part preferred)
((or (stringp article)
(numberp article))
(let ((gnus-override-method gnus-override-method)
- (methods (and (stringp article)
+ (methods (and (stringp article)
gnus-refer-article-method))
result
(buffer-read-only nil))
(gnus-check-group-server))
(when (gnus-request-article article group (current-buffer))
(when (numberp article)
- (gnus-async-prefetch-next group article
+ (gnus-async-prefetch-next group article
gnus-summary-buffer)
(when gnus-keep-backlog
(gnus-backlog-enter-article
(defun gnus-article-encrypt-body (protocol &optional n)
"Encrypt the article body."
- (interactive
+ (interactive
(list
(or gnus-article-encrypt-protocol
(completing-read "Encrypt protocol: "
- gnus-article-encrypt-protocol-alist
+ gnus-article-encrypt-protocol-alist
nil t))
current-prefix-arg))
(let ((func (cdr (assoc protocol gnus-article-encrypt-protocol-alist))))
(let* ((buffer-read-only nil)
(headers
(mapcar (lambda (field)
- (and (save-restriction
+ (and (save-restriction
(message-narrow-to-head)
(goto-char (point-min))
(search-forward field nil t))
(mm-remove-parts (cdr handle))
(let ((region (mm-handle-multipart-ctl-parameter handle 'gnus-region))
buffer-read-only)
- (when region
+ (when region
(delete-region (car region) (cdr region))
(set-marker (car region) nil)
(set-marker (cdr region) nil)))
(if details
(if gnus-mime-security-show-details-inline
(let ((gnus-mime-security-button-pressed t)
- (gnus-mime-security-button-line-format
+ (gnus-mime-security-button-line-format
(get-text-property (point) 'gnus-line-format))
buffer-read-only)
(forward-char -1)
(forward-char -1))
(forward-char)
(delete-region (point)
- (or (text-property-not-all
+ (or (text-property-not-all
(point) (point-max)
- 'gnus-line-format
+ 'gnus-line-format
gnus-mime-security-button-line-format)
(point-max)))
(gnus-insert-mime-security-button handle))
(defun gnus-insert-mime-security-button (handle &optional displayed)
(let* ((protocol (mm-handle-multipart-ctl-parameter handle 'protocol))
(gnus-tmp-type
- (concat
+ (concat
(or (nth 2 (assoc protocol mm-verify-function-alist))
(nth 2 (assoc protocol mm-decrypt-function-alist))
"Unknown")
(setq gnus-tmp-details
(if gnus-tmp-details
(concat "\n" gnus-tmp-details) ""))
- (setq gnus-tmp-pressed-details
+ (setq gnus-tmp-pressed-details
(if gnus-mime-security-button-pressed gnus-tmp-details ""))
(unless (bolp)
(insert "\n"))
(setq b (point))
(gnus-eval-format
- gnus-mime-security-button-line-format
+ gnus-mime-security-button-line-format
gnus-mime-security-button-line-format-alist
`(keymap ,gnus-mime-security-button-map
,@(if (>= (string-to-number emacs-version) 21)
nil ;; XEmacs doesn't care
(list 'local-map gnus-mime-security-button-map))
gnus-callback gnus-mime-security-press-button
- gnus-line-format ,gnus-mime-security-button-line-format
+ gnus-line-format ,gnus-mime-security-button-line-format
article-type annotation
gnus-data ,handle))
(setq e (point))
(gnus-mime-display-mixed (cdr handle))
(unless (bolp)
(insert "\n"))
- (let ((gnus-mime-security-button-line-format
+ (let ((gnus-mime-security-button-line-format
gnus-mime-security-button-end-line-format))
(gnus-insert-mime-security-button handle))
(mm-set-handle-multipart-parameter
- handle 'gnus-region
+ handle 'gnus-region
(cons (set-marker (make-marker) (point-min))
(set-marker (make-marker) (point-max))))))
:options '(gnus-topic-mode)
:type 'hook)
+;; Extracted from gnus-xmas-redefine in order to preserve user settings
+(when (featurep 'xemacs)
+ (add-hook 'gnus-group-mode-hook 'gnus-xmas-group-menu-add)
+ (add-hook 'gnus-group-mode-hook 'gnus-xmas-setup-group-toolbar))
+
(defcustom gnus-group-menu-hook nil
"Hook run after the creation of the group mode menu."
:group 'gnus-group-various
(let ((item (assoc method gnus-group-name-charset-method-alist))
(alist gnus-group-name-charset-group-alist)
result)
- (if item
+ (if item
(cdr item)
(while (setq item (pop alist))
(if (string-match (car item) group)
(or (and gnus-group-listed-groups
(null gnus-group-list-option)
(member group gnus-group-listed-groups))
- (cond
+ (cond
((null gnus-group-listed-groups) test)
((null gnus-group-list-option) test)
(t (and (member group gnus-group-listed-groups)
params (gnus-info-params info)
newsrc (cdr newsrc)
unread (car (gnus-gethash group gnus-newsrc-hashtb)))
- (if not-in-list
+ (if not-in-list
(setq not-in-list (delete group not-in-list)))
- (and
- (gnus-group-prepare-logic
+ (and
+ (gnus-group-prepare-logic
group
(and unread ; This group might be unchecked
(or (not (stringp regexp))
(t
(or
(if (eq unread t) ; Unactivated?
- gnus-group-list-inactive-groups
+ gnus-group-list-inactive-groups
; We list unactivated
- (> unread 0))
+ (> unread 0))
; We list groups with unread articles
(and gnus-list-groups-with-ticked-articles
(cdr (assq 'tick (gnus-info-marks info))))
(gnus-group-insert-group-line
group (gnus-info-level info)
(gnus-info-marks info) unread (gnus-info-method info)))))
-
+
;; List dead groups.
(if (or gnus-group-listed-groups
- (and (>= level gnus-level-zombie)
+ (and (>= level gnus-level-zombie)
(<= lowest gnus-level-zombie)))
(gnus-group-prepare-flat-list-dead
(setq gnus-zombie-list (sort gnus-zombie-list 'string<))
gnus-level-zombie ?Z
regexp))
- (if not-in-list
+ (if not-in-list
(dolist (group gnus-zombie-list)
(setq not-in-list (delete group not-in-list))))
(if (or gnus-group-listed-groups
(and (>= level gnus-level-killed) (<= lowest gnus-level-killed)))
(gnus-group-prepare-flat-list-dead
- (gnus-union
+ (gnus-union
not-in-list
(setq gnus-killed-list (sort gnus-killed-list 'string<)))
gnus-level-killed ?K regexp))
(let (group)
(while groups
(setq group (pop groups))
- (when (gnus-group-prepare-logic
+ (when (gnus-group-prepare-logic
group
(or (not regexp)
(and (stringp regexp) (string-match regexp group))
;;; (gnus-add-text-properties
;;; (point) (prog1 (1+ (point))
;;; (insert " " mark " *: "
-;;; (gnus-group-name-decode group
+;;; (gnus-group-name-decode group
;;; (gnus-group-name-charset
-;;; nil group))
+;;; nil group))
;;; "\n"))
;;; (list 'gnus-group (gnus-intern-safe group gnus-active-hashtb)
;;; 'gnus-unread t
;;; 'gnus-level level))
- (gnus-group-insert-group-line
+ (gnus-group-insert-group-line
group level nil
(let ((active (gnus-active group)))
(if active
gnus-tmp-method)
"Insert a group line in the group buffer."
(let* ((gnus-tmp-method
- (gnus-server-get-method gnus-tmp-group gnus-tmp-method))
+ (gnus-server-get-method gnus-tmp-group gnus-tmp-method))
(group-name-charset (gnus-group-name-charset gnus-tmp-method
gnus-tmp-group))
(gnus-tmp-active (gnus-active gnus-tmp-group))
((<= gnus-tmp-level gnus-level-unsubscribed) ?U)
((= gnus-tmp-level gnus-level-zombie) ?Z)
(t ?K)))
- (gnus-tmp-qualified-group
+ (gnus-tmp-qualified-group
(gnus-group-name-decode (gnus-group-real-name gnus-tmp-group)
group-name-charset))
(gnus-tmp-newsgroup-description
(if gnus-description-hashtb
(or (gnus-group-name-decode
- (gnus-gethash gnus-tmp-group gnus-description-hashtb)
+ (gnus-gethash gnus-tmp-group gnus-description-hashtb)
group-name-charset) "")
""))
(gnus-tmp-moderated
(test-marked
(goto-char (point-min))
(let (found)
- (while (and (not found)
+ (while (and (not found)
(gnus-goto-char
(text-property-any
(point) (point-max)
- 'gnus-group
+ 'gnus-group
(gnus-intern-safe group gnus-active-hashtb))))
(if (gnus-group-mark-line-p)
(setq found t)
default-login 'gnus-group-warchive-login-history)
user-mail-address))
(method
- `(nnwarchive ,address
+ `(nnwarchive ,address
(nnwarchive-type ,(intern type))
(nnwarchive-login ,login))))
(gnus-group-make-group group method)))
(gnus-add-text-properties
(point) (prog1 (1+ (point))
(insert " *: "
- (gnus-group-name-decode group
+ (gnus-group-name-decode group
(gnus-group-name-charset
nil group))
"\n"))
(lambda (group)
(setq b (point))
(let ((charset (gnus-group-name-charset nil (symbol-name group))))
- (insert (format " *: %-20s %s\n"
+ (insert (format " *: %-20s %s\n"
(gnus-group-name-decode
(symbol-name group) charset)
(gnus-group-name-decode
(setq level (prefix-numeric-value level)))
(when (or (not level) (>= level gnus-level-zombie))
(gnus-cache-open))
- (funcall gnus-group-prepare-function
+ (funcall gnus-group-prepare-function
(or level gnus-level-subscribed)
#'(lambda (info)
(let ((marks (gnus-info-marks info)))
(assq 'cache marks)))
lowest
#'(lambda (group)
- (or (gnus-gethash group
+ (or (gnus-gethash group
gnus-cache-active-hashtb)
- ;; Cache active file might use "."
+ ;; Cache active file might use "."
;; instead of ":".
- (gnus-gethash
+ (gnus-gethash
(mapconcat 'identity
(split-string group ":")
".")
(setq level (prefix-numeric-value level)))
(when (or (not level) (>= level gnus-level-zombie))
(gnus-cache-open))
- (funcall gnus-group-prepare-function
+ (funcall gnus-group-prepare-function
(or level gnus-level-subscribed)
#'(lambda (info)
(let ((marks (gnus-info-marks info)))
"Return a list of listed groups."
(let (point groups)
(goto-char (point-min))
- (while (setq point (text-property-not-all (point) (point-max)
+ (while (setq point (text-property-not-all (point) (point-max)
'gnus-group nil))
(goto-char point)
(push (symbol-name (get-text-property point 'gnus-group)) groups)
;;;
(defvar gnus-pick-mode nil
- "Minor mode for providing a pick-and-read interface in Gnus summary buffers.")
+ "Minor mode for providing a pick-and-read interface in Gnus
+summary buffers.")
(defcustom gnus-pick-display-summary nil
"*Display summary while reading."
:type 'hook
:group 'gnus-summary-pick)
+(when (featurep 'xemacs)
+ (add-hook 'gnus-pick-mode-hook 'gnus-xmas-pick-menu-add))
+
(defcustom gnus-mark-unpicked-articles-as-read nil
"*If non-nil, mark all unpicked articles as read."
:type 'boolean
:group 'gnus-summary-pick)
(defcustom gnus-pick-elegant-flow t
- "If non-nil, `gnus-pick-start-reading' runs `gnus-summary-next-group' when no articles have been picked."
+ "If non-nil, `gnus-pick-start-reading' runs
+ `gnus-summary-next-group' when no articles have been picked."
:type 'boolean
:group 'gnus-summary-pick)
:type 'hook
:group 'gnus-summary-tree)
+(when (featurep 'xemacs)
+ (add-hook 'gnus-tree-mode-hook 'gnus-xmas-tree-menu-add)
+ (add-hook 'gnus-tree-mode-hook 'gnus-xmas-switch-horizontal-scrollbar-off))
+
+
;;; Internal variables.
(defvar gnus-tree-line-format-alist
:group 'gnus-summary-various
:type 'hook)
+;; Extracted from gnus-xmas-redefine in order to preserve user settings
+(when (featurep 'xemacs)
+ (add-hook 'gnus-summary-mode-hook 'gnus-xmas-summary-menu-add)
+ (add-hook 'gnus-summary-mode-hook 'gnus-xmas-setup-summary-toolbar)
+ (add-hook 'gnus-summary-mode-hook
+ 'gnus-xmas-switch-horizontal-scrollbar-off))
+
(defcustom gnus-summary-menu-hook nil
"*Hook run after the creation of the summary mode menu."
:group 'gnus-summary-visual
threads
(gnus-message 8 "Sorting threads...")
(prog1
- (gnus-sort-threads-1
- threads
+ (gnus-sort-threads-1
+ threads
(gnus-make-sort-function gnus-thread-sort-functions))
(gnus-message 8 "Sorting threads...done"))))
;; the parent article.
(when (setq to-address (or (message-fetch-field "reply-to")
(message-fetch-field "from")))
- (setq params (append
- (list (cons 'to-address
+ (setq params (append
+ (list (cons 'to-address
(funcall gnus-decode-encoded-word-function
to-address))))))
(setq dig (nnheader-set-temp-buffer " *gnus digest buffer*"))
(let ((buf (current-buffer)))
(with-temp-buffer
(insert-buffer-substring buf)
-
+
(if (and (not read-only)
(not (gnus-request-replace-article
(cdr gnus-article-current) (car gnus-article-current)
;;; !!! This is bobus. We should find out what primary
;;; !!! mark we want to set.
(gnus-summary-update-mark gnus-del-mark 'unread)))))
-
+
(defun gnus-summary-mark-as-expirable (n)
"Mark N articles forward as expirable.
If N is negative, mark backward instead. The difference between N and
"Save parts matching TYPE to DIR.
If REVERSE, save parts that do not match TYPE."
(interactive
- (list (read-string "Save parts of type: "
+ (list (read-string "Save parts of type: "
(or (car gnus-summary-save-parts-type-history)
gnus-summary-save-parts-default-mime)
'gnus-summary-save-parts-type-history)
(setq gnus-summary-save-parts-last-directory
- (read-file-name "Save to directory: "
+ (read-file-name "Save to directory: "
gnus-summary-save-parts-last-directory
nil t))
current-prefix-arg))
`(progn
(gnus-info-set-marks ',info ',(gnus-info-marks info) t)
(gnus-info-set-read ',info ',(gnus-info-read info))
- (gnus-get-unread-articles-in-group ',info
+ (gnus-get-unread-articles-in-group ',info
(gnus-active ,group))
(gnus-group-update-group ,group t)
,setmarkundo))))
:type 'hook
:group 'gnus-topic)
+(when (featurep 'xemacs)
+ (add-hook 'gnus-topic-mode-hook 'gnus-xmas-topic-menu-add))
+
(defcustom gnus-topic-line-format "%i[ %(%{%n%}%) -- %A ]%v\n"
"Format of topic lines.
It works along the same lines as a normal formatting string,
(dolist (topic (gnus-current-topics topic))
(gnus-topic-fold t))
(gnus-topic-goto-topic topic))
-
+
(defun gnus-current-topic ()
"Return the name of the current topic."
(let ((result
;; Add this group to the list of visible groups.
(push (or entry group) visible-groups)))
(setq visible-groups (nreverse visible-groups))
- (when recursive
+ (when recursive
(if (eq recursive t)
(setq recursive (cdr (gnus-topic-find-topology topic))))
(mapcar (lambda (topic-topology)
- (setq visible-groups
- (nconc visible-groups
+ (setq visible-groups
+ (nconc visible-groups
(gnus-topic-find-groups
- (caar topic-topology)
+ (caar topic-topology)
level all lowest topic-topology))))
(cdr recursive)))
visible-groups))
(set-buffer gnus-group-buffer)
(let ((buffer-read-only nil)
(lowest (or lowest 1))
- (not-in-list
+ (not-in-list
(and gnus-group-listed-groups
(copy-sequence gnus-group-listed-groups))))
regexp))
(when (or gnus-group-listed-groups
- (and (>= level gnus-level-killed)
+ (and (>= level gnus-level-killed)
(<= lowest gnus-level-killed)))
(gnus-group-prepare-flat-list-dead
(gnus-union
- (and not-in-list
+ (and not-in-list
(gnus-delete-if (lambda (group)
(< (gnus-group-level group) gnus-level-killed))
not-in-list))
(setq gnus-group-list-mode (cons level predicate))
(gnus-run-hooks 'gnus-group-prepare-hook))))
-(defun gnus-topic-prepare-topic (topicl level &optional list-level
+(defun gnus-topic-prepare-topic (topicl level &optional list-level
predicate silent
lowest regexp)
"Insert TOPIC into the group buffer.
articles in the topic and its subtopics."
(let* ((type (pop topicl))
(entries (gnus-topic-find-groups
- (car type)
- (if gnus-group-listed-groups
+ (car type)
+ (if gnus-group-listed-groups
gnus-level-killed
list-level)
(or predicate gnus-group-listed-groups
;; Insert all the groups that belong in this topic.
(while (setq entry (pop entries))
(when (if (stringp entry)
- (gnus-group-prepare-logic
+ (gnus-group-prepare-logic
entry
(and
(or (not gnus-group-listed-groups)
gnus-level-zombie gnus-level-killed)))
(and (<= entry-level list-level)
(>= entry-level lowest)))))
- (cond
+ (cond
((stringp regexp)
(string-match regexp entry))
((functionp regexp)
((null regexp) t)
(t nil))))
(setq info (nth 2 entry))
- (gnus-group-prepare-logic
+ (gnus-group-prepare-logic
(gnus-info-group info)
(and (or (not gnus-group-listed-groups)
(let ((entry-level (gnus-info-level info)))
(gnus-group-list-groups)
(gnus-topic-goto-topic topic))
-;; FIXME:
-;; 1. When the marked groups are overlapped with the process
+;; FIXME:
+;; 1. When the marked groups are overlapped with the process
;; region, the behavior of move or remove is not right.
-;; 2. Can't process on several marked groups with a same name,
+;; 2. Can't process on several marked groups with a same name,
;; because gnus-group-marked only keeps one copy.
(defun gnus-topic-move-group (n topic &optional copyp)
(interactive
(list current-prefix-arg
(completing-read "Move to topic: " gnus-topic-alist nil t)))
- (let ((use-marked (and (not n) (not (gnus-region-active-p))
+ (let ((use-marked (and (not n) (not (gnus-region-active-p))
gnus-group-marked t))
(groups (gnus-group-process-prefix n))
(topicl (assoc topic gnus-topic-alist))
(defun gnus-topic-remove-group (&optional n)
"Remove the current group from the topic."
(interactive "P")
- (let ((use-marked (and (not n) (not (gnus-region-active-p))
+ (let ((use-marked (and (not n) (not (gnus-region-active-p))
gnus-group-marked t))
(groups (gnus-group-process-prefix n)))
(mapcar
(when (gnus-current-topic)
(gnus-topic-goto-topic (gnus-current-topic))
(if permanent
- (setcar (cddr
+ (setcar (cddr
(cadr
(gnus-topic-find-topology (gnus-current-topic))))
'hidden))
(when (gnus-group-topic-p)
(if (not permanent)
(gnus-topic-remove-topic t nil)
- (let ((topic
- (gnus-topic-find-topology
+ (let ((topic
+ (gnus-topic-find-topology
(completing-read "Show topic: " gnus-topic-alist nil t))))
(setcar (cddr (cadr topic)) nil)
(setcar (cdr (cadr topic)) 'visible)
(if (not topic)
(call-interactively 'gnus-group-mark-group)
(save-excursion
- (let ((groups (gnus-topic-find-groups topic gnus-level-killed t nil
+ (let ((groups (gnus-topic-find-groups topic gnus-level-killed t nil
recursive)))
(while groups
(funcall (if unmark 'gnus-group-remove-mark 'gnus-group-set-mark)
(mapcar `(lambda (top)
(gnus-topic-sort-topics-1 top ,reverse))
(sort (cdr top)
- '(lambda (t1 t2)
+ '(lambda (t1 t2)
(string-lessp (caar t1) (caar t2)))))))
(setcdr top (if reverse (reverse subtop) subtop))))
top)
(defun gnus-topic-sort-topics (&optional topic reverse)
"Sort topics in TOPIC alphabeticaly by topic name.
If REVERSE, reverse the sorting order."
- (interactive
- (list (completing-read "Sort topics in : " gnus-topic-alist nil t
+ (interactive
+ (list (completing-read "Sort topics in : " gnus-topic-alist nil t
(gnus-current-topic))
current-prefix-arg))
(let ((topic-topology (or (and topic (cdr (gnus-topic-find-topology topic)))
(defun gnus-topic-move (current to)
"Move the CURRENT topic to TO."
- (interactive
- (list
+ (interactive
+ (list
(gnus-group-topic-name)
(completing-read "Move to topic: " gnus-topic-alist nil t)))
(unless (and current to)
;; Add the group to the topic.
(nconc (assoc topic gnus-topic-alist) (list newsgroup))
(throw 'end t))))))
-
+
(provide 'gnus-topic)
;;; gnus-topic.el ends here
:group 'gnus-xmas)
(unless gnus-xmas-glyph-directory
- (unless (setq gnus-xmas-glyph-directory
+ (unless (setq gnus-xmas-glyph-directory
(message-xmas-find-glyph-directory "gnus"))
- (gnus-error 1 "Can't find glyph directory. Possibly the `etc' directory is not installed.")))
+ (error "Can't find glyph directory. \
+Possibly the `etc' directory has not been installed.")))
;;(format "%02x%02x%02x" 114 66 20) "724214"
;; Don't warn about these undefined variables.
-(defvar gnus-group-mode-hook)
-(defvar gnus-summary-mode-hook)
-(defvar gnus-article-mode-hook)
-
;;defined in gnus.el
(defvar gnus-active-hashtb)
(defvar gnus-article-buffer)
;; whichever is the least.
;; NOFORCE parameter suggested by Daniel Pittman <daniel@danann.net>.
(set-window-start
- window (min bottom (save-excursion (forward-line (- top)) (point)))
+ window (min bottom (save-excursion (forward-line (- top)) (point)))
t))
;; Do horizontal recentering while we're at it.
(when (and (get-buffer-window (current-buffer) t)
(< emacs-minor-version 14))
(defalias 'gnus-set-text-properties 'gnus-xmas-set-text-properties))
- (when (fboundp 'turn-off-scroll-in-place)
- (add-hook 'gnus-article-mode-hook 'turn-off-scroll-in-place))
-
(unless (boundp 'standard-display-table)
(setq standard-display-table nil))
(defalias 'gnus-annotation-in-region-p 'gnus-xmas-annotation-in-region-p)
(defalias 'gnus-mime-button-menu 'gnus-xmas-mime-button-menu)
- (add-hook 'gnus-group-mode-hook 'gnus-xmas-group-menu-add)
- (add-hook 'gnus-summary-mode-hook 'gnus-xmas-summary-menu-add)
- (add-hook 'gnus-article-mode-hook 'gnus-xmas-article-menu-add)
+ ;; These ones are not defcutom'ed, sometimes not even defvar'ed. They
+ ;; probably should. If that is done, the code below should then be moved
+ ;; where each variable is defined, in order not to mess with user settings.
+ ;; -- didier
(add-hook 'gnus-score-mode-hook 'gnus-xmas-score-menu-add)
-
- (add-hook 'gnus-pick-mode-hook 'gnus-xmas-pick-menu-add)
- (add-hook 'gnus-topic-mode-hook 'gnus-xmas-topic-menu-add)
- (add-hook 'gnus-tree-mode-hook 'gnus-xmas-tree-menu-add)
(add-hook 'gnus-binary-mode-hook 'gnus-xmas-binary-menu-add)
(add-hook 'gnus-grouplens-mode-hook 'gnus-xmas-grouplens-menu-add)
(add-hook 'gnus-server-mode-hook 'gnus-xmas-server-menu-add)
(add-hook 'gnus-browse-mode-hook 'gnus-xmas-browse-menu-add)
-
- (add-hook 'gnus-group-mode-hook 'gnus-xmas-setup-group-toolbar)
- (add-hook 'gnus-summary-mode-hook 'gnus-xmas-setup-summary-toolbar)
-
- (add-hook 'gnus-agent-summary-mode-hook 'gnus-xmas-agent-summary-menu-add)
- (add-hook 'gnus-agent-group-mode-hook 'gnus-xmas-agent-group-menu-add)
- (add-hook 'gnus-agent-server-mode-hook 'gnus-xmas-agent-server-menu-add)
-
(add-hook 'gnus-draft-mode-hook 'gnus-xmas-draft-menu-add)
- (add-hook 'gnus-summary-mode-hook
- 'gnus-xmas-switch-horizontal-scrollbar-off)
- (add-hook 'gnus-tree-mode-hook 'gnus-xmas-switch-horizontal-scrollbar-off)
+ (add-hook 'gnus-mailing-list-mode-hook 'gnus-xmas-mailing-list-menu-add)
(when (featurep 'mule)
(defun gnus-truncate-string (str end-column &optional start-column padding)
(gnus-xmas-menu-add mailing-list
gnus-mailing-list-menu))
-(add-hook 'gnus-mailing-list-mode-hook 'gnus-xmas-mailing-list-menu-add)
-
(provide 'gnus-xmas)
;;; gnus-xmas.el ends here