[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/image-file.el
From: |
Kim F . Storm |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/image-file.el |
Date: |
Thu, 21 Jul 2005 04:56:23 -0400 |
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)