Skip to content

Commit 0420878

Browse files
committed
Make `C-c C-w' insert a signature even when overridden
* lisp/gnus/message.el (message-insert-signature): When called interactively, look harder for a signature to insert (bug#38289).
1 parent 20b1e95 commit 0420878

File tree

1 file changed

+55
-44
lines changed

1 file changed

+55
-44
lines changed

lisp/gnus/message.el

Lines changed: 55 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -3538,50 +3538,61 @@ Message buffers and is not meant to be called directly."
35383538
(defun message-insert-signature (&optional force)
35393539
"Insert a signature. See documentation for variable `message-signature'."
35403540
(interactive (list 0))
3541-
(let* ((signature
3542-
(cond
3543-
((and (null message-signature)
3544-
(eq force 0))
3545-
(save-excursion
3546-
(goto-char (point-max))
3547-
(not (re-search-backward message-signature-separator nil t))))
3548-
((and (null message-signature)
3549-
force)
3550-
t)
3551-
((functionp message-signature)
3552-
(funcall message-signature))
3553-
((listp message-signature)
3554-
(eval message-signature))
3555-
(t message-signature)))
3556-
signature-file)
3557-
(setq signature
3558-
(cond ((stringp signature)
3559-
signature)
3560-
((and (eq t signature) message-signature-file)
3561-
(setq signature-file
3562-
(if (and message-signature-directory
3563-
;; don't actually use the signature directory
3564-
;; if message-signature-file contains a path.
3565-
(not (file-name-directory
3566-
message-signature-file)))
3567-
(expand-file-name message-signature-file
3568-
message-signature-directory)
3569-
message-signature-file))
3570-
(file-exists-p signature-file))))
3571-
(when signature
3572-
(goto-char (point-max))
3573-
;; Insert the signature.
3574-
(unless (bolp)
3575-
(newline))
3576-
(when message-signature-insert-empty-line
3577-
(newline))
3578-
(insert "-- ")
3579-
(newline)
3580-
(if (eq signature t)
3581-
(insert-file-contents signature-file)
3582-
(insert signature))
3583-
(goto-char (point-max))
3584-
(or (bolp) (newline)))))
3541+
(let ((message-signature message-signature)
3542+
(message-signature-file message-signature-file))
3543+
;; If called interactively and there's no signature to insert,
3544+
;; consult the global values to see whether there's anything they
3545+
;; have to say for themselves. This can happen when using
3546+
;; `gnus-posting-styles', for instance.
3547+
(when (and (null message-signature)
3548+
(null message-signature-file)
3549+
(eq force 0))
3550+
(setq message-signature (default-value 'message-signature)
3551+
message-signature-file (default-value 'message-signature-file)))
3552+
(let* ((signature
3553+
(cond
3554+
((and (null message-signature)
3555+
(eq force 0))
3556+
(save-excursion
3557+
(goto-char (point-max))
3558+
(not (re-search-backward message-signature-separator nil t))))
3559+
((and (null message-signature)
3560+
force)
3561+
t)
3562+
((functionp message-signature)
3563+
(funcall message-signature))
3564+
((listp message-signature)
3565+
(eval message-signature))
3566+
(t message-signature)))
3567+
signature-file)
3568+
(setq signature
3569+
(cond ((stringp signature)
3570+
signature)
3571+
((and (eq t signature) message-signature-file)
3572+
(setq signature-file
3573+
(if (and message-signature-directory
3574+
;; don't actually use the signature directory
3575+
;; if message-signature-file contains a path.
3576+
(not (file-name-directory
3577+
message-signature-file)))
3578+
(expand-file-name message-signature-file
3579+
message-signature-directory)
3580+
message-signature-file))
3581+
(file-exists-p signature-file))))
3582+
(when signature
3583+
(goto-char (point-max))
3584+
;; Insert the signature.
3585+
(unless (bolp)
3586+
(newline))
3587+
(when message-signature-insert-empty-line
3588+
(newline))
3589+
(insert "-- ")
3590+
(newline)
3591+
(if (eq signature t)
3592+
(insert-file-contents signature-file)
3593+
(insert signature))
3594+
(goto-char (point-max))
3595+
(or (bolp) (newline))))))
35853596

35863597
(defun message-insert-importance-high ()
35873598
"Insert header to mark message as important."

0 commit comments

Comments
 (0)