This change was made to avoid conflict with the standard binding of
`back-to-indentation', which is also useful in message mode.
-** The default for message-forward-show-mml changed to nil.
+** The default for message-forward-show-mml changed to symbol best.
-The reason is that decoding MIME, showing MML, and later re-encode the
-MIME does not work properly for, e.g., PGP/MIME signed messages.
+The behaviour for the `best' value is to show MML (i.e., convert MIME
+to MML) when appropriate. MML will not be used when forwarding signed
+or encrypted messages, as the conversion invalidate the digital
+signature.
** Bug fixes.
+2003-10-18 Jesper Harder <harder@ifa.au.dk>
+
+ * gnus-msg.el (gnus-summary-resend-message-edit): Avoid error when
+ fields aren't found.
+
+2003-10-18 Simon Josefsson <jas@extundo.com>
+
+ * message.el (message-forward-make-body-plain)
+ (message-forward-make-body-mime, message-forward-make-body-mml)
+ (message-forward-make-body-digest-plain)
+ (message-forward-make-body-digest-mime)
+ (message-forward-make-body-digest): New, derived from
+ message-forward-make-body.
+ (message-forward-make-body): Use them.
+ (message-forward-show-mml): New default 'best.
+ (message-forward-make-body): Support it.
+
+2003-10-18 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus-art.el (gnus-article-mode): Set gnus-page-broken to nil.
+ (gnus-article-prepare): Don't set to t.
+ (gnus-narrow-to-page): Set to t if we break.
+
+2003-06-11 Daniel N\e,Ai\e(Bri <dne@mayonnaise.net>
+
+ * message.el (message-resend): Generate Resent-Message-ID header.
+
+2003-10-18 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus-art.el (gnus-article-next-page): Don't go to the next line
+ before checking end-of-buffer.
+ (gnus-mime-delete-part): Don't insert parts twice.
+
2003-10-17 Lars Magne Ingebrigtsen <larsi@gnus.org>
+ * gnus-art.el (article-update-date-lapsed): Make sure point
+ doesn't move around (much).
+
+2003-07-28 Vasily Korytov <deskpot@myrealbox.com>
+
+ * mail-source.el (mail-source-keyword-map): List "cur" before
+ "new" for maildirs.
+
+2003-10-17 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus-sum.el (gnus-summary-enter-digest-group): ogroup, nor
+ group.
+
+ * gnus-msg.el (gnus-inews-insert-archive-gcc): Use the parent
+ name for gcc-self.
+ (gnus-inews-insert-archive-gcc): Paren mistake.
+
+ * gnus-sum.el (gnus-summary-enter-digest-group): Add
+ parent-group.
+
+ * gnus-art.el (gnus-ignored-headers): Add more headers.
+
+ * rfc2047.el (rfc2047-encode): See which encoding is shorter --
+ base64 or QP.
+
* nnmail.el (nnmail-article-group): Default to "bogus".
* mail-source.el (mail-source-delete-incoming): Change to nil.
"X-Virus-Scanned" "X-Delivery-Agent" "Posted-Date" "X-Gateway"
"X-Local-Origin" "X-Local-Destination" "X-UserInfo1"
"X-Received-Date" "X-Hashcash" "Face" "X-DMCA-Notifications"
- "X-Abuse-and-DMCA-Info" "X-Postfilter"))
+ "X-Abuse-and-DMCA-Info" "X-Postfilter" "X-Gpg-.*" "X-Disclaimer"))
"*All headers that start with this regexp will be hidden.
This variable can also be a list of regexps of headers to be ignored.
If `gnus-visible-headers' is non-nil, this variable will be ignored."
(lambda (w)
(set-buffer (window-buffer w))
(when (eq major-mode 'gnus-article-mode)
- (goto-char (point-min))
- (when (re-search-forward "^X-Sent:" nil t)
- (article-date-lapsed t))))
+ (let ((mark (point-marker)))
+ (goto-char (point-min))
+ (when (re-search-forward "^X-Sent:" nil t)
+ (article-date-lapsed t))
+ (goto-char (marker-position mark))
+ (move-marker mark nil))))
nil 'visible)))))
(defun gnus-start-date-timer (&optional n)
(set (make-local-variable 'tool-bar-map) gnus-summary-tool-bar-map)))
(gnus-update-format-specifications nil 'article-mode)
(set (make-local-variable 'page-delimiter) gnus-page-delimiter)
- (make-local-variable 'gnus-page-broken)
+ (set (make-local-variable 'gnus-page-broken) nil)
(make-local-variable 'gnus-button-marker-list)
(make-local-variable 'gnus-article-current-summary)
(make-local-variable 'gnus-article-mime-handles)
(gnus-article-prepare-display)
;; Do page break.
(goto-char (point-min))
- (setq gnus-page-broken
- (when gnus-break-pages
- (gnus-narrow-to-page)
- t)))
+ (when gnus-break-pages
+ (gnus-narrow-to-page)))
(let ((gnus-article-mime-handle-alist-1
gnus-article-mime-handle-alist))
(gnus-set-mode-line 'article))
(erase-buffer)
(insert
(concat
- "<#part type=text/plain nofile=yes disposition=attachment"
- " description=\"Deleted attachment (" bsize " Byte)\">"
",----\n"
"| The following attachment has been deleted:\n"
"|\n"
"| Filename: " filename "\n"
"| Size (encoded): " bsize " Byte\n"
"| Description: " description "\n"
- "`----\n"
- "<#/part>"))
+ "`----\n"))
(setcdr data
- (cdr (mm-make-handle nil `("text/plain"))))))
+ (cdr (mm-make-handle
+ nil `("text/plain") nil nil
+ (list "attachment")
+ (format "Deleted attachment (%s bytes)" bsize))))))
(set-buffer gnus-summary-buffer)
;; FIXME: maybe some of the following code (borrowed from
;; `gnus-mime-save-part-and-strip') isn't necessary?
(re-search-backward page-delimiter nil 'move (1+ (abs arg))))
((> arg 0)
(re-search-forward page-delimiter nil 'move arg)))
+ (setq gnus-page-broken t)
(goto-char (match-end 0)))
(narrow-to-region
(point)
(if (or (not gnus-page-broken)
(save-excursion
(save-restriction
- (widen) (forward-line 1) (eobp)))) ;Real end-of-buffer?
+ (widen)
+ (eobp)))) ;Real end-of-buffer?
(progn
(when gnus-article-over-scroll
(gnus-article-next-page-1 lines))
(goto-char (point-max))
(insert mail-header-separator)
(goto-char (point-min))
- (re-search-forward "^To:\\|^Newsgroups:" nil 'move)
- (forward-char 1)
+ (when (re-search-forward "^To:\\|^Newsgroups:" nil 'move)
+ (forward-char 1))
(widen)))))
(defun gnus-summary-post-forward (&optional full-headers)
(if (string-match " " gcc-self-val)
(concat "\"" gcc-self-val "\"")
gcc-self-val)
- (if (string-match " " group)
- (concat "\"" group "\"")
- group)))
+ ;; In nndoc groups, we use the parent group name
+ ;; instead of the current group.
+ (let ((group (or (gnus-group-find-parameter
+ gnus-newsgroup-name 'parent-group)
+ group)))
+ (if (string-match " " group)
+ (concat "\"" group "\"")
+ group))))
(if (not (eq gcc-self-val 'none))
(insert "\n")
(gnus-delete-line)))
(ogroup gnus-newsgroup-name)
(params (append (gnus-info-params (gnus-get-info ogroup))
(list (cons 'to-group ogroup))
+ (list (cons 'parent-group ogroup))
(list (cons 'save-article-group ogroup))))
(case-fold-search t)
(buf (current-buffer))
(:leave))
(maildir
(:path (or (getenv "MAILDIR") "~/Maildir/"))
- (:subdirs ("new" "cur"))
+ (:subdirs ("cur" "new"))
(:function))
(imap
(:server (getenv "MAILHOST"))
:group 'message-forwarding
:type 'boolean)
-(defcustom message-forward-show-mml nil
- "*Non-nil means show forwarded messages as mml.
-Otherwise, forwarded messages are unchanged."
+(defcustom message-forward-show-mml 'best
+ "*Non-nil means show forwarded messages as MML (decoded from MIME).
+Otherwise, forwarded messages are unchanged.
+Can also be the symbol `best' to indicate that MML should be
+used, except when it is a bad idea to use MML. One example where
+it is a bad idea is when forwarding a signed or encrypted
+message, because converting MIME to MML would invalidate the
+digital signature."
:version "21.1"
:group 'message-forwarding
- :type 'boolean)
+ :type '(choice (const :tag "use MML" t)
+ (const :tag "don't use MML " nil)
+ (const :tag "use MML when appropriate" best)))
(defcustom message-forward-before-signature t
"*Non-nil means put forwarded message before signature, else after."
(message-mail nil subject))
(message-forward-make-body cur)))
+(defun message-forward-make-body-plain (forward-buffer)
+ (insert
+ "\n-------------------- Start of forwarded message --------------------\n")
+ (let ((b (point)) e)
+ (save-restriction
+ (narrow-to-region (point) (point))
+ (mml-insert-buffer forward-buffer)
+ (goto-char (point-min))
+ (when (looking-at "From ")
+ (replace-match "X-From-Line: "))
+ (goto-char (point-max)))
+ (setq e (point))
+ (insert
+ "\n-------------------- End of forwarded message --------------------\n")))
+
+(defun message-forward-make-body-mime (forward-buffer)
+ (insert "\n\n<#part type=message/rfc822 disposition=inline raw=t>\n")
+ (let ((b (point)) e)
+ (save-restriction
+ (narrow-to-region (point) (point))
+ (mml-insert-buffer forward-buffer)
+ (goto-char (point-min))
+ (when (looking-at "From ")
+ (replace-match "X-From-Line: "))
+ (goto-char (point-max)))
+ (setq e (point))
+ (insert "<#/part>\n")))
+
+(defun message-forward-make-body-mml (forward-buffer)
+ (insert "\n\n<#mml type=message/rfc822 disposition=inline>\n")
+ (let ((b (point)) e)
+ (if (not message-forward-decoded-p)
+ (insert
+ (with-temp-buffer
+ (mm-disable-multibyte)
+ (insert
+ (with-current-buffer forward-buffer
+ (mm-with-unibyte-current-buffer (buffer-string))))
+ (mm-enable-multibyte)
+ (mime-to-mml)
+ (goto-char (point-min))
+ (when (looking-at "From ")
+ (replace-match "X-From-Line: "))
+ (buffer-string)))
+ (save-restriction
+ (narrow-to-region (point) (point))
+ (mml-insert-buffer forward-buffer)
+ (goto-char (point-min))
+ (when (looking-at "From ")
+ (replace-match "X-From-Line: "))
+ (goto-char (point-max))))
+ (setq e (point))
+ (insert "<#/mml>\n")
+ (when (and (not current-prefix-arg)
+ message-forward-ignored-headers)
+ (save-restriction
+ (narrow-to-region b e)
+ (goto-char b)
+ (narrow-to-region (point)
+ (or (search-forward "\n\n" nil t) (point)))
+ (message-remove-header message-forward-ignored-headers t)))))
+
+(defun message-forward-make-body-digest-plain (forward-buffer)
+ (insert
+ "\n-------------------- Start of forwarded message --------------------\n")
+ (let ((b (point)) e)
+ (mml-insert-buffer forward-buffer)
+ (setq e (point))
+ (insert
+ "\n-------------------- End of forwarded message --------------------\n")))
+
+(defun message-forward-make-body-digest-mime (forward-buffer)
+ (insert "\n<#multipart type=digest>\n")
+ (let ((b (point)) e)
+ (insert-buffer-substring forward-buffer)
+ (setq e (point))
+ (insert "<#/multipart>\n")
+ (save-restriction
+ (narrow-to-region b e)
+ (goto-char b)
+ (narrow-to-region (point)
+ (or (search-forward "\n\n" nil t) (point)))
+ (delete-region (point-min) (point-max)))))
+
+(defun message-forward-make-body-digest (forward-buffer)
+ (if message-forward-as-mime
+ (message-forward-make-body-digest-mime forward-buffer)
+ (message-forward-make-body-digest-plain forward-buffer)))
+
;;;###autoload
(defun message-forward-make-body (forward-buffer)
;; Put point where we want it before inserting the forwarded
message-setup-hook)
(message-setup `((To . ,address))))
;; Insert our usual headers.
- (message-generate-headers '(From Date To))
+ (message-generate-headers '(From Date To Message-ID))
(message-narrow-to-headers)
;; Remove X-Draft-From header etc.
(message-remove-header message-ignored-mail-headers t)
(mm-charset-to-coding-system mime-charset)))
;; Fixme: Better, calculate the number of non-ASCII
;; characters, at least for 8-bit charsets.
- (encoding (if (assq mime-charset
- rfc2047-charset-encoding-alist)
- (cdr (assq mime-charset
+ (encoding (or (cdr (assq mime-charset
rfc2047-charset-encoding-alist))
- 'B))
+ ;; For the charsets that don't have a preferred
+ ;; encoding, choose the one that's shorter.
+ (save-restriction
+ (narrow-to-region b e)
+ (if (eq (mm-qp-or-base64) 'base64)
+ 'B
+ 'Q))))
(start (concat
"=?" (downcase (symbol-name mime-charset)) "?"
(downcase (symbol-name encoding)) "?"))
+2003-10-18 Jesper Harder <harder@ifa.au.dk>
+
+ * gnus.texi (Group Mail Splitting)
+ (Filtering Spam Using The Spam ELisp Package): Markup fixes.
+
+ * message.texi (Security): @url -> @uref.
+
+2003-10-18 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus.texi: Define gnusasis and gnusurl.
+
2003-10-12 Jesper Harder <harder@ifa.au.dk>
* gnus.texi (Group Mail Splitting): Markup fix.
\newcommand{\gnustt}[1]{{\gnusselectttfont{}#1}}
\newcommand{\gnuscode}[1]{\gnustt{#1}}
+\newcommand{\gnusasis}[1]{\gnustt{#1}}
+\newcommand{\gnusurl}[1]{\gnustt{#1}}
\newcommand{\gnuscommand}[1]{\gnustt{#1}}
\newcommand{\gnusenv}[1]{\gnustt{#1}}
\newcommand{\gnussamp}[1]{``{\fontencoding{OT1}\gnusselectttfont{}#1}''}
}
}{\end{list}}
+\newenvironment{asislist}%
+{\begin{list}{}{
+}
+}{\end{list}}
+
\newenvironment{kbdlist}%
{\begin{list}{}{
\labelwidth=0cm
\e$B$?!<$/$5$s$N%a!<%j%s%0%j%9%H$r9XFI$7$F$$$k$1$l$I!"<j$G%a!<%kJ,3d5,B'$r0]\e(B
\e$B;}$7$?$/$J$$$H$-$O!"%0%k!<%W%a!<%kJ,3d$H$$$&$b$N$,$"$J$?$N$?$a$K$"$j$^$9!#\e(B
\e$B%0%k!<%W%Q%i%a!<%?$+%0%k!<%W%+%9%?%^%$%:\e(B
-\e$B$G\e(B @var{to-list}, @var{to-address} \e$B$NN>J}$b$7$/$O$I$A$i$+$r@_Dj$7\e(B
+\e$B$G\e(B @code{to-list}, @code{to-address} \e$B$NN>J}$b$7$/$O$I$A$i$+$r@_Dj$7\e(B
\e$B$F\e(B @code{nnmail-split-methods} \e$B$r\e(B @code{gnus-group-split} \e$B$K@_Dj$9$k$@$1\e(B
\e$B$G$9!#J,3d4X?t$OA4$F$N%0%k!<%W$G$3$l$i$N%Q%i%a!<%?$rAv::$7!"$=$l$K=>$C$F\e(B
\e$BJ,3d$7$^$9!#$9$J$o$A!"%a!<%k%0%k!<%W$N%Q%i%a!<\e(B
-\e$B%?\e(B @var{to-list} \e$B$+\e(B @var{to-address} \e$B$G;XDj$5$l$?%"%I%l%9$+$iEj9F$5$l$?\e(B
-\e$B$b$N$+!"$=$N%"%I%l%9$XEj9F$5$l$?%a%C%;!<%8$,$=$N%0%k!<%W$KJ]B8$5$l$^$9!#\e(B
+\e$B%?\e(B @code{to-list} \e$B$+\e(B @code{to-address} \e$B$G;XDj$5$l$?%"%I%l%9$+$iEj9F$5$l\e(B
+\e$B$?$b$N$+!"$=$N%"%I%l%9$XEj9F$5$l$?%a%C%;!<%8$,$=$N%0%k!<%W$KJ]B8$5$l$^$9!#\e(B
\e$B$H$-$K$O!"%a!<%j%s%0%j%9%H$K$OJ#?t$N%"%I%l%9$,$"$j!"%a!<%kJ,3d$K$=$l$iA4\e(B
-\e$B$F$rG'<1$5$;$kI,MW$,$"$k$+$b$7$l$^$;$s\e(B: @var{extra-aliases} \e$B%0%k!<%W%Q%i\e(B
-\e$B%a!<%?$rDI2C$N%"%I%l%9$N%j%9%H$K@_Dj$9$k$@$1$G=*$j$G$9!#@55,I=8=$r;H$$$?\e(B
-\e$B$1$l$P!"\e(B@var{split-regexp} \e$B$r@_Dj$7$F$/$@$5$$!#\e(B
+\e$B$F$rG'<1$5$;$kI,MW$,$"$k$+$b$7$l$^$;$s\e(B: @code{extra-aliases} \e$B%0%k!<%W%Q\e(B
+\e$B%i%a!<%?$rDI2C$N%"%I%l%9$N%j%9%H$K@_Dj$9$k$@$1$G=*$j$G$9!#@55,I=8=$r;H$$\e(B
+\e$B$?$1$l$P!"\e(B@code{split-regexp} \e$B$r@_Dj$7$F$/$@$5$$!#\e(B
\e$B$3$l$i$NA4$F$N%0%k!<%W$N%Q%i%a!<%?$O!"\e(B@code{nnmail-split-fancy} \e$BJ,3d$r:n\e(B
\e$B@.$9$k$?$a$K;HMQ$5$l!"$=$l$O\e(B @var{field} \e$B$,\e(B @samp{any} \e$B$G!"\e(B
-@var{value} \e$B$,\e(B @var{to-list}, @var{to-address}, @var{extra-aliases} \e$B$NA4\e(B
-\e$B$F!"\e(B@var{split-regexp} \e$B$NA4$F$N9gCW$K9gCW$9$kC1FH$N@55,I=8=!"\e(B
-@var{split} \e$B$,%0%k!<%W$NL>A0$K$J$j$^$9!#\e(B@var{restrict} \e$B$b;HMQ$G$-$^$9\e(B:
-@var{split-exclude} \e$B%Q%i%a!<%?$r@55,I=8=$N%j%9%H$K@_Dj$9$k$@$1$G$9!#\e(B
+@var{value} \e$B$,\e(B @code{to-list}, @code{to-address},
+@code{extra-aliases} \e$B$N$9$Y$F!"\e(B@code{split-regexp} \e$B$NA4$F$N9gCW$K9gCW$9\e(B
+\e$B$kC1FH$N@55,I=8=!"\e(B@var{split} \e$B$,%0%k!<%W$NL>A0$K$J$j$^$9!#\e(B@var{restrict}
+\e$B$b;HMQ$G$-$^$9\e(B: @code{split-exclude} \e$B%Q%i%a!<%?$r@55,I=8=$N%j%9%H$K@_Dj\e(B
+\e$B$9$k$@$1$G$9!#\e(B
\e$B$3$l$i$NA4$F$N%Q%i%a!<%?$r;H$C$F@5$7$$J,3d$,@8@.$5$l$J$$$H$-$d!"2?$+0c$C\e(B
\e$B$?$b$N$,I,MW$J$H$-$O!"%Q%i%a!<\e(B
-\e$B%?\e(B @var{split-spec} \e$B$r\e(B @code{nnmail-split-fancy} \e$BJ,3d$K@_Dj$9$k$3$H$,$G\e(B
+\e$B%?\e(B @code{split-spec} \e$B$r\e(B @code{nnmail-split-fancy} \e$BJ,3d$K@_Dj$9$k$3$H$,$G\e(B
\e$B$-$^$9!#$3$N>l9g$O!"B>$NA0$K=q$$$?A4$F$N%Q%i%a!<%?\e(B
\e$B$O\e(B @code{gnus-group-split} \e$B$KL5;k$5$l$^$9!#FC$K!"\e(B
-@var{split-spec} \e$B$O\e(B @code{nil} \e$B$K@_Dj$9$k$3$H$,$G$-!"$=$N>l9g$O%0%k!<%W\e(B
+@code{split-spec} \e$B$O\e(B @code{nil} \e$B$K@_Dj$9$k$3$H$,$G$-!"$=$N>l9g$O%0%k!<%W\e(B
\e$B$O\e(B @code{gnus-group-split} \e$B$KL5;k$5$l$^$9!#\e(B
@vindex gnus-group-split-default-catch-all-group
\e$B$^$9!#%a%C%;!<%8$,$I$NJ,3d$K$b9gCW$7$J$1$l$P!"$I$l$+$N%0%k!<%W\e(B
\e$B$G\e(B @var{split-spec} \e$B$,\e(B @code{catch-all} \e$B$K@_Dj$5$l$F$$$J$$>l9g\e(B
\e$B$O\e(B @code{gnus-group-split-default-catch-all-group} \e$B$G;XDj$5$l$F$$$k%0%k!<\e(B
-\e$B%W$KJ]B8$5$l$^$9!#\e(B@var{split-spec} \e$B$,\e(B @code{catch-all} \e$B$K@_Dj$5$l$F$$$k\e(B
+\e$B%W$KJ]B8$5$l$^$9!#\e(B@code{split-spec} \e$B$,\e(B @code{catch-all} \e$B$K@_Dj$5$l$F$$$k\e(B
\e$B%0%k!<%W$,$"$k>l9g$O!"$=$N%0%k!<%W$,A4$F$rJa3M$9$k%0%k!<%W$H$7$F;HMQ$5$l\e(B
\e$B$^$9!#$3$NJQ?t$O$7$P$7$PC1$K%0%k!<%W$r;XDj$9$k$?$a$K;H$o$l$^$9$,!"G$0U$N\e(B
\e$BJ#;($JFC5iJ,3d$r$b@_Dj$9$k\e(B (\e$B7k6I!"%0%k!<%WL>$OFC5iJ,3d$J$N$G$9\e(B) \e$B$N$G!"8D\e(B
\e$B$a$K;H$&$3$H$,$G$-$^$9!#$=$N>l9g!"C10l$N\e(B @code{|} \e$BJ,3d$,=PNO$5$l$^$9!#\e(B
@var{catch-all} \e$B$O\e(B @code{gnus-group-split-default-catch-all-group} \e$B$N$h\e(B
\e$B$&$K!":G8e$N<jCJ$H$7$F;H$o$l$kFC5iJ,3d$G$9!#\e(B
-@var{catch-all} \e$B$,\e(B @code{nil} \e$B$G$"$k$+!"\e(B@var{split-regexp} \e$B$,$I$l$+$NA*\e(B
+@var{catch-all} \e$B$,\e(B @code{nil} \e$B$G$"$k$+!"\e(B@code{split-regexp} \e$B$,$I$l$+$NA*\e(B
\e$BBr$5$l$?%0%k!<%W6uJ8;zNs$K9gCW$9$k$H!"A4Ja3MJ,3d$O9T$o$l$^$;$s!#$=$&$G$J\e(B
-\e$B$$>l9g!"%0%k!<%W$K\e(B @var{split-spec} \e$B$,\e(B @code{catch-all} \e$B$K@_Dj$5$l$F$$$k\e(B
-\e$B$b$N$,$"$k$H!"$3$N%0%k!<%W$,\e(B @var{catch-all} \e$B0z?t$r>e=q$-$7$^$9!#\e(B
+\e$B$$>l9g!"%0%k!<%W$K\e(B @code{split-spec} \e$B$,\e(B @code{catch-all} \e$B$K@_Dj$5$l$F$$\e(B
+\e$B$k$b$N$,$"$k$H!"$3$N%0%k!<%W$,\e(B @var{catch-all} \e$B0z?t$r>e=q$-$7$^$9!#\e(B
@findex gnus-group-split-setup
\e$BIT1?$J$3$H$K!"A4$F$N%0%k%W$H%Q%i%a!<%?$rAv::$9$k$3$H$OHs>o$KCY$$$G$9!#FC\e(B
\newcommand{\gnustt}[1]{{\gnusselectttfont{}#1}}
\newcommand{\gnuscode}[1]{\gnustt{#1}}
+\newcommand{\gnusasis}[1]{\gnustt{#1}}
+\newcommand{\gnusurl}[1]{\gnustt{#1}}
\newcommand{\gnuscommand}[1]{\gnustt{#1}}
\newcommand{\gnusenv}[1]{\gnustt{#1}}
\newcommand{\gnussamp}[1]{``{\fontencoding{OT1}\gnusselectttfont{}#1}''}
}
}{\end{list}}
+\newenvironment{asislist}%
+{\begin{list}{}{
+}
+}{\end{list}}
+
\newenvironment{kbdlist}%
{\begin{list}{}{
\labelwidth=0cm
@findex gnus-group-split
If you subscribe to dozens of mailing lists but you don't want to
maintain mail splitting rules manually, group mail splitting is for you.
-You just have to set @var{to-list} and/or @var{to-address} in group
+You just have to set @code{to-list} and/or @code{to-address} in group
parameters or group customization and set @code{nnmail-split-methods} to
@code{gnus-group-split}. This splitting function will scan all groups
for those parameters and split mail accordingly, i.e., messages posted
-from or to the addresses specified in the parameters @var{to-list} or
-@var{to-address} of a mail group will be stored in that group.
+from or to the addresses specified in the parameters @code{to-list} or
+@code{to-address} of a mail group will be stored in that group.
Sometimes, mailing lists have multiple addresses, and you may want mail
-splitting to recognize them all: just set the @var{extra-aliases} group
+splitting to recognize them all: just set the @code{extra-aliases} group
parameter to the list of additional addresses and it's done. If you'd
-rather use a regular expression, set @var{split-regexp}.
+rather use a regular expression, set @code{split-regexp}.
All these parameters in a group will be used to create an
@code{nnmail-split-fancy} split, in which the @var{field} is @samp{any},
the @var{value} is a single regular expression that matches
-@var{to-list}, @var{to-address}, all of @var{extra-aliases} and all
-matches of @var{split-regexp}, and the @var{split} is the name of the
+@code{to-list}, @code{to-address}, all of @code{extra-aliases} and all
+matches of @code{split-regexp}, and the @var{split} is the name of the
group. @var{restrict}s are also supported: just set the
-@var{split-exclude} parameter to a list of regular expressions.
+@code{split-exclude} parameter to a list of regular expressions.
If you can't get the right split to be generated using all these
parameters, or you just need something fancier, you can set the
-parameter @var{split-spec} to an @code{nnmail-split-fancy} split. In
+parameter @code{split-spec} to an @code{nnmail-split-fancy} split. In
this case, all other aforementioned parameters will be ignored by
-@code{gnus-group-split}. In particular, @var{split-spec} may be set to
+@code{gnus-group-split}. In particular, @code{split-spec} may be set to
@code{nil}, in which case the group will be ignored by
@code{gnus-group-split}.
by defining a single @code{&} fancy split containing one split for each
group. If a message doesn't match any split, it will be stored in the
group named in @code{gnus-group-split-default-catch-all-group}, unless
-some group has @var{split-spec} set to @code{catch-all}, in which case
+some group has @code{split-spec} set to @code{catch-all}, in which case
that group is used as the catch-all group. Even though this variable is
often used just to name a group, it may also be set to an arbitrarily
complex fancy split (after all, a group name is a fancy split), and this
@var{no-crosspost} can be used to disable cross-posting; in this case, a
single @code{|} split will be output. @var{catch-all} is the fall back
fancy split, used like @code{gnus-group-split-default-catch-all-group}.
-If @var{catch-all} is @code{nil}, or if @var{split-regexp} matches the
+If @var{catch-all} is @code{nil}, or if @code{split-regexp} matches the
empty string in any selected group, no catch-all split will be issued.
-Otherwise, if some group has @var{split-spec} set to @code{catch-all},
+Otherwise, if some group has @code{split-spec} set to @code{catch-all},
this group will override the value of the @var{catch-all} argument.
@findex gnus-group-split-setup
unmarked it, it won't be marked as spam when you enter the group
thereafter. You can disable that behavior, so all unread messages
will get the @samp{$} mark, if you set the
-@code{spam-mark-only-unseen-as-spam} parameter to nil. You should
-remove the @samp{$} mark when you are in the group summary buffer for
-every message that is not spam after all. To remove the @samp{$}
-mark, you can use @kbd{M-u} to ``unread'' the article, or @kbd{d} for
-declaring it read the non-spam way. When you leave a group, all
-spam-marked (@samp{$}) articles are sent to a spam processor which
-will study them as spam samples.
+@code{spam-mark-only-unseen-as-spam} parameter to @code{nil}. You
+should remove the @samp{$} mark when you are in the group summary
+buffer for every message that is not spam after all. To remove the
+@samp{$} mark, you can use @kbd{M-u} to ``unread'' the article, or
+@kbd{d} for declaring it read the non-spam way. When you leave a
+group, all spam-marked (@samp{$}) articles are sent to a spam
+processor which will study them as spam samples.
Messages may also be deleted in various other ways, and unless
@code{ham-marks} group parameter gets overridden below, marks @samp{R}
@vindex spam-process-ham-in-spam-groups
By default the variable @code{spam-process-ham-in-spam-groups} is
-nil. Set it to t if you want ham found in spam groups to be
-processed. Normally this is not done, you are expected instead to
-send your ham to a ham group and process it there.
+@code{nil}. Set it to @code{t} if you want ham found in spam groups
+to be processed. Normally this is not done, you are expected instead
+to send your ham to a ham group and process it there.
@vindex spam-process-ham-in-nonham-groups
By default the variable @code{spam-process-ham-in-nonham-groups} is
-nil. Set it to t if you want ham found in non-ham (spam or
-unclassified) groups to be processed. Normally this is not done, you
-are expected instead to send your ham to a ham group and process it
-there.
+@code{nil}. Set it to @code{t} if you want ham found in non-ham (spam
+or unclassified) groups to be processed. Normally this is not done,
+you are expected instead to send your ham to a ham group and process
+it there.
@vindex gnus-spam-process-destinations
When you leave a @emph{ham} or @emph{unclassified} group, all
@code{pgg-default-scheme} to @code{pgp}). If you do want to use
GnuPG, you can use a compatibility script called @code{gpg-2comp}
available from
-@url{http://muppet.faveve.uni-stuttgart.de/~gero/gpg-2comp/}. You
+@uref{http://muppet.faveve.uni-stuttgart.de/~gero/gpg-2comp/}. You
could also convince your fellow PGP 2.x users to convert to GnuPG.
@vindex mml-signencrypt-style-alist
As a final workaround, you can make the sign and encryption work in
This causes to sign and encrypt in two passes, thus generating a
message that can be understood by PGP version 2.
-(Refer to @url{http://www.gnupg.org/gph/en/pgp2x.html} for more
+(Refer to @uref{http://www.gnupg.org/gph/en/pgp2x.html} for more
information about the problem.)
@end ignore
@code{pgg-default-scheme} to @code{pgp}). If you do want to use
GnuPG, you can use a compatibility script called @code{gpg-2comp}
available from
-@url{http://muppet.faveve.uni-stuttgart.de/~gero/gpg-2comp/}. You
+@uref{http://muppet.faveve.uni-stuttgart.de/~gero/gpg-2comp/}. You
could also convince your fellow PGP 2.x users to convert to GnuPG.
@vindex mml-signencrypt-style-alist
As a final workaround, you can make the sign and encryption work in
This causes to sign and encrypt in two passes, thus generating a
message that can be understood by PGP version 2.
-(Refer to @url{http://www.gnupg.org/gph/en/pgp2x.html} for more
+(Refer to @uref{http://www.gnupg.org/gph/en/pgp2x.html} for more
information about the problem.)
@node Various Commands
(latexi-exchange-command (concat "gnus" command) arg))
((member command '("sc" "file" "dfn" "emph" "kbd" "key" "uref"
"code" "samp" "var" "strong" "i"
- "result" "email" "env" "r" "command"))
+ "result" "email" "env" "r" "command" "asis"
+ "url"))
(goto-char (match-beginning 0))
(delete-char 1)
(insert "\\gnus"))