Changeset 3526 for branches/2.2/lisp/gnus/gnus-art.el
- Timestamp:
- 10/31/04 15:41:47 (4 years ago)
- Files:
-
- branches/2.2/lisp/gnus/gnus-art.el (modified) (206 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/2.2/lisp/gnus/gnus-art.el
r3505 r3526 1 1 ;;; gnus-art.el --- article mode commands for Gnus 2 3 ;; Copyright (C) 1996, 97, 98, 1999, 2000, 01, 02, 2004 4 ;; Free Software Foundation, Inc. 2 ;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 3 ;; Free Software Foundation, Inc. 5 4 6 5 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org> … … 28 27 ;;; Code: 29 28 30 (eval-when-compile (require 'cl)) 29 (eval-when-compile 30 (require 'cl) 31 (defvar tool-bar-map)) 31 32 32 33 (require 'gnus) … … 34 35 (require 'gnus-spec) 35 36 (require 'gnus-int) 37 (require 'gnus-win) 36 38 (require 'mm-bodies) 37 39 (require 'mail-parse) … … 40 42 (require 'wid-edit) 41 43 (require 'mm-uu) 44 (require 'message) 45 46 (autoload 'gnus-msg-mail "gnus-msg" nil t) 47 (autoload 'gnus-button-mailto "gnus-msg") 48 (autoload 'gnus-button-reply "gnus-msg" nil t) 42 49 43 50 (defgroup gnus-article nil 44 51 "Article display." 45 :link '(custom-manual "(gnus) TheArticle Buffer")52 :link '(custom-manual "(gnus)Article Buffer") 46 53 :group 'gnus) 47 54 … … 103 110 104 111 (defcustom gnus-ignored-headers 105 '("^Path:" "^Expires:" "^Date-Received:" "^References:" "^Xref:" "^Lines:" 106 "^Relay-Version:" "^Message-ID:" "^Approved:" "^Sender:" "^Received:" 107 "^X-UIDL:" "^MIME-Version:" "^Return-Path:" "^In-Reply-To:" 108 "^Content-Type:" "^Content-Transfer-Encoding:" "^X-WebTV-Signature:" 109 "^X-MimeOLE:" "^X-MSMail-Priority:" "^X-Priority:" "^X-Loop:" 110 "^X-Authentication-Warning:" "^X-MIME-Autoconverted:" "^X-Face:" 111 "^X-Attribution:" "^X-Originating-IP:" "^Delivered-To:" 112 "^NNTP-[-A-Za-z]+:" "^Distribution:" "^X-no-archive:" "^X-Trace:" 113 "^X-Complaints-To:" "^X-NNTP-Posting-Host:" "^X-Orig.*:" 114 "^Abuse-Reports-To:" "^Cache-Post-Path:" "^X-Article-Creation-Date:" 115 "^X-Poster:" "^X-Mail2News-Path:" "^X-Server-Date:" "^X-Cache:" 116 "^Originator:" "^X-Problems-To:" "^X-Auth-User:" "^X-Post-Time:" 117 "^X-Admin:" "^X-UID:" "^Resent-[-A-Za-z]+:" "^X-Mailing-List:" 118 "^Precedence:" "^Original-[-A-Za-z]+:" "^X-filename:" "^X-Orcpt:" 119 "^Old-Received:" "^X-Pgp" "^X-Auth:" "^X-From-Line:" 120 "^X-Gnus-Article-Number:" "^X-Majordomo:" "^X-Url:" "^X-Sender:" 121 "^MBOX-Line" "^Priority:" "^X-Pgp" "^X400-[-A-Za-z]+:" 122 "^Status:" "^X-Gnus-Mail-Source:" "^Cancel-Lock:" 123 "^X-FTN" "^X-EXP32-SerialNo:" "^Encoding:" "^Importance:" 124 "^Autoforwarded:" "^Original-Encoded-Information-Types:" "^X-Ya-Pop3:" 125 "^X-Face-Version:" "^X-Vms-To:" "^X-ML-NAME:" "^X-ML-COUNT:" 126 "^Mailing-List:" "^X-finfo:" "^X-md5sum:" "^X-md5sum-Origin:" 127 "^X-Sun-Charset:" "^X-Accept-Language:" "^X-Envelope-Sender:" 128 "^List-[A-Za-z]+:" "^X-Listprocessor-Version:" 129 "^X-Received:" "^X-Distribute:" "^X-Sequence:" "^X-Juno-Line-Breaks:" 130 "^X-Notes-Item:" "^X-MS-TNEF-Correlator:" "^x-uunet-gateway:" 131 "^X-Received:" "^Content-length:" "X-precedence:") 112 (mapcar 113 (lambda (header) 114 (concat "^" header ":")) 115 '("Path" "Expires" "Date-Received" "References" "Xref" "Lines" 116 "Relay-Version" "Message-ID" "Approved" "Sender" "Received" 117 "X-UIDL" "MIME-Version" "Return-Path" "In-Reply-To" 118 "Content-Type" "Content-Transfer-Encoding" "X-WebTV-Signature" 119 "X-MimeOLE" "X-MSMail-Priority" "X-Priority" "X-Loop" 120 "X-Authentication-Warning" "X-MIME-Autoconverted" "X-Face" 121 "X-Attribution" "X-Originating-IP" "Delivered-To" 122 "NNTP-[-A-Za-z]+" "Distribution" "X-no-archive" "X-Trace" 123 "X-Complaints-To" "X-NNTP-Posting-Host" "X-Orig.*" 124 "Abuse-Reports-To" "Cache-Post-Path" "X-Article-Creation-Date" 125 "X-Poster" "X-Mail2News-Path" "X-Server-Date" "X-Cache" 126 "Originator" "X-Problems-To" "X-Auth-User" "X-Post-Time" 127 "X-Admin" "X-UID" "Resent-[-A-Za-z]+" "X-Mailing-List" 128 "Precedence" "Original-[-A-Za-z]+" "X-filename" "X-Orcpt" 129 "Old-Received" "X-Pgp" "X-Auth" "X-From-Line" 130 "X-Gnus-Article-Number" "X-Majordomo" "X-Url" "X-Sender" 131 "MBOX-Line" "Priority" "X400-[-A-Za-z]+" 132 "Status" "X-Gnus-Mail-Source" "Cancel-Lock" 133 "X-FTN" "X-EXP32-SerialNo" "Encoding" "Importance" 134 "Autoforwarded" "Original-Encoded-Information-Types" "X-Ya-Pop3" 135 "X-Face-Version" "X-Vms-To" "X-ML-NAME" "X-ML-COUNT" 136 "Mailing-List" "X-finfo" "X-md5sum" "X-md5sum-Origin" 137 "X-Sun-Charset" "X-Accept-Language" "X-Envelope-Sender" 138 "List-[A-Za-z]+" "X-Listprocessor-Version" 139 "X-Received" "X-Distribute" "X-Sequence" "X-Juno-Line-Breaks" 140 "X-Notes-Item" "X-MS-TNEF-Correlator" "x-uunet-gateway" 141 "X-Received" "Content-length" "X-precedence" 142 "X-Authenticated-User" "X-Comment" "X-Report" "X-Abuse-Info" 143 "X-HTTP-Proxy" "X-Mydeja-Info" "X-Copyright" "X-No-Markup" 144 "X-Abuse-Info" "X-From_" "X-Accept-Language" "Errors-To" 145 "X-BeenThere" "X-Mailman-Version" "List-Help" "List-Post" 146 "List-Subscribe" "List-Id" "List-Unsubscribe" "List-Archive" 147 "X-Content-length" "X-Posting-Agent" "Original-Received" 148 "X-Request-PGP" "X-Fingerprint" "X-WRIEnvto" "X-WRIEnvfrom" 149 "X-Virus-Scanned" "X-Delivery-Agent" "Posted-Date" "X-Gateway" 150 "X-Local-Origin" "X-Local-Destination" "X-UserInfo1" 151 "X-Received-Date" "X-Hashcash" "Face" "X-DMCA-Notifications" 152 "X-Abuse-and-DMCA-Info" "X-Postfilter" "X-Gpg-.*" "X-Disclaimer")) 132 153 "*All headers that start with this regexp will be hidden. 133 154 This variable can also be a list of regexps of headers to be ignored. … … 139 160 140 161 (defcustom gnus-visible-headers 141 "^From:\\|^Newsgroups:\\|^Subject:\\|^Date:\\|^Followup-To:\\|^Reply-To:\\|^Organization:\\|^Summary:\\|^Keywords:\\|^To:\\|^[BGF]?Cc:\\|^Posted-To:\\|^Mail-Copies-To:\\|^ Apparently-To:\\|^Gnus-Warning:\\|^Resent-From:\\|^X-Sent:"162 "^From:\\|^Newsgroups:\\|^Subject:\\|^Date:\\|^Followup-To:\\|^Reply-To:\\|^Organization:\\|^Summary:\\|^Keywords:\\|^To:\\|^[BGF]?Cc:\\|^Posted-To:\\|^Mail-Copies-To:\\|^Mail-Followup-To:\\|^Apparently-To:\\|^Gnus-Warning:\\|^Resent-From:\\|^X-Sent:" 142 163 "*All headers that do not match this regexp will be hidden. 143 164 This variable can also be a list of regexp of headers to remain visible. … … 163 184 (defcustom gnus-boring-article-headers '(empty followup-to reply-to) 164 185 "Headers that are only to be displayed if they have interesting data. 165 Possible values in this list are `empty', `newsgroups', `followup-to', 166 `reply-to', `date', `long-to', and `many-to'." 186 Possible values in this list are: 187 188 'empty Headers with no content. 189 'newsgroups Newsgroup identical to Gnus group. 190 'to-address To identical to To-address. 191 'to-list To identical to To-list. 192 'cc-list CC identical to To-list. 193 'followup-to Followup-to identical to Newsgroups. 194 'reply-to Reply-to identical to From. 195 'date Date less than four days old. 196 'long-to To and/or Cc longer than 1024 characters. 197 'many-to Multiple To and/or Cc." 167 198 :type '(set (const :tag "Headers with no content." empty) 168 (const :tag "Newsgroups with only one group." newsgroups) 169 (const :tag "Followup-to identical to newsgroups." followup-to) 170 (const :tag "Reply-to identical to from." reply-to) 199 (const :tag "Newsgroups identical to Gnus group." newsgroups) 200 (const :tag "To identical to To-address." to-address) 201 (const :tag "To identical to To-list." to-list) 202 (const :tag "CC identical to To-list." cc-list) 203 (const :tag "Followup-to identical to Newsgroups." followup-to) 204 (const :tag "Reply-to identical to From." reply-to) 171 205 (const :tag "Date less than four days old." date) 172 (const :tag " Very long To and/or Cc header." long-to)206 (const :tag "To and/or Cc longer than 1024 characters." long-to) 173 207 (const :tag "Multiple To and/or Cc headers." many-to)) 208 :group 'gnus-article-hiding) 209 210 (defcustom gnus-article-skip-boring nil 211 "Skip over text that is not worth reading. 212 By default, if you set this t, then Gnus will display citations and 213 signatures, but will never scroll down to show you a page consisting 214 only of boring text. Boring text is controlled by 215 `gnus-article-boring-faces'." 216 :version "21.4" 217 :type 'boolean 174 218 :group 'gnus-article-hiding) 175 219 … … 201 245 :group 'gnus-article-hiding) 202 246 203 ;; Fixme: This isn't the right thing for mixed graphical and and 204 ;; non-graphical frames in a session. 205 ;; gnus-xmas.el overrides this for XEmacs. 247 ;; Fixme: This isn't the right thing for mixed graphical and non-graphical 248 ;; frames in a session. 206 249 (defcustom gnus-article-x-face-command 207 (if (and (fboundp 'image-type-available-p) 208 (image-type-available-p 'xbm)) 209 'gnus-article-display-xface 210 (if (or (and (boundp 'gnus-article-compface-xbm) 211 gnus-article-compface-xbm) 212 (eq 0 (string-match "#define" 213 (shell-command-to-string "uncompface -X")))) 214 "{ echo '/* Width=48, Height=48 */'; uncompface; } | display -" 250 (if (featurep 'xemacs) 251 (if (or (gnus-image-type-available-p 'xface) 252 (gnus-image-type-available-p 'pbm)) 253 'gnus-display-x-face-in-from 254 "{ echo '/* Width=48, Height=48 */'; uncompface; } | icontopbm | ee -") 255 (if (gnus-image-type-available-p 'pbm) 256 'gnus-display-x-face-in-from 215 257 "{ echo '/* Width=48, Height=48 */'; uncompface; } | icontopbm | \ 216 258 display -")) … … 218 260 If it is a string, the command will be executed in a sub-shell 219 261 asynchronously. The compressed face will be piped to this command." 220 :type '(choice string221 (function-item gnus- article-display-xface)262 :type `(choice string 263 (function-item gnus-display-x-face-in-from) 222 264 function) 223 265 :version "21.1" 266 :group 'gnus-picon 224 267 :group 'gnus-article-washing) 225 268 … … 232 275 "Banner alist for stripping. 233 276 For example, 234 ((egroups . \"^[ \\t\\n]*-------------------+\\\\( eGroups Sponsor -+\\\\)?....\\n\\\\(.+\\n\\\\)+\"))"277 ((egroups . \"^[ \\t\\n]*-------------------+\\\\( \\\\(e\\\\|Yahoo! \\\\)Groups Sponsor -+\\\\)?....\\n\\\\(.+\\n\\\\)+\"))" 235 278 :version "21.1" 236 279 :type '(repeat (cons symbol regexp)) 237 280 :group 'gnus-article-washing) 238 281 282 (gnus-define-group-parameter 283 banner 284 :variable-document 285 "Alist of regexps (to match group names) and banner." 286 :variable-group gnus-article-washing 287 :parameter-type 288 '(choice :tag "Banner" 289 :value nil 290 (const :tag "Remove signature" signature) 291 (symbol :tag "Item in `gnus-article-banner-alist'" none) 292 regexp 293 (const :tag "None" nil)) 294 :parameter-document 295 "If non-nil, specify how to remove `banners' from articles. 296 297 Symbol `signature' means to remove signatures delimited by 298 `gnus-signature-separator'. Any other symbol is used to look up a 299 regular expression to match the banner in `gnus-article-banner-alist'. 300 A string is used as a regular expression to match the banner 301 directly.") 302 303 (defcustom gnus-article-address-banner-alist nil 304 "Alist of mail addresses and banners. 305 Each element has the form (ADDRESS . BANNER), where ADDRESS is a regexp 306 to match a mail address in the From: header, BANNER is one of a symbol 307 `signature', an item in `gnus-article-banner-alist', a regexp and nil. 308 If ADDRESS matches author's mail address, it will remove things like 309 advertisements. For example: 310 311 \((\"@yoo-hoo\\\\.co\\\\.jp\\\\'\" . \"\\n_+\\nDo You Yoo-hoo!\\\\?\\n.*\\n.*\\n\")) 312 " 313 :type '(repeat 314 (cons 315 (regexp :tag "Address") 316 (choice :tag "Banner" :value nil 317 (const :tag "Remove signature" signature) 318 (symbol :tag "Item in `gnus-article-banner-alist'" none) 319 regexp 320 (const :tag "None" nil)))) 321 :group 'gnus-article-washing) 322 239 323 (defcustom gnus-emphasis-alist 240 324 (let ((format 241 "\\(\\s-\\|^\\| [-\"]\\|\\s(\\)\\(%s\\(\\w+\\(\\s-+\\w+\\)*[.,]?\\)%s\\)\\(\\s-\\|[-,;:\"]\\s-\\|[?!.]+\\s-\\|\\s)\\)")325 "\\(\\s-\\|^\\|\\=\\|[-\"]\\|\\s(\\)\\(%s\\(\\w+\\(\\s-+\\w+\\)*[.,]?\\)%s\\)\\(\\([-,.;:!?\"]\\|\\s)\\)+\\s-\\|[?!.]\\s-\\|\\s)\\|\\s-\\)") 242 326 (types 243 '(("_" "_" underline) 327 '(("\\*" "\\*" bold) 328 ("_" "_" underline) 244 329 ("/" "/" italic) 245 ("\\*" "\\*" bold)246 330 ("_/" "/_" underline-italic) 247 331 ("_\\*" "\\*_" underline-bold) 248 332 ("\\*/" "/\\*" bold-italic) 249 333 ("_\\*/" "/\\*_" underline-bold-italic)))) 250 `(("\\(\\s-\\|^\\)\\(_\\(\\(\\w\\|_[^_]\\)+\\)_\\)\\(\\s-\\|[?!.,;]\\)" 251 2 3 gnus-emphasis-underline) 252 ,@(mapcar 334 `(,@(mapcar 253 335 (lambda (spec) 254 336 (list 255 337 (format format (car spec) (cadr spec)) 256 338 2 3 (intern (format "gnus-emphasis-%s" (nth 2 spec))))) 257 types))) 339 types) 340 ("\\(\\s-\\|^\\)\\(-\\(\\(\\w\\|-[^-]\\)+\\)-\\)\\(\\s-\\|[?!.,;]\\)" 341 2 3 gnus-emphasis-strikethru) 342 ("\\(\\s-\\|^\\)\\(_\\(\\(\\w\\|_[^_]\\)+\\)_\\)\\(\\s-\\|[?!.,;]\\)" 343 2 3 gnus-emphasis-underline))) 258 344 "*Alist that says how to fontify certain phrases. 259 345 Each item looks like this: … … 282 368 :type 'regexp) 283 369 284 (defface gnus-emphasis-bold '((t (: weight bold)))370 (defface gnus-emphasis-bold '((t (:bold t))) 285 371 "Face used for displaying strong emphasized text (*word*)." 286 372 :group 'gnus-article-emphasis) 287 373 288 (defface gnus-emphasis-italic '((t (: slant italic)))374 (defface gnus-emphasis-italic '((t (:italic t))) 289 375 "Face used for displaying italic emphasized text (/word/)." 290 376 :group 'gnus-article-emphasis) … … 294 380 :group 'gnus-article-emphasis) 295 381 296 (defface gnus-emphasis-underline-bold '((t (: weight bold:underline t)))382 (defface gnus-emphasis-underline-bold '((t (:bold t :underline t))) 297 383 "Face used for displaying underlined bold emphasized text (_*word*_)." 298 384 :group 'gnus-article-emphasis) 299 385 300 (defface gnus-emphasis-underline-italic '((t (: slant italic:underline t)))386 (defface gnus-emphasis-underline-italic '((t (:italic t :underline t))) 301 387 "Face used for displaying underlined italic emphasized text (_/word/_)." 302 388 :group 'gnus-article-emphasis) 303 389 304 (defface gnus-emphasis-bold-italic '((t (: weight bold :slant italic)))390 (defface gnus-emphasis-bold-italic '((t (:bold t :italic t))) 305 391 "Face used for displaying bold italic emphasized text (/*word*/)." 306 392 :group 'gnus-article-emphasis) 307 393 308 394 (defface gnus-emphasis-underline-bold-italic 309 '((t (: weight bold :slant italic:underline t)))395 '((t (:bold t :italic t :underline t))) 310 396 "Face used for displaying underlined bold italic emphasized text. 311 397 Example: (_/*word*/_)." 398 :group 'gnus-article-emphasis) 399 400 (defface gnus-emphasis-strikethru (if (featurep 'xemacs) 401 '((t (:strikethru t))) 402 '((t (:strike-through t)))) 403 "Face used for displaying strike-through text (-word-)." 312 404 :group 'gnus-article-emphasis) 313 405 … … 368 460 * gnus-summary-save-in-folder (MH folder) 369 461 * gnus-summary-save-in-file (article format) 462 * gnus-summary-save-body-in-file (article body) 370 463 * gnus-summary-save-in-vm (use VM's folder format) 371 464 * gnus-summary-write-to-file (article format -- overwrite)." … … 375 468 (function-item gnus-summary-save-in-folder) 376 469 (function-item gnus-summary-save-in-file) 470 (function-item gnus-summary-save-body-in-file) 377 471 (function-item gnus-summary-save-in-vm) 378 472 (function-item gnus-summary-write-to-file))) … … 453 547 :group 'gnus-article-various) 454 548 549 (when (featurep 'xemacs) 550 ;; Extracted from gnus-xmas-define in order to preserve user settings 551 (when (fboundp 'turn-off-scroll-in-place) 552 (add-hook 'gnus-article-mode-hook 'turn-off-scroll-in-place)) 553 ;; Extracted from gnus-xmas-redefine in order to preserve user settings 554 (add-hook 'gnus-article-mode-hook 'gnus-xmas-article-menu-add)) 555 455 556 (defcustom gnus-article-menu-hook nil 456 557 "*Hook run after the creation of the article mode menu." … … 463 564 :group 'gnus-article-various) 464 565 465 (defcustom gnus-article-hide-pgp-hook nil 466 "*A hook called after successfully hiding a PGP signature." 467 :type 'hook 468 :group 'gnus-article-various) 566 (make-obsolete-variable 'gnus-article-hide-pgp-hook 567 "This variable is obsolete in Gnus 5.10.") 469 568 470 569 (defcustom gnus-article-button-face 'bold … … 493 592 (defface gnus-signature-face 494 593 '((t 495 (: slant italic)))594 (:italic t))) 496 595 "Face used for highlighting a signature in the article buffer." 497 596 :group 'gnus-article-highlight … … 506 605 (:foreground "red3")) 507 606 (t 508 (: slant italic)))607 (:italic t))) 509 608 "Face used for displaying from headers." 510 609 :group 'gnus-article-headers … … 519 618 (:foreground "red4")) 520 619 (t 521 (: weight bold :slant italic)))620 (:bold t :italic t))) 522 621 "Face used for displaying subject headers." 523 622 :group 'gnus-article-headers … … 527 626 '((((class color) 528 627 (background dark)) 529 (:foreground "yellow" : slant italic))628 (:foreground "yellow" :italic t)) 530 629 (((class color) 531 630 (background light)) 532 (:foreground "MidnightBlue" : slant italic))631 (:foreground "MidnightBlue" :italic t)) 533 632 (t 534 (:slant italic))) 535 "Face used for displaying newsgroups headers." 633 (:italic t))) 634 "Face used for displaying newsgroups headers. 635 In the default setup this face is only used for crossposted 636 articles." 536 637 :group 'gnus-article-headers 537 638 :group 'gnus-article-highlight) … … 545 646 (:foreground "maroon")) 546 647 (t 547 (: weight bold)))648 (:bold t))) 548 649 "Face used for displaying header names." 549 650 :group 'gnus-article-headers … … 553 654 '((((class color) 554 655 (background dark)) 555 (:foreground "forest green" : slant italic))656 (:foreground "forest green" :italic t)) 556 657 (((class color) 557 658 (background light)) 558 (:foreground "indianred4" : slant italic))659 (:foreground "indianred4" :italic t)) 559 660 (t 560 (: slant italic))) "Face used for displaying header content."661 (:italic t))) "Face used for displaying header content." 561 662 :group 'gnus-article-headers 562 663 :group 'gnus-article-highlight) … … 567 668 ("Newsgroups:.*," nil gnus-header-newsgroups-face) 568 669 ("" gnus-header-name-face gnus-header-content-face)) 569 "*Controls highlighting of article header .670 "*Controls highlighting of article headers. 570 671 571 672 An alist of the form (HEADER NAME CONTENT). 572 673 573 HEADER is a regular expression which should match the name of a n574 header headerand NAME and CONTENT are either face names or nil.674 HEADER is a regular expression which should match the name of a 675 header and NAME and CONTENT are either face names or nil. 575 676 576 677 The name of each header field will be displayed using the face 577 specified by the first element in the list where HEADER match the578 header name and NAME is non-nil. Similarly, the content will be 579 displayed by the first non-nil matching CONTENT face."678 specified by the first element in the list where HEADER matches 679 the header name and NAME is non-nil. Similarly, the content will 680 be displayed by the first non-nil matching CONTENT face." 580 681 :group 'gnus-article-headers 581 682 :group 'gnus-article-highlight … … 589 690 590 691 (defcustom gnus-article-decode-hook 591 '(article-decode-charset article-decode-encoded-words) 692 '(article-decode-charset article-decode-encoded-words 693 article-decode-group-name article-decode-idna-rhs) 592 694 "*Hook run to decode charsets in articles." 593 695 :group 'gnus-article-headers … … 603 705 604 706 (defvar gnus-article-dumbquotes-map 605 '(("\202" ",") 707 '(("\200" "EUR") 708 ("\202" ",") 606 709 ("\203" "f") 607 710 ("\204" ",,") … … 616 719 ("\226" "-") 617 720 ("\227" "--") 721 ("\230" "~") 618 722 ("\231" "(TM)") 619 723 ("\233" ">") … … 629 733 630 734 (defcustom gnus-unbuttonized-mime-types '(".*/.*") 631 "List of MIME types that should not be given buttons when rendered inline." 735 "List of MIME types that should not be given buttons when rendered inline. 736 See also `gnus-buttonized-mime-types' which may override this variable. 737 This variable is only used when `gnus-inhibit-mime-unbuttonizing' is nil." 632 738 :version "21.1" 633 739 :group 'gnus-article-mime 634 740 :type '(repeat regexp)) 741 742 (defcustom gnus-buttonized-mime-types nil 743 "List of MIME types that should be given buttons when rendered inline. 744 If set, this variable overrides `gnus-unbuttonized-mime-types'. 745 To see e.g. security buttons you could set this to 746 `(\"multipart/signed\")'. 747 This variable is only used when `gnus-inhibit-mime-unbuttonizing' is nil." 748 :version "21.4" 749 :group 'gnus-article-mime 750 :type '(repeat regexp)) 751 752 (defcustom gnus-inhibit-mime-unbuttonizing nil 753 "If non-nil, all MIME parts get buttons. 754 When nil (the default value), then some MIME parts do not get buttons, 755 as described by the variables `gnus-buttonized-mime-types' and 756 `gnus-unbuttonized-mime-types'." 757 :version "21.4" 758 :type 'boolean) 759 760 (defcustom gnus-body-boundary-delimiter "_" 761 "String used to delimit header and body. 762 This variable is used by `gnus-article-treat-body-boundary' which can 763 be controlled by `gnus-treat-body-boundary'." 764 :version "21.4" 765 :group 'gnus-article-various 766 :type '(choice (item :tag "None" :value nil) 767 string)) 768 769 (defcustom gnus-picon-databases '("/usr/lib/picon" "/usr/local/faces") 770 "Defines the location of the faces database. 771 For information on obtaining this database of pretty pictures, please 772 see http://www.cs.indiana.edu/picons/ftp/index.html" 773 :version "21.4" 774 :type '(repeat directory) 775 :link '(url-link :tag "download" 776 "http://www.cs.indiana.edu/picons/ftp/index.html") 777 :link '(custom-manual "(gnus)Picons") 778 :group 'gnus-picon) 779 780 (defun gnus-picons-installed-p () 781 "Say whether picons are installed on your machine." 782 (let ((installed nil)) 783 (dolist (database gnus-picon-databases) 784 (when (file-exists-p database) 785 (setq installed t))) 786 installed)) 635 787 636 788 (defcustom gnus-article-mime-part-function nil … … 675 827 (defcustom gnus-mime-action-alist 676 828 '(("save to file" . gnus-mime-save-part) 829 ("save and strip" . gnus-mime-save-part-and-strip) 830 ("delete part" . gnus-mime-delete-part) 677 831 ("display as text" . gnus-mime-inline-part) 678 832 ("view the part" . gnus-mime-view-part) 679 833 ("pipe to command" . gnus-mime-pipe-part) 680 834 ("toggle display" . gnus-article-press-button) 835 ("toggle display" . gnus-article-view-part-as-charset) 681 836 ("view as type" . gnus-mime-view-part-as-type) 682 (" internalize type" . gnus-mime-internalize-part)683 (" externalize type" . gnus-mime-externalize-part))837 ("view internally" . gnus-mime-view-part-internally) 838 ("view externally" . gnus-mime-view-part-externally)) 684 839 "An alist of actions that run on the MIME attachment." 685 :version "21.1"686 840 :group 'gnus-article-mime 687 841 :type '(repeat (cons (string :tag "name") … … 714 868 "Whether to inhibit treatment.") 715 869 716 (defcustom gnus-treat-highlight-signature '(or last (typep "text/x-vcard"))870 (defcustom gnus-treat-highlight-signature '(or t (typep "text/x-vcard")) 717 871 "Highlight the signature. 718 872 Valid values are nil, t, `head', `last', an integer or a predicate. 719 See the manual for details."873 See Info node `(gnus)Customizing Articles'." 720 874 :group 'gnus-article-treat 875 :link '(custom-manual "(gnus)Customizing Articles") 721 876 :type gnus-article-treat-custom) 722 877 (put 'gnus-treat-highlight-signature 'highlight t) … … 725 880 "Add buttons. 726 881 Valid values are nil, t, `head', `last', an integer or a predicate. 727 See the manual for details."882 See Info node `(gnus)Customizing Articles'." 728 883 :group 'gnus-article-treat 884 :link '(custom-manual "(gnus)Customizing Articles") 729 885 :type gnus-article-treat-custom) 730 886 (put 'gnus-treat-buttonize 'highlight t) … … 733 889 "Add buttons to the head. 734 890 Valid values are nil, t, `head', `last', an integer or a predicate. 735 See the manualfor details."891 See Info node `(gnus)Customizing Articles' for details." 736 892 :group 'gnus-article-treat 893 :link '(custom-manual "(gnus)Customizing Articles") 737 894 :type gnus-article-treat-head-custom) 738 895 (put 'gnus-treat-buttonize-head 'highlight t) … … 745 902 "Emphasize text. 746 903 Valid values are nil, t, `head', `last', an integer or a predicate. 747 See the manualfor details."904 See Info node `(gnus)Customizing Articles' for details." 748 905 :group 'gnus-article-treat 906 :link '(custom-manual "(gnus)Customizing Articles") 749 907 :type gnus-article-treat-custom) 750 908 (put 'gnus-treat-emphasize 'highlight t) … … 753 911 "Remove carriage returns. 754 912 Valid values are nil, t, `head', `last', an integer or a predicate. 755 See the manual for details." 913 See Info node `(gnus)Customizing Articles' for details." 914 :version "21.4" 756 915 :group 'gnus-article-treat 916 :link '(custom-manual "(gnus)Customizing Articles") 917 :type gnus-article-treat-custom) 918 919 (defcustom gnus-treat-unsplit-urls nil 920 "Remove newlines from within URLs. 921 Valid values are nil, t, `head', `last', an integer or a predicate. 922 See Info node `(gnus)Customizing Articles' for details." 923 :group 'gnus-article-treat 924 :link '(custom-manual "(gnus)Customizing Articles") 925 :type gnus-article-treat-custom) 926 927 (defcustom gnus-treat-leading-whitespace nil 928 "Remove leading whitespace in headers. 929 Valid values are nil, t, `head', `last', an integer or a predicate. 930 See Info node `(gnus)Customizing Articles' for details." 931 :version "21.4" 932 :group 'gnus-article-treat 933 :link '(custom-manual "(gnus)Customizing Articles") 757 934 :type gnus-article-treat-custom) 758 935 … … 760 937 "Hide headers. 761 938 Valid values are nil, t, `head', `last', an integer or a predicate. 762 See the manualfor details."939 See Info node `(gnus)Customizing Articles' for details." 763 940 :group 'gnus-article-treat 941 :link '(custom-manual "(gnus)Customizing Articles") 764 942 :type gnus-article-treat-head-custom) 765 943 … … 767 945 "Hide boring headers. 768 946 Valid values are nil, t, `head', `last', an integer or a predicate. 769 See the manualfor details."947 See Info node `(gnus)Customizing Articles' for details." 770 948 :group 'gnus-article-treat 949 :link '(custom-manual "(gnus)Customizing Articles") 771 950 :type gnus-article-treat-head-custom) 772 951 … … 774 953 "Hide the signature. 775 954 Valid values are nil, t, `head', `last', an integer or a predicate. 776 See the manualfor details."955 See Info node `(gnus)Customizing Articles' for details." 777 956 :group 'gnus-article-treat 957 :link '(custom-manual "(gnus)Customizing Articles") 778 958 :type gnus-article-treat-custom) 779 959 … … 781 961 "Fill the article. 782 962 Valid values are nil, t, `head', `last', an integer or a predicate. 783 See the manualfor details."963 See Info node `(gnus)Customizing Articles' for details." 784 964 :group 'gnus-article-treat 965 :link '(custom-manual "(gnus)Customizing Articles") 785 966 :type gnus-article-treat-custom) 786 967 … … 788 969 "Hide cited text. 789 970 Valid values are nil, t, `head', `last', an integer or a predicate. 790 See the manualfor details."971 See Info node `(gnus)Customizing Articles' for details." 791 972 :group 'gnus-article-treat 973 :link '(custom-manual "(gnus)Customizing Articles") 792 974 :type gnus-article-treat-custom) 793 975 … … 795 977 "Hide cited text. 796 978 Valid values are nil, t, `head', `last', an integer or a predicate. 797 See the manualfor details."979 See Info node `(gnus)Customizing Articles' for details." 798 980 :group 'gnus-article-treat 981 :link '(custom-manual "(gnus)Customizing Articles") 799 982 :type gnus-article-treat-custom) 800 983 … … 802 985 "Strip list identifiers from `gnus-list-identifiers`. 803 986 Valid values are nil, t, `head', `last', an integer or a predicate. 804 See the manualfor details."987 See Info node `(gnus)Customizing Articles' for details." 805 988 :version "21.1" 806 989 :group 'gnus-article-treat 990 :link '(custom-manual "(gnus)Customizing Articles") 807 991 :type gnus-article-treat-custom) 808 992 809 (defcustom gnus-treat-strip-pgp t 810 "Strip PGP signatures. 811 Valid values are nil, t, `head', `last', an integer or a predicate. 812 See the manual for details." 813 :group 'gnus-article-treat 814 :type gnus-article-treat-custom) 993 (make-obsolete-variable 'gnus-treat-strip-pgp 994 "This option is obsolete in Gnus 5.10.") 815 995 816 996 (defcustom gnus-treat-strip-pem nil 817 997 "Strip PEM signatures. 818 998 Valid values are nil, t, `head', `last', an integer or a predicate. 819 See the manualfor details."999 See Info node `(gnus)Customizing Articles' for details." 820 1000 :group 'gnus-article-treat 1001 :link '(custom-manual "(gnus)Customizing Articles") 821 1002 :type gnus-article-treat-custom) 822 1003 … … 825 1006 The banner to be stripped is specified in the `banner' group parameter. 826 1007 Valid values are nil, t, `head', `last', an integer or a predicate. 827 See the manualfor details."1008 See Info node `(gnus)Customizing Articles' for details." 828 1009 :group 'gnus-article-treat 1010 :link '(custom-manual "(gnus)Customizing Articles") 829 1011 :type gnus-article-treat-custom) 830 1012 … … 832 1014 "Highlight the headers. 833 1015 Valid values are nil, t, `head', `last', an integer or a predicate. 834 See the manualfor details."1016 See Info node `(gnus)Customizing Articles' for details." 835 1017 :group 'gnus-article-treat 1018 :link '(custom-manual "(gnus)Customizing Articles") 836 1019 :type gnus-article-treat-head-custom) 837 1020 (put 'gnus-treat-highlight-headers 'highlight t) … … 840 1023 "Highlight cited text. 841 1024 Valid values are nil, t, `head', `last', an integer or a predicate. 842 See the manualfor details."1025 See Info node `(gnus)Customizing Articles' for details." 843 1026 :group 'gnus-article-treat 1027 :link '(custom-manual "(gnus)Customizing Articles") 844 1028 :type gnus-article-treat-custom) 845 1029 (put 'gnus-treat-highlight-citation 'highlight t) … … 848 1032 "Display the Date in UT (GMT). 849 1033 Valid values are nil, t, `head', `last', an integer or a predicate. 850 See the manualfor details."1034 See Info node `(gnus)Customizing Articles' for details." 851 1035 :group 'gnus-article-treat 1036 :link '(custom-manual "(gnus)Customizing Articles") 852 1037 :type gnus-article-treat-head-custom) 853 1038 … … 855 1040 "Display the Date in the local timezone. 856 1041 Valid values are nil, t, `head', `last', an integer or a predicate. 857 See the manualfor details."1042 See Info node `(gnus)Customizing Articles' for details." 858 1043 :group 'gnus-article-treat 1044 :link '(custom-manual "(gnus)Customizing Articles") 1045 :type gnus-article-treat-head-custom) 1046 1047 (defcustom gnus-treat-date-english nil 1048 "Display the Date in a format that can be read aloud in English. 1049 Valid values are nil, t, `head', `last', an integer or a predicate. 1050 See Info node `(gnus)Customizing Articles' for details." 1051 :version "21.4" 1052 :group 'gnus-article-treat 1053 :link '(custom-manual "(gnus)Customizing Articles") 859 1054 :type gnus-article-treat-head-custom) 860 1055 … … 862 1057 "Display the Date header in a way that says how much time has elapsed. 863 1058 Valid values are nil, t, `head', `last', an integer or a predicate. 864 See the manualfor details."1059 See Info node `(gnus)Customizing Articles' for details." 865 1060 :group 'gnus-article-treat 1061 :link '(custom-manual "(gnus)Customizing Articles") 866 1062 :type gnus-article-treat-head-custom) 867 1063 … … 869 1065 "Display the date in the original timezone. 870 1066 Valid values are nil, t, `head', `last', an integer or a predicate. 871 See the manualfor details."1067 See Info node `(gnus)Customizing Articles' for details." 872 1068 :group 'gnus-article-treat 1069 :link '(custom-manual "(gnus)Customizing Articles") 873 1070 :type gnus-article-treat-head-custom) 874 1071 … … 876 1073 "Display the date in the ISO8601 format. 877 1074 Valid values are nil, t, `head', `last', an integer or a predicate. 878 See the manualfor details."1075 See Info node `(gnus)Customizing Articles' for details." 879 1076 :version "21.1" 880 1077 :group 'gnus-article-treat 1078 :link '(custom-manual "(gnus)Customizing Articles") 881 1079 :type gnus-article-treat-head-custom) 882 1080 … … 885 1083 The format is defined by the `gnus-article-time-format' variable. 886 1084 Valid values are nil, t, `head', `last', an integer or a predicate. 887 See the manualfor details."1085 See Info node `(gnus)Customizing Articles' for details." 888 1086 :group 'gnus-article-treat 1087 :link '(custom-manual "(gnus)Customizing Articles") 889 1088 :type gnus-article-treat-head-custom) 890 1089 … … 892 1091 "Strip the X-No-Archive header line from the beginning of the body. 893 1092 Valid values are nil, t, `head', `last', an integer or a predicate. 894 See the manualfor details."1093 See Info node `(gnus)Customizing Articles' for details." 895 1094 :version "21.1" 896 1095 :group 'gnus-article-treat 1096 :link '(custom-manual "(gnus)Customizing Articles") 897 1097 :type gnus-article-treat-custom) 898 1098 … … 900 1100 "Strip trailing blank lines. 901 1101 Valid values are nil, t, `head', `last', an integer or a predicate. 902 See the manualfor details."1102 See Info node `(gnus)Customizing Articles' for details." 903 1103 :group 'gnus-article-treat 1104 :link '(custom-manual "(gnus)Customizing Articles") 904 1105 :type gnus-article-treat-custom) 905 1106 … … 907 1108 "Strip leading blank lines. 908 1109 Valid values are nil, t, `head', `last', an integer or a predicate. 909 See the manualfor details."1110 See Info node `(gnus)Customizing Articles' for details." 910 1111 :group 'gnus-article-treat 1112 :link '(custom-manual "(gnus)Customizing Articles") 911 1113 :type gnus-article-treat-custom) 912 1114 … … 914 1116 "Strip multiple blank lines. 915 1117 Valid values are nil, t, `head', `last', an integer or a predicate. 916 See the manualfor details."1118 See Info node `(gnus)Customizing Articles' for details." 917 1119 :group 'gnus-article-treat 1120 :link '(custom-manual "(gnus)Customizing Articles") 1121 :type gnus-article-treat-custom) 1122 1123 (defcustom gnus-treat-unfold-headers 'head 1124 "Unfold folded header lines. 1125 Valid values are nil, t, `head', `last', an integer or a predicate. 1126 See Info node `(gnus)Customizing Articles' for details." 1127 :group 'gnus-article-treat 1128 :link '(custom-manual "(gnus)Customizing Articles") 1129 :type gnus-article-treat-custom) 1130 1131 (defcustom gnus-treat-fold-headers nil 1132 "Fold headers. 1133 Valid values are nil, t, `head', `last', an integer or a predicate. 1134 See Info node `(gnus)Customizing Articles' for details." 1135 :version "21.4" 1136 :group 'gnus-article-treat 1137 :link '(custom-manual "(gnus)Customizing Articles") 1138 :type gnus-article-treat-custom) 1139 1140 (defcustom gnus-treat-fold-newsgroups 'head 1141 "Fold the Newsgroups and Followup-To headers. 1142 Valid values are nil, t, `head', `last', an integer or a predicate. 1143 See Info node `(gnus)Customizing Articles' for details." 1144 :version "21.4" 1145 :group 'gnus-article-treat 1146 :link '(custom-manual "(gnus)Customizing Articles") 918 1147
