emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/org/org-agenda.el,v


From: Carsten Dominik
Subject: [Emacs-diffs] Changes to emacs/lisp/org/org-agenda.el,v
Date: Thu, 24 Jul 2008 13:59:57 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Carsten Dominik <cdominik>      08/07/24 13:59:57

Index: org-agenda.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/org/org-agenda.el,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- org-agenda.el       17 Jun 2008 15:21:56 -0000      1.6
+++ org-agenda.el       24 Jul 2008 13:59:52 -0000      1.7
@@ -6,7 +6,7 @@
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 6.05a
+;; Version: 6.06a
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -211,9 +211,8 @@
                             (const :tag "no deadline" 'notdeadline))))))
            (list :tag "Non-standard skipping condition"
                  :value (org-agenda-skip-function)
-                 (list
                   (const org-agenda-skip-function)
-                  (sexp :tag "Function or form (quoted!)")))))
+                 (sexp :tag "Function or form (quoted!)"))))
   "Selection of examples for agenda command settings.
 This will be spliced into the custom type of
 `org-agenda-custom-commands'.")
@@ -392,6 +391,13 @@
  :tag "Org Agenda Skip"
  :group 'org-agenda)
 
+(defvar org-agenda-archives-mode nil
+  "Non-nil means, the agenda will include archived items.
+If this is the symbol `trees', trees in the selected agenda scope
+that are marked with the ARCHIVE tag will be included anyway.  When this is
+t, also all archive files associated with the current selection of agenda
+files will be included.")
+
 (defcustom org-agenda-skip-comment-trees t
   "Non-nil means, skip trees that start with teh COMMENT keyword.
 When nil, these trees are also scand by agenda commands."
@@ -1105,6 +1111,7 @@
 (org-defkey org-agenda-mode-map "f" 'org-agenda-follow-mode)
 (org-defkey org-agenda-mode-map "R" 'org-agenda-clockreport-mode)
 (org-defkey org-agenda-mode-map "l" 'org-agenda-log-mode)
+(org-defkey org-agenda-mode-map "v" 'org-agenda-archives-mode)
 (org-defkey org-agenda-mode-map "D" 'org-agenda-toggle-diary)
 (org-defkey org-agenda-mode-map "G" 'org-agenda-toggle-time-grid)
 (org-defkey org-agenda-mode-map "r" 'org-agenda-redo)
@@ -1234,14 +1241,25 @@
      ["Year View" org-agenda-year-view :active (org-agenda-check-type nil 
'agenda)
       :style radio :selected (member org-agenda-ndays '(365 366))]
      "--"
-     ["Show Logbook entries" org-agenda-log-mode
-      :style toggle :selected org-agenda-show-log :active 
(org-agenda-check-type nil 'agenda 'timeline)]
-     ["Show clock report" org-agenda-clockreport-mode
-     :style toggle :selected org-agenda-clockreport-mode :active 
(org-agenda-check-type nil 'agenda)]
      ["Include Diary" org-agenda-toggle-diary
-      :style toggle :selected org-agenda-include-diary :active 
(org-agenda-check-type nil 'agenda)]
+      :style toggle :selected org-agenda-include-diary
+      :active (org-agenda-check-type nil 'agenda)]
      ["Use Time Grid" org-agenda-toggle-time-grid
-      :style toggle :selected org-agenda-use-time-grid :active 
(org-agenda-check-type nil 'agenda)])
+      :style toggle :selected org-agenda-use-time-grid
+      :active (org-agenda-check-type nil 'agenda)]
+     "--"
+     ["Show clock report" org-agenda-clockreport-mode
+      :style toggle :selected org-agenda-clockreport-mode
+      :active (org-agenda-check-type nil 'agenda)]
+    "--"
+     ["Show Logbook entries" org-agenda-log-mode
+      :style toggle :selected org-agenda-show-log
+      :active (org-agenda-check-type nil 'agenda 'timeline)]
+     ["Include archived trees" org-agenda-archives-mode 
+      :style toggle :selected org-agenda-archives-mode :active t]
+     ["Include archive files" (org-agenda-archives-mode t)
+      :style toggle :selected (eq org-agenda-archives-mode t) :active t
+      :keys "C-u v"])
     ["Write view to file" org-write-agenda t]
     ["Rebuild buffer" org-agenda-redo t]
     ["Save all Org-mode Buffers" org-save-all-org-buffers t]
@@ -1475,7 +1493,7 @@
        (insert (eval-when-compile
                  (let ((header
 "
-Press key for an agenda command:        <   Buffer,subtree/region restriction
+Press key for an agenda command:        <   Buffer, subtree/region restriction
 --------------------------------        >   Remove restriction
 a   Agenda for current week or day      e   Export agenda views
 t   List of all TODO entries            T   Entries with special TODO kwd
@@ -1790,7 +1808,7 @@
   (let ((cmds (org-agenda-normalize-custom-commands 
org-agenda-custom-commands))
        (pop-up-frames nil)
        (dir default-directory)
-       pars cmd thiscmdkey files opts)
+       pars cmd thiscmdkey files opts cmd-or-set)
     (while parameters
       (push (list (pop parameters) (if parameters (pop parameters))) pars))
     (setq pars (reverse pars))
@@ -1798,8 +1816,9 @@
       (while cmds
        (setq cmd (pop cmds)
              thiscmdkey (car cmd)
-             opts (nth 4 cmd)
-             files (nth 5 cmd))
+             cmd-or-set (nth 2 cmd)
+             opts (nth (if (listp cmd-or-set) 3 4) cmd)
+             files (nth (if (listp cmd-or-set) 4 5) cmd))
        (if (stringp files) (setq files (list files)))
        (when files
          (eval (list 'let (append org-agenda-exporter-settings opts pars)
@@ -1855,7 +1874,8 @@
                   (org-agenda-collect-markers)))
                 (org-icalendar-verify-function 'org-check-agenda-marker-table)
                 (org-combined-agenda-icalendar-file file))
-            (apply 'org-export-icalendar 'combine (org-agenda-files))))
+            (apply 'org-export-icalendar 'combine
+                   (org-agenda-files nil 'ifmode))))
          (t
           (let ((bs (buffer-string)))
             (find-file file)
@@ -1937,7 +1957,7 @@
     (org-agenda-reset-markers)
     (setq org-agenda-contributing-files nil)
     (setq org-agenda-columns-active nil)
-    (org-prepare-agenda-buffers (org-agenda-files))
+    (org-prepare-agenda-buffers (org-agenda-files nil 'ifmode))
     (setq org-todo-keywords-for-agenda
          (org-uniquify org-todo-keywords-for-agenda))
     (setq org-done-keywords-for-agenda
@@ -2032,7 +2052,7 @@
 Also moves point to the end of the skipped region, so that search can
 continue from there."
   (let ((p (point-at-bol)) to fp)
-    (and org-agenda-skip-archived-trees
+    (and org-agenda-skip-archived-trees (not org-agenda-archives-mode)
         (get-text-property p :org-archived)
         (org-end-of-subtree t)
         (throw :skip t))
@@ -2255,7 +2275,7 @@
   (let* ((org-agenda-start-on-weekday
          (if (or (equal ndays 7) (and (null ndays) (equal 7 org-agenda-ndays)))
              org-agenda-start-on-weekday nil))
-        (thefiles (org-agenda-files))
+        (thefiles (org-agenda-files nil 'ifmode))
         (files thefiles)
         (today (time-to-days
                 (time-subtract (current-time)
@@ -2373,7 +2393,7 @@
            (put-text-property s (1- (point)) 'day d)
            (put-text-property s (1- (point)) 'org-day-cnt day-cnt))))
     (when (and org-agenda-clockreport-mode clocktable-start)
-      (let ((org-agenda-files (org-agenda-files))
+      (let ((org-agenda-files (org-agenda-files nil 'ifmode))
            ;; the above line is to ensure the restricted range!
            (p org-agenda-clockreport-parameter-plist)
            tbl)
@@ -2502,7 +2522,7 @@
       (setq regexp (pop regexps+))
       (if hdl-only (setq regexp (concat "^" org-outline-regexp ".*?"
                                        regexp))))
-    (setq files (org-agenda-files))
+    (setq files (org-agenda-files nil 'ifmode))
     (when (eq (car org-agenda-text-search-extra-files) 'agenda-archives)
       (pop org-agenda-text-search-extra-files)
       (setq files (org-add-archive-files files)))
@@ -2633,7 +2653,7 @@
     (org-set-local 'org-last-arg arg)
     (setq org-agenda-redo-command
          '(org-todo-list (or current-prefix-arg org-last-arg)))
-    (setq files (org-agenda-files)
+    (setq files (org-agenda-files nil 'ifmode)
          rtnall nil)
     (while (setq file (pop files))
       (catch 'nextfile
@@ -2690,7 +2710,7 @@
     (setq org-agenda-redo-command
          (list 'org-tags-view (list 'quote todo-only)
                (list 'if 'current-prefix-arg nil 'org-agenda-query-string)))
-    (setq files (org-agenda-files)
+    (setq files (org-agenda-files nil 'ifmode)
          rtnall nil)
     (while (setq file (pop files))
       (catch 'nextfile
@@ -2827,7 +2847,8 @@
         (todo (nth 1 org-stuck-projects))
         (todo-wds (if (member "*" todo)
                       (progn
-                        (org-prepare-agenda-buffers (org-agenda-files))
+                        (org-prepare-agenda-buffers (org-agenda-files
+                                                     nil 'ifmode))
                         (org-delete-all
                          org-done-keywords-for-agenda
                          (copy-sequence org-todo-keywords-for-agenda)))
@@ -4002,7 +4023,8 @@
       (if (not (one-window-p)) (delete-window))
       (kill-buffer buf)
       (org-agenda-reset-markers)
-      (org-columns-remove-overlays))
+      (org-columns-remove-overlays)
+      (setq org-agenda-archives-mode nil))
     ;; Maybe restore the pre-agenda window configuration.
     (and org-agenda-restore-windows-after-quit
         (not (eq org-agenda-window-setup 'other-frame))
@@ -4340,6 +4362,24 @@
   (message "Log mode is %s"
           (if org-agenda-show-log "on" "off")))
 
+(defun org-agenda-archives-mode (&optional with-files)
+  "Toggle log mode in an agenda buffer."
+  (interactive "P")
+  (setq org-agenda-archives-mode
+       (if with-files t (if org-agenda-archives-mode nil 'trees)))
+  (org-agenda-set-mode-name)
+  (org-agenda-redo)
+  (message
+   "%s"
+   (cond
+    ((eq org-agenda-archives-mode nil)
+     "No archives are included")
+    ((eq org-agenda-archives-mode 'trees)
+     (format "Trees with :%s: tag are included" org-archive-tag))
+    ((eq org-agenda-archives-mode t)
+     (format "Trees with :%s: tag and all active archive files are included"
+            org-archive-tag)))))
+
 (defun org-agenda-toggle-diary ()
   "Toggle diary inclusion in an agenda buffer."
   (interactive)
@@ -4370,6 +4410,11 @@
                (if org-agenda-include-diary   " Diary"  "")
                (if org-agenda-use-time-grid   " Grid"   "")
                (if org-agenda-show-log        " Log"    "")
+               (if org-agenda-archives-mode
+                   (if (eq org-agenda-archives-mode t)
+                       " Archives"
+                     (format " :%s:" org-archive-tag))
+                 "")
                (if org-agenda-clockreport-mode " Clock"   "")))
   (force-mode-line-update))
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]