- (save-excursion
- (while list
- (setq mb (car (car list))
- me (cdr (car list))
- list (cdr list))
- (when (marker-buffer mb)
- (set-buffer (marker-buffer mb))
- (let ((before-change-functions nil) (after-change-functions nil))
- (save-restriction
- (widen)
- (setq b (max mb (point-min))
- e (min me (point-max)))
- (set-marker mb nil)
- (set-marker me nil)
- (while (< b e)
- (if (null (get-text-property b 'egg-face))
- (setq b (next-single-property-change b 'egg-face nil e)))
- (setq p (next-single-property-change b 'egg-face nil e))
- (put-text-property b p 'face (get-text-property b 'egg-face))
- (setq b p)))))))))
+ (while list
+ (setq mb (car (car list))
+ me (cdr (car list))
+ list (cdr list))
+ (when (marker-buffer mb)
+ (set-buffer (marker-buffer mb))
+ (let ((before-change-functions nil) (after-change-functions nil))
+ (save-restriction
+ (widen)
+ (setq b (max mb (point-min))
+ e (min me (point-max)))
+ (set-marker mb nil)
+ (set-marker me nil)
+ (while (< b e)
+ (if (null (get-text-property b 'egg-face))
+ (setq b (next-single-property-change b 'egg-face nil e)))
+ (setq p (next-single-property-change b 'egg-face nil e))
+ (when (< b p)
+ (goto-char b)
+ (setq str (buffer-substring b p))
+ (delete-region b p)
+ (remove-text-properties 0 (- p b) '(face) str)
+ (insert str)
+ (setq b p)))))))
+ (set-buffer org-buffer)
+ (goto-char org-point)))