Using saved parent location: http://bzr.savannah.gnu.org/r/emacs/trunk/ Now on revision 101985. ------------------------------------------------------------ revno: 101985 committer: Chong Yidong branch nick: trunk timestamp: Sat 2010-10-16 20:05:20 -0400 message: Fix a misleading widget message in the last checkin. diff: === modified file 'lisp/cus-theme.el' --- lisp/cus-theme.el 2010-10-17 00:00:34 +0000 +++ lisp/cus-theme.el 2010-10-17 00:05:20 +0000 @@ -147,7 +147,7 @@ (widget-toggle-action widget event) (setq custom-theme--migrate-settings (widget-value widget))))) - (widget-insert (propertize " Remove these settings from the Custom save file." + (widget-insert (propertize " Remove saved theme settings from Custom save file." 'face '(variable-pitch (:height 0.9))))) (let (vars values faces face-specs) ------------------------------------------------------------ revno: 101984 author: Gnus developers committer: Katsumi Yamaoka branch nick: trunk timestamp: Sun 2010-10-17 00:04:06 +0000 message: shr.el (shr-tag-img): Don't align images -- since we're not rescaling, this often leads to ugly displays. gnus-sum.el (gnus-summary-refer-thread): Bug fix. Add the thread headers to gnus-newsgroup-headers. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2010-10-16 01:55:08 +0000 +++ lisp/gnus/ChangeLog 2010-10-17 00:04:06 +0000 @@ -1,3 +1,13 @@ +2010-10-16 Andrew Cohen + + * gnus-sum.el (gnus-summary-refer-thread): Bug fix. Add the thread + headers to gnus-newsgroup-headers. + +2010-10-16 Lars Magne Ingebrigtsen + + * shr.el (shr-tag-img): Don't align images -- since we're not + rescaling, this often leads to ugly displays. + 2010-10-15 Andrew Cohen * gnus-sum.el (gnus-summary-refer-thread): unconditionally ignore === modified file 'lisp/gnus/gnus-sum.el' --- lisp/gnus/gnus-sum.el 2010-10-16 01:55:08 +0000 +++ lisp/gnus/gnus-sum.el 2010-10-17 00:04:06 +0000 @@ -8834,7 +8834,11 @@ (limit (if limit (prefix-numeric-value limit) gnus-refer-thread-limit))) (if (gnus-check-backend-function 'request-thread gnus-newsgroup-name) - (gnus-request-thread id) + (setq gnus-newsgroup-headers + (gnus-merge 'list + gnus-newsgroup-headers + (gnus-request-thread id) + 'gnus-article-sort-by-number)) (unless (eq gnus-fetch-old-headers 'invisible) (gnus-message 5 "Fetching headers for %s..." gnus-newsgroup-name) ;; Retrieve the headers and read them in. === modified file 'lisp/gnus/shr.el' --- lisp/gnus/shr.el 2010-10-15 10:24:10 +0000 +++ lisp/gnus/shr.el 2010-10-17 00:04:06 +0000 @@ -426,27 +426,7 @@ (not (eq shr-state 'image))) (insert "\n")) (let ((alt (cdr (assq :alt cont))) - (url (cdr (assq :src cont))) - (width (cdr (assq :width cont)))) - ;; Only respect align if width specified. - (when width - ;; Check that width is not larger than max width, otherwise ignore - ;; align - (let ((max-width (* shr-width (frame-char-width))) - (width (string-to-number width))) - (when (< width max-width) - (let ((align (cdr (assq :align cont)))) - (cond - ((string= align "right") - (insert (propertize - " " 'display - `(space . (:align-to - ,(list (- max-width width))))))) - ((string= align "center") - (insert (propertize - " " 'display - `(space . (:balign-to - ,(list (- (/ max-width 2) width)))))))))))) + (url (cdr (assq :src cont)))) (let ((start (point-marker))) (when (zerop (length alt)) (setq alt "[img]")) ------------------------------------------------------------ revno: 101983 committer: Chong Yidong branch nick: trunk timestamp: Sat 2010-10-16 20:00:34 -0400 message: Allow Custom settings to be migrated into a custom theme. * cus-theme.el (custom-theme--migrate-settings): New var. (customize-create-theme): Allow editing the `user' theme. (custom-theme-add-variable, custom-theme-add-var-1) (custom-theme-add-face, custom-theme-add-face-1): Add a checkbox to the front of each variable or face widget. (custom-theme-write): Save theme settings in the correct order. Optionally, remove saved settings from user customizations. (custom-theme-write-variables, custom-theme-write-faces): Saved only the checked widgets. (customize-themes): Add a link for migrating custom settings. * custom.el (custom-declare-theme, provide-theme): Use custom-theme-name-valid-p. (custom-theme-name-valid-p): Remove checks that are now unnecessary since themes no longer obey load-path. * cus-edit.el (custom-variable-value-create): For the simple style, hide documentation string when hidden. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-10-16 20:36:20 +0000 +++ lisp/ChangeLog 2010-10-17 00:00:34 +0000 @@ -1,5 +1,26 @@ 2010-10-16 Chong Yidong + * cus-theme.el (custom-theme--migrate-settings): New var. + (customize-create-theme): Allow editing the `user' theme. + (custom-theme-add-variable, custom-theme-add-var-1) + (custom-theme-add-face, custom-theme-add-face-1): Add a checkbox + to the front of each variable or face widget. + (custom-theme-write): Save theme settings in the correct order. + Optionally, remove saved settings from user customizations. + (custom-theme-write-variables, custom-theme-write-faces): Saved + only the checked widgets. + (customize-themes): Add a link for migrating custom settings. + + * custom.el (custom-declare-theme, provide-theme): Use + custom-theme-name-valid-p. + (custom-theme-name-valid-p): Remove checks that are now + unnecessary since themes no longer obey load-path. + + * cus-edit.el (custom-variable-value-create): For the simple + style, hide documentation string when hidden. + +2010-10-16 Chong Yidong + * cus-edit.el (custom-variable, custom-face): Combine the :inhibit-magic and :display-style properties into a single :custom-style property. === modified file 'lisp/cus-edit.el' --- lisp/cus-edit.el 2010-10-16 20:36:20 +0000 +++ lisp/cus-edit.el 2010-10-17 00:00:34 +0000 @@ -2520,6 +2520,7 @@ (get (or (get symbol 'custom-get) 'default-value)) (prefix (widget-get widget :custom-prefix)) (last (widget-get widget :custom-last)) + (style (widget-get widget :custom-style)) (value (let ((shown-value (widget-get widget :shown-value))) (cond (shown-value (car shown-value)) @@ -2633,7 +2634,7 @@ (unless (eq (preceding-char) ?\n) (widget-insert "\n")) ;; Create the magic button. - (unless (eq (widget-get widget :custom-style) 'simple) + (unless (eq style 'simple) (let ((magic (widget-create-child-and-convert widget 'custom-magic nil))) (widget-put widget :custom-magic magic) @@ -2641,8 +2642,10 @@ (widget-put widget :buttons buttons) ;; Insert documentation. (widget-put widget :documentation-indent 3) - (widget-add-documentation-string-button - widget :visibility-widget 'custom-visibility) + (unless (and (eq style 'simple) + (eq state 'hidden)) + (widget-add-documentation-string-button + widget :visibility-widget 'custom-visibility)) ;; The comment field (unless (eq state 'hidden) === modified file 'lisp/cus-theme.el' --- lisp/cus-theme.el 2010-10-16 20:36:20 +0000 +++ lisp/cus-theme.el 2010-10-17 00:00:34 +0000 @@ -50,9 +50,12 @@ (put 'custom-new-theme-mode 'mode-class 'special) (defvar custom-theme-name nil) +;; Each element has the form (VAR CHECKBOX-WIDGET VAR-WIDGET) (defvar custom-theme-variables nil) +;; Each element has the form (FACE CHECKBOX-WIDGET FACE-WIDGET) (defvar custom-theme-faces nil) (defvar custom-theme-description nil) +(defvar custom-theme--migrate-settings nil) (defvar custom-theme-insert-variable-marker nil) (defvar custom-theme-insert-face-marker nil) @@ -78,7 +81,8 @@ ;;;###autoload (defun customize-create-theme (&optional theme buffer) "Create or edit a custom theme. -THEME, if non-nil, should be an existing theme to edit. +THEME, if non-nil, should be an existing theme to edit. If THEME +is `user', provide an option to remove these as custom settings. BUFFER, if non-nil, should be a buffer to use; the default is named *Custom Theme*." (interactive) @@ -93,10 +97,16 @@ (set (make-local-variable 'custom-theme-faces) nil) (set (make-local-variable 'custom-theme-variables) nil) (set (make-local-variable 'custom-theme-description) "") + (set (make-local-variable 'custom-theme--migrate-settings) nil) (make-local-variable 'custom-theme-insert-face-marker) (make-local-variable 'custom-theme-insert-variable-marker) (make-local-variable 'custom-theme--listed-faces) + (if (eq theme 'user) + (widget-insert "This buffer contains all the Custom settings you have made. +You can convert them into a new custom theme, and optionally +remove them from your saved Custom file.\n\n")) + (widget-create 'push-button :tag " Visit Theme " :help-echo "Insert the settings of a pre-defined theme." @@ -109,26 +119,43 @@ :action (lambda (widget &optional event) (call-interactively 'custom-theme-merge-theme))) (widget-insert " ") - (widget-create 'push-button :notify 'revert-buffer " Revert ") + (widget-create 'push-button + :tag " Revert " + :help-echo "Revert this buffer to its original state." + :action (lambda (&rest ignored) (revert-buffer))) (widget-insert "\n\nTheme name : ") (setq custom-theme-name (widget-create 'editable-field - :value (if theme (symbol-name theme) ""))) + :value (if (and theme (not (eq theme 'user))) + (symbol-name theme) + ""))) (widget-insert "Description: ") (setq custom-theme-description (widget-create 'text :value (format-time-string "Created %Y-%m-%d."))) - (widget-insert " ") (widget-create 'push-button :notify (function custom-theme-write) " Save Theme ") + (when (eq theme 'user) + (setq custom-theme--migrate-settings t) + (widget-insert " ") + (widget-create 'checkbox + :value custom-theme--migrate-settings + :action (lambda (widget &optional event) + (when (widget-value widget) + (widget-toggle-action widget event) + (setq custom-theme--migrate-settings + (widget-value widget))))) + (widget-insert (propertize " Remove these settings from the Custom save file." + 'face '(variable-pitch (:height 0.9))))) (let (vars values faces face-specs) ;; Load the theme settings. (when theme - (load-theme theme t) + (unless (eq theme 'user) + (load-theme theme t)) (dolist (setting (get theme 'theme-settings)) (if (eq (car setting) 'theme-value) (progn (push (nth 1 setting) vars) @@ -160,7 +187,9 @@ (widget-insert "\n\n Theme variables:\n ") (if theme (while vars - (custom-theme-add-var-1 (pop vars) (pop values)))) + (if (eq (car vars) 'custom-enabled-themes) + (progn (pop vars) (pop values)) + (custom-theme-add-var-1 (pop vars) (pop values))))) (setq custom-theme-insert-variable-marker (point-marker)) (widget-insert " ") (widget-create 'push-button @@ -190,8 +219,8 @@ (interactive (let ((v (read-variable "Variable name: "))) (list v (symbol-value v)))) - (let ((var-and-widget (assq var custom-theme-faces))) - (cond ((null var-and-widget) + (let ((entry (assq var custom-theme-variables))) + (cond ((null entry) ;; If VAR is not yet in the buffer, add it. (save-excursion (goto-char custom-theme-insert-variable-marker) @@ -200,13 +229,18 @@ (widget-setup))) ;; Otherwise, alter that var widget. (t - (let ((widget (cdr var-and-widget))) + (widget-value-set (nth 1 entry) t) + (let ((widget (nth 2 entry))) (widget-put widget :shown-value (list value)) (custom-redraw widget)))))) (defun custom-theme-add-var-1 (symbol val) (widget-insert " ") - (push (cons symbol + (push (list symbol + (prog1 (widget-create 'checkbox + :value t + :help-echo "Enable/disable this variable.") + (widget-insert " ")) (widget-create 'custom-variable :tag (custom-unlispify-tag-name symbol) :value symbol @@ -226,8 +260,8 @@ (interactive (list (read-face-name "Face name" nil nil) nil)) (unless (or (facep face) spec) (error "`%s' has no face definition" face)) - (let ((face-and-widget (assq face custom-theme-faces))) - (cond ((null face-and-widget) + (let ((entry (assq face custom-theme-faces))) + (cond ((null entry) ;; If FACE is not yet in the buffer, add it. (save-excursion (goto-char custom-theme-insert-face-marker) @@ -236,7 +270,8 @@ (widget-setup))) ;; Otherwise, if SPEC is supplied, alter that face widget. (spec - (let ((widget (cdr face-and-widget))) + (widget-value-set (nth 1 entry) t) + (let ((widget (nth 2 entry))) (widget-put widget :shown-value spec) (custom-redraw widget))) ((called-interactively-p 'interactive) @@ -244,7 +279,12 @@ (defun custom-theme-add-face-1 (symbol spec) (widget-insert " ") - (push (cons symbol + (push (list symbol + (prog1 + (widget-create 'checkbox + :value t + :help-echo "Enable/disable this face.") + (widget-insert " ")) (widget-create 'custom-face :tag (custom-unlispify-tag-name symbol) :documentation-shown t @@ -297,8 +337,8 @@ "Write the current custom theme to its theme file." (interactive) (let* ((name (widget-value custom-theme-name)) - (doc (widget-value custom-theme-description)) - (vars custom-theme-variables) + (doc (widget-value custom-theme-description)) + (vars custom-theme-variables) (faces custom-theme-faces) filename) (when (string-equal name "") @@ -322,19 +362,26 @@ (insert "(deftheme " name) (if doc (insert "\n \"" doc "\"")) (insert ")\n") - (custom-theme-write-variables name vars) - (custom-theme-write-faces name faces) + (custom-theme-write-variables name (reverse vars)) + (custom-theme-write-faces name (reverse faces)) (insert "\n(provide-theme '" name ")\n") (save-buffer)) - (dolist (var vars) - (when (widget-get (cdr var) :children) - (widget-put (cdr var) :custom-state 'saved) - (custom-redraw-magic (cdr var)))) - (dolist (face custom-theme-faces) - (when (widget-get (cdr face) :children) - (widget-put (cdr face) :custom-state 'saved) - (custom-redraw-magic (cdr face)))) - (message "Theme written to %s" filename))) + (message "Theme written to %s" filename) + + (when custom-theme--migrate-settings + ;; Remove these settings from the Custom file. + (let ((custom-reset-standard-variables-list '(t)) + (custom-reset-standard-faces-list '(t))) + (dolist (var vars) + (when (and (not (eq (car var) 'custom-enabled-themes)) + (widget-get (nth 1 var) :value)) + (widget-apply (nth 2 var) :custom-mark-to-reset-standard))) + (dolist (face faces) + (when (widget-get (nth 1 face) :value) + (widget-apply (nth 2 face) :custom-mark-to-reset-standard))) + (custom-save-all)) + (let ((custom-theme-load-path (list 'custom-theme-directory))) + (load-theme (intern name)))))) (defun custom-theme-write-variables (theme vars) "Write a `custom-theme-set-variables' command for THEME. @@ -346,21 +393,22 @@ (princ theme) (princ "\n") (dolist (spec vars) - (let* ((symbol (car spec)) - (widget (cdr spec)) - (child (car-safe (widget-get widget :children))) - (value (if child - (widget-value child) - ;; Child is null if the widget is closed (hidden). - (car (widget-get widget :shown-value))))) - (when (boundp symbol) - (unless (bolp) - (princ "\n")) - (princ " '(") - (prin1 symbol) - (princ " ") - (prin1 (custom-quote value)) - (princ ")")))) + (when (widget-get (nth 1 spec) :value) + (let* ((symbol (nth 0 spec)) + (widget (nth 2 spec)) + (child (car-safe (widget-get widget :children))) + (value (if child + (widget-value child) + ;; Child is null if the widget is closed (hidden). + (car (widget-get widget :shown-value))))) + (when (boundp symbol) + (unless (bolp) + (princ "\n")) + (princ " '(") + (prin1 symbol) + (princ " ") + (prin1 (custom-quote value)) + (princ ")"))))) (if (bolp) (princ " ")) (princ ")") @@ -377,19 +425,20 @@ (princ theme) (princ "\n") (dolist (spec faces) - (let* ((symbol (car spec)) - (widget (cdr spec)) - (value - (if (car-safe (widget-get widget :children)) - (custom-face-widget-to-spec widget) - ;; Child is null if the widget is closed (hidden). - (widget-get widget :shown-value)))) - (when (and (facep symbol) value) - (princ (if (bolp) " '(" "\n '(")) - (prin1 symbol) - (princ " ") - (prin1 value) - (princ ")")))) + (when (widget-get (nth 1 spec) :value) + (let* ((symbol (nth 0 spec)) + (widget (nth 2 spec)) + (value + (if (car-safe (widget-get widget :children)) + (custom-face-widget-to-spec widget) + ;; Child is null if the widget is closed (hidden). + (widget-get widget :shown-value)))) + (when (and (facep symbol) value) + (princ (if (bolp) " '(" "\n '(")) + (prin1 symbol) + (princ " ") + (prin1 value) + (princ ")"))))) (if (bolp) (princ " ")) (princ ")") (unless (looking-at "\n") @@ -525,10 +574,21 @@ (and (null (cdr user-settings)) (eq (caar user-settings) 'theme-value) (eq (cadr (car user-settings)) 'custom-enabled-themes))) - (widget-insert "Note: Your custom settings take precedence over theme settings.\n\n") - ;; FIXME: Provide some way to painlessly disable or migrate - ;; these settings. - )) + (widget-insert + (propertize + " Note: Your custom settings take precedence over theme settings. + To migrate your settings into a theme, click " + 'face 'font-lock-warning-face)) + (widget-create 'link :value "here" + :button-face 'custom-link + :mouse-face 'highlight + :pressed-face 'highlight + :help-echo "Migrate." + :keymap custom-mode-link-map + :follow-link 'mouse-face + :action (lambda (widget &rest ignore) + (customize-create-theme 'user))) + (widget-insert ".\n\n"))) (widget-create 'push-button :tag " Save Theme Settings " @@ -597,9 +657,8 @@ (defun custom-theme-selections-toggle (widget &optional event) (when (widget-value widget) ;; Deactivate multiple-selections. - (if (> (length (delq nil (mapcar (lambda (x) (widget-value (cdr x))) - custom--listed-themes))) - 1) + (if (< 1 (length (delq nil (mapcar (lambda (x) (widget-value (cdr x))) + custom--listed-themes)))) (error "More than one theme is currently selected"))) (widget-toggle-action widget event) (setq custom-theme-allow-multiple-selections (widget-value widget))) === modified file 'lisp/custom.el' --- lisp/custom.el 2010-10-16 20:36:20 +0000 +++ lisp/custom.el 2010-10-17 00:00:34 +0000 @@ -1033,8 +1033,8 @@ "Like `deftheme', but THEME is evaluated as a normal argument. FEATURE is the feature this theme provides. Normally, this is a symbol created from THEME by `custom-make-theme-feature'." - (if (memq theme '(user changed)) - (error "Custom theme cannot be named %S" theme)) + (unless (custom-theme-name-valid-p theme) + (error "Custom theme cannot be named %S" theme)) (add-to-list 'custom-known-themes theme) (put theme 'theme-feature feature) (when doc (put theme 'theme-documentation doc))) @@ -1063,14 +1063,17 @@ (defcustom custom-theme-load-path (list 'custom-theme-directory t) "List of directories to search for custom theme files. -Emacs commands for loading custom themes (e.g. `customize-themes' -and `load-theme') search for custom theme files in the specified +When loading custom themes (e.g. in `customize-themes' and +`load-theme'), Emacs searches for theme files in the specified order. Each element in the list should be one of the following: - the symbol `custom-theme-directory', meaning the value of `custom-theme-directory'. - the symbol t, meaning the built-in theme directory (a directory named \"themes\" in `data-directory'). -- a directory name (a string)." +- a directory name (a string). + +Each theme file is named NAME-theme.el, where THEME is the theme +name." :type '(repeat (choice (const :tag "custom-theme-directory" custom-theme-directory) (const :tag "Built-in theme directory" t) @@ -1089,16 +1092,16 @@ This calls `provide' to provide the feature name stored in THEME's property `theme-feature' (which is usually a symbol created by `custom-make-theme-feature')." - (if (memq theme '(user changed)) - (error "Custom theme cannot be named %S" theme)) + (unless (custom-theme-name-valid-p theme) + (error "Custom theme cannot be named %S" theme)) (custom-check-theme theme) (provide (get theme 'theme-feature)) (unless custom--inhibit-theme-enable - ;; Loading a theme also enables it. + ;; By default, loading a theme also enables it. (push theme custom-enabled-themes) ;; `user' must always be the highest-precedence enabled theme. - ;; Make that remain true. (This has the effect of making user settings - ;; override the ones just loaded, too.) + ;; Make that remain true. (This has the effect of making user + ;; settings override the ones just loaded, too.) (let ((custom-enabling-themes t)) (enable-theme 'user)))) @@ -1164,10 +1167,6 @@ (and (symbolp name) name (not (or (zerop (length (symbol-name name))) - ;; There's a third-party package named color-theme.el. - ;; Don't treat that as a theme. - (eq name 'color) - (eq name 'cus) (eq name 'user) (eq name 'changed))))) ------------------------------------------------------------ revno: 101982 committer: Chong Yidong branch nick: trunk timestamp: Sat 2010-10-16 16:36:20 -0400 message: Allow hiding of modified custom widgets. * cus-edit.el (custom-variable, custom-face): Combine the :inhibit-magic and :display-style properties into a single :custom-style property. (custom-toggle-hide-variable, custom-toggle-hide-face): New functions. If hiding an edited value, save it to :shown-value. (custom-variable-value-create, custom-face-value-create): Use them. (custom-magic-reset): Allow magic property to be unset. * cus-theme.el (custom-theme-add-var-1) (custom-theme-add-face-1): Use the :custom-style property. * custom.el: (custom-theme-load-path): Doc fix. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-10-16 18:27:08 +0000 +++ lisp/ChangeLog 2010-10-16 20:36:20 +0000 @@ -1,5 +1,14 @@ 2010-10-16 Chong Yidong + * cus-edit.el (custom-variable, custom-face): Combine the + :inhibit-magic and :display-style properties into a single + :custom-style property. + (custom-toggle-hide-variable, custom-toggle-hide-face): New + functions. If hiding an edited value, save it to :shown-value. + (custom-variable-value-create, custom-face-value-create): Use + them. + (custom-magic-reset): Allow magic property to be unset. + * custom.el: Custom themes no longer use load-path. (custom-theme-load-path): New option. Change built-in theme directory to etc/. @@ -9,6 +18,8 @@ * cus-theme.el (describe-theme-1): Use custom-theme--load-path. (customize-themes): Link to custom-theme-load-path variable. + (custom-theme-add-var-1, custom-theme-add-face-1): Use the + :custom-style property. * themes/*.el: Moved to etc/. === modified file 'lisp/cus-edit.el' --- lisp/cus-edit.el 2010-10-16 00:16:34 +0000 +++ lisp/cus-edit.el 2010-10-16 20:36:20 +0000 @@ -2077,7 +2077,8 @@ (defun custom-magic-reset (widget) "Redraw the :custom-magic property of WIDGET." (let ((magic (widget-get widget :custom-magic))) - (widget-value-set magic (widget-value magic)))) + (when magic + (widget-value-set magic (widget-value magic))))) ;;; The `custom' Widget. @@ -2465,8 +2466,9 @@ :shown-value, if non-nil, should be a list whose `car' is the variable value to display in place of the current value. -:inhibit-magic, if non-nil, inhibits creating the magic - custom-state widget." +:custom-style describes the widget interface style; nil is the + default style, while `simple' means a simpler interface that + inhibits the magic custom-state widget." :format "%v" :help-echo "Set or reset this variable." :documentation-property #'custom-variable-documentation @@ -2552,7 +2554,7 @@ :on "Hide" :off-image "right" :off "Show Value" - :action 'custom-toggle-parent + :action 'custom-toggle-hide-variable nil) buttons) (insert " ") @@ -2572,7 +2574,7 @@ :off "Show" :on-image "down" :off-image "right" - :action 'custom-toggle-parent + :action 'custom-toggle-hide-variable t) buttons) (insert " ") @@ -2602,7 +2604,7 @@ :off "Show" :on-image "down" :off-image "right" - :action 'custom-toggle-parent + :action 'custom-toggle-hide-variable t) buttons) (insert " ") @@ -2631,7 +2633,7 @@ (unless (eq (preceding-char) ?\n) (widget-insert "\n")) ;; Create the magic button. - (unless (widget-get widget :inhibit-magic) + (unless (eq (widget-get widget :custom-style) 'simple) (let ((magic (widget-create-child-and-convert widget 'custom-magic nil))) (widget-put widget :custom-magic magic) @@ -2667,6 +2669,31 @@ (custom-add-parent-links widget)) (custom-add-see-also widget))))) +(defun custom-toggle-hide-variable (visibility-widget &rest ignore) + "Toggle the visibility of a `custom-variable' parent widget. +By default, this signals an error if the parent has unsaved +changes. If the parent has a `simple' :custom-style property, +the present value is saved to its :shown-value property instead." + (let ((widget (widget-get visibility-widget :parent))) + (unless (eq (widget-type widget) 'custom-variable) + (error "Invalid widget type")) + (custom-load-widget widget) + (let ((state (widget-get widget :custom-state))) + (if (eq state 'hidden) + (widget-put widget :custom-state 'unknown) + ;; In normal interface, widget can't be hidden if modified. + (when (memq state '(invalid modified set)) + (if (eq (widget-get widget :custom-style) 'simple) + (widget-put widget :shown-value + (list (widget-value + (car-safe + (widget-get widget :children))))) + (error "There are unsaved changes"))) + (widget-put widget :documentation-shown nil) + (widget-put widget :custom-state 'hidden)) + (custom-redraw widget) + (widget-setup)))) + (defun custom-tag-action (widget &rest args) "Pass :action to first child of WIDGET's parent." (apply 'widget-apply (car (widget-get (widget-get widget :parent) :children)) @@ -3291,17 +3318,15 @@ Lisp sexp), or `mismatch' (should not happen); if nil, use the return value of `custom-face-default-form'. -:display-style, if non-nil, describes the style of display to - use. If the value is `concise', a neater interface is shown. +:custom-style describes the widget interface style; nil is the + default style, while `simple' means a simpler interface that + inhibits the magic custom-state widget. :sample-indent, if non-nil, is the number of columns to which to indent the face sample (an integer). :shown-value, if non-nil, is the face spec to display as the value - of the widget, instead of the current face spec. - -:inhibit-magic, if non-nil, inhibits creating the magic - custom-state widget." + of the widget, instead of the current face spec." :sample-face 'custom-face-tag :help-echo "Set or reset this face." :documentation-property #'face-doc-string @@ -3395,6 +3420,29 @@ (setq spec `((t ,(face-attr-construct face (selected-frame)))))) (custom-pre-filter-face-spec spec))) +(defun custom-toggle-hide-face (visibility-widget &rest ignore) + "Toggle the visibility of a `custom-face' parent widget. +By default, this signals an error if the parent has unsaved +changes. If the parent has a `simple' :custom-style property, +the present value is saved to its :shown-value property instead." + (let ((widget (widget-get visibility-widget :parent))) + (unless (eq (widget-type widget) 'custom-face) + (error "Invalid widget type")) + (custom-load-widget widget) + (let ((state (widget-get widget :custom-state))) + (if (eq state 'hidden) + (widget-put widget :custom-state 'unknown) + ;; In normal interface, widget can't be hidden if modified. + (when (memq state '(invalid modified set)) + (if (eq (widget-get widget :custom-style) 'simple) + (widget-put widget :shown-value + (custom-face-widget-to-spec widget)) + (error "There are unsaved changes"))) + (widget-put widget :documentation-shown nil) + (widget-put widget :custom-state 'hidden)) + (custom-redraw widget) + (widget-setup)))) + (defun custom-face-value-create (widget) "Create a list of the display specifications for WIDGET." (let* ((buttons (widget-get widget :buttons)) @@ -3402,7 +3450,7 @@ (tag (or (widget-get widget :tag) (prin1-to-string symbol))) (hiddenp (eq (widget-get widget :custom-state) 'hidden)) - (style (widget-get widget :display-style)) + (style (widget-get widget :custom-style)) children) (if (eq custom-buffer-style 'tree) @@ -3425,7 +3473,7 @@ :help-echo "Hide or show this face." :on "Hide" :off "Show" :on-image "down" :off-image "right" - :action 'custom-toggle-parent + :action 'custom-toggle-hide-face (not hiddenp)) buttons) ;; Face name (tag). @@ -3452,7 +3500,7 @@ (insert "\n") ;; Magic. - (unless (widget-get widget :inhibit-magic) + (unless (eq (widget-get widget :custom-style) 'simple) (let ((magic (widget-create-child-and-convert widget 'custom-magic nil))) (widget-put widget :custom-magic magic) @@ -3462,7 +3510,7 @@ (widget-put widget :buttons buttons) ;; Insert documentation. - (unless (and hiddenp (eq style 'concise)) + (unless (and hiddenp (eq style 'simple)) (widget-put widget :documentation-indent 3) (widget-add-documentation-string-button widget :visibility-widget 'custom-visibility) === modified file 'lisp/cus-theme.el' --- lisp/cus-theme.el 2010-10-16 18:27:08 +0000 +++ lisp/cus-theme.el 2010-10-16 20:36:20 +0000 @@ -41,7 +41,7 @@ map) "Keymap for `custom-new-theme-mode'.") -(define-derived-mode custom-new-theme-mode nil "Cus-Theme" +(define-derived-mode custom-new-theme-mode nil "Custom-Theme" "Major mode for editing Custom themes. Do not call this mode function yourself. It is meant for internal use." (use-local-map custom-new-theme-mode-map) @@ -214,7 +214,7 @@ :notify 'ignore :custom-level 0 :custom-state 'hidden - :inhibit-magic t)) + :custom-style 'simple)) custom-theme-variables) (widget-insert " ")) @@ -250,9 +250,8 @@ :documentation-shown t :value symbol :custom-state 'hidden - :display-style 'concise + :custom-style 'simple :shown-value spec - :inhibit-magic t :sample-indent 34)) custom-theme-faces) (widget-insert " ")) @@ -476,7 +475,7 @@ map) "Keymap for `custom-theme-choose-mode'.") -(define-derived-mode custom-theme-choose-mode nil "Cus-Theme" +(define-derived-mode custom-theme-choose-mode nil "Themes" "Major mode for selecting Custom themes. Do not call this mode function yourself. It is meant for internal use." (use-local-map custom-theme-choose-mode-map) === modified file 'lisp/custom.el' --- lisp/custom.el 2010-10-16 18:27:08 +0000 +++ lisp/custom.el 2010-10-16 20:36:20 +0000 @@ -1066,10 +1066,11 @@ Emacs commands for loading custom themes (e.g. `customize-themes' and `load-theme') search for custom theme files in the specified order. Each element in the list should be one of the following: -\(i) the symbol `custom-theme-directory', which means the value -of that variable; (ii) the symbol t (the built-in Emacs theme -directory, named \"themes\" in `data-directory'); or \(iii) a -directory name (a string)." +- the symbol `custom-theme-directory', meaning the value of + `custom-theme-directory'. +- the symbol t, meaning the built-in theme directory (a directory + named \"themes\" in `data-directory'). +- a directory name (a string)." :type '(repeat (choice (const :tag "custom-theme-directory" custom-theme-directory) (const :tag "Built-in theme directory" t) ------------------------------------------------------------ revno: 101981 committer: Chong Yidong branch nick: trunk timestamp: Sat 2010-10-16 14:27:08 -0400 message: Move built-in theme directory to etc/. * custom.el: Custom themes no longer use load-path. (custom-theme-load-path): New option. Change built-in theme directory to etc/. (custom-enabled-themes): Add custom-theme-load-path dependency. (custom-theme--load-path): New function. (load-theme, custom-available-themes): Use it. * cus-theme.el (describe-theme-1): Use custom-theme--load-path. (customize-themes): Link to custom-theme-load-path variable. diff: === modified file 'etc/ChangeLog' --- etc/ChangeLog 2010-10-14 14:32:27 +0000 +++ etc/ChangeLog 2010-10-16 18:27:08 +0000 @@ -1,3 +1,7 @@ +2010-10-16 Chong Yidong + + * themes: New directory for custom theme files, moved from lisp/. + 2010-10-14 Juanma Barranquero * tutorials/TUTORIAL.es: Fix typos. === modified file 'etc/NEWS' --- etc/NEWS 2010-10-15 16:44:01 +0000 +++ etc/NEWS 2010-10-16 18:27:08 +0000 @@ -199,6 +199,11 @@ *** `M-x customize-themes' lists Custom themes which can be enabled. +*** New option `custom-theme-load-path' is the load path for themes. +Emacs no longer looks for custom themes in `load-path'. The default +is to search in `custom-theme-directory', followed by a built-in theme +directory named "themes/" in `data-directory'. + ** The user option `remote-file-name-inhibit-cache' controls whether the remote file-name cache is used for read access. === renamed directory 'lisp/themes' => 'etc/themes' === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-10-16 15:08:47 +0000 +++ lisp/ChangeLog 2010-10-16 18:27:08 +0000 @@ -1,3 +1,17 @@ +2010-10-16 Chong Yidong + + * custom.el: Custom themes no longer use load-path. + (custom-theme-load-path): New option. Change built-in theme + directory to etc/. + (custom-enabled-themes): Add custom-theme-load-path dependency. + (custom-theme--load-path): New function. + (load-theme, custom-available-themes): Use it. + + * cus-theme.el (describe-theme-1): Use custom-theme--load-path. + (customize-themes): Link to custom-theme-load-path variable. + + * themes/*.el: Moved to etc/. + 2010-10-16 Ralf Angeli * textmodes/reftex-cite.el === modified file 'lisp/cus-theme.el' --- lisp/cus-theme.el 2010-10-16 00:16:34 +0000 +++ lisp/cus-theme.el 2010-10-16 18:27:08 +0000 @@ -316,7 +316,7 @@ (with-temp-buffer (emacs-lisp-mode) - (unless (file-exists-p custom-theme-directory) + (unless (file-directory-p custom-theme-directory) (make-directory (file-name-as-directory custom-theme-directory) t)) (setq buffer-file-name filename) (erase-buffer) @@ -419,7 +419,7 @@ (prin1 theme) (princ " is a custom theme") (let ((fn (locate-file (concat (symbol-name theme) "-theme.el") - (cons custom-theme-directory load-path) + (custom-theme--load-path) '("" "c"))) doc) (when fn @@ -508,26 +508,15 @@ "Type RET or click to enable/disable listed custom themes. Type \\[custom-describe-theme] to describe the theme at point. Theme files are named *-theme.el in `")) - (when (stringp custom-theme-directory) - (widget-create 'link :value custom-theme-directory - :button-face 'custom-link - :mouse-face 'highlight - :pressed-face 'highlight - :help-echo "Describe `custom-theme-directory'." - :keymap custom-mode-link-map - :follow-link 'mouse-face - :action (lambda (widget &rest ignore) - (describe-variable 'custom-theme-directory))) - (widget-insert "' or `")) - (widget-create 'link :value "load-path" + (widget-create 'link :value "custom-theme-load-path" :button-face 'custom-link :mouse-face 'highlight :pressed-face 'highlight - :help-echo "Describe `load-path'." + :help-echo "Describe `custom-theme-load-path'." :keymap custom-mode-link-map :follow-link 'mouse-face :action (lambda (widget &rest ignore) - (describe-variable 'load-path))) + (describe-variable 'custom-theme-load-path))) (widget-insert "'.\n\n") ;; If the user has made customizations, display a warning and === modified file 'lisp/custom.el' --- lisp/custom.el 2010-10-14 03:55:18 +0000 +++ lisp/custom.el 2010-10-16 18:27:08 +0000 @@ -996,9 +996,8 @@ ;;; Defining themes. -;; A theme file should be named `THEME-theme.el' (where THEME is the theme -;; name), and found in either `custom-theme-directory' or the load path. -;; It has the following format: +;; A theme file is named `THEME-theme.el' (where THEME is the theme +;; name) found in `custom-theme-load-path'. It has this format: ;; ;; (deftheme THEME ;; DOCSTRING) @@ -1053,16 +1052,31 @@ ;;; Loading themes. -(defcustom custom-theme-directory - user-emacs-directory - "Directory in which Custom theme files should be written. -`load-theme' searches this directory in addition to load-path. -The command `customize-create-theme' writes the files it produces -into this directory." +(defcustom custom-theme-directory user-emacs-directory + "Default user directory for storing custom theme files. +The command `customize-create-theme' writes theme files into this +directory. By default, Emacs searches for custom themes in this +directory first---see `custom-theme-load-path'." :type 'string :group 'customize :version "22.1") +(defcustom custom-theme-load-path (list 'custom-theme-directory t) + "List of directories to search for custom theme files. +Emacs commands for loading custom themes (e.g. `customize-themes' +and `load-theme') search for custom theme files in the specified +order. Each element in the list should be one of the following: +\(i) the symbol `custom-theme-directory', which means the value +of that variable; (ii) the symbol t (the built-in Emacs theme +directory, named \"themes\" in `data-directory'); or \(iii) a +directory name (a string)." + :type '(repeat (choice (const :tag "custom-theme-directory" + custom-theme-directory) + (const :tag "Built-in theme directory" t) + directory)) + :group 'customize + :version "24.1") + (defvar custom--inhibit-theme-enable nil "If non-nil, loading a theme does not enable it. This internal variable is set by `load-theme' when its NO-ENABLE @@ -1108,7 +1122,7 @@ (put theme 'theme-feature nil) (put theme 'theme-documentation nil)) (let ((fn (locate-file (concat (symbol-name theme) "-theme.el") - (cons custom-theme-directory load-path) + (custom-theme--load-path) '("" "c")))) (unless fn (error "Unable to find theme file for `%s'." theme)) @@ -1158,19 +1172,29 @@ (defun custom-available-themes () "Return a list of available Custom themes (symbols)." - (let* ((load-path (if (file-directory-p custom-theme-directory) - (cons custom-theme-directory load-path) - load-path)) - sym themes) - (dolist (dir load-path) - (dolist (file (file-expand-wildcards - (expand-file-name "*-theme.el" dir) t)) - (setq file (file-name-nondirectory file)) - (and (string-match "\\`\\(.+\\)-theme.el\\'" file) - (setq sym (intern (match-string 1 file))) - (custom-theme-name-valid-p sym) - (push sym themes)))) + (let* (sym themes) + (dolist (dir (custom-theme--load-path)) + (when (file-directory-p dir) + (dolist (file (file-expand-wildcards + (expand-file-name "*-theme.el" dir) t)) + (setq file (file-name-nondirectory file)) + (and (string-match "\\`\\(.+\\)-theme.el\\'" file) + (setq sym (intern (match-string 1 file))) + (custom-theme-name-valid-p sym) + (push sym themes))))) (delete-dups themes))) + +(defun custom-theme--load-path () + (let (lpath) + (dolist (f custom-theme-load-path) + (cond ((eq f 'custom-theme-directory) + (setq f custom-theme-directory)) + ((eq f t) + (setq f (expand-file-name "themes" data-directory)))) + (if (file-directory-p f) + (push f lpath))) + (nreverse lpath))) + ;;; Enabling and disabling loaded themes. @@ -1212,7 +1236,7 @@ and always takes precedence over other Custom Themes." :group 'customize :type '(repeat symbol) - :set-after '(custom-theme-directory) ; so we can find the themes + :set-after '(custom-theme-directory custom-theme-load-path) :set (lambda (symbol themes) ;; Avoid an infinite loop when custom-enabled-themes is ;; defined in a theme (e.g. `user'). Enabling the theme sets ------------------------------------------------------------ revno: 101980 committer: Ralf Angeli branch nick: trunk timestamp: Sat 2010-10-16 17:08:47 +0200 message: Fix searching for bibitem entries. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-10-16 00:16:34 +0000 +++ lisp/ChangeLog 2010-10-16 15:08:47 +0000 @@ -1,3 +1,10 @@ +2010-10-16 Ralf Angeli + + * textmodes/reftex-cite.el + (reftex-extract-bib-entries-from-thebibliography): Do not move + point when searching for \bibitem entries. Match entries with + spaces or tabs in front of arguments. + 2010-10-16 Chong Yidong * cus-theme.el (customize-create-theme): Delete overlays after === modified file 'lisp/textmodes/reftex-cite.el' --- lisp/textmodes/reftex-cite.el 2010-08-29 16:17:13 +0000 +++ lisp/textmodes/reftex-cite.el 2010-10-16 15:08:47 +0000 @@ -358,27 +358,30 @@ (message "Scanning thebibliography environment in %s" file) (with-current-buffer buf - (save-restriction - (widen) - (goto-char (point-min)) - (while (re-search-forward - "\\(\\`\\|[\n\r]\\)[ \t]*\\\\begin{thebibliography}" nil t) - (beginning-of-line 2) - (setq start (point)) - (if (re-search-forward - "\\(\\`\\|[\n\r]\\)[ \t]*\\\\end{thebibliography}" nil t) - (progn - (beginning-of-line 1) - (setq end (point)))) - (when (and start end) - (setq entries - (append entries - (mapcar 'reftex-parse-bibitem - (delete "" - (split-string - (buffer-substring-no-properties start end) - "[ \t\n\r]*\\\\bibitem\\(\\[[^]]*]\\)*")))))) - (goto-char end))))) + (save-excursion + (save-restriction + (widen) + (goto-char (point-min)) + (while (re-search-forward + "\\(\\`\\|[\n\r]\\)[ \t]*\\\\begin{thebibliography}" nil t) + (beginning-of-line 2) + (setq start (point)) + (if (re-search-forward + "\\(\\`\\|[\n\r]\\)[ \t]*\\\\end{thebibliography}" nil t) + (progn + (beginning-of-line 1) + (setq end (point)))) + (when (and start end) + (setq entries + (append entries + (mapcar 'reftex-parse-bibitem + (delete "" + (split-string + (buffer-substring-no-properties + start end) + "[ \t\n\r]*\\\\bibitem\ +\\(\\[[^]]*]\\)*\[ \t]*")))))) + (goto-char end)))))) (unless entries (error "No bibitems found")) ------------------------------------------------------------ revno: 101979 author: Gnus developers committer: Katsumi Yamaoka branch nick: trunk timestamp: Sat 2010-10-16 01:55:08 +0000 message: Merge changes made in Gnus trunk. nnimap.el: Use nnheader-message throughout. gnus.el: Autoload gnus-html-show-images. mml.el (mml-generate-mime-1): Add `mml-enable-flow' variable to add a possibility to disable format=flow encoding when using hard newlines. gnus-diary.el (gnus-diary-check-message): Fix gnus-completing-read call. gnus-sum.el (gnus-summary-refer-thread): unconditionally ignore duplicates. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2010-10-15 10:24:10 +0000 +++ lisp/gnus/ChangeLog 2010-10-16 01:55:08 +0000 @@ -1,12 +1,30 @@ +2010-10-15 Andrew Cohen + + * gnus-sum.el (gnus-summary-refer-thread): unconditionally ignore + duplicates. + +2010-10-15 Kan-Ru Chen (tiny change) + + * gnus-diary.el (gnus-diary-check-message): Fix gnus-completing-read + call. + 2010-10-15 Lars Magne Ingebrigtsen + * gnus.el: Autoload gnus-html-show-images. + + * nnimap.el: Use nnheader-message throughout. + * shr.el (shr-tag-img): Ignore images with no data. +2010-10-15 Julien Danjou + + * mml.el (mml-generate-mime-1): Add `mml-enable-flow' variable to add a + possibility to disable format=flow encoding when using hard newlines. + 2010-10-15 Katsumi Yamaoka - * shr.el (shr-generic): Remove trailing space. - (shr-insert): Remove space inserted before or after a breakable - character or at the beginning or the end of a line. + * shr.el (shr-insert): Remove space inserted before or after a + breakable character or at the beginning or the end of a line. (shr-find-fill-point): Do kinsoku; find the second best point or give it up if there's no breakable point. === modified file 'lisp/gnus/gnus-diary.el' --- lisp/gnus/gnus-diary.el 2010-09-30 08:39:23 +0000 +++ lisp/gnus/gnus-diary.el 2010-10-16 01:55:08 +0000 @@ -368,7 +368,7 @@ header ": "))) (setq value (if (listp (nth 1 head)) - (gnus-completing-read prompt (cons '("*" nil) (nth 1 head)) + (gnus-completing-read prompt (cons "*" (mapcar 'car (nth 1 head))) t value 'gnus-diary-header-value-history) (read-string prompt value === modified file 'lisp/gnus/gnus-sum.el' --- lisp/gnus/gnus-sum.el 2010-10-14 22:39:54 +0000 +++ lisp/gnus/gnus-sum.el 2010-10-16 01:55:08 +0000 @@ -8830,6 +8830,7 @@ variable." (interactive "P") (let ((id (mail-header-id (gnus-summary-article-header))) + (gnus-summary-ignore-duplicates t) (limit (if limit (prefix-numeric-value limit) gnus-refer-thread-limit))) (if (gnus-check-backend-function 'request-thread gnus-newsgroup-name) === modified file 'lisp/gnus/gnus.el' --- lisp/gnus/gnus.el 2010-10-11 23:29:33 +0000 +++ lisp/gnus/gnus.el 2010-10-16 01:55:08 +0000 @@ -2911,6 +2911,7 @@ gnus-start-date-timer gnus-stop-date-timer gnus-mime-view-all-parts) ("gnus-int" gnus-request-type) + ("gnus-html" gnus-html-show-images) ("gnus-start" gnus-newsrc-parse-options gnus-1 gnus-no-server-1 gnus-dribble-enter gnus-read-init-file gnus-dribble-touch gnus-check-reasonable-setup) === modified file 'lisp/gnus/mml.el' --- lisp/gnus/mml.el 2010-10-11 23:29:33 +0000 +++ lisp/gnus/mml.el 2010-10-16 01:55:08 +0000 @@ -128,6 +128,14 @@ :type 'boolean :group 'message) +(defcustom mml-enable-flowed t + "If non-nil, enable format=flowed usage when encoding a message. +This is only performed when filling on text/plain with hard +newlines in the text." + :version "24.1" + :type 'boolean + :group 'message) + (defvar mml-tweak-type-alist nil "A list of (TYPE . FUNCTION) for tweaking MML parts. TYPE is a string containing a regexp to match the MIME type. FUNCTION @@ -546,7 +554,8 @@ ;; in the mml tag or it says "flowed" and there ;; actually are hard newlines in the text. (let (use-hard-newlines) - (when (and (string= type "text/plain") + (when (and mml-enable-flowed + (string= type "text/plain") (not (string= (cdr (assq 'sign cont)) "pgp")) (or (null (assq 'format cont)) (string= (cdr (assq 'format cont)) === modified file 'lisp/gnus/nnimap.el' --- lisp/gnus/nnimap.el 2010-10-14 22:39:54 +0000 +++ lisp/gnus/nnimap.el 2010-10-16 01:55:08 +0000 @@ -304,7 +304,8 @@ ((or (eq nnimap-stream 'network) (and (eq nnimap-stream 'starttls) (fboundp 'open-gnutls-stream))) - (message "Opening connection to %s..." nnimap-address) + (nnheader-message 7 "Opening connection to %s..." + nnimap-address) (open-network-stream "*nnimap*" (current-buffer) nnimap-address (setq port @@ -314,13 +315,14 @@ "143")))) '("143" "imap")) ((eq nnimap-stream 'shell) - (message "Opening connection to %s via shell..." nnimap-address) + (nnheader-message 7 "Opening connection to %s via shell..." + nnimap-address) (nnimap-open-shell-stream "*nnimap*" (current-buffer) nnimap-address (setq port (or nnimap-server-port "imap"))) '("imap")) ((eq nnimap-stream 'starttls) - (message "Opening connection to %s via starttls..." + (nnheader-message 7 "Opening connection to %s via starttls..." nnimap-address) (let ((tls-program '("openssl s_client -connect %h:%p -no_ssl2 -ign_eof -starttls imap"))) @@ -329,7 +331,8 @@ (setq port (or nnimap-server-port "imap")))) '("imap")) ((memq nnimap-stream '(ssl tls)) - (message "Opening connection to %s via tls..." nnimap-address) + (nnheader-message 7 "Opening connection to %s via tls..." + nnimap-address) (funcall (if (fboundp 'open-gnutls-stream) 'open-gnutls-stream 'open-tls-stream) @@ -734,7 +737,7 @@ ((and force (eq nnmail-expiry-target 'delete)) (unless (nnimap-delete-article (gnus-compress-sequence articles)) - (message "Article marked for deletion, but not expunged.")) + (nnheader-message 7 "Article marked for deletion, but not expunged.")) nil) (t (let ((deletable-articles @@ -760,7 +763,7 @@ (let ((target nnmail-expiry-target)) (with-temp-buffer (when (nnimap-request-article article group server (current-buffer)) - (message "Expiring article %s:%d" group article) + (nnheader-message 7 "Expiring article %s:%d" group article) (when (functionp target) (setq target (funcall target group))) (when (and target @@ -830,7 +833,7 @@ (when (and (nnimap-possibly-change-group nil server) nnimap-inbox nnimap-split-methods) - (message "nnimap %s splitting mail..." server) + (nnheader-message 7 "nnimap %s splitting mail..." server) (nnimap-split-incoming-mail))) (defun nnimap-marks-to-flags (marks) @@ -882,7 +885,7 @@ (let ((result (nnimap-get-response sequence))) (if (not (car result)) (progn - (message "%s" (nnheader-get-report-string 'nnimap)) + (nnheader-message 7 "%s" (nnheader-get-report-string 'nnimap)) nil) (cons group (nnimap-find-article-by-message-id group message-id)))))))) @@ -1431,7 +1434,7 @@ (point-min)) t))) (when messagep - (message "nnimap read %dk" (/ (buffer-size) 1000))) + (nnheader-message 7 "nnimap read %dk" (/ (buffer-size) 1000))) (nnheader-accept-process-output process) (goto-char (point-max))) openp)