X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/b6bd159922608fa474026837771d63bf7eadcf97..25cc0f2aada3e321e5f1c6d1e492a93d16da45b2:/lisp/org/org-docview.el diff --git a/lisp/org/org-docview.el b/lisp/org/org-docview.el index 201567251d..feed9d850a 100644 --- a/lisp/org/org-docview.el +++ b/lisp/org/org-docview.el @@ -1,11 +1,10 @@ ;;; org-docview.el --- support for links to doc-view-mode buffers -;; Copyright (C) 2009-2011 Free Software Foundation, Inc. +;; Copyright (C) 2009-2016 Free Software Foundation, Inc. ;; Author: Jan Böcker ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 7.7 ;; ;; This file is part of GNU Emacs. ;; @@ -45,16 +44,27 @@ (require 'org) +(require 'doc-view) -(declare-function doc-view-goto-page "ext:doc-view" (page)) -(declare-function image-mode-window-get "ext:image-mode" - (prop &optional winprops)) +(declare-function doc-view-goto-page "doc-view" (page)) +(declare-function image-mode-window-get "image-mode" (prop &optional winprops)) -(autoload 'doc-view-goto-page "doc-view") - -(org-add-link-type "docview" 'org-docview-open) +(org-add-link-type "docview" 'org-docview-open 'org-docview-export) (add-hook 'org-store-link-functions 'org-docview-store-link) +(defun org-docview-export (link description format) + "Export a docview link from Org files." + (let* ((path (when (string-match "\\(.+\\)::.+" link) + (match-string 1 link))) + (desc (or description link))) + (when (stringp path) + (setq path (org-link-escape (expand-file-name path))) + (cond + ((eq format 'html) (format "%s" path desc)) + ((eq format 'latex) (format "\\href{%s}{%s}" path desc)) + ((eq format 'ascii) (format "%s (%s)" desc path)) + (t path))))) + (defun org-docview-open (link) (when (string-match "\\(.*\\)::\\([0-9]+\\)$" link) (let* ((path (match-string 1 link)) @@ -88,6 +98,4 @@ and append it." (provide 'org-docview) - - ;;; org-docview.el ends here