Function: mh-insert-signature
mh-insert-signature is an autoloaded, interactive and byte-compiled
function defined in mh-letter.el.gz.
Signature
(mh-insert-signature &optional FILE)
Documentation
Insert signature in message.
This command inserts your signature at the current cursor location.
By default, the text of your signature is taken from the file
"~/.signature". You can read from other sources by changing the
option mh-signature-file-name.
A signature separator ("-- ") will be added if the signature block
does not contain one and mh-signature-separator-flag is on.
The hook mh-insert-signature-hook is run after the signature is
inserted. Hook functions may access the actual name of the file or the
function used to insert the signature with mh-signature-file-name.
The signature can also be inserted using Identities (see
mh-identity-list).
In a program, you can pass in a signature FILE.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/mh-e/mh-letter.el.gz
;;;###mh-autoload
(defun mh-insert-signature (&optional file)
"Insert signature in message.
This command inserts your signature at the current cursor location.
By default, the text of your signature is taken from the file
\"~/.signature\". You can read from other sources by changing the
option `mh-signature-file-name'.
A signature separator (\"-- \") will be added if the signature block
does not contain one and `mh-signature-separator-flag' is on.
The hook `mh-insert-signature-hook' is run after the signature is
inserted. Hook functions may access the actual name of the file or the
function used to insert the signature with `mh-signature-file-name'.
The signature can also be inserted using Identities (see
`mh-identity-list').
In a program, you can pass in a signature FILE."
(interactive)
(save-excursion
(insert "\n")
(let ((mh-signature-file-name (or file mh-signature-file-name))
(mh-mh-p (mh-mh-directive-present-p))
(mh-mml-p (mh-mml-tag-present-p)))
(save-restriction
(narrow-to-region (point) (point))
(cond
((mh-file-is-vcard-p mh-signature-file-name)
(if (equal mh-compose-insertion 'mml)
(insert "<#part type=\"text/x-vcard\" filename=\""
mh-signature-file-name
"\" disposition=inline description=VCard>\n<#/part>")
(insert "#text/x-vcard; name=\""
(file-name-nondirectory mh-signature-file-name)
"\" [VCard] " (expand-file-name mh-signature-file-name))))
(t
(cond
(mh-mh-p
(insert "#\n" "Content-Description: Signature\n"))
(mh-mml-p
(mml-insert-tag 'part 'type "text/plain" 'disposition "inline"
'description "Signature")))
(cond ((null mh-signature-file-name))
((and (stringp mh-signature-file-name)
(file-readable-p mh-signature-file-name))
(insert-file-contents mh-signature-file-name))
((functionp mh-signature-file-name)
(funcall mh-signature-file-name)))))
(save-restriction
(widen)
(run-hooks 'mh-insert-signature-hook))
(goto-char (point-min))
(when (and (not (mh-file-is-vcard-p mh-signature-file-name))
mh-signature-separator-flag
(> (point-max) (point-min))
(not (mh-signature-separator-p)))
(cond (mh-mh-p
(forward-line 2))
(mh-mml-p
(forward-line 1)))
(insert mh-signature-separator))
(if (not (> (point-max) (point-min)))
(message "No signature found")))))
(force-mode-line-update))