Function: message-insert-signature
message-insert-signature is an interactive and byte-compiled function
defined in message.el.gz.
Signature
(message-insert-signature &optional FORCE)
Documentation
Insert a signature at the end of the buffer.
See the documentation for the message-signature variable for
more information.
If FORCE is 0 (or when called interactively), the global values of the signature variables will be consulted if the local ones are null.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/message.el.gz
(defun message-insert-signature (&optional force)
"Insert a signature at the end of the buffer.
See the documentation for the `message-signature' variable for
more information.
If FORCE is 0 (or when called interactively), the global values
of the signature variables will be consulted if the local ones
are null."
(interactive (list 0) message-mode)
(let ((message-signature message-signature)
(message-signature-file message-signature-file))
;; If called interactively and there's no signature to insert,
;; consult the global values to see whether there's anything they
;; have to say for themselves. This can happen when using
;; `gnus-posting-styles', for instance.
(when (and (null message-signature)
(null message-signature-file)
(eq force 0))
(setq message-signature (default-value 'message-signature)
message-signature-file (default-value 'message-signature-file)))
(let* ((signature
(cond
((and (null message-signature)
(eq force 0))
(save-excursion
(goto-char (point-max))
(not (re-search-backward message-signature-separator nil t))))
((and (null message-signature)
force)
t)
((functionp message-signature)
(funcall message-signature))
((listp message-signature)
(eval message-signature t))
(t message-signature)))
signature-file)
(setq signature
(cond ((stringp signature)
signature)
((and (eq t signature) message-signature-file)
(setq signature-file
(if (and message-signature-directory
;; don't actually use the signature directory
;; if message-signature-file contains a path.
(not (file-name-directory
message-signature-file)))
(expand-file-name message-signature-file
message-signature-directory)
message-signature-file))
(file-exists-p signature-file))))
(when signature
(goto-char (point-max))
;; Insert the signature.
(unless (bolp)
(newline))
(when message-signature-insert-empty-line
(newline))
(insert "-- ")
(newline)
(if (eq signature t)
(insert-file-contents signature-file)
(insert signature))
(goto-char (point-max))
(or (bolp) (newline))))))