2014-02-05 Katsumi Yamaoka <yamaoka@jpl.org>
+ * gnus.el, gnus-xmas.el (gnus-copy-overlay, gnus-overlays-at):
+ New functions.
+
* gnus-art.el (gnus-mime-display-attachment-buttons-in-header):
New user option.
(gnus-mime-buttonize-attachments-in-header): New function.
(goto-char nd)
(skip-chars-backward "\t\n ")
(when (> (point) st)
- (push (cons (buffer-substring st (point)) (overlays-at st))
+ (push (cons (buffer-substring st (point))
+ (gnus-overlays-at st))
buttons)))
(setq st nd))
(when buttons
st nd 'gnus-part
(number-to-string (get-text-property st 'gnus-part)))
(dolist (ovl (cdr button))
- (setq ovl (copy-overlay ovl))
+ (setq ovl (gnus-copy-overlay ovl))
(when (setq marker
- (plist-get (cdr (overlay-get ovl 'button))
+ (plist-get (cdr (gnus-overlay-get ovl 'button))
:from))
(set-marker marker st))
(when (setq marker
- (plist-get (cdr (overlay-get ovl 'button))
+ (plist-get (cdr (gnus-overlay-get ovl 'button))
:to))
(set-marker marker nd))
- (move-overlay ovl st nd)
+ (gnus-move-overlay ovl st nd)
(setq st nd)
- (overlay-put ovl 'gnus-button-attachment-extra t)
- (overlay-put ovl 'face nil)))
+ (gnus-overlay-put ovl 'gnus-button-attachment-extra t)
+ (gnus-overlay-put ovl 'face nil)))
(insert "\n")
(let ((gnus-treatment-function-alist
'((gnus-treat-highlight-headers
(delete-extent extent)
nil)))
+(defun gnus-xmas-overlays-at (pos)
+ "Return a list of the extents that contain the character at POS."
+ (mapcar-extents #'identity nil nil pos (1+ pos)))
+
(defun gnus-xmas-overlays-in (beg end)
"Return a list of the extents that overlap the region BEG ... END."
(mapcar-extents #'identity nil nil beg end))
FRONT-ADVANCE and REAR-ADVANCE are ignored."
(make-extent beg end buffer)))
+ (defalias 'gnus-copy-overlay 'copy-extent)
(defalias 'gnus-delete-overlay 'delete-extent)
(defalias 'gnus-overlay-get 'extent-property)
(defalias 'gnus-overlay-put 'set-extent-property)
(defalias 'gnus-overlay-buffer 'extent-object)
(defalias 'gnus-overlay-start 'extent-start-position)
(defalias 'gnus-overlay-end 'extent-end-position)
+ (defalias 'gnus-overlays-at 'gnus-xmas-overlays-at)
(defalias 'gnus-overlays-in 'gnus-xmas-overlays-in)
(defalias 'gnus-kill-all-overlays 'gnus-xmas-kill-all-overlays)
(defalias 'gnus-extent-detached-p 'extent-detached-p)
(unless (featurep 'gnus-xmas)
(defalias 'gnus-make-overlay 'make-overlay)
+ (defalias 'gnus-copy-overlay 'copy-overlay)
(defalias 'gnus-delete-overlay 'delete-overlay)
(defalias 'gnus-overlay-get 'overlay-get)
(defalias 'gnus-overlay-put 'overlay-put)
(defalias 'gnus-overlay-buffer 'overlay-buffer)
(defalias 'gnus-overlay-start 'overlay-start)
(defalias 'gnus-overlay-end 'overlay-end)
+ (defalias 'gnus-overlays-at 'overlays-at)
(defalias 'gnus-overlays-in 'overlays-in)
(defalias 'gnus-extent-detached-p 'ignore)
(defalias 'gnus-extent-start-open 'ignore)