mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-25 07:28:20 +00:00
2007-12-26 Tassilo Horn <tassilo@member.fsf.org>
* image-mode.el (image-bookmark-make-cell, image-bookmark-jump): New functions. (image-mode): Set bookmark-make-cell-function appropriately. * doc-view.el (doc-view-bookmark-jump): Correct misspelled arg name.
This commit is contained in:
parent
1666a6b3e8
commit
137187c884
@ -1,5 +1,12 @@
|
||||
2007-12-26 Tassilo Horn <tassilo@member.fsf.org>
|
||||
|
||||
* image-mode.el (image-bookmark-make-cell, image-bookmark-jump):
|
||||
New functions.
|
||||
(image-mode): Set bookmark-make-cell-function appropriately.
|
||||
|
||||
* doc-view.el (doc-view-bookmark-jump): Correct misspelled arg
|
||||
name.
|
||||
|
||||
* bookmark.el (bookmark-make-cell-function): New variable.
|
||||
(bookmark-make): Call bookmark-make-cell-function's function
|
||||
instead of bookmark-make-cell.
|
||||
|
@ -1019,7 +1019,7 @@ See the command `doc-view-mode' for more information on this mode."
|
||||
(defun doc-view-bookmark-jump (bmk)
|
||||
(save-window-excursion
|
||||
(let ((filename (bookmark-get-filename bmk))
|
||||
(page (cdr (assq 'page (bookmark-get-bookmark-record bookmark)))))
|
||||
(page (cdr (assq 'page (bookmark-get-bookmark-record bmk)))))
|
||||
(find-file filename)
|
||||
(when (not (eq major-mode 'doc-view-mode))
|
||||
(doc-view-toggle-display))
|
||||
|
@ -219,6 +219,9 @@ to toggle between display as an image and display as text."
|
||||
(kill-all-local-variables)
|
||||
(setq mode-name "Image[text]")
|
||||
(setq major-mode 'image-mode)
|
||||
;; Use our own bookmarking function for images.
|
||||
(set (make-local-variable 'bookmark-make-cell-function)
|
||||
'image-bookmark-make-cell)
|
||||
(add-hook 'change-major-mode-hook 'image-toggle-display-text nil t)
|
||||
(if (and (display-images-p)
|
||||
(not (get-char-property (point-min) 'display)))
|
||||
@ -352,6 +355,37 @@ and showing the image as an image."
|
||||
(if (called-interactively-p)
|
||||
(message "Repeat this command to go back to displaying the file as text")))))
|
||||
|
||||
;;; Support for bookmark.el
|
||||
|
||||
(defun image-bookmark-make-cell (annotation &rest args)
|
||||
(let ((the-record
|
||||
`((filename . ,(buffer-file-name))
|
||||
(image-type . ,image-type)
|
||||
(position . ,(point))
|
||||
(handler . image-bookmark-jump))))
|
||||
|
||||
;; Take no chances with text properties
|
||||
(set-text-properties 0 (length annotation) nil annotation)
|
||||
|
||||
(when annotation
|
||||
(nconc the-record (list (cons 'annotation annotation))))
|
||||
|
||||
;; Finally, return the completed record.
|
||||
the-record))
|
||||
|
||||
;;;###autoload
|
||||
(defun image-bookmark-jump (bmk)
|
||||
(save-window-excursion
|
||||
(let ((filename (bookmark-get-filename bmk))
|
||||
(type (cdr (assq 'image-type (bookmark-get-bookmark-record bmk))))
|
||||
(pos (bookmark-get-position bmk)))
|
||||
(find-file filename)
|
||||
(when (not (string= image-type type))
|
||||
(image-toggle-display))
|
||||
(when (string= image-type "text")
|
||||
(goto-char pos))
|
||||
(cons (current-buffer) pos))))
|
||||
|
||||
(provide 'image-mode)
|
||||
|
||||
;; arch-tag: b5b2b7e6-26a7-4b79-96e3-1546b5c4c6cb
|
||||
|
Loading…
Reference in New Issue
Block a user