> Uwe Brauer wrote: > You are right, I only tested for headers with a value, but now > it works: > (defun message-set-header (hdr val) > (interactive "sheader: \nsvalue: ") > (message-position-on-field hdr) > (message-beginning-of-header nil) > (delete-region (point) (point-at-eol)) > (insert val) ) > ;; test: > ;; (message-set-header "Subject" "Lara loves YOU") > (defun message-transpose-headers (hdr1 hdr2) > (interactive "sheader 1: \nsheader 2: ") > (save-excursion > (let ((v1 (or (message-field-value hdr1) "")) > (v2 (or (message-field-value hdr2) "")) ) > (message-set-header hdr1 v2) > (message-set-header hdr2 v1) ))) > ;; test: > ;; (message-transpose-headers "To" "Subject") For single lines addresses yes, To: user1@gmail.com Cc: user2@gmail.com Changes to To: user2@gmail.com Cc: user1@gmail.com But if you have multi line addresses, which can happen if you use bbdb then To: user1@gmail.com, user3@gmail.com, user4@gmail.com Cc: user2@gmail.com gives To: user1@gmail.com, user3@gmail.com, user2@gmail.com Cc: user1@gmail.com, user3@gmail.com, user4@gmail.com