*** pub/dgnus/lisp/custom.el Tue Aug 22 23:38:22 1995 --- dgnus/lisp/custom.el Wed Aug 23 23:44:50 1995 *************** *** 533,538 **** --- 533,539 ---- (hidden . nil) (face . custom-default-face) (data . nil) + (calculate . nil) (default . __uninitialized__))) "Alist of default properties for type symbols. The format is `((SYMBOL (PROPERTY . VALUE)... )... )'.") *************** *** 600,607 **** (defun custom-default (custom) "Extract `default' from CUSTOM." ! (custom-property custom 'default)) ! (defun custom-data (custom) "Extract the `data' from CUSTOM." (custom-property custom 'data)) --- 601,611 ---- (defun custom-default (custom) "Extract `default' from CUSTOM." ! (let ((value (custom-property custom 'calculate))) ! (if value ! (eval value) ! (custom-property custom 'default)))) ! (defun custom-data (custom) "Extract the `data' from CUSTOM." (custom-property custom 'data)) *************** *** 1435,1441 **** (defun custom-default-factory-reset (field) "Reset content of editing FIELD to `default'." ! (let ((default (custom-default (custom-field-custom field)))) (or (eq default custom-nil) (custom-field-accept field default nil)))) --- 1439,1446 ---- (defun custom-default-factory-reset (field) "Reset content of editing FIELD to `default'." ! (let* ((custom (custom-field-custom field)) ! (default (car (custom-import custom (custom-default custom))))) (or (eq default custom-nil) (custom-field-accept field default nil)))) *************** *** 1524,1535 **** (custom-buffer-create "*Customize*") (custom-reset-all)) ! (defun custom-buffer-create (name &optional custom types set get) "Create a customization buffer named NAME. If the optional argument CUSTOM is non-nil, use that as the custom declaration. If the optional argument TYPES is non-nil, use that as the local types. If the optional argument SET is non-nil, use that to set external data. ! If the optional argument GET is non-nil, use that to get external data." (switch-to-buffer name) (buffer-disable-undo (current-buffer)) (custom-mode) --- 1529,1541 ---- (custom-buffer-create "*Customize*") (custom-reset-all)) ! (defun custom-buffer-create (name &optional custom types set get save) "Create a customization buffer named NAME. If the optional argument CUSTOM is non-nil, use that as the custom declaration. If the optional argument TYPES is non-nil, use that as the local types. If the optional argument SET is non-nil, use that to set external data. ! If the optional argument GET is non-nil, use that to get external data. ! If the optional argument SAVE is non-nil, use that for saving changes." (switch-to-buffer name) (buffer-disable-undo (current-buffer)) (custom-mode) *************** *** 1546,1551 **** --- 1552,1561 ---- () (make-local-variable 'custom-external) (setq custom-external get)) + (if (null save) + () + (make-local-variable 'custom-save) + (setq custom-save save)) (let ((inhibit-point-motion-hooks t) (before-change-functions nil) (after-change-functions nil)) *************** *** 1560,1565 **** --- 1570,1576 ---- (custom-help-button 'custom-field-factory-reset) (custom-help-button 'custom-field-reset) (custom-help-button 'custom-field-apply) + (custom-help-button 'custom-save-and-exit) (custom-help-button 'custom-toggle-documentation) (custom-help-insert "\nClick mouse-2 on any button to activate it.\n") (custom-text-insert "\n") *************** *** 1640,1645 **** --- 1651,1657 ---- (define-key custom-mode-map "\C-c\M-\C-z" 'custom-factory-reset-all) (define-key custom-mode-map "\C-c\C-a" 'custom-field-apply) (define-key custom-mode-map "\C-c\M-\C-a" 'custom-apply-all) + (define-key custom-mode-map "\C-c\C-c" 'custom-save-and-exit) (define-key custom-mode-map "\C-c\C-d" 'custom-toggle-documentation)) ;; C-c keymap ideas: C-a field-beginning, C-e field-end, C-f *************** *** 1660,1666 **** (setq after-change-functions '(custom-after-change)) (if (not (fboundp 'make-local-hook)) ;; Emacs 19.28 and earlier. ! (add-hook 'post-command-hook 'custom-post-command nil) ;; Emacs 19.29. (make-local-hook 'post-command-hook) (add-hook 'post-command-hook 'custom-post-command nil t))) --- 1672,1681 ---- (setq after-change-functions '(custom-after-change)) (if (not (fboundp 'make-local-hook)) ;; Emacs 19.28 and earlier. ! (add-hook 'post-command-hook ! (lambda () ! (if (eq major-mode 'custom-mode) ! (custom-post-command)))) ;; Emacs 19.29. (make-local-hook 'post-command-hook) (add-hook 'post-command-hook 'custom-post-command nil t))) *************** *** 1788,1798 **** (not (y-or-n-p "Discard all changes? ")) (error "Reset aborted"))) (let ((all custom-name-fields) ! name field custom default) (while all (setq field (cdr (car all)) - custom (custom-field-custom field) - default (custom-default custom) all (cdr all)) (custom-field-factory-reset field)))) --- 1803,1811 ---- (not (y-or-n-p "Discard all changes? ")) (error "Reset aborted"))) (let ((all custom-name-fields) ! field) (while all (setq field (cdr (car all)) all (cdr all)) (custom-field-factory-reset field)))) *************** *** 1801,1810 **** (interactive (list (or (get-text-property (point) 'custom-field) (get-text-property (point) 'custom-tag)))) (if (arrayp field) ! (let* ((custom (custom-field-custom field)) ! (default (custom-default custom))) ! (save-excursion ! (funcall (custom-property custom 'factory-reset) field))))) (defun custom-apply-all () "Apply any changes since the last reset in all fields." --- 1814,1822 ---- (interactive (list (or (get-text-property (point) 'custom-field) (get-text-property (point) 'custom-tag)))) (if (arrayp field) ! (save-excursion ! (funcall (custom-property (custom-field-custom field) 'factory-reset) ! field)))) (defun custom-apply-all () "Apply any changes since the last reset in all fields." *************** *** 1846,1851 **** --- 1858,1873 ---- (interactive) (error "This button is not yet implemented")) + (defvar custom-save 'custom-save + "Function that will save current customization buffer.") + + (defun custom-save-and-exit () + "Save and exit customization buffer." + (interactive "@") + (save-excursion + (funcall custom-save)) + (kill-buffer (current-buffer))) + (defun custom-save () "Save customization information." (interactive) *************** *** 1864,1870 **** (let* ((field (cdr (car new))) (custom (custom-field-custom field)) (value (custom-field-original field)) ! (default (custom-default custom)) (name (car (car new)))) (setq new (cdr new)) (custom-assert '(eq name (custom-name custom))) --- 1886,1892 ---- (let* ((field (cdr (car new))) (custom (custom-field-custom field)) (value (custom-field-original field)) ! (default (car (custom-import custom (custom-default custom)))) (name (car (car new)))) (setq new (cdr new)) (custom-assert '(eq name (custom-name custom))) *************** *** 2009,2031 **** ;; Last field containing point. (make-variable-buffer-local 'custom-field-last) - (defun custom-post-command () ;; Keep track of their active field. ! (if (not (eq major-mode 'custom-mode)) ! (message "Aargh! Why is custom-post-command called here?") ! () ! (let ((field (custom-field-property (point)))) ! (if (eq field custom-field-last) ! (if (memq field custom-field-changed) ! (custom-field-resize field)) ! (custom-field-parse custom-field-last) ! (if custom-field-last ! (custom-field-leave custom-field-last)) ! (if field ! (custom-field-enter field)) ! (setq custom-field-last field))) ! (set-buffer-modified-p (or custom-modified-list custom-field-changed)))) (defvar custom-field-was nil) ;; The custom data before the change. --- 2031,2051 ---- ;; Last field containing point. (make-variable-buffer-local 'custom-field-last) (defun custom-post-command () ;; Keep track of their active field. ! (custom-assert '(eq major-mode 'custom-mode)) ! (let ((field (custom-field-property (point)))) ! (if (eq field custom-field-last) ! (if (memq field custom-field-changed) ! (custom-field-resize field)) ! (custom-field-parse custom-field-last) ! (if custom-field-last ! (custom-field-leave custom-field-last)) ! (if field ! (custom-field-enter field)) ! (setq custom-field-last field)) ! (set-buffer-modified-p (or custom-modified-list ! custom-field-changed)))) (defvar custom-field-was nil) ;; The custom data before the change. *** pub/dgnus/lisp/gnus-cite.el Tue Aug 22 23:38:23 1995 --- dgnus/lisp/gnus-cite.el Wed Aug 23 23:13:33 1995 *************** *** 130,136 **** "Highlight cited text. Each citation in the article will be highlighted with a different face. The faces are taken from `gnus-cite-face-list'. ! Attribution lines are highlighted with the sameface as the corresponding citation merged with `gnus-cite-attribution-face'. Text is considered cited if at least `gnus-cite-minimum-match-count' --- 130,136 ---- "Highlight cited text. Each citation in the article will be highlighted with a different face. The faces are taken from `gnus-cite-face-list'. ! Attribution lines are highlighted with the same face as the corresponding citation merged with `gnus-cite-attribution-face'. Text is considered cited if at least `gnus-cite-minimum-match-count' *************** *** 222,228 **** (defun gnus-article-hide-citation-maybe (&optional force) "Hide cited text that has an attribution line. This will do nothing unless at least `gnus-cite-hide-percentage' ! percent ans at least `gnus-cite-hide-absolute' lines of the body is cited text with attributions. When called interactively, these two variables are ignored. See also the documentation for `gnus-article-highlight-citation'." --- 222,228 ---- (defun gnus-article-hide-citation-maybe (&optional force) "Hide cited text that has an attribution line. This will do nothing unless at least `gnus-cite-hide-percentage' ! percent and at least `gnus-cite-hide-absolute' lines of the body is cited text with attributions. When called interactively, these two variables are ignored. See also the documentation for `gnus-article-highlight-citation'." *** pub/dgnus/lisp/gnus-cus.el Tue Aug 22 23:38:23 1995 --- dgnus/lisp/gnus-cus.el Tue Aug 22 23:41:23 1995 *************** *** 26,31 **** --- 26,48 ---- ;;; Code: (require 'custom) + (require 'gnus-ems) + + ;; The following is just helper functions and data, not ment to be set + ;; by the user. + (defun gnus-make-face (color) + ;; Create entry for face with COLOR. + (custom-face-lookup color nil nil nil nil nil)) + + (defvar gnus-face-light-name-list + '("light blue" "light cyan" "light yellow" "light pink" + "pale green" "beige" "orange" "magenta" "violet" "medium purple" + "turquoise")) + + (defvar gnus-face-dark-name-list + '("dark salmon" "firebrick" + "dark green" "dark orange" "dark khaki" "dark violet" + "dark turquoise")) (custom-declare '() '((tag . "GNUS") *************** *** 51,56 **** --- 68,79 ---- You can choose between one of the predefined browsers, or `Other'.") (name . gnus-button-url) (default . w3-fetch) + (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) *************** *** 71,77 **** The line beneath the mouse pointer will be highlighted with this face.") (name . gnus-mouse-face) ! (default . highlight) (type . face)) ((tag . "Article Display") (doc . "Controls how the article buffer will look. --- 94,102 ---- 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. *************** *** 296,302 **** alone.") (name . gnus-header-face-alist) (type . list) ! (default . (("" bold italic))) (data ((type . repeat) (header . nil) (data (type . list) --- 321,363 ---- 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 ! "SkyeBlue" 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 ! "green" ! 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 ! "red" 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) *************** *** 328,334 **** This should make it easier to see who wrote what.") (name . gnus-cite-face-list) (type . list) ! (default . (italic)) (data ((type . repeat) (header . nil) (data (type . face) --- 389,402 ---- This should make it easier to see who wrote what.") (name . gnus-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) *************** *** 372,379 **** mark: The article's mark.") (name . gnus-summary-highlight) (type . list) ! (default . (((> score default) . bold) ! ((< score default) . italic))) (data ((type . repeat) (header . nil) (data (type . pair) --- 440,510 ---- 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 "SkyBlue" 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) *************** *** 390,407 **** ;; beginners. ))))) ! (defun gnus-custom-import-swap-alist (custom alist) ! ;; Swap key and value in CUSTOM ALIST. ! (let ((swap (mapcar (lambda (e) (cons (cdr e) (car e))) alist))) ! (funcall (custom-super custom 'import) custom swap))) ! ! (defun gnus-custom-export-swap-alist (custom alist) ! ;; Swap key and value in CUSTOM ALIST. ! (let ((swap (mapcar (lambda (e) (cons (cdr e) (car e))) alist))) ! (funcall (custom-super custom 'export) custom swap))) (provide 'gnus-cus) ;;; gnus-cus.el ends here - - --- 521,536 ---- ;; beginners. ))))) ! ;(defun gnus-custom-import-swap-alist (custom alist) ! ; ;; Swap key and value in CUSTOM ALIST. ! ; (let ((swap (mapcar (lambda (e) (cons (cdr e) (car e))) alist))) ! ; (funcall (custom-super custom 'import) custom swap))) ! ! ;(defun gnus-custom-export-swap-alist (custom alist) ! ; ;; Swap key and value in CUSTOM ALIST. ! ; (let ((swap (mapcar (lambda (e) (cons (cdr e) (car e))) alist))) ! ; (funcall (custom-super custom 'export) custom swap))) (provide 'gnus-cus) ;;; gnus-cus.el ends here *** pub/dgnus/lisp/gnus-edit.el Tue Aug 22 23:38:23 1995 --- dgnus/lisp/gnus-edit.el Wed Aug 23 23:44:50 1995 *************** *** 533,539 **** (custom-buffer-create "*Score Edit*" gnus-score-custom-data gnus-score-custom-type-properties 'gnus-score-custom-set ! 'gnus-score-custom-get)) (make-local-variable 'gnus-score-custom-file) (setq gnus-score-custom-file (expand-file-name "SCORE" "~/News")) (make-local-variable 'gnus-score-alist) --- 533,540 ---- (custom-buffer-create "*Score Edit*" gnus-score-custom-data gnus-score-custom-type-properties 'gnus-score-custom-set ! 'gnus-score-custom-get ! 'gnus-score-custom-save)) (make-local-variable 'gnus-score-custom-file) (setq gnus-score-custom-file (expand-file-name "SCORE" "~/News")) (make-local-variable 'gnus-score-alist) *** pub/dgnus/lisp/gnus-ems.el Tue Aug 22 23:38:23 1995 --- dgnus/lisp/gnus-ems.el Thu Aug 24 02:25:59 1995 *************** *** 169,175 **** (defvar gnus-background-mode (let ((bg-resource ! (x-get-resource ".backgroundMode" "BackgroundMode" 'string)) (params (frame-parameters))) (cond (bg-resource (intern (downcase bg-resource))) ((and (assq 'background-color params) --- 169,177 ---- (defvar gnus-background-mode (let ((bg-resource ! (condition-case () ! (x-get-resource ".backgroundMode" "BackgroundMode" 'string) ! (error nil))) (params (frame-parameters))) (cond (bg-resource (intern (downcase bg-resource))) ((and (assq 'background-color params) *************** *** 315,332 **** (header-number header))) (let ((gnus-override-method gnus-refer-article-method) (gnus-ancient-mark gnus-read-mark) - (tmp-buf (get-buffer-create " *gnus refer")) (tmp-point (window-start (get-buffer-window gnus-article-buffer))) ! number) (and gnus-refer-article-method ! (or (gnus-server-opened gnus-refer-article-method) ! (gnus-open-server gnus-refer-article-method))) ;; Save the old article buffer. (save-excursion ! (set-buffer tmp-buf) ! (buffer-disable-undo (current-buffer)) ! (insert-buffer-substring gnus-article-buffer)) (prog1 (if (gnus-article-prepare message-id nil (gnus-read-header message-id)) --- 317,332 ---- (header-number header))) (let ((gnus-override-method gnus-refer-article-method) (gnus-ancient-mark gnus-read-mark) (tmp-point (window-start (get-buffer-window gnus-article-buffer))) ! number tmp-buf) (and gnus-refer-article-method ! (gnus-check-server gnus-refer-article-method)) ;; Save the old article buffer. (save-excursion ! (set-buffer gnus-article-buffer) ! (gnus-kill-buffer " *temp Article*") ! (setq tmp-buf (rename-buffer " *temp Article*"))) (prog1 (if (gnus-article-prepare message-id nil (gnus-read-header message-id)) *************** *** 340,353 **** message-id) ;; We restore the old article buffer. (save-excursion ! (set-buffer gnus-article-buffer) (let ((buffer-read-only nil)) - (insert-buffer-substring tmp-buf) (and tmp-point (set-window-start (get-buffer-window (current-buffer)) ! tmp-point)))) ! nil) ! (kill-buffer tmp-buf))))))) (defun gnus-summary-insert-pseudos-xemacs (pslist &optional not-view) (let ((buffer-read-only nil) --- 340,352 ---- message-id) ;; We restore the old article buffer. (save-excursion ! (kill-buffer gnus-article-buffer) ! (set-buffer tmp-buf) ! (rename-buffer gnus-article-buffer) (let ((buffer-read-only nil)) (and tmp-point (set-window-start (get-buffer-window (current-buffer)) ! tmp-point))))))))))) (defun gnus-summary-insert-pseudos-xemacs (pslist &optional not-view) (let ((buffer-read-only nil) *** pub/dgnus/lisp/gnus-score.el Tue Aug 22 23:38:23 1995 --- dgnus/lisp/gnus-score.el Wed Aug 23 22:51:31 1995 *************** *** 283,288 **** --- 283,289 ---- (save-excursion (set-buffer (get-buffer-create "*Score Help*")) (buffer-disable-undo (current-buffer)) + (delete-windows-on (current-buffer)) (erase-buffer) (insert string ":\n\n") (let ((max -1) *** pub/dgnus/lisp/gnus.el Tue Aug 22 23:38:23 1995 --- dgnus/lisp/gnus.el Thu Aug 24 06:00:35 1995 *************** *** 36,41 **** --- 36,42 ---- (require 'mail-utils) (require 'timezone) (require 'nnheader) + (require 'gnus-cus) ;; Site dependent variables. These variables should be defined in ;; paths.el. *************** *** 134,140 **** If, for instance, you want to read your mail with the nnml backend, you could set this variable: ! (setq gnus-secondary-select-methods '((nnml \"\"))") (defvar gnus-secondary-servers nil "*List of NNTP servers that the user can choose between interactively. --- 135,141 ---- If, for instance, you want to read your mail with the nnml backend, you could set this variable: ! (setq gnus-secondary-select-methods '((nnml \"\")))") (defvar gnus-secondary-servers nil "*List of NNTP servers that the user can choose between interactively. *************** *** 164,170 **** instead.") (defvar gnus-group-faq-directory ! "/anonymous@rtfm.mit.edu:/pub/usenet-by-group/" "*Directory where the group FAQs are stored. This will most commonly be on a remote machine, and the file will be fetched by ange-ftp. --- 165,171 ---- instead.") (defvar gnus-group-faq-directory ! "/ftp@mirrors.aol.com:/pub/rtfm/usenet/" "*Directory where the group FAQs are stored. This will most commonly be on a remote machine, and the file will be fetched by ange-ftp. *************** *** 978,984 **** ("nndoc" none prompt-address) ("nnbabyl" mail respool) ("nnkiboze" post virtual) ! ("nnsoup" post) ("nnfolder" mail respool)) "An alist of valid select methods. The first element of each list lists should be a string with the name --- 979,985 ---- ("nndoc" none prompt-address) ("nnbabyl" mail respool) ("nnkiboze" post virtual) ! ;;("nnsoup" post) ("nnfolder" mail respool)) "An alist of valid select methods. The first element of each list lists should be a string with the name *************** *** 1329,1335 **** "gnus-bug@ifi.uio.no (The Gnus Bugfixing Girls + Boys)" "The mail address of the Gnus maintainers.") ! (defconst gnus-version "(ding) Gnus v0.99.18" "Version number for this version of Gnus.") (defvar gnus-info-nodes --- 1330,1336 ---- "gnus-bug@ifi.uio.no (The Gnus Bugfixing Girls + Boys)" "The mail address of the Gnus maintainers.") ! (defconst gnus-version "(ding) Gnus v0.99.19" "Version number for this version of Gnus.") (defvar gnus-info-nodes *************** *** 1581,1593 **** (autoload 'rmail-show-message "rmail") ;; gnus-soup ! (autoload 'gnus-group-brew-soup "gnus-soup" nil t) ! (autoload 'gnus-brew-soup "gnus-soup" nil t) ! (autoload 'gnus-soup-add-article "gnus-soup" nil t) ! (autoload 'gnus-soup-send-replies "gnus-soup" nil t) ! (autoload 'gnus-soup-save-areas "gnus-soup" nil t) ! (autoload 'gnus-soup-pack-packet "gnus-soup" nil t) ! (autoload 'nnsoup-pack-replies "nnsoup" nil t) ;; gnus-mh (autoload 'gnus-mail-reply-using-mhe "gnus-mh") --- 1582,1594 ---- (autoload 'rmail-show-message "rmail") ;; gnus-soup ! ;;(autoload 'gnus-group-brew-soup "gnus-soup" nil t) ! ;;(autoload 'gnus-brew-soup "gnus-soup" nil t) ! ;;(autoload 'gnus-soup-add-article "gnus-soup" nil t) ! ;;(autoload 'gnus-soup-send-replies "gnus-soup" nil t) ! ;;(autoload 'gnus-soup-save-areas "gnus-soup" nil t) ! ;;(autoload 'gnus-soup-pack-packet "gnus-soup" nil t) ! ;;(autoload 'nnsoup-pack-replies "nnsoup" nil t) ;; gnus-mh (autoload 'gnus-mail-reply-using-mhe "gnus-mh") *************** *** 3108,3118 **** (define-key gnus-group-group-map "V" 'gnus-group-make-empty-virtual) (define-key gnus-group-group-map "D" 'gnus-group-enter-directory) (define-key gnus-group-group-map "f" 'gnus-group-make-doc-group) ! (define-key gnus-group-group-map "sb" 'gnus-group-brew-soup) ! (define-key gnus-group-group-map "sw" 'gnus-soup-save-areas) ! (define-key gnus-group-group-map "ss" 'gnus-soup-send-replies) ! (define-key gnus-group-group-map "sp" 'gnus-soup-pack-packet) ! (define-key gnus-group-group-map "sr" 'nnsoup-pack-replies) (define-prefix-command 'gnus-group-list-map) (define-key gnus-group-mode-map "A" 'gnus-group-list-map) --- 3109,3119 ---- (define-key gnus-group-group-map "V" 'gnus-group-make-empty-virtual) (define-key gnus-group-group-map "D" 'gnus-group-enter-directory) (define-key gnus-group-group-map "f" 'gnus-group-make-doc-group) ! ;;(define-key gnus-group-group-map "sb" 'gnus-group-brew-soup) ! ;;(define-key gnus-group-group-map "sw" 'gnus-soup-save-areas) ! ;;(define-key gnus-group-group-map "ss" 'gnus-soup-send-replies) ! ;;(define-key gnus-group-group-map "sp" 'gnus-soup-pack-packet) ! ;;(define-key gnus-group-group-map "sr" 'nnsoup-pack-replies) (define-prefix-command 'gnus-group-list-map) (define-key gnus-group-mode-map "A" 'gnus-group-list-map) *************** *** 3215,3221 **** --- 3216,3232 ---- (progn (switch-to-buffer gnus-group-buffer) (gnus-group-get-new-news)) + (gnus-clear-system) + + (gnus-group-setup-buffer) + (let ((buffer-read-only nil)) + (erase-buffer) + (if (not gnus-inhibit-startup-message) + (progn + (gnus-group-startup-message) + (sit-for 0)))) + (nnheader-init-server-buffer) (gnus-read-init-file) *************** *** 3223,3229 **** did-connect) (unwind-protect (progn - (gnus-group-setup-buffer) (or dont-connect (setq did-connect (gnus-start-news-server (and arg (not level)))))) --- 3234,3239 ---- *************** *** 3241,3252 **** (and gnus-use-dribble-file (gnus-dribble-read-file)) (gnus-summary-make-display-table) - (let ((buffer-read-only nil)) - (erase-buffer) - (if (not gnus-inhibit-startup-message) - (progn - (gnus-group-startup-message) - (sit-for 0)))) (gnus-setup-news nil level) (gnus-group-list-groups level) (gnus-configure-windows 'group)))))) --- 3251,3256 ---- *************** *** 3254,3259 **** --- 3258,3265 ---- (defun gnus-unload () "Unload all Gnus features." (interactive) + (or (boundp 'load-history) + (error "Sorry, `gnus-unload' is not implemented in this Emacs version.")) (let ((history load-history) feature) (while history *************** *** 3262,3269 **** (unload-feature feature 'force)) (setq history (cdr history))))) - - (defun gnus-group-startup-message (&optional x y) "Insert startup message in current buffer." ;; Insert the message. --- 3268,3273 ---- *************** *** 3361,3367 **** (or (gnus-group-default-level nil t) gnus-group-default-list-level ! level-subscribed)))) (or level (setq level (car gnus-group-list-mode) unread (cdr gnus-group-list-mode))) --- 3365,3371 ---- (or (gnus-group-default-level nil t) gnus-group-default-list-level ! gnus-level-subscribed)))) (or level (setq level (car gnus-group-list-mode) unread (cdr gnus-group-list-mode))) *************** *** 8059,8065 **** ;; If not, we try the first unread, if that is wanted. ((and subject gnus-auto-select-same ! (gnus-summary-first-unread-article)) (gnus-message 6 "Wrapped")) ;; Try to get next/previous article not displayed in this group. ((and gnus-auto-extend-newsgroup --- 8063,8071 ---- ;; If not, we try the first unread, if that is wanted. ((and subject gnus-auto-select-same ! (or (gnus-summary-first-unread-article) ! (eq (gnus-summary-article-mark) gnus-canceled-mark))) ! (gnus-summary-position-cursor) (gnus-message 6 "Wrapped")) ;; Try to get next/previous article not displayed in this group. ((and gnus-auto-extend-newsgroup *************** *** 8075,8081 **** (t (or (assoc 'quit-config (gnus-find-method-for-group gnus-newsgroup-name)) (gnus-summary-jump-to-group gnus-newsgroup-name)) ! (let ((cmd (aref (this-command-keys) 0)) (group (if (eq gnus-keep-same-level 'best) (gnus-summary-best-group gnus-newsgroup-name) --- 8081,8087 ---- (t (or (assoc 'quit-config (gnus-find-method-for-group gnus-newsgroup-name)) (gnus-summary-jump-to-group gnus-newsgroup-name)) ! (let ((cmd last-command-char) (group (if (eq gnus-keep-same-level 'best) (gnus-summary-best-group gnus-newsgroup-name) *************** *** 8084,8090 **** ;; it back. (select-window (get-buffer-window (current-buffer))) ;; Keep just the event type of CMD. ! (and (listp cmd) (setq cmd (car cmd))) ;; Select next unread newsgroup automagically. (cond ((not gnus-auto-select-next) --- 8090,8096 ---- ;; it back. (select-window (get-buffer-window (current-buffer))) ;; Keep just the event type of CMD. ! ;(and (listp cmd) (setq cmd (car cmd))) ;; Select next unread newsgroup automagically. (cond ((not gnus-auto-select-next) *************** *** 9122,9128 **** (defun gnus-summary-raise-thread (&optional score) "Raise the score of the articles in the current thread with SCORE." (interactive "P") ! (setq score (1- (gnus-score-default score))) (let (e) (save-excursion (let ((level (gnus-summary-thread-level))) --- 9128,9134 ---- (defun gnus-summary-raise-thread (&optional score) "Raise the score of the articles in the current thread with SCORE." (interactive "P") ! (setq score (gnus-score-default score)) (let (e) (save-excursion (let ((level (gnus-summary-thread-level))) *************** *** 11015,11028 **** (search-forward "\n\n") (narrow-to-region (point-min) (point)) (goto-char (point-min)) ! (if (or (not gnus-article-x-face-command) ! (and (not force) ! (or (not gnus-article-x-face-too-ugly) ! (string-match gnus-article-x-face-too-ugly ! (mail-fetch-field "from")))) ! (progn ! (goto-char (point-min)) ! (not (re-search-forward "^X-Face: " nil t)))) nil (let ((beg (point)) (end (1- (re-search-forward "^\\($\\|[^ \t]\\)" nil t)))) --- 11021,11034 ---- (search-forward "\n\n") (narrow-to-region (point-min) (point)) (goto-char (point-min)) ! (if (not (and gnus-article-x-face-command ! (or force ! (and gnus-article-x-face-too-ugly ! (not (string-match gnus-article-x-face-too-ugly ! (mail-fetch-field "from"))))) ! (progn ! (goto-char (point-min)) ! (re-search-forward "^X-Face: " nil t)))) nil (let ((beg (point)) (end (1- (re-search-forward "^\\($\\|[^ \t]\\)" nil t)))) *************** *** 12134,12141 **** gnus-secondary-select-methods))) (groups 0) (new-date (current-time-string)) ! hashtb group new-newsgroups got-new method) ! ;; Go thorugh both primary and secondary select methods and ;; request new newsgroups. (while methods (setq method (gnus-server-get-method nil (car methods))) --- 12140,12148 ---- gnus-secondary-select-methods))) (groups 0) (new-date (current-time-string)) ! (hashtb (gnus-make-hashtable 100)) ! group new-newsgroups got-new method) ! ;; Go through both primary and secondary select methods and ;; request new newsgroups. (while methods (setq method (gnus-server-get-method nil (car methods))) *************** *** 12144,12151 **** (save-excursion (setq got-new t) (set-buffer nntp-server-buffer) - (or hashtb (setq hashtb (gnus-make-hashtable - (count-lines (point-min) (point-max))))) ;; Enter all the new groups in a hashtable. (gnus-active-to-gnus-format method hashtb 'ignore))) (setq methods (cdr methods))) --- 12151,12156 ---- *************** *** 12154,12160 **** (mapatoms (lambda (group-sym) (setq group (symbol-name group-sym)) ! (if (or (gnus-gethash group gnus-newsrc-hashtb) (member group gnus-zombie-list) (member group gnus-killed-list)) ;; The group is already known. --- 12159,12167 ---- (mapatoms (lambda (group-sym) (setq group (symbol-name group-sym)) ! (if (or (null group) ! (null (symbol-value group-sym)) ! (gnus-gethash group gnus-newsrc-hashtb) (member group gnus-zombie-list) (member group gnus-killed-list)) ;; The group is already known. *************** *** 12314,12320 **** (setq info (cdr entry)) (setq num (car entry))) (setq active (gnus-gethash group gnus-active-hashtb)) ! (setq num (if active (- (1+ (cdr active)) (car active)) t)) ;; Check whether the group is foreign. If so, the ;; foreign select method has to be entered into the ;; info. --- 12321,12328 ---- (setq info (cdr entry)) (setq num (car entry))) (setq active (gnus-gethash group gnus-active-hashtb)) ! (setq num ! (if active (- (1+ (cdr active)) (car active)) t)) ;; Check whether the group is foreign. If so, the ;; foreign select method has to be entered into the ;; info. *************** *** 13132,13137 **** --- 13140,13146 ---- (progn (beginning-of-line) (point))) (point)))))) (symbol + (or (boundp symbol) (set symbol nil)) ;; It was a group name. (setq subscribed (= (following-char) ?:) group (symbol-name symbol) *** pub/dgnus/lisp/nnbabyl.el Tue Aug 22 23:38:23 1995 --- dgnus/lisp/nnbabyl.el Wed Aug 23 01:42:29 1995 *************** *** 487,493 **** (goto-char (point-min)) (re-search-forward delim nil t) ! (setq start (match-beginning 0)) (while (re-search-forward delim nil t) (setq end (match-end 0)) (or (search-backward "\nX-Gnus-Newsgroup: " start t) --- 487,493 ---- (goto-char (point-min)) (re-search-forward delim nil t) ! (setq start (match-end 0)) (while (re-search-forward delim nil t) (setq end (match-end 0)) (or (search-backward "\nX-Gnus-Newsgroup: " start t) *** pub/dgnus/lisp/ChangeLog Tue Aug 22 23:38:24 1995 --- dgnus/lisp/ChangeLog Thu Aug 24 06:00:35 1995 *************** *** 1,3 **** --- 1,71 ---- + Thu Aug 24 01:41:33 1995 Lars Magne Ingebrigtsen + + * gnus.el (gnus-group-faq-directory): Changed the default to point + to aol. + (gnus-newsrc-to-gnus-format): Would bug out when there were bogus + groups in the .newsrc file. + + * gnus-ems.el: Don't bug out if x-get-resource isn't defined under + XEmacs. + + * gnus.el (gnus-ask-server-for-new-groups): Would sometimes + iterate over obarray instead of hashtb. + (gnus-summary-next-article): Would give wrong message when going + to canceled articles and gnus-auto-select-same was non-nil. + + Wed Aug 23 22:39:03 1995 Per Abrahamsen + + * custom.el (custom-save): New variable. + (custom-save-and-exit): New function. + (custom-buffer-create): Document it. + (custom-mode-map): Bind it. + (custom-buffer-create): New optional argument `SAVE' to overwrite + `custom-save'. + * gnus-edit.el (gnus-score-customize): Use new argument. + + Wed Aug 23 22:39:03 1995 Per Abrahamsen + + * custom.el (custom-mode): Insert appropiate check in hook if + `make-local-hook' doesn't exists. + (custom-post-command): Remove check for mode here. + + Wed Aug 23 22:03:50 1995 Per Abrahamsen + + * custom.el (custom-factory-reset-all): Removed dead code. + (custom-field-factory-reset): Removed dead code. + (custom-default-factory-reset): Didn't import the default value. + (custom-save): Didn't import the default value. + + Wed Aug 23 01:41:20 1995 Lars Magne Ingebrigtsen + + * gnus.el (gnus-ask-server-for-new-groups): Might not ignore bogus + groups. + + * gnus-score.el (gnus-score-insert-help): `I??' would bug out. + + * gnus.el (gnus-article-display-x-face): Reverse logic a bit. + (gnus): Do the startup message earlier. + (gnus-group-list-groups): Void variable. + (gnus-summary-raise-thread): Increase by (- 1 arg). + + * nnbabyl.el (nnbabyl-read-mbox): Would create extra dummy + articles. + + Wed Aug 23 00:49:17 1995 Lars Magne Ingebrigtsen + + * gnus.el (gnus-summary-next-article): `SPC' `n' didn't work under + XEmacs. + + Tue Aug 22 22:20:06 1995 Per Abrahamsen + + * custom.el (custom-default): Add support for calculated + defaults values. + * gnus-cus.el: Use it. + + Tue Aug 22 21:05:42 1995 Lars Magne Ingebrigtsen + + * gnus.el: 0.99.18 is released. + Tue Aug 22 22:20:06 1995 Per Abrahamsen * custom.el (custom-forward-field): Allow negative args. *** pub/dgnus/texi/gnus.texi Tue Aug 22 23:38:25 1995 --- dgnus/texi/gnus.texi Wed Aug 23 22:51:32 1995 *************** *** 1,7 **** \input texinfo @c -*-texinfo-*- @comment %**start of header (This is for running Texinfo on a region.) @setfilename gnus.info ! @settitle (ding) Gnus 0.84 Manual @synindex fn cp @synindex vr cp @synindex pg cp --- 1,7 ---- \input texinfo @c -*-texinfo-*- @comment %**start of header (This is for running Texinfo on a region.) @setfilename gnus.info ! @settitle (ding) Gnus 0.99.18 Manual @synindex fn cp @synindex vr cp @synindex pg cp *************** *** 1135,1141 **** low levels (eg. 1 or 2). If you want to play with the level variables, you should show some care. ! Set them once, and don't touch them ever again. @vindex gnus-level-default-unsubscribed @vindex gnus-level-default-subscribed --- 1135,1142 ---- low levels (eg. 1 or 2). If you want to play with the level variables, you should show some care. ! Set them once, and don't touch them ever again. Better yet, don't touch ! them at all unless you know exactly what you're doing. @vindex gnus-level-default-unsubscribed @vindex gnus-level-default-subscribed