Index: emacs/lisp/image-file.el
diff -c emacs/lisp/image-file.el:1.23 emacs/lisp/image-file.el:1.24
*** emacs/lisp/image-file.el:1.23 Mon Jul 4 23:08:55 2005
--- emacs/lisp/image-file.el Thu Jul 21 08:56:23 2005
***************
*** 118,123 ****
--- 118,124 ----
(create-image data nil t))
(props
`(display ,image
+ yank-handler (image-file-yank-handler)
intangible ,image
rear-nonsticky (display intangible)
;; This a cheap attempt to make the whole buffer
***************
*** 134,139 ****
--- 135,153 ----
;; area look correct when the image is wider than the window.
(setq truncate-lines t))))
rval))
+
+ ;; We use a yank-handler to make yanked images unique, so that
+ ;; yanking two copies of the same image next to each other are
+ ;; recognized as two different images.
+ (defun image-file-yank-handler (string)
+ "Yank handler for inserting an image into a buffer."
+ (let ((image (get-text-property 0 'display string)))
+ (if (consp image)
+ (put-text-property 0 (length string)
+ 'display
+ (cons (car image) (cdr image))
+ string))
+ (insert string)))
(put 'image-file-handler 'safe-magic t)
(defun image-file-handler (operation &rest args)
_______________________________________________
Emacs-diffs mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/emacs-diffs