;; Inherit the invisible property of texts to make MIME-Edit
;; find the MIME part boundaries.
(dolist (region message-invisibles)
- (put-text-property (car region) (cdr region) 'invisible t)))
+ (add-text-properties (car region) (cdr region)
+ '(invisible t mime-edit-invisible t))))
(funcall message-encode-function)
(while (and success
(setq elem (pop alist)))
'(defalias 'invisible-region 'message-invisible-region))
(defun message-find-invisible-regions ()
- "Find invisible texts with the property `message-invisible' and
-return a list of points."
- (let (from
- (to (point-min))
- regions)
- (while (setq from (text-property-any to (point-max)
- 'message-invisible t))
- (setq to (or (text-property-not-all from (point-max)
- 'message-invisible t)
- (point-max)))
- (push (cons from to) regions))
- regions))
+ "Find invisible texts with the property `message-invisible' or
+`mime-edit-invisible' and return a list of points."
+ (let* (emiko
+ (from (or (setq emiko (text-property-any (point-min) (point-max)
+ 'mime-edit-invisible t))
+ (text-property-any (point-min) (point-max)
+ 'message-invisible t)))
+ (to (or (if emiko
+ (text-property-not-all from (point-max)
+ 'mime-edit-invisible t)
+ (text-property-not-all from (point-max)
+ 'message-invisible t))
+ (point-max)))
+ regions)
+ (when from
+ (push (cons from to) regions)
+ (if emiko
+ (while (setq from (text-property-any to (point-max)
+ 'mime-edit-invisible t))
+ (setq to (or (text-property-not-all from (point-max)
+ 'mime-edit-invisible t)
+ (point-max)))
+ (push (cons from to) regions))
+ (while (setq from (text-property-any to (point-max)
+ 'message-invisible t))
+ (setq to (or (text-property-not-all from (point-max)
+ 'message-invisible t)
+ (point-max)))
+ (push (cons from to) regions)))
+ regions)))
(defun message-fix-before-sending ()
"Do various things to make the message nice before sending it."
(goto-char (point-max))
(unless (bolp)
(insert "\n"))
- ;; Expose all invisible text with the property `message-invisible'.
- ;; We should believe that the things might be created by MIME-Edit.
+ ;; Expose all invisible text with the property `message-invisible'
+ ;; or `mime-edit-invisible'. We should believe that the things
+ ;; might be created by MIME-Edit.
(let ((message-invisibles (message-find-invisible-regions)))
(dolist (region message-invisibles)
(put-text-property (car region) (cdr region) 'invisible nil))
(unless (yes-or-no-p
"Invisible text found and made visible; continue posting? ")
(error "Invisible text found and made visible"))))
- ;; Hide again all text with the property `message-invisible'.
- ;; It is needed to make MIME-Edit find the MIME part boundaries.
+ ;; Hide again all text with the property `message-invisible' or
+ ;; `mime-edit-invisible'. It is needed to make MIME-Edit find the
+ ;; MIME part boundaries.
(dolist (region message-invisibles)
(put-text-property (car region) (cdr region) 'invisible t))))
;; Inherit the invisible property of texts to make MIME-Edit
;; find the MIME part boundaries.
(dolist (region message-invisibles)
- (put-text-property (car region) (cdr region) 'invisible t))
+ (add-text-properties (car region) (cdr region)
+ '(invisible t mime-edit-invisible t)))
(setq message-reply-headers reply-headers)
(message-generate-headers '((optional . In-Reply-To)))
(mime-edit-translate-buffer))