*** pub/sgnus/lisp/gnus-cus.el Tue May 21 23:31:38 1996 --- sgnus/lisp/gnus-cus.el Wed May 22 21:34:00 1996 *************** *** 54,133 **** (doc . "\ The coffee-brewing, all singing, all dancing, kitchen sink newsreader.") (type . group) ! (data ((tag . "Visual") ! (doc . "\ GNUS can be made colorful and fun or grey and dull as you wish.") ! (type . group) ! (data ((tag . "Visual") ! (doc . "Enable visual features. If `visual' is disabled, there will be no menus and few faces. Most of the visual customization options below will be ignored. GNUS will use less space and be faster as a result.") ! (default . ! (summary-highlight group-highlight ! article-highlight ! summary-menu group-menu article-menu ! tree-highlight menu highlight ! browse-menu server-menu ! page-marker tree-menu binary-menu pick-menu ! grouplens-menu)) ! (name . gnus-visual) ! (type . toggle)) ! ((tag . "WWW Browser") ! (doc . "\ WWW Browser to call when clicking on an URL button in the article buffer. You can choose between one of the predefined browsers, or `Other'.") ! (name . browse-url-browser-function) ! (calculate . (cond ((boundp 'browse-url-browser-function) ! browse-url-browser-function) ! ((fboundp 'w3-fetch) ! 'w3-fetch) ! ((eq window-system 'x) ! 'gnus-netscape-open-url))) ! (type . choice) ! (data ((tag . "W3") ! (type . const) ! (default . w3-fetch)) ! ((tag . "Netscape") ! (type . const) ! (default . browse-url-netscape)) ! ((prompt . "Other") ! (doc . "\ You must specify the name of a Lisp function here. The lisp function should open a WWW browser when called with an URL (a string). ") ! (default . __uninitialized__) ! (type . symbol)))) ! ((tag . "Mouse Face") ! (doc . "\ Face used for group or summary buffer mouse highlighting. The line beneath the mouse pointer will be highlighted with this face.") ! (name . gnus-mouse-face) ! (calculate . (if (boundp 'gnus-mouse-face) ! gnus-mouse-face ! 'highlight)) ! (type . face)) ! ((tag . "Article Display") ! (doc . "Controls how the article buffer will look. If you leave the list empty, the article will appear exactly as it is stored on the disk. The list entries will hide or highlight various parts of the article, making it easier to find the information you want.") ! (name . gnus-article-display-hook) ! (type . list) ! (default . (gnus-article-hide-headers-if-wanted ! gnus-article-hide-boring-headers ! gnus-article-treat-overstrike ! gnus-article-maybe-highlight)) ! (data ((type . repeat) ! (header . nil) ! (data (tag . "Filter") ! (type . choice) ! (data ((tag . "Treat Overstrike") ! (doc . "\ Convert use of overstrike into bold and underline. Two identical letters separated by a backspace are displayed as a --- 54,139 ---- (doc . "\ The coffee-brewing, all singing, all dancing, kitchen sink newsreader.") (type . group) ! (data ! ((tag . "Visual") ! (doc . "\ GNUS can be made colorful and fun or grey and dull as you wish.") ! (type . group) ! (data ! ((tag . "Visual") ! (doc . "Enable visual features. If `visual' is disabled, there will be no menus and few faces. Most of the visual customization options below will be ignored. GNUS will use less space and be faster as a result.") ! (default . ! (summary-highlight group-highlight ! article-highlight ! summary-menu group-menu article-menu ! tree-highlight menu highlight ! browse-menu server-menu ! page-marker tree-menu binary-menu pick-menu ! grouplens-menu)) ! (name . gnus-visual) ! (type . toggle)) ! ((tag . "WWW Browser") ! (doc . "\ WWW Browser to call when clicking on an URL button in the article buffer. You can choose between one of the predefined browsers, or `Other'.") ! (name . browse-url-browser-function) ! (calculate . (cond ((boundp 'browse-url-browser-function) ! browse-url-browser-function) ! ((fboundp 'w3-fetch) ! 'w3-fetch) ! ((eq window-system 'x) ! 'gnus-netscape-open-url))) ! (type . choice) ! (data ! ((tag . "W3") ! (type . const) ! (default . w3-fetch)) ! ((tag . "Netscape") ! (type . const) ! (default . browse-url-netscape)) ! ((prompt . "Other") ! (doc . "\ You must specify the name of a Lisp function here. The lisp function should open a WWW browser when called with an URL (a string). ") ! (default . __uninitialized__) ! (type . symbol)))) ! ((tag . "Mouse Face") ! (doc . "\ Face used for group or summary buffer mouse highlighting. The line beneath the mouse pointer will be highlighted with this face.") ! (name . gnus-mouse-face) ! (calculate . (if (boundp 'gnus-mouse-face) ! gnus-mouse-face ! 'highlight)) ! (type . face)) ! ((tag . "Article Display") ! (doc . "Controls how the article buffer will look. If you leave the list empty, the article will appear exactly as it is stored on the disk. The list entries will hide or highlight various parts of the article, making it easier to find the information you want.") ! (name . gnus-article-display-hook) ! (type . list) ! (default . (gnus-article-hide-headers-if-wanted ! gnus-article-hide-boring-headers ! gnus-article-treat-overstrike ! gnus-article-maybe-highlight)) ! (data ! ((type . repeat) ! (header . nil) ! (data ! (tag . "Filter") ! (type . choice) ! (data ! ((tag . "Treat Overstrike") ! (doc . "\ Convert use of overstrike into bold and underline. Two identical letters separated by a backspace are displayed as a *************** *** 137,314 **** still in use on some newsgroups, in particular the ClariNet hierarchy. ") ! (type . const) ! (default . ! gnus-article-treat-overstrike)) ! ((tag . "Word Wrap") ! (doc . "\ Format too long lines. ") ! (type . const) ! (default . gnus-article-word-wrap)) ! ((tag . "Remove CR") ! (doc . "\ Remove carriage returns from an article. ") ! (type . const) ! (default . gnus-article-remove-cr)) ! ((tag . "Display X-Face") ! (doc . "\ Look for an X-Face header and display it if present. See also `X Face Command' for a definition of the external command used for decoding and displaying the face. ") ! (type . const) ! (default . gnus-article-display-x-face)) ! ((tag . "Unquote Printable") ! (doc . "\ Transform MIME quoted printable into 8-bit characters. Quoted printable is often seen by strings like `=EF' where you would expect a non-English letter. ") ! (type . const) ! (default . ! gnus-article-de-quoted-unreadable)) ! ((tag . "Universal Time") ! (doc . "\ Convert date header to universal time. ") ! (type . const) ! (default . gnus-article-date-ut)) ! ((tag . "Local Time") ! (doc . "\ Convert date header to local timezone. ") ! (type . const) ! (default . gnus-article-date-local)) ! ((tag . "Lapsed Time") ! (doc . "\ Replace date header with a header showing the articles age. ") ! (type . const) ! (default . gnus-article-date-lapsed)) ! ((tag . "Highlight") ! (doc . "\ Highlight headers, citations, signature, and buttons. ") ! (type . const) ! (default . gnus-article-highlight)) ! ((tag . "Maybe Highlight") ! (doc . "\ Highlight headers, signature, and buttons if `Visual' is turned on. ") ! (type . const) ! (default . ! gnus-article-maybe-highlight)) ! ((tag . "Highlight Some") ! (doc . "\ Highlight headers, signature, and buttons. ") ! (type . const) ! (default . gnus-article-highlight-some)) ! ((tag . "Highlight Headers") ! (doc . "\ Highlight headers as specified by `Article Header Highlighting'. ") ! (type . const) ! (default . ! gnus-article-highlight-headers)) ! ((tag . "Highlight Signature") ! (doc . "\ Highlight the signature as specified by `Article Signature Face'. ") ! (type . const) ! (default . ! gnus-article-highlight-signature)) ! ((tag . "Citation") ! (doc . "\ Highlight the citations as specified by `Citation Faces'. ") ! (type . const) ! (default . ! gnus-article-highlight-citation)) ! ((tag . "Hide") ! (doc . "\ Hide unwanted headers, excess citation, and the signature. ") ! (type . const) ! (default . gnus-article-hide)) ! ((tag . "Hide Headers If Wanted") ! (doc . "\ Hide headers, but allow user to display them with `t' or `v'. ") ! (type . const) ! (default . ! gnus-article-hide-headers-if-wanted)) ! ((tag . "Hide Headers") ! (doc . "\ Hide unwanted headers and possibly sort them as well. Most likely you want to use `Hide Headers If Wanted' instead. ") ! (type . const) ! (default . gnus-article-hide-headers)) ! ((tag . "Hide Signature") ! (doc . "\ Hide the signature. ") ! (type . const) ! (default . gnus-article-hide-signature)) ! ((tag . "Hide Excess Citations") ! (doc . "\ Hide excess citation. Excess is defined by `Citation Hide Percentage' and `Citation Hide Absolute'. ") ! (type . const) ! (default . ! gnus-article-hide-citation-maybe)) ! ((tag . "Hide Citations") ! (doc . "\ Hide all cited text. ") ! (type . const) ! (default . gnus-article-hide-citation)) ! ((tag . "Add Buttons") ! (doc . "\ Make URL's into clickable buttons. ") ! (type . const) ! (default . gnus-article-add-buttons)) ! ((prompt . "Other") ! (doc . "\ Name of Lisp function to call. Push the `Filter' button to select one of the predefined filters. ") ! (type . symbol))))))) ! ((tag . "Article Button Face") ! (doc . "\ Face used for highlighting buttons in the article buffer. An article button is a piece of text that you can activate by pressing `RET' or `mouse-2' above it.") ! (name . gnus-article-button-face) ! (default . bold) ! (type . face)) ! ((tag . "Article Mouse Face") ! (doc . "\ Face used for mouse highlighting in the article buffer. Article buttons will be displayed in this face when the cursor is above them.") ! (name . gnus-article-mouse-face) ! (default . highlight) ! (type . face)) ! ((tag . "Article Signature Face") ! (doc . "\ Face used for highlighting a signature in the article buffer.") ! (name . gnus-signature-face) ! (default . italic) ! (type . face)) ! ((tag . "Article Header Highlighting") ! (doc . "\ Controls highlighting of article header. Below is a list of article header names, and the faces used for --- 143,320 ---- still in use on some newsgroups, in particular the ClariNet hierarchy. ") ! (type . const) ! (default . ! gnus-article-treat-overstrike)) ! ((tag . "Word Wrap") ! (doc . "\ Format too long lines. ") ! (type . const) ! (default . gnus-article-word-wrap)) ! ((tag . "Remove CR") ! (doc . "\ Remove carriage returns from an article. ") ! (type . const) ! (default . gnus-article-remove-cr)) ! ((tag . "Display X-Face") ! (doc . "\ Look for an X-Face header and display it if present. See also `X Face Command' for a definition of the external command used for decoding and displaying the face. ") ! (type . const) ! (default . gnus-article-display-x-face)) ! ((tag . "Unquote Printable") ! (doc . "\ Transform MIME quoted printable into 8-bit characters. Quoted printable is often seen by strings like `=EF' where you would expect a non-English letter. ") ! (type . const) ! (default . ! gnus-article-de-quoted-unreadable)) ! ((tag . "Universal Time") ! (doc . "\ Convert date header to universal time. ") ! (type . const) ! (default . gnus-article-date-ut)) ! ((tag . "Local Time") ! (doc . "\ Convert date header to local timezone. ") ! (type . const) ! (default . gnus-article-date-local)) ! ((tag . "Lapsed Time") ! (doc . "\ Replace date header with a header showing the articles age. ") ! (type . const) ! (default . gnus-article-date-lapsed)) ! ((tag . "Highlight") ! (doc . "\ Highlight headers, citations, signature, and buttons. ") ! (type . const) ! (default . gnus-article-highlight)) ! ((tag . "Maybe Highlight") ! (doc . "\ Highlight headers, signature, and buttons if `Visual' is turned on. ") ! (type . const) ! (default . ! gnus-article-maybe-highlight)) ! ((tag . "Highlight Some") ! (doc . "\ Highlight headers, signature, and buttons. ") ! (type . const) ! (default . gnus-article-highlight-some)) ! ((tag . "Highlight Headers") ! (doc . "\ Highlight headers as specified by `Article Header Highlighting'. ") ! (type . const) ! (default . ! gnus-article-highlight-headers)) ! ((tag . "Highlight Signature") ! (doc . "\ Highlight the signature as specified by `Article Signature Face'. ") ! (type . const) ! (default . ! gnus-article-highlight-signature)) ! ((tag . "Citation") ! (doc . "\ Highlight the citations as specified by `Citation Faces'. ") ! (type . const) ! (default . ! gnus-article-highlight-citation)) ! ((tag . "Hide") ! (doc . "\ Hide unwanted headers, excess citation, and the signature. ") ! (type . const) ! (default . gnus-article-hide)) ! ((tag . "Hide Headers If Wanted") ! (doc . "\ Hide headers, but allow user to display them with `t' or `v'. ") ! (type . const) ! (default . ! gnus-article-hide-headers-if-wanted)) ! ((tag . "Hide Headers") ! (doc . "\ Hide unwanted headers and possibly sort them as well. Most likely you want to use `Hide Headers If Wanted' instead. ") ! (type . const) ! (default . gnus-article-hide-headers)) ! ((tag . "Hide Signature") ! (doc . "\ Hide the signature. ") ! (type . const) ! (default . gnus-article-hide-signature)) ! ((tag . "Hide Excess Citations") ! (doc . "\ Hide excess citation. Excess is defined by `Citation Hide Percentage' and `Citation Hide Absolute'. ") ! (type . const) ! (default . ! gnus-article-hide-citation-maybe)) ! ((tag . "Hide Citations") ! (doc . "\ Hide all cited text. ") ! (type . const) ! (default . gnus-article-hide-citation)) ! ((tag . "Add Buttons") ! (doc . "\ Make URL's into clickable buttons. ") ! (type . const) ! (default . gnus-article-add-buttons)) ! ((prompt . "Other") ! (doc . "\ Name of Lisp function to call. Push the `Filter' button to select one of the predefined filters. ") ! (type . symbol))))))) ! ((tag . "Article Button Face") ! (doc . "\ Face used for highlighting buttons in the article buffer. An article button is a piece of text that you can activate by pressing `RET' or `mouse-2' above it.") ! (name . gnus-article-button-face) ! (default . bold) ! (type . face)) ! ((tag . "Article Mouse Face") ! (doc . "\ Face used for mouse highlighting in the article buffer. Article buttons will be displayed in this face when the cursor is above them.") ! (name . gnus-article-mouse-face) ! (default . highlight) ! (type . face)) ! ((tag . "Article Signature Face") ! (doc . "\ Face used for highlighting a signature in the article buffer.") ! (name . gnus-signature-face) ! (default . italic) ! (type . face)) ! ((tag . "Article Header Highlighting") ! (doc . "\ Controls highlighting of article header. Below is a list of article header names, and the faces used for *************** *** 330,438 **** header, specify `None' in the `Content' field. Similarly, specify `None' in the `Name' field if you only want to leave the name part alone.") ! (name . gnus-header-face-alist) ! (type . list) ! (calculate . (cond ((not (eq gnus-display-type 'color)) ! '(("" bold italic))) ! ((eq gnus-background-mode 'dark) ! (list (list "From" nil ! (custom-face-lookup ! "light blue" nil nil t t nil)) ! (list "Subject" nil ! (custom-face-lookup ! "pink" nil nil t t nil)) ! (list "Newsgroups:.*," nil ! (custom-face-lookup ! "yellow" nil nil t t nil)) ! (list "" ! (custom-face-lookup ! "cyan" nil nil t nil nil) ! (custom-face-lookup ! "forestgreen" ! nil nil nil t nil)))) ! (t ! (list (list "From" nil ! (custom-face-lookup ! "RoyalBlue" ! nil nil t t nil)) ! (list "Subject" nil ! (custom-face-lookup ! "firebrick" ! nil nil t t nil)) ! (list "Newsgroups:.*," nil ! (custom-face-lookup ! "indianred" nil nil t t nil)) ! (list "" ! (custom-face-lookup ! "DarkGreen" ! nil nil t nil nil) ! (custom-face-lookup ! "DarkGreen" ! nil nil nil t nil)))))) ! (data ((type . repeat) ! (header . nil) ! (data (type . list) ! (compact . t) ! (data ((type . string) ! (prompt . "Header") ! (tag . "Header ")) ! "\n " ! ((type . face) ! (prompt . "Name") ! (tag . "Name ")) ! "\n " ! ((type . face) ! (tag . "Content")) ! "\n"))))) ! ((tag . "Attribution Face") ! (doc . "\ Face used for attribution lines. It is merged with the face for the cited text belonging to the attribution.") ! (name . gnus-cite-attribution-face) ! (default . underline) ! (type . face)) ! ((tag . "Citation Faces") ! (doc . "\ List of faces used for highlighting citations. When there are citations from multiple articles in the same message, Gnus will try to give each citation from each article its own face. This should make it easier to see who wrote what.") ! (name . gnus-cite-face-list) ! (import . gnus-custom-import-cite-face-list) ! (type . list) ! (calculate . (cond ((not (eq gnus-display-type 'color)) ! '(italic)) ! ((eq gnus-background-mode 'dark) ! (mapcar 'gnus-make-face ! gnus-face-light-name-list)) ! (t ! (mapcar 'gnus-make-face ! gnus-face-dark-name-list)))) ! (data ((type . repeat) ! (header . nil) ! (data (type . face) ! (tag . "Face"))))) ! ((tag . "Citation Hide Percentage") ! (doc . "\ Only hide excess citation if above this percentage of the body.") ! (name . gnus-cite-hide-percentage) ! (default . 50) ! (type . integer)) ! ((tag . "Citation Hide Absolute") ! (doc . "\ Only hide excess citation if above this number of lines in the body.") ! (name . gnus-cite-hide-absolute) ! (default . 10) ! (type . integer)) ! ((tag . "Summary Selected Face") ! (doc . "\ Face used for highlighting the current article in the summary buffer.") ! (name . gnus-summary-selected-face) ! (default . underline) ! (type . face)) ! ((tag . "Summary Line Highlighting") ! (doc . "\ Controls the highlighting of summary buffer lines. Below is a list of `Form'/`Face' pairs. When deciding how a a --- 336,438 ---- header, specify `None' in the `Content' field. Similarly, specify `None' in the `Name' field if you only want to leave the name part alone.") ! (name . gnus-header-face-alist) ! (type . list) ! (calculate ! . (cond ! ((not (eq gnus-display-type 'color)) ! '(("" bold italic))) ! ((eq gnus-background-mode 'dark) ! (list ! (list "From" nil ! (custom-face-lookup "light blue" nil nil t t nil)) ! (list "Subject" nil ! (custom-face-lookup "pink" nil nil t t nil)) ! (list "Newsgroups:.*," nil ! (custom-face-lookup "yellow" nil nil t t nil)) ! (list ! "" ! (custom-face-lookup "cyan" nil nil t nil nil) ! (custom-face-lookup "forestgreen" nil nil nil t nil)))) ! (t ! (list ! (list "From" nil ! (custom-face-lookup "RoyalBlue" nil nil t t nil)) ! (list "Subject" nil ! (custom-face-lookup "firebrick" nil nil t t nil)) ! (list "Newsgroups:.*," nil ! (custom-face-lookup "indianred" nil nil t t nil)) ! (list "" ! (custom-face-lookup "DarkGreen" nil nil t nil nil) ! (custom-face-lookup "DarkGreen" nil nil nil t nil)))))) ! (data ! ((type . repeat) ! (header . nil) ! (data ! (type . list) ! (compact . t) ! (data ! ((type . string) ! (prompt . "Header") ! (tag . "Header ")) ! "\n " ! ((type . face) ! (prompt . "Name") ! (tag . "Name ")) ! "\n " ! ((type . face) ! (tag . "Content")) ! "\n"))))) ! ((tag . "Attribution Face") ! (doc . "\ Face used for attribution lines. It is merged with the face for the cited text belonging to the attribution.") ! (name . gnus-cite-attribution-face) ! (default . underline) ! (type . face)) ! ((tag . "Citation Faces") ! (doc . "\ List of faces used for highlighting citations. When there are citations from multiple articles in the same message, Gnus will try to give each citation from each article its own face. This should make it easier to see who wrote what.") ! (name . gnus-cite-face-list) ! (import . gnus-custom-import-cite-face-list) ! (type . list) ! (calculate . (cond ((not (eq gnus-display-type 'color)) ! '(italic)) ! ((eq gnus-background-mode 'dark) ! (mapcar 'gnus-make-face ! gnus-face-light-name-list)) ! (t ! (mapcar 'gnus-make-face ! gnus-face-dark-name-list)))) ! (data ! ((type . repeat) ! (header . nil) ! (data (type . face) ! (tag . "Face"))))) ! ((tag . "Citation Hide Percentage") ! (doc . "\ Only hide excess citation if above this percentage of the body.") ! (name . gnus-cite-hide-percentage) ! (default . 50) ! (type . integer)) ! ((tag . "Citation Hide Absolute") ! (doc . "\ Only hide excess citation if above this number of lines in the body.") ! (name . gnus-cite-hide-absolute) ! (default . 10) ! (type . integer)) ! ((tag . "Summary Selected Face") ! (doc . "\ Face used for highlighting the current article in the summary buffer.") ! (name . gnus-summary-selected-face) ! (default . underline) ! (type . face)) ! ((tag . "Summary Line Highlighting") ! (doc . "\ Controls the highlighting of summary buffer lines. Below is a list of `Form'/`Face' pairs. When deciding how a a *************** *** 450,537 **** default: The default article score. below: The score below which articles are automatically marked as read. mark: The article's mark.") ! (name . gnus-summary-highlight) ! (type . list) ! (calculate . (cond ((not (eq gnus-display-type 'color)) ! '(((> score default) . bold) ! ((< score default) . italic))) ! ((eq gnus-background-mode 'dark) ! (list (cons '(= mark gnus-canceled-mark) ! (custom-face-lookup "yellow" "black" nil nil nil nil)) ! (cons '(and (> score default) ! (or (= mark gnus-dormant-mark) ! (= mark gnus-ticked-mark))) ! (custom-face-lookup "pink" nil nil t nil nil)) ! (cons '(and (< score default) ! (or (= mark gnus-dormant-mark) ! (= mark gnus-ticked-mark))) ! (custom-face-lookup "pink" nil nil nil t nil)) ! (cons '(or (= mark gnus-dormant-mark) ! (= mark gnus-ticked-mark)) ! (custom-face-lookup "pink" nil nil nil nil nil)) ! ! (cons '(and (> score default) (= mark gnus-ancient-mark)) ! (custom-face-lookup "dark blue" nil nil t nil nil)) ! (cons '(and (< score default) (= mark gnus-ancient-mark)) ! (custom-face-lookup "SkyBlue" nil nil nil t nil)) ! (cons '(= mark gnus-ancient-mark) ! (custom-face-lookup "SkyBlue" nil nil nil nil nil)) ! ! (cons '(and (> score default) (= mark gnus-unread-mark)) ! (custom-face-lookup "white" nil nil t nil nil)) ! (cons '(and (< score default) (= mark gnus-unread-mark)) ! (custom-face-lookup "white" nil nil nil t nil)) ! (cons '(= mark gnus-unread-mark) ! (custom-face-lookup "white" nil nil nil nil nil)) ! ! (cons '(> score default) 'bold) ! (cons '(< score default) 'italic))) ! (t ! (list (cons '(= mark gnus-canceled-mark) ! (custom-face-lookup "yellow" "black" nil nil nil nil)) ! (cons '(and (> score default) ! (or (= mark gnus-dormant-mark) ! (= mark gnus-ticked-mark))) ! (custom-face-lookup "firebrick" nil nil t nil nil)) ! (cons '(and (< score default) ! (or (= mark gnus-dormant-mark) ! (= mark gnus-ticked-mark))) ! (custom-face-lookup "firebrick" nil nil nil t nil)) ! (cons '(or (= mark gnus-dormant-mark) ! (= mark gnus-ticked-mark)) ! (custom-face-lookup "firebrick" nil nil nil nil nil)) ! ! (cons '(and (> score default) (= mark gnus-ancient-mark)) ! (custom-face-lookup "RoyalBlue" nil nil t nil nil)) ! (cons '(and (< score default) (= mark gnus-ancient-mark)) ! (custom-face-lookup "RoyalBlue" nil nil nil t nil)) ! (cons '(= mark gnus-ancient-mark) ! (custom-face-lookup "RoyalBlue" nil nil nil nil nil)) ! ! (cons '(and (> score default) (/= mark gnus-unread-mark)) ! (custom-face-lookup "DarkGreen" nil nil t nil nil)) ! (cons '(and (< score default) (/= mark gnus-unread-mark)) ! (custom-face-lookup "DarkGreen" nil nil nil t nil)) ! (cons '(/= mark gnus-unread-mark) ! (custom-face-lookup "DarkGreen" nil nil nil nil nil)) ! ! (cons '(> score default) 'bold) ! (cons '(< score default) 'italic))))) ! (data ((type . repeat) ! (header . nil) ! (data (type . pair) ! (compact . t) ! (data ((type . sexp) ! (width . 60) ! (tag . "Form")) ! "\n " ! ((type . face) ! (tag . "Face")) ! "\n"))))) ! ;; Do not define `gnus-button-alist' before we have ! ;; some `complexity' attribute so we can hide it from ! ;; beginners. ! ))))) (defun gnus-custom-import-cite-face-list (custom alist) ;; Backward compatible grokking of light and dark. --- 450,546 ---- default: The default article score. below: The score below which articles are automatically marked as read. mark: The article's mark.") ! (name . gnus-summary-highlight) ! (type . list) ! (calculate ! . (cond ! ((not (eq gnus-display-type 'color)) ! '(((> score default) . bold) ! ((< score default) . italic))) ! ((eq gnus-background-mode 'dark) ! (list ! (cons ! '(= mark gnus-canceled-mark) ! (custom-face-lookup "yellow" "black" nil nil nil nil)) ! (cons '(and (> score default) ! (or (= mark gnus-dormant-mark) ! (= mark gnus-ticked-mark))) ! (custom-face-lookup "pink" nil nil t nil nil)) ! (cons '(and (< score default) ! (or (= mark gnus-dormant-mark) ! (= mark gnus-ticked-mark))) ! (custom-face-lookup "pink" nil nil nil t nil)) ! (cons '(or (= mark gnus-dormant-mark) ! (= mark gnus-ticked-mark)) ! (custom-face-lookup "pink" nil nil nil nil nil)) ! ! (cons ! '(and (> score default) (= mark gnus-ancient-mark)) ! (custom-face-lookup "dark blue" nil nil t nil nil)) ! (cons ! '(and (< score default) (= mark gnus-ancient-mark)) ! (custom-face-lookup "SkyBlue" nil nil nil t nil)) ! (cons ! '(= mark gnus-ancient-mark) ! (custom-face-lookup "SkyBlue" nil nil nil nil nil)) ! ! (cons '(and (> score default) (= mark gnus-unread-mark)) ! (custom-face-lookup "white" nil nil t nil nil)) ! (cons '(and (< score default) (= mark gnus-unread-mark)) ! (custom-face-lookup "white" nil nil nil t nil)) ! (cons '(= mark gnus-unread-mark) ! (custom-face-lookup "white" nil nil nil nil nil)) ! ! (cons '(> score default) 'bold) ! (cons '(< score default) 'italic))) ! (t ! (list ! (cons '(= mark gnus-canceled-mark) ! (custom-face-lookup "yellow" "black" nil nil nil nil)) ! (cons '(and (> score default) ! (or (= mark gnus-dormant-mark) ! (= mark gnus-ticked-mark))) ! (custom-face-lookup "firebrick" nil nil t nil nil)) ! (cons '(and (< score default) ! (or (= mark gnus-dormant-mark) ! (= mark gnus-ticked-mark))) ! (custom-face-lookup "firebrick" nil nil nil t nil)) ! (cons '(or (= mark gnus-dormant-mark) ! (= mark gnus-ticked-mark)) ! (custom-face-lookup "firebrick" nil nil nil nil nil)) ! ! (cons '(and (> score default) (= mark gnus-ancient-mark)) ! (custom-face-lookup "RoyalBlue" nil nil t nil nil)) ! (cons '(and (< score default) (= mark gnus-ancient-mark)) ! (custom-face-lookup "RoyalBlue" nil nil nil t nil)) ! (cons '(= mark gnus-ancient-mark) ! (custom-face-lookup "RoyalBlue" nil nil nil nil nil)) ! ! (cons '(and (> score default) (/= mark gnus-unread-mark)) ! (custom-face-lookup "DarkGreen" nil nil t nil nil)) ! (cons '(and (< score default) (/= mark gnus-unread-mark)) ! (custom-face-lookup "DarkGreen" nil nil nil t nil)) ! (cons '(/= mark gnus-unread-mark) ! (custom-face-lookup "DarkGreen" nil nil nil nil nil)) ! ! (cons '(> score default) 'bold) ! (cons '(< score default) 'italic))))) ! (data ! ((type . repeat) ! (header . nil) ! (data (type . pair) ! (compact . t) ! (data ((type . sexp) ! (width . 60) ! (tag . "Form")) ! "\n " ! ((type . face) ! (tag . "Face")) ! "\n"))))) ! ;; Do not define `gnus-button-alist' before we have ! ;; some `complexity' attribute so we can hide it from ! ;; beginners. ! ))))) (defun gnus-custom-import-cite-face-list (custom alist) ;; Backward compatible grokking of light and dark. *** pub/sgnus/lisp/gnus-gl.el Tue May 21 23:31:39 1996 --- sgnus/lisp/gnus-gl.el Wed May 22 17:22:02 1996 *************** *** 348,354 **** "Ask the bbb for predictions, and build up the score alist." (if (or (null grouplens-bbb-token) (equal grouplens-bbb-token "0")) ! (gnus-message 3 "Error: You are not logged in to a BBB") (gnus-message 5 "Fetching Predictions...") (let (predict-list (predict-command (bbb-build-predict-command midlist groupname --- 348,356 ---- "Ask the bbb for predictions, and build up the score alist." (if (or (null grouplens-bbb-token) (equal grouplens-bbb-token "0")) ! (progn ! (gnus-message 3 "Error: You are not logged in to a BBB") ! nil) (gnus-message 5 "Fetching Predictions...") (let (predict-list (predict-command (bbb-build-predict-command midlist groupname *** pub/sgnus/lisp/gnus-picon.el Tue May 21 23:31:39 1996 --- sgnus/lisp/gnus-picon.el Wed May 22 17:22:03 1996 *************** *** 327,337 **** (defun gnus-picons-reverse-domain-path (str) "a/b/c/d -> d/c/b/a" ! (if (equal (replace-in-string str "^[^/]*$" "") "") ! str ! (concat (replace-in-string str "^.*/\\([_a-zA-Z0-9-]+\\)$" "\\1") "/" ! (gnus-picons-reverse-domain-path ! (replace-in-string str "^\\(.*\\)/[_a-zA-Z0-9-]+$" "\\1"))))) (provide 'gnus-picon) --- 327,333 ---- (defun gnus-picons-reverse-domain-path (str) "a/b/c/d -> d/c/b/a" ! (mapconcat 'identity (nreverse (message-tokenize-header str "/")) "/")) (provide 'gnus-picon) *** pub/sgnus/lisp/gnus-score.el Tue May 21 23:31:41 1996 --- sgnus/lisp/gnus-score.el Wed May 22 23:20:09 1996 *************** *** 742,747 **** --- 742,779 ---- (setcdr alist (cons (cons symbol value) (cdr alist))))))) + (defun gnus-summary-raise-score (n) + "Raise the score of the current article by N." + (interactive "p") + (gnus-set-global-variables) + (gnus-summary-set-score (+ (gnus-summary-article-score) + (or n gnus-score-interactive-default-score )))) + + (defun gnus-summary-set-score (n) + "Set the score of the current article to N." + (interactive "p") + (gnus-set-global-variables) + (save-excursion + (gnus-summary-show-thread) + (let ((buffer-read-only nil)) + ;; Set score. + (gnus-summary-update-mark + (if (= n (or gnus-summary-default-score 0)) ? + (if (< n (or gnus-summary-default-score 0)) + gnus-score-below-mark gnus-score-over-mark)) 'score)) + (let* ((article (gnus-summary-article-number)) + (score (assq article gnus-newsgroup-scored))) + (if score (setcdr score n) + (setq gnus-newsgroup-scored + (cons (cons article n) gnus-newsgroup-scored)))) + (gnus-summary-update-line))) + + (defun gnus-summary-current-score () + "Return the score of the current article." + (interactive) + (gnus-set-global-variables) + (gnus-message 1 "%s" (gnus-summary-article-score))) + (defun gnus-score-change-score-file (file) "Change current score alist." (interactive *** pub/sgnus/lisp/gnus-xmas.el Tue May 21 23:31:43 1996 --- sgnus/lisp/gnus-xmas.el Wed May 22 22:55:21 1996 *************** *** 558,616 **** `right-toolbar', and `left-toolbar'.") (defvar gnus-group-toolbar ! '([gnus-group-exit-icon gnus-group-exit t "Exit Gnus"] ! [gnus-group-kill-group-icon gnus-group-kill-group t "Kill group"] ! [gnus-group-get-new-news-icon gnus-group-get-new-news t "Get new news"] ! [gnus-group-get-new-news-this-group-icon gnus-group-get-new-news-this-group t "Get new news in this group"] ! [gnus-group-catchup-current-icon gnus-group-catchup-current t "Catchup group"] ! [gnus-group-describe-group-icon gnus-group-describe-group t "Describe group"]) "The group buffer toolbar.") (defvar gnus-summary-toolbar ! '([gnus-summary-post-news-icon gnus-summary-post-news t "Post an article"] ! [gnus-summary-save-article-file-icon gnus-summary-save-article-file t "Save article in file"] ! [gnus-summary-save-article-icon gnus-summary-save-article t "Save article"] ! [gnus-summary-reply-icon gnus-summary-reply t "Mail a reply"] ! [gnus-summary-reply-with-original-icon gnus-summary-reply-with-original t "Mail a reply and yank the original"] ! [gnus-summary-followup-icon gnus-summary-followup t "Post a followup"] ! [gnus-summary-followup-with-original-icon gnus-summary-followup-with-original t "Post a followup and yank the original"] ! [gnus-uu-decode-uu-icon gnus-uu-decode-uu t "Decode uuencoded articles"] ! [gnus-uu-post-news-icon gnus-uu-post-news t "Post an uuencoded article"] ! [gnus-summary-caesar-message-icon gnus-summary-caesar-message t "Rot 13"] ! [gnus-summary-cancel-article-icon gnus-summary-cancel-article t "Cancel article"]) "The summary buffer toolbar.") (defun gnus-xmas-setup-group-toolbar () (let (dir) (and gnus-use-toolbar (setq dir (message-xmas-setup-toolbar gnus-group-toolbar nil "gnus")) ! (file-exists-p (concat dir "gnus-group-catchup-current-icon-up.xpm")) (set-specifier (symbol-value gnus-use-toolbar) (cons (current-buffer) gnus-group-toolbar))))) (defun gnus-xmas-setup-summary-toolbar () ! (let (dir) (and gnus-use-toolbar ! (setq dir (message-xmas-setup-toolbar gnus-summary-toolbar ! nil "gnus")) ! (file-exists-p (concat dir "gnus-group-catchup-current-icon-up.xpm")) (set-specifier (symbol-value gnus-use-toolbar) ! (cons (current-buffer) gnus-summary-toolbar))))) ;; Written by Erik Naggum . ;; Saved by Steve Baur . --- 558,630 ---- `right-toolbar', and `left-toolbar'.") (defvar gnus-group-toolbar ! '([gnus-group-exit gnus-group-exit t "Exit Gnus"] ! [gnus-group-kill-group gnus-group-kill-group t "Kill group"] ! [gnus-group-get-new-news gnus-group-get-new-news t "Get new news"] ! [gnus-group-get-new-news-this-group gnus-group-get-new-news-this-group t "Get new news in this group"] ! [gnus-group-catchup-current gnus-group-catchup-current t "Catchup group"] ! [gnus-group-describe-group gnus-group-describe-group t "Describe group"]) "The group buffer toolbar.") (defvar gnus-summary-toolbar ! '([gnus-summary-post-news gnus-summary-post-news t "Post an article"] ! [gnus-summary-save-article-file gnus-summary-save-article-file t "Save article in file"] ! [gnus-summary-save-article gnus-summary-save-article t "Save article"] ! [gnus-summary-reply gnus-summary-reply t "Mail a reply"] ! [gnus-summary-reply-with-original gnus-summary-reply-with-original t "Mail a reply and yank the original"] ! [gnus-summary-followup gnus-summary-followup t "Post a followup"] ! [gnus-summary-followup-with-original gnus-summary-followup-with-original t "Post a followup and yank the original"] ! [gnus-uu-decode-uu gnus-uu-decode-uu t "Decode uuencoded articles"] ! [gnus-uu-post-news gnus-uu-post-news t "Post an uuencoded article"] ! [gnus-summary-caesar-message gnus-summary-caesar-message t "Rot 13"] ! [gnus-summary-cancel-article gnus-summary-cancel-article t "Cancel article"]) "The summary buffer toolbar.") + (defvar gnus-summary-mail-toolbar + '([gnus-summary-mail-reply gnus-summary-reply t "Reply"] + [gnus-summary-mail-get gnus-mail-get t "Message get"] + [gnus-summary-mail-originate gnus-summary-post-news t "Originate"] + [gnus-summary-mail-save gnus-summary-save-article t "Save"] + [gnus-summary-mail-copy gnus-summary-copy-article t "Copy message"] + [gnus-summary-mail-delete gnus-summary-delete-article t "Delete message"] + [gnus-summary-mail-forward gnus-summary-mail-forward t "Forward message"] + ; [gnus-summary-mail-spell gnus-mail-spell t "Spell"] + ; [gnus-summary-mail-help gnus-mail-help t "Message help"] + ) + "The summary buffer mail toolbar.") + (defun gnus-xmas-setup-group-toolbar () (let (dir) (and gnus-use-toolbar (setq dir (message-xmas-setup-toolbar gnus-group-toolbar nil "gnus")) ! (file-exists-p (concat dir "gnus-group-catchup-current-up.xpm")) (set-specifier (symbol-value gnus-use-toolbar) (cons (current-buffer) gnus-group-toolbar))))) (defun gnus-xmas-setup-summary-toolbar () ! (let ((bar (if (gnus-news-group-p gnus-newsgroup-name) ! gnus-summary-toolbar gnus-summary-mail-toolbar)) ! dir) (and gnus-use-toolbar ! (setq dir (message-xmas-setup-toolbar bar nil "gnus")) ! (file-exists-p (concat dir "gnus-group-catchup-current-up.xpm")) (set-specifier (symbol-value gnus-use-toolbar) ! (cons (current-buffer) bar))))) ;; Written by Erik Naggum . ;; Saved by Steve Baur . *** pub/sgnus/lisp/gnus.el Tue May 21 23:31:44 1996 --- sgnus/lisp/gnus.el Wed May 22 23:57:20 1996 *************** *** 133,142 **** see the manual for details.") (defvar gnus-message-archive-method ! '(nnfolder "archive" ! (nnfolder-directory (nnheader-concat message-directory "archive")) ! (nnfolder-active-file (nnheader-concat message-directory "archive/active")) (nnfolder-get-new-mail nil) (nnfolder-inhibit-expiry t)) "*Method used for archiving messages you've sent. --- 133,143 ---- see the manual for details.") (defvar gnus-message-archive-method ! `(nnfolder "archive" ! (nnfolder-directory ,(nnheader-concat message-directory "archive")) ! (nnfolder-active-file ! ,(nnheader-concat message-directory "archive/active")) (nnfolder-get-new-mail nil) (nnfolder-inhibit-expiry t)) "*Method used for archiving messages you've sent. *************** *** 1721,1727 **** "gnus-bug@ifi.uio.no (The Gnus Bugfixing Girls + Boys)" "The mail address of the Gnus maintainers.") ! (defconst gnus-version "September Gnus v0.90" "Version number for this version of Gnus.") (defvar gnus-info-nodes --- 1722,1728 ---- "gnus-bug@ifi.uio.no (The Gnus Bugfixing Girls + Boys)" "The mail address of the Gnus maintainers.") ! (defconst gnus-version "September Gnus v0.91" "Version number for this version of Gnus.") (defvar gnus-info-nodes *************** *** 2048,2054 **** gnus-score-raise-same-subject gnus-score-default gnus-score-raise-thread gnus-score-lower-same-subject-and-select gnus-score-lower-same-subject gnus-score-lower-thread ! gnus-possibly-score-headers) ("gnus-score" (gnus-summary-score-map keymap) gnus-score-save gnus-score-headers gnus-current-score-file-nondirectory gnus-score-adaptive --- 2049,2056 ---- gnus-score-raise-same-subject gnus-score-default gnus-score-raise-thread gnus-score-lower-same-subject-and-select gnus-score-lower-same-subject gnus-score-lower-thread ! gnus-possibly-score-headers gnus-summary-raise-score ! gnus-summary-set-score gnus-summary-current-score) ("gnus-score" (gnus-summary-score-map keymap) gnus-score-save gnus-score-headers gnus-current-score-file-nondirectory gnus-score-adaptive *************** *** 4366,4372 **** (gnus-make-newsrc-file gnus-startup-file)) ;; Read the dribble file. ! (and (or gnus-slave gnus-use-dribble-file) (gnus-dribble-read-file)) ;; Allow using GroupLens predictions. (when gnus-use-grouplens --- 4368,4375 ---- (gnus-make-newsrc-file gnus-startup-file)) ;; Read the dribble file. ! (when (or gnus-slave gnus-use-dribble-file) ! (gnus-dribble-read-file)) ;; Allow using GroupLens predictions. (when gnus-use-grouplens *************** *** 7395,7400 **** --- 7398,7435 ---- (= mark gnus-dormant-mark) (= mark gnus-expirable-mark)))) + ;; Saving hidden threads. + + (put 'gnus-save-hidden-threads 'lisp-indent-function 0) + (put 'gnus-save-hidden-threads 'lisp-indent-hook 0) + + (defmacro gnus-save-hidden-threads (&rest forms) + "Save hidden threads, eval FORMS, and restore the hidden threads." + (let ((config (make-symbol "config"))) + `(let ((,config (gnus-hidden-threads-configuration))) + (unwind-protect + (progn + ,@forms) + (gnus-restore-hidden-threads-configuration ,config))))) + + (defun gnus-hidden-threads-configuration () + "Return the current hidden threads configuration." + (save-excursion + (let (config) + (goto-char (point-min)) + (while (search-forward "\r" nil t) + (push (1- (point)) config)) + config))) + + (defun gnus-restore-hidden-threads-configuration (config) + "Restore hidden threads configuration from CONFIG." + (let (point buffer-read-only) + (while (setq point (pop config)) + (when (and (< point (point-max)) + (goto-char point) + (= (following-char) ?\n)) + (subst-char-in-region point (1+ point) ?\n ?\r))))) + ;; Various summary mode internalish functions. (defun gnus-mouse-pick-article (e) *************** *** 8443,8449 **** default-score) gnus-summary-mark-below) ;; Don't touch sparse articles. ! (not (memq number gnus-newsgroup-sparse))) (setq gnus-newsgroup-unreads (delq number gnus-newsgroup-unreads)) (if gnus-newsgroup-auto-expire --- 8478,8485 ---- default-score) gnus-summary-mark-below) ;; Don't touch sparse articles. ! (not (memq number gnus-newsgroup-sparse)) ! (not (memq number gnus-newsgroup-ancient))) (setq gnus-newsgroup-unreads (delq number gnus-newsgroup-unreads)) (if gnus-newsgroup-auto-expire *************** *** 8567,8573 **** (when (and gnus-summary-mark-below (< (or (cdr (assq number gnus-newsgroup-scored)) gnus-summary-default-score 0) ! gnus-summary-mark-below)) (setq gnus-newsgroup-unreads (delq number gnus-newsgroup-unreads)) (if gnus-newsgroup-auto-expire --- 8603,8610 ---- (when (and gnus-summary-mark-below (< (or (cdr (assq number gnus-newsgroup-scored)) gnus-summary-default-score 0) ! gnus-summary-mark-below) ! (not (memq number gnus-newsgroup-ancient))) (setq gnus-newsgroup-unreads (delq number gnus-newsgroup-unreads)) (if gnus-newsgroup-auto-expire *************** *** 11073,11108 **** 're-search-backward 're-search-forward)) (sum (current-buffer)) (found nil)) ! ;; Hidden thread subtrees must be searched, too. ! (gnus-summary-show-all-threads) ! (gnus-summary-select-article) ! (set-buffer gnus-article-buffer) ! (while (not found) ! (gnus-message 7 "Searching article: %d..." gnus-current-article) ! (if (if backward ! (re-search-backward regexp nil t) ! (re-search-forward regexp nil t)) ! ;; We found the regexp. ! (progn ! (setq found 'found) ! (beginning-of-line) ! (set-window-start ! (get-buffer-window (current-buffer)) ! (point))) ! ;; We didn't find it, so we go to the next article. ! (set-buffer sum) ! (if (not (if backward (gnus-summary-find-prev) ! (gnus-summary-find-next))) ! ;; No more articles. ! (setq found t) ! ;; Select the next article and adjust point. ! (gnus-summary-select-article) ! (set-buffer gnus-article-buffer) ! (widen) ! (goto-char (if backward (point-max) (point-min)))))) ! (set-buffer sum) ;; Return whether we found the regexp. ! (eq found 'found))) (defun gnus-summary-find-matching (header regexp &optional backward unread not-case-fold) --- 11110,11149 ---- 're-search-backward 're-search-forward)) (sum (current-buffer)) (found nil)) ! (gnus-save-hidden-threads ! (gnus-summary-select-article) ! (set-buffer gnus-article-buffer) ! (while (not found) ! (gnus-message 7 "Searching article: %d..." (cdr gnus-article-current)) ! (if (if backward ! (re-search-backward regexp nil t) ! (re-search-forward regexp nil t)) ! ;; We found the regexp. ! (progn ! (setq found 'found) ! (beginning-of-line) ! (set-window-start ! (get-buffer-window (current-buffer)) ! (point))) ! ;; We didn't find it, so we go to the next article. ! (set-buffer sum) ! (if (not (if backward (gnus-summary-find-prev) ! (gnus-summary-find-next))) ! ;; No more articles. ! (setq found t) ! ;; Select the next article and adjust point. ! (gnus-summary-select-article) ! (set-buffer gnus-article-buffer) ! (widen) ! (goto-char (if backward (point-max) (point-min)))))) ! (set-buffer sum) ! (gnus-message 7 "")) ;; Return whether we found the regexp. ! (when (eq found 'found) ! (gnus-summary-show-thread) ! (gnus-summary-goto-subject gnus-current-article) ! (gnus-summary-position-point) ! t))) (defun gnus-summary-find-matching (header regexp &optional backward unread not-case-fold) *************** *** 11735,11775 **** (pp-eval-expression (list 'quote (mapcar 'car (nnmail-article-group 'identity))))))) - ;; Summary score commands. - - ;; Suggested by boubaker@cenatls.cena.dgac.fr. - - (defun gnus-summary-raise-score (n) - "Raise the score of the current article by N." - (interactive "p") - (gnus-set-global-variables) - (gnus-summary-set-score (+ (gnus-summary-article-score) n))) - - (defun gnus-summary-set-score (n) - "Set the score of the current article to N." - (interactive "p") - (gnus-set-global-variables) - (save-excursion - (gnus-summary-show-thread) - (let ((buffer-read-only nil)) - ;; Set score. - (gnus-summary-update-mark - (if (= n (or gnus-summary-default-score 0)) ? - (if (< n (or gnus-summary-default-score 0)) - gnus-score-below-mark gnus-score-over-mark)) 'score)) - (let* ((article (gnus-summary-article-number)) - (score (assq article gnus-newsgroup-scored))) - (if score (setcdr score n) - (setq gnus-newsgroup-scored - (cons (cons article n) gnus-newsgroup-scored)))) - (gnus-summary-update-line))) - - (defun gnus-summary-current-score () - "Return the score of the current article." - (interactive) - (gnus-set-global-variables) - (gnus-message 1 "%s" (gnus-summary-article-score))) - ;; Summary marking commands. (defun gnus-summary-kill-same-subject-and-select (&optional unmark) --- 11776,11781 ---- *************** *** 14760,14767 **** (setq gnus-dribble-eval-file t))))))) (defun gnus-dribble-eval-file () ! (if (not gnus-dribble-eval-file) ! () (setq gnus-dribble-eval-file nil) (save-excursion (let ((gnus-dribble-ignore t)) --- 14766,14772 ---- (setq gnus-dribble-eval-file t))))))) (defun gnus-dribble-eval-file () ! (when gnus-dribble-eval-file (setq gnus-dribble-eval-file nil) (save-excursion (let ((gnus-dribble-ignore t)) *************** *** 14769,14800 **** (eval-buffer (current-buffer)))))) (defun gnus-dribble-delete-file () ! (if (file-exists-p (gnus-dribble-file-name)) ! (delete-file (gnus-dribble-file-name))) ! (if gnus-dribble-buffer ! (save-excursion ! (set-buffer gnus-dribble-buffer) ! (let ((auto (make-auto-save-file-name))) ! (if (file-exists-p auto) ! (delete-file auto)) ! (erase-buffer) ! (set-buffer-modified-p nil))))) (defun gnus-dribble-save () ! (if (and gnus-dribble-buffer ! (buffer-name gnus-dribble-buffer)) ! (save-excursion ! (set-buffer gnus-dribble-buffer) ! (save-buffer)))) (defun gnus-dribble-clear () ! (save-excursion ! (if (gnus-buffer-exists-p gnus-dribble-buffer) ! (progn ! (set-buffer gnus-dribble-buffer) ! (erase-buffer) ! (set-buffer-modified-p nil) ! (setq buffer-saved-size (buffer-size)))))) ;;; --- 14774,14804 ---- (eval-buffer (current-buffer)))))) (defun gnus-dribble-delete-file () ! (when (file-exists-p (gnus-dribble-file-name)) ! (delete-file (gnus-dribble-file-name))) ! (when gnus-dribble-buffer ! (save-excursion ! (set-buffer gnus-dribble-buffer) ! (let ((auto (make-auto-save-file-name))) ! (if (file-exists-p auto) ! (delete-file auto)) ! (erase-buffer) ! (set-buffer-modified-p nil))))) (defun gnus-dribble-save () ! (when (and gnus-dribble-buffer ! (buffer-name gnus-dribble-buffer)) ! (save-excursion ! (set-buffer gnus-dribble-buffer) ! (save-buffer)))) (defun gnus-dribble-clear () ! (when (gnus-buffer-exists-p gnus-dribble-buffer) ! (save-excursion ! (set-buffer gnus-dribble-buffer) ! (erase-buffer) ! (set-buffer-modified-p nil) ! (setq buffer-saved-size (buffer-size))))) ;;; *************** *** 15259,15264 **** --- 15263,15272 ---- ;; Possibly eval the dribble file. (and init (or gnus-use-dribble-file gnus-slave) (gnus-dribble-eval-file)) + + ;; Slave Gnusii should then clear the dribble buffer. + (when (and init gnus-slave) + (gnus-dribble-clear)) (gnus-update-format-specifications) *** pub/sgnus/lisp/message-xmas.el Tue May 21 23:31:44 1996 --- sgnus/lisp/message-xmas.el Wed May 22 22:44:37 1996 *************** *** 37,53 **** `right-toolbar', and `left-toolbar'.") (defvar message-toolbar ! '( ! [message-reply message-reply t "Reply"] ! [message-get message-get t "Message get"] ! [message-originate message-originate t "Originate"] ! [message-save message-save t "Save"] ! [message-copy message-copy t "Copy message"] ! [message-delete message-delete t "Delete message"] ! [message-forward message-forward t "Forward message"] ! [message-spell message-spell t "Spell"] ! [message-help message-help t "Message help"] ! ) "The message buffer toolbar.") (defun message-xmas-find-glyph-directory (&optional package) --- 37,44 ---- `right-toolbar', and `left-toolbar'.") (defvar message-toolbar ! '([message-spell toolbar-ispell t "Spell"] ! [message-help toolbar-info t "Message help"]) "The message buffer toolbar.") (defun message-xmas-find-glyph-directory (&optional package) *** pub/sgnus/lisp/message.el Tue May 21 23:31:46 1996 --- sgnus/lisp/message.el Wed May 22 17:22:12 1996 *************** *** 36,42 **** (require 'timezone) (require 'easymenu) (if (string-match "XEmacs\\|Lucid" emacs-version) ! (require 'mail-abbrev) (require 'mailabbrev)) (defvar message-directory "~/Mail/" --- 36,42 ---- (require 'timezone) (require 'easymenu) (if (string-match "XEmacs\\|Lucid" emacs-version) ! (require 'mail-abbrevs) (require 'mailabbrev)) (defvar message-directory "~/Mail/" *** pub/sgnus/lisp/nnfolder.el Tue May 21 23:31:46 1996 --- sgnus/lisp/nnfolder.el Wed May 22 17:22:13 1996 *************** *** 238,244 **** (when (or (assoc group nnfolder-buffer-alist) (equal group nnfolder-current-group)) (nnfolder-possibly-change-group group server) ! (when nnfolder-current-buffer (save-excursion (set-buffer nnfolder-current-buffer) ;; If the buffer was modified, write the file out now. --- 238,245 ---- (when (or (assoc group nnfolder-buffer-alist) (equal group nnfolder-current-group)) (nnfolder-possibly-change-group group server) ! (when (and nnfolder-current-buffer ! (buffer-name nnfolder-current-buffer)) (save-excursion (set-buffer nnfolder-current-buffer) ;; If the buffer was modified, write the file out now. *** pub/sgnus/lisp/ChangeLog Tue May 21 23:31:56 1996 --- sgnus/lisp/ChangeLog Wed May 22 23:57:20 1996 *************** *** 1,4 **** --- 1,43 ---- + Wed May 22 21:56:56 1996 Lars Magne Ingebrigtsen + + * gnus.el (gnus-setup-news): Slave Gnusii should clear the dribble + buffer. + + Wed May 22 22:32:21 1996 Lars Magne Ingebrigtsen + + * gnus-score.el (gnus-summary-set-score): Moved here. + (gnus-summary-raise-score): Would bug out on nil arguments. + + * message-xmas.el (message-toolbar): Changed. + + * gnus-xmas.el (gnus-summary-mail-toolbar): New toolbar. + (gnus-xmas-setup-summary-toolbar): Use it. + + Wed May 22 19:24:04 1996 Lars Magne Ingebrigtsen + + * gnus.el (gnus-message-archive-method): Buggy definition. + (gnus-summary-prepare-threads): Don't mark ancient as low-scored. + (gnus-summary-prepare-unthreaded): Ditto. + + Wed May 22 02:14:42 1996 Lars Magne Ingebrigtsen + + * gnus.el (gnus-save-hidden-threads): New macro. + (gnus-hidden-threads-configuration): New function. + (gnus-restore-hidden-threads-configuration): New function. + (gnus-summary-search-article): Use it. + + * gnus-picon.el (gnus-picons-reverse-domain-path): New definition. + + * message.el: Required wrong file under XEmacs. + + * gnus-gl.el (bbb-get-predictions): Return nil on errors. + + * nnfolder.el (nnfolder-close-group): Make sure the buffer is + alive before killing it. + Tue May 21 20:08:33 1996 Lars Magne Ingebrigtsen + + * gnus.el: September Gnus v0.90 is released. * gnus.el (gnus-dribble-read-file): Don't do modes unless they are available. *** pub/sgnus/texi/gnus.texi Tue May 21 23:31:58 1996 --- sgnus/texi/gnus.texi Wed May 22 23:43:36 1996 *************** *** 11927,11932 **** --- 11927,11937 ---- for all of us---if I don't have all the information I need, I will just mail you and ask for more info, and everything takes more time. + If the problem you're seeing is very visual, and you can't quite explain + it, copy the Emacs window to a file (with @code{xwd}, for instance), put + it somewhere it can be reached, and include the URL of the picture in + the bug report.a + If you just need help, you are better off asking on @samp{gnu.emacs.gnus}. I'm not very helpful. *************** *** 12575,12590 **** "*Non-nil means that nndir will never retrieve NOV headers." nnml-nov-is-evil) - - (defvoo nndir-current-group "" nil nnml-current-group nnmh-current-group) (defvoo nndir-top-directory nil nil nnml-directory nnmh-directory) (defvoo nndir-get-new-mail nil nil nnml-get-new-mail nnmh-get-new-mail) (defvoo nndir-status-string "" nil nnmh-status-string) (defconst nndir-version "nndir 1.0") - - ;;; Interface functions. --- 12580,12591 ---- *** pub/sgnus/texi/ChangeLog Tue May 21 23:31:57 1996 --- sgnus/texi/ChangeLog Wed May 22 23:43:37 1996 *************** *** 1,3 **** --- 1,7 ---- + Wed May 22 23:41:28 1996 Lars Magne Ingebrigtsen + + * gnus.texi (Troubleshooting): Addition. + Tue May 21 12:52:34 1996 Lars Magne Ingebrigtsen * gnus.texi: Excised message documentation.