+2008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * image-mode.el (image-get-display-property): New fun.
+ (image-forward-hscroll, image-next-line, image-eol, image-eob)
+ (image-mode, image-minor-mode, image-toggle-display-text)
+ (image-toggle-display): Use it.
+
2008-02-18 Jason Rumney <jasonr@gnu.org>
* international/mule.el (xml-find-file-coding-system): Don't warn
* nxml/nxml-mode.el (nxml-mode): Don't add a write-contents-hook.
- * international/mule.el (sgml-xml-auto-coding-function): Detect
- and warn if file encoding is not utf-8 and encoding not specified.
+ * international/mule.el (sgml-xml-auto-coding-function): Detect and
+ warn if file encoding is not utf-8 and encoding not specified.
(xml-find-file-coding-system): New function.
* international/mule-conf.el (file-coding-system-alist): Use it.
* net/tramp-cache.el (tramp-flush-connection-property): Remove EVENT.
* net/tramp-fish.el (tramp-fish-maybe-open-connection):
- * net/tramp-smb.el (tramp-smb-maybe-open-connection): Use
- `tramp-process-sentinel' as process sentinel.
+ * net/tramp-smb.el (tramp-smb-maybe-open-connection):
+ Use `tramp-process-sentinel' as process sentinel.
2008-02-02 Juanma Barranquero <lekktu@gmail.com>
'nomini
(selected-frame)))
+(defun image-get-display-property ()
+ (get-char-property (point-min) 'display
+ ;; There might be different images for different displays.
+ (if (eq (window-buffer) (current-buffer))
+ (selected-window))))
+
(defun image-forward-hscroll (&optional n)
"Scroll image in current window to the left by N character widths.
Stop if the right edge of the image is reached."
(image-set-window-hscroll (selected-window)
(max 0 (+ (window-hscroll) n))))
(t
- (let* ((image (get-char-property (point-min) 'display))
+ (let* ((image (image-get-display-property))
(edges (window-inside-edges))
(win-width (- (nth 2 edges) (nth 0 edges)))
(img-width (ceiling (car (image-size image)))))
(image-set-window-vscroll (selected-window)
(max 0 (+ (window-vscroll) n))))
(t
- (let* ((image (get-char-property (point-min) 'display))
+ (let* ((image (image-get-display-property))
(edges (window-inside-edges))
(win-height (- (nth 3 edges) (nth 1 edges)))
(img-height (ceiling (cdr (image-size image)))))
(and arg
(/= (setq arg (prefix-numeric-value arg)) 1)
(image-next-line (- arg 1)))
- (let* ((image (get-char-property (point-min) 'display))
+ (let* ((image (image-get-display-property))
(edges (window-inside-edges))
(win-width (- (nth 2 edges) (nth 0 edges)))
(img-width (ceiling (car (image-size image)))))
(defun image-eob ()
"Scroll to the bottom-right corner of the image in the current window."
(interactive)
- (let* ((image (get-char-property (point-min) 'display))
+ (let* ((image (image-get-display-property))
(edges (window-inside-edges))
(win-width (- (nth 2 edges) (nth 0 edges)))
(img-width (ceiling (car (image-size image))))
(add-hook 'change-major-mode-hook 'image-toggle-display-text nil t)
(if (and (display-images-p)
- (not (get-char-property (point-min) 'display)))
+ (not (image-get-display-property)))
(image-toggle-display)
;; Set next vars when image is already displayed but local
;; variables were cleared by kill-all-local-variables
(message "%s" (concat
(substitute-command-keys
"Type \\[image-toggle-display] to view as ")
- (if (get-char-property (point-min) 'display)
+ (if (image-get-display-property)
"text" "an image") "."))))
;;;###autoload
:version "22.1"
(if (not image-minor-mode)
(image-toggle-display-text)
- (if (get-char-property (point-min) 'display)
+ (if (image-get-display-property)
(setq cursor-type nil truncate-lines t)
(setq image-type "text"))
(add-hook 'change-major-mode-hook (lambda () (image-minor-mode -1)) nil t)
(message "%s" (concat (substitute-command-keys
"Type \\[image-toggle-display] to view the image as ")
- (if (get-char-property (point-min) 'display)
+ (if (image-get-display-property)
"text" "an image") "."))))
;;;###autoload
(defun image-toggle-display-text ()
"Showing the text of the image file."
- (if (get-char-property (point-min) 'display)
+ (if (image-get-display-property)
(image-toggle-display)))
(defvar archive-superior-buffer)
This command toggles between showing the text of the image file
and showing the image as an image."
(interactive)
- (if (get-char-property (point-min) 'display)
+ (if (image-get-display-property)
(let ((inhibit-read-only t)
(buffer-undo-list t)
(modified (buffer-modified-p)))