瀏覽代碼

Added CONTRIB/lisp/org-bookmark.el.

Bastien Guerry 17 年之前
父節點
當前提交
dd2e5fafdd
共有 2 個文件被更改,包括 50 次插入0 次删除
  1. 4 0
      CONTRIB/ChangeLog
  2. 46 0
      CONTRIB/lisp/org-bookmark.el

+ 4 - 0
CONTRIB/ChangeLog

@@ -1,3 +1,7 @@
+2008-02-28  Bastien Guerry  <bzg@altern.org>
+
+	* lisp/org-bookmark.el: New file.
+
 2008-02-26  Carsten Dominik  <dominik@science.uva.nl>
 
 	* lisp/org-id.el: New file.

+ 46 - 0
CONTRIB/lisp/org-bookmark.el

@@ -0,0 +1,46 @@
+;;; org-bookmark.el - Support for links to bookmark
+;; Copyright (C) 2008 Free Software Foundation, Inc.
+;;
+;; Author: Tokuya Kameshima <kames AT fa2.so-net.ne.jp>
+;; Version: 1.0
+;; Keywords: outlines, hypermedia, calendar, wp
+;;
+;; This file is not part of GNU Emacs.
+;;
+;; Emacs is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3, or (at your option)
+;; any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING.  If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+(require 'org)
+(require 'bookmark)
+
+(org-add-link-type "bookmark" 'org-bookmark-open)
+(add-hook 'org-store-link-functions 'org-bookmark-store-link)
+
+(defun org-bookmark-open (bookmark)
+  "Visit the bookmark BOOKMARK."
+  (bookmark-jump bookmark))
+
+(defun org-bookmark-store-link ()
+  "Store a link to the current line's bookmark in Emacs bookmark list window."
+  (if (eq major-mode 'bookmark-bmenu-mode)
+      (let ((bookmark (bookmark-bmenu-bookmark)))
+	(if bookmark
+	    (org-store-link-props :link (org-make-link "bookmark:" bookmark)
+				  :description bookmark)))))
+
+(provide 'org-bookmark)
+
+;;; org-bookmark.el ends here