Function: message-change-subject
message-change-subject is an interactive and byte-compiled function
defined in message.el.gz.
Signature
(message-change-subject NEW-SUBJECT)
Documentation
Ask for NEW-SUBJECT header, append (was: <Old Subject>).
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/message.el.gz
;;; Suggested by Jonas Steverud @ www.dtek.chalmers.se/~d4jonas/
(defun message-change-subject (new-subject)
"Ask for NEW-SUBJECT header, append (was: <Old Subject>)."
(interactive
(list
(read-from-minibuffer "New subject: "))
message-mode)
(cond ((and (not (or (null new-subject) ; new subject not empty
(zerop (string-width new-subject))
(string-match "^[ \t]*$" new-subject))))
(save-excursion
(let ((old-subject
(save-restriction
(message-narrow-to-headers)
(message-fetch-field "Subject"))))
(cond ((not old-subject)
(error "No current subject"))
((not (string-match
(concat "^[ \t]*"
(regexp-quote new-subject)
"[ \t]*$")
old-subject)) ; yes, it really is a new subject
;; delete eventual Re: prefix
(setq old-subject
(message-strip-subject-re old-subject))
(message-goto-subject)
(message-delete-line)
(insert (concat "Subject: "
new-subject
" (was: "
old-subject ")\n")))))))))