;;; org-remember.el --- Fast note taking in Org-mode
-;; Copyright (C) 2004-2011 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012 Free Software Foundation, Inc.
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
-;; Version: 7.4
;;
;; This file is part of GNU Emacs.
;;
(eval-when-compile
(require 'cl))
(require 'org)
+(require 'org-compat)
(require 'org-datetree)
(declare-function remember-mode "remember" ())
(declare-function remember "remember" (&optional initial))
(declare-function remember-buffer-desc "remember" ())
(declare-function remember-finalize "remember" ())
+(declare-function org-pop-to-buffer-same-window
+ "org-compat" (&optional buffer-or-name norecord label))
+
(defvar remember-save-after-remembering)
(defvar remember-register)
(defvar remember-buffer)
\\[universal-argument] \\[org-remember-finalize] to file the note.
When this variable is nil, \\[org-remember-finalize] gives you the prompts, and
-\\[universal-argument] \\[org-remember-finalize] triggers the fasttrack."
+\\[universal-argument] \\[org-remember-finalize] triggers the fast track."
:group 'org-remember
:type 'boolean)
:group 'org-remember
:type 'hook)
-(defvar org-remember-mode-map
- (let ((map (make-sparse-keymap)))
- (define-key map "\C-c\C-c" 'org-remember-finalize)
- (define-key map "\C-c\C-k" 'org-remember-kill)
- map)
+(defvar org-remember-mode-map (make-sparse-keymap)
"Keymap for `org-remember-mode', a minor mode.
Use this map to set additional keybindings for when Org-mode is used
for a Remember buffer.")
(define-minor-mode org-remember-mode
"Minor mode for special key bindings in a remember buffer."
- nil " Rem" org-remember-mode-map)
+ nil " Rem" org-remember-mode-map
+ (run-hooks 'org-remember-mode-hook))
+(define-key org-remember-mode-map "\C-c\C-c" 'org-remember-finalize)
+(define-key org-remember-mode-map "\C-c\C-k" 'org-remember-kill)
(defcustom org-remember-clock-out-on-exit 'query
"Non-nil means stop the clock when exiting a clocking remember buffer.
(setq heading org-remember-default-headline))
(setq visiting (org-find-base-buffer-visiting file))
(if (not visiting) (find-file-noselect file))
- (switch-to-buffer (or visiting (get-file-buffer file)))
+ (org-pop-to-buffer-same-window (or visiting (get-file-buffer file)))
(widen)
(goto-char (point-min))
(if (re-search-forward
(throw 'quit t))
;; Find the file
(with-current-buffer (or visiting (find-file-noselect file))
- (unless (or (org-mode-p) (member heading '(top bottom)))
+ (unless (or (eq major-mode 'org-mode) (member heading '(top bottom)))
(error "Target files for notes must be in Org-mode if not filing to top/bottom"))
(save-excursion
(save-restriction
;; Find the default location
(when heading
(cond
- ((not (org-mode-p))
+ ((not (eq major-mode 'org-mode))
(if (eq heading 'top)
(goto-char (point-min))
(goto-char (point-max))
((eq org-remember-interactive-interface 'outline-path-completion)
(let ((org-refile-targets '((nil . (:maxlevel . 10))))
(org-refile-use-outline-path t))
- (setq spos (org-refile-get-location "Heading: ")
+ (setq spos (org-refile-get-location "Heading")
exitcmd 'return
spos (nth 3 spos))))
(t (error "This should not happen")))
; not handle this note
(and visitp (run-with-idle-timer 0.01 nil 'org-remember-visit-immediately))
(goto-char spos)
- (cond ((org-on-heading-p t)
+ (cond ((org-at-heading-p t)
(org-back-to-heading t)
(setq level (funcall outline-level))
(cond
(save-restriction
(widen)
(goto-char (point-min))
- (re-search-forward "^\\*+ " nil t)
+ (re-search-forward org-outline-regexp-bol nil t)
(beginning-of-line 1)
(org-paste-subtree 1 txt)
(and org-auto-align-tags (org-set-tags nil t))
(provide 'org-remember)
-
;;; org-remember.el ends here
-