Revert 2010-05-25T15:54:53Z!juri@jurta.org; regenerate release logs.
[bpt/emacs.git] / lisp / org / org-mouse.el
index c04acb2..a571bec 100644 (file)
@@ -1,10 +1,10 @@
 ;;; org-mouse.el --- Better mouse support for org-mode
 
-;; Copyright (C) 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+;; Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation
 ;;
 ;; Author: Piotr Zielinski <piotr dot zielinski at gmail dot com>
 ;; Maintainer: Carsten Dominik <carsten at orgmode dot org>
-;; Version: 6.19a
+;; Version: 6.33x
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -422,7 +422,17 @@ SCHEDULED: or DEADLINE: or ANYTHINGLIKETHIS:"
    (loop for priority from ?A to org-lowest-priority
         collect (char-to-string priority)))
 
+(defun org-mouse-todo-menu (state)
+  "Create the menu with TODO keywords."
+  (append
+   (let ((kwds org-todo-keywords-1))
+     (org-mouse-keyword-menu
+      kwds
+      `(lambda (kwd) (org-todo kwd))
+      (lambda (kwd) (equal state kwd))))))
+
 (defun org-mouse-tag-menu ()           ;todo
+  "Create the tags menu"
   (append
    (let ((tags (org-get-tags)))
      (org-mouse-keyword-menu
@@ -441,7 +451,6 @@ SCHEDULED: or DEADLINE: or ANYTHINGLIKETHIS:"
      ["Set Tags ..." (org-set-tags) t])))
 
 
-
 (defun org-mouse-set-tags (tags)
   (save-excursion
     ;; remove existing tags first
@@ -621,9 +630,6 @@ SCHEDULED: or DEADLINE: or ANYTHINGLIKETHIS:"
        (set-match-data ',match)
        (apply ',function rest)))))
 
-(defun org-mouse-todo-keywords ()
-  (if (boundp 'org-todo-keywords-1) org-todo-keywords-1 org-todo-keywords))
-
 (defun org-mouse-match-todo-keyword ()
   (save-excursion
     (org-back-to-heading)
@@ -691,10 +697,10 @@ SCHEDULED: or DEADLINE: or ANYTHINGLIKETHIS:"
                         (org-mouse-remove-match-and-spaces))))]
        )))
    ((and (org-mouse-looking-at "\\b\\w+" "a-zA-Z0-9_")
-        (member (match-string 0) (org-mouse-todo-keywords)))
+        (member (match-string 0) org-todo-keywords-1))
     (popup-menu
      `(nil
-       ,@(org-mouse-keyword-replace-menu (org-mouse-todo-keywords))
+       ,@(org-mouse-todo-menu (match-string 0))
        "--"
        ["Check TODOs" org-show-todo-tree t]
        ["List all TODO keywords" org-todo-list t]
@@ -718,7 +724,7 @@ SCHEDULED: or DEADLINE: or ANYTHINGLIKETHIS:"
        ["Open" org-open-at-point t]
        ["Open in Emacs" (org-open-at-point t) t]
        "--"
-       ["Copy link" (kill-new (match-string 0))]
+       ["Copy link" (org-kill-new (match-string 0))]
        ["Cut link"
        (progn
          (kill-region (match-beginning 0) (match-end 0))
@@ -832,9 +838,7 @@ SCHEDULED: or DEADLINE: or ANYTHINGLIKETHIS:"
          "--"
          ,@(org-mouse-tag-menu))
         ("TODO Status"
-         ,@(progn (org-mouse-match-todo-keyword)
-                  (org-mouse-keyword-replace-menu (org-mouse-todo-keywords)
-                                                  1)))
+         ,@(org-mouse-todo-menu (org-get-todo-state)))
         ["Show Tags"
          (with-current-buffer org-mouse-main-buffer (org-agenda-show-tags))
          :visible (not org-mouse-direct)]
@@ -1038,11 +1042,10 @@ SCHEDULED: or DEADLINE: or ANYTHINGLIKETHIS:"
           (org-mouse-direct nil)
           (org-mouse-main-buffer (current-buffer)))
       (when (eq (with-current-buffer buffer major-mode) 'org-mode)
-       (let ((endmarker (save-excursion
-                         (set-buffer buffer)
-                         (outline-end-of-subtree)
-                         (forward-char 1)
-                         (copy-marker (point)))))
+       (let ((endmarker (with-current-buffer buffer
+                          (outline-end-of-subtree)
+                          (forward-char 1)
+                          (copy-marker (point)))))
          (org-with-remote-undo buffer
            (with-current-buffer buffer
              (widen)
@@ -1128,13 +1131,13 @@ SCHEDULED: or DEADLINE: or ANYTHINGLIKETHIS:"
 (add-hook 'org-agenda-mode-hook
    '(lambda ()
      (setq org-mouse-context-menu-function 'org-mouse-agenda-context-menu)
-     (define-key org-agenda-keymap
+     (define-key org-agenda-mode-map
        (if (featurep 'xemacs) [button3] [mouse-3])
        'org-mouse-show-context-menu)
-     (define-key org-agenda-keymap [down-mouse-3] 'org-mouse-move-tree-start)
-     (define-key org-agenda-keymap [C-mouse-4] 'org-agenda-earlier)
-     (define-key org-agenda-keymap [C-mouse-5] 'org-agenda-later)
-     (define-key org-agenda-keymap [drag-mouse-3]
+     (define-key org-agenda-mode-map [down-mouse-3] 'org-mouse-move-tree-start)
+     (define-key org-agenda-mode-map (if (featurep 'xemacs) [(control mouse-4)] [C-mouse-4]) 'org-agenda-earlier)
+     (define-key org-agenda-mode-map (if (featurep 'xemacs) [(control mouse-5)] [C-mouse-5]) 'org-agenda-later)
+     (define-key org-agenda-mode-map [drag-mouse-3]
        '(lambda (event) (interactive "e")
          (case (org-mouse-get-gesture event)
            (:left (org-agenda-earlier 1))