Carsten Dominik 18 years ago
parent
commit
ed25bc7fa8
6 changed files with 426 additions and 358 deletions
  1. 176 168
      org
  2. 129 71
      org.el
  3. BIN
      org.pdf
  4. 118 115
      org.texi
  5. BIN
      orgcard.pdf
  6. 3 4
      orgcard.tex

File diff suppressed because it is too large
+ 176 - 168
org


+ 129 - 71
org.el

@@ -5,7 +5,7 @@
 ;; Author: Carsten Dominik <dominik at science dot uva dot nl>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://www.astro.uva.nl/~dominik/Tools/org/
-;; Version: 4.12
+;; Version: 4.13
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -81,6 +81,10 @@
 ;;
 ;; Changes since version 4.00:
 ;; ---------------------------
+;; Version 4.13
+;;    - The list of agenda files can be maintainted in an external file.
+;;    - Bug fixes.
+;;
 ;; Version 4.12
 ;;    - Templates for remember buffer.  Note that the remember setup changes.
 ;;      To set up templates, see `org-remember-templates'.
@@ -155,17 +159,14 @@
 
 ;;; Customization variables
 
-(defvar org-version "4.12"
+(defvar org-version "4.13"
   "The version number of the file org.el.")
 (defun org-version ()
   (interactive)
   (message "Org-mode version %s" org-version))
 
-;; The following two constants are for compatibility with different Emacs
-;; versions (Emacs versus XEmacs) and with different versions of outline.el.
-;; The compatibility code in org.el is based on these two constants.
-(defconst org-xemacs-p (featurep 'xemacs)
-  "Are we running XEmacs?")
+;; The following constant is for compatibility with different versions
+;; of outline.el.
 (defconst org-noutline-p (featurep 'noutline)
   "Are we using the new outline mode?")
 
@@ -485,11 +486,17 @@ closing date."
   :group 'org)
 
 (defcustom org-agenda-files nil
-  "A list of org files for agenda/diary display.
-Entries are added to this list with \\[org-agenda-file-to-front] and removed with
-\\[org-remove-file].  You can also use customize to edit the list."
+  "The files to be used for agenda display.
+Entries may be added to this list with \\[org-agenda-file-to-front] and removed with
+\\[org-remove-file].  You can also use customize to edit the list.
+
+If the value of the variable is not a list but a single file name, then
+the list of agenda files is actually stored in that file, one agenda file
+per line"
   :group 'org-agenda
-  :type '(repeat file))
+  :type '(choice
+	  (repeat :tag "List of files" file)
+	  (file :tag "Store list in a file\n" :value "~/.agenda_files")))
 
 (defcustom org-agenda-custom-commands '(("w" todo "WAITING"))
   "Custom commands for the agenda.
@@ -2167,7 +2174,7 @@ The following commands are available:
   ;; Get rid of Outline menus, they are not needed
   ;; Need to do this here because define-derived-mode sets up
   ;; the keymap so late.
-  (if org-xemacs-p
+  (if (featurep 'xemacs)
       (progn
 	(delete-menu-item '("Headings"))
 	(delete-menu-item '("Show"))
@@ -2210,9 +2217,9 @@ The following commands are available:
 
 (defvar org-mouse-map (make-sparse-keymap))
 (define-key org-mouse-map
-  (if org-xemacs-p [button2] [mouse-2]) 'org-open-at-mouse)
+  (if (featurep 'xemacs) [button2] [mouse-2]) 'org-open-at-mouse)
 (define-key org-mouse-map
-  (if org-xemacs-p [button3] [mouse-3]) 'org-find-file-at-mouse)
+  (if (featurep 'xemacs) [button3] [mouse-3]) 'org-find-file-at-mouse)
 (define-key org-mouse-map [follow-link] 'mouse-face)
 (when org-tab-follows-link
   (define-key org-mouse-map [(tab)] 'org-open-at-point)
@@ -2432,7 +2439,8 @@ between words."
   "Get the right face for match N in font-lock matching of healdines."
   (setq org-l (- (match-end 2) (match-beginning 1)))
   (if org-odd-levels-only (setq org-l (1+ (/ org-l 2))))
-  (setq org-f (nth (1- (% org-l org-n-levels)) org-level-faces))
+;  (setq org-f (nth (1- (% org-l org-n-levels)) org-level-faces))
+  (setq org-f (nth (% (1- org-l) org-n-levels) org-level-faces))
   (cond
    ((eq n 1) (if org-hide-leading-stars 'org-hide org-f))
    ((eq n 2) org-f)
@@ -3774,17 +3782,19 @@ that the match should indeed be shown."
 
 ;; Overlay compatibility functions
 (defun org-make-overlay (beg end &optional buffer)
-  (if org-xemacs-p (make-extent beg end buffer) (make-overlay beg end buffer)))
+  (if (featurep 'xemacs)
+      (make-extent beg end buffer)
+    (make-overlay beg end buffer)))
 (defun org-delete-overlay (ovl)
-  (if org-xemacs-p (delete-extent ovl) (delete-overlay ovl)))
+  (if (featurep 'xemacs) (delete-extent ovl) (delete-overlay ovl)))
 (defun org-detatch-overlay (ovl)
-  (if org-xemacs-p (detach-extent ovl) (delete-overlay ovl)))
+  (if (featurep 'xemacs) (detach-extent ovl) (delete-overlay ovl)))
 (defun org-move-overlay (ovl beg end &optional buffer)
-  (if org-xemacs-p
+  (if (featurep 'xemacs)
       (set-extent-endpoints ovl beg end buffer)
     (move-overlay ovl beg end buffer)))
 (defun org-overlay-put (ovl prop value)
-  (if org-xemacs-p
+  (if (featurep 'xemacs)
       (set-extent-property ovl prop value)
     (overlay-put ovl prop value)))
 
@@ -4008,9 +4018,9 @@ used to insert the time stamp into the buffer to include the time."
 		   (map (copy-keymap calendar-mode-map))
 		   (minibuffer-local-map (copy-keymap minibuffer-local-map)))
 	      (define-key map (kbd "RET") 'org-calendar-select)
-	      (define-key map (if org-xemacs-p [button1] [mouse-1])
+	      (define-key map (if (featurep 'xemacs) [button1] [mouse-1])
 		'org-calendar-select-mouse)
-	      (define-key map (if org-xemacs-p [button2] [mouse-2])
+	      (define-key map (if (featurep 'xemacs) [button2] [mouse-2])
 		'org-calendar-select-mouse)
 	      (define-key minibuffer-local-map [(meta shift left)]
 		(lambda () (interactive)
@@ -4422,7 +4432,7 @@ The following commands are available:
       (if (get 'org-agenda-files 'org-restrict)
 	  "Restricted to single file"
 	"Edit File List")
-      '(customize-variable 'org-agenda-files)
+      '(org-edit-agenda-file-list)
       (not (get 'org-agenda-files 'org-restrict)))
      "--")
     (mapcar 'org-file-menu-entry (org-agenda-files))))
@@ -4493,9 +4503,9 @@ The following commands are available:
   "Local keymap for agenda entries from Org-mode.")
 
 (define-key org-agenda-keymap
-  (if org-xemacs-p [(button2)] [(mouse-2)]) 'org-agenda-goto-mouse)
+  (if (featurep 'xemacs) [(button2)] [(mouse-2)]) 'org-agenda-goto-mouse)
 (define-key org-agenda-keymap
-  (if org-xemacs-p [(button3)] [(mouse-3)]) 'org-agenda-show-mouse)
+  (if (featurep 'xemacs) [(button3)] [(mouse-3)]) 'org-agenda-show-mouse)
 (define-key org-agenda-keymap [follow-link] 'mouse-face)
 (easy-menu-define org-agenda-menu org-agenda-mode-map "Agenda menu"
   '("Agenda"
@@ -4664,10 +4674,58 @@ C   Configure your own agenda commands")
        (fit-window-to-buffer nil (/ (* (frame-height) 3) 4)
                              (/ (frame-height) 2))))
 
-(defun org-agenda-files ()
-  "Get the list of agenda files."
-  (or (get 'org-agenda-files 'org-restrict)
-      org-agenda-files))
+(defun org-agenda-files (&optional unrestricted)
+  "Get the list of agenda files.
+Optional UNRESTRICTED means return the full list even if a restriction
+is currently in place."
+  (cond
+   ((and (not unrestricted) (get 'org-agenda-files 'org-restrict)))
+   ((stringp org-agenda-files) (org-read-agenda-file-list))
+   ((listp org-agenda-files) org-agenda-files)
+   (t (error "Invalid value of `org-agenda-files'"))))
+
+(defvar org-window-configuration)
+
+(defun org-edit-agenda-file-list ()
+  "Edit the list of agenda files.
+Depending on setup, this either uses customize to edit the variable
+`org-agenda-files', or it visits the file that is holding the list.  In the
+latter case, the buffer is set up in a way that saving it automatically kills
+the buffer and restores the previous window configuration."
+  (interactive)
+  (if (stringp org-agenda-files)
+      (let ((cw (current-window-configuration)))
+	(find-file org-agenda-files)
+	(set (make-local-variable 'org-window-configuration) cw)
+	(org-add-hook 'after-save-hook
+		      (lambda ()
+			(set-window-configuration
+			 (prog1 org-window-configuration
+			   (kill-buffer (current-buffer))))
+			(org-install-agenda-files-menu)
+			(message "New agenda file list installed"))
+		      nil 'local)
+	(message (substitute-command-keys
+		  "Edit list and finish with \\[save-buffer]")))
+    (customize-variable 'org-agenda-files)))
+
+(defun org-store-new-agenda-file-list (list)
+  "Set new value for the agenda file list and save it correcly."
+  (if (stringp org-agenda-files)
+      (let ((f org-agenda-files) b)
+	(while (setq b (find-buffer-visiting f)) (kill-buffer b))
+	(with-temp-file f
+	  (insert (mapconcat 'identity list) "\n") "\n"))
+    (let ((org-mode-hook nil) (default-major-mode 'fundamental-mode))
+      (setq org-agenda-files list)
+      (customize-save-variable 'org-agenda-files org-agenda-files))))
+
+(defun org-read-agenda-file-list ()
+  "Read the list of agenda files from a file."
+  (when (stringp org-agenda-files)
+    (with-temp-buffer
+      (insert-file-contents org-agenda-files)
+      (org-split-string (buffer-string) "[ \t\r\n]*?[\r\n][ \t\r\n]*"))))
 
 (defvar org-agenda-markers nil
   "List of all currently active markers created by `org-agenda'.")
@@ -4821,7 +4879,8 @@ NDAYS defaults to `org-agenda-ndays'."
 		  (and (null ndays) (equal 1 org-agenda-ndays)))
 	      nil org-agenda-start-on-weekday))
 	 (org-agenda-keep-modes keep-modes)
-	 (files (copy-sequence (org-agenda-files)))
+	 (thefiles (copy-sequence (org-agenda-files))) ;; FIXME: Why copy???
+	 (files thefiles)
 	 (win (selected-window))
 	 (today (time-to-days (current-time)))
 	 (sd (or start-day today))
@@ -4858,7 +4917,7 @@ NDAYS defaults to `org-agenda-ndays'."
     (set (make-local-variable 'include-all-loc) include-all)
     (when (and (or include-all org-agenda-include-all-todo)
 	       (member today day-numbers))
-      (setq files (org-agenda-files)
+      (setq files thefiles
 	    rtnall nil)
       (while (setq file (pop files))
 	(catch 'nextfile
@@ -4880,7 +4939,7 @@ NDAYS defaults to `org-agenda-ndays'."
 	  (setq start-pos (point))
 	(if (and start-pos (not end-pos))
 	    (setq end-pos (point))))
-      (setq files (org-agenda-files)
+      (setq files thefiles
 	    rtnall nil)
       (while (setq file (pop files))
 	(catch 'nextfile
@@ -4999,12 +5058,9 @@ for a keyword.  A numeric prefix directly selects the Nth keyword in
 
 (defun org-check-agenda-file (file)
   "Make sure FILE exists.  If not, ask user what to do."
-  ;; FIXME:  this does not correctly change the menus
-  ;; Could probably be fixed by explicitly going to the buffer where
-  ;; the call originated.
   (when (not (file-exists-p file))
-    (message "non-existent file %s.  [R]emove from agenda-files or [A]bort?"
-	     file)
+    (message "non-existent file %s. [R]emove from list or [A]bort?"
+	     (abbreviate-file-name file))
     (let ((r (downcase (read-char-exclusive))))
       (cond
        ((equal r ?r)
@@ -5125,12 +5181,12 @@ With prefix ARG, go back that many times `org-agenda-ndays'."
 
 (defun org-highlight (begin end &optional buffer)
   "Highlight a region with overlay."
-  (funcall (if org-xemacs-p 'set-extent-endpoints 'move-overlay)
+  (funcall (if (featurep 'xemacs) 'set-extent-endpoints 'move-overlay)
 	   org-hl begin end (or buffer (current-buffer))))
 
 (defun org-unhighlight ()
   "Detach overlay INDEX."
-  (funcall (if org-xemacs-p 'detach-extent 'delete-overlay) org-hl))
+  (funcall (if (featurep 'xemacs) 'detach-extent 'delete-overlay) org-hl))
 
 
 (defun org-agenda-follow-mode ()
@@ -5297,9 +5353,10 @@ Needed to avoid empty dates which mess up holiday display."
 If the current buffer visits an agenda file, find the next one in the list.
 If the current buffer does not, find the first agenda file."
   (interactive)
-  (let ((files (append org-agenda-files (list (car org-agenda-files))))
-	(tcf (if buffer-file-name (file-truename buffer-file-name)))
-	file)
+  (let* ((fs (org-agenda-files t))
+	 (files (append fs (list (car fs))))
+	 (tcf (if buffer-file-name (file-truename buffer-file-name)))
+	 file)
     (unless files (error "No agenda files"))
     (catch 'exit
       (while (setq file (pop files))
@@ -5307,7 +5364,7 @@ If the current buffer does not, find the first agenda file."
 	    (when (car files)
 	      (find-file (car files))
 	      (throw 'exit t))))
-      (find-file (car org-agenda-files)))))
+      (find-file (car fs)))))
 
 (defun org-agenda-file-to-end ()
   "Move/add the current file to the end of the agenda file list.
@@ -5324,7 +5381,7 @@ end of the list."
   (interactive "P")
   (let ((file-alist (mapcar (lambda (x)
 			      (cons (file-truename x) x))
-			    org-agenda-files))
+			    (org-agenda-files t)))
 	(ctf (file-truename buffer-file-name))
 	x had)
     (setq x (assoc ctf file-alist) had x)
@@ -5333,9 +5390,7 @@ end of the list."
     (if to-end
 	(setq file-alist (append (delq x file-alist) (list x)))
       (setq file-alist (cons x (delq x file-alist))))
-    (setq org-agenda-files (mapcar 'cdr file-alist))
-    (let ((org-mode-hook nil) (default-major-mode 'fundamental-mode))
-      (customize-save-variable 'org-agenda-files org-agenda-files))
+    (org-store-new-agenda-file-list (mapcar 'cdr file-alist))
     (org-install-agenda-files-menu)
     (message "File %s to %s of agenda file list"
 	     (if had "moved" "added") (if to-end "end" "front"))))
@@ -5353,11 +5408,10 @@ Optional argument FILE means, use this file instead of the current."
 			     (if (equal true-file
 					(file-truename x))
 				 nil x))
-			   org-agenda-files))))
-    (if (not (= (length files) (length org-agenda-files)))
+			   (org-agenda-files t)))))
+    (if (not (= (length files) (length (org-agenda-files t))))
 	(progn
-	  (setq org-agenda-files files)
-	  (customize-save-variable 'org-agenda-files org-agenda-files)
+	  (org-store-new-agenda-file-list files)
 	  (org-install-agenda-files-menu)
 	  (message "Removed file: %s" afile))
       (message "File was not in list: %s" afile))))
@@ -5444,7 +5498,7 @@ function from a program - use `org-agenda-get-day-entries' instead."
   (setq args (or args '(:deadline :scheduled :timestamp)))
   (let* ((files (if (and entry (stringp entry) (string-match "\\S-" entry))
 		    (list entry)
-		  org-agenda-files))
+		  (org-agenda-files t)))
 	 file rtn results)
     ;; If this is called during org-agenda, don't return any entries to
     ;; the calendar.  Org Agenda will list these entries itself.
@@ -7251,12 +7305,12 @@ onto the ring."
 	(cond
 	 ((featurep 'tramp)
 	  ;; use tramp to access the file
-	  (if org-xemacs-p
+	  (if (featurep 'xemacs)
 	      (setq folder (format "[%s@%s]%s" user host file))
 	    (setq folder (format "/%s@%s:%s" user host file))))
 	 (t
 	  ;; use ange-ftp or efs
-	  (require (if org-xemacs-p 'efs 'ange-ftp))
+	  (require (if (featurep 'xemacs) 'efs 'ange-ftp))
 	  (setq folder (format "/%s@%s:%s" user host file))))))
   (when folder
     (funcall (cdr (assq 'vm org-link-frame-setup)) folder readonly)
@@ -9895,7 +9949,6 @@ Parameters get priority."
 (define-key org-edit-formulas-map "\C-c?" 'org-show-variable)
 
 (defvar org-pos)
-(defvar org-window-configuration)
 
 (defun org-table-edit-formulas ()
   "Edit the formulas of the current table in a separate buffer."
@@ -11848,14 +11901,14 @@ file, but with extension `.ics'."
 Each iCalendar file will be located in the same directory as the Org-mode
 file, but with extension `.ics'."
   (interactive)
-  (apply 'org-export-icalendar nil org-agenda-files))
+  (apply 'org-export-icalendar nil (org-agenda-files t)))
 
 ;;;###autoload
 (defun org-export-icalendar-combine-agenda-files ()
   "Export all files in `org-agenda-files' to a single combined iCalendar file.
 The file is stored under the name `org-combined-agenda-icalendar-file'."
   (interactive)
-  (apply 'org-export-icalendar t org-agenda-files))
+  (apply 'org-export-icalendar t (org-agenda-files t)))
 
 (defun org-export-icalendar (combine &rest files)
   "Create iCalendar files for all elements of FILES.
@@ -12016,7 +12069,7 @@ a time), or the day by one (if it does not contain a time)."
 (define-key org-mode-map [(meta tab)] 'org-complete)
 (define-key org-mode-map "\M-\C-i"    'org-complete)            ; for tty emacs
 ;; The following line is necessary under Suse GNU/Linux
-(unless org-xemacs-p
+(unless (featurep 'xemacs)
   (define-key org-mode-map [S-iso-lefttab]  'org-shifttab))
 (define-key org-mode-map [(shift tab)]    'org-shifttab)
 
@@ -12619,16 +12672,22 @@ With optional NODE, go directly to that node."
   (Info-goto-node (format "(org)%s" (or node ""))))
 
 (defun org-install-agenda-files-menu ()
-  (easy-menu-change
-   '("Org") "File List for Agenda"
-   (append
-    (list
-     ["Edit File List" (customize-variable 'org-agenda-files) t]
-     ["Add/Move Current File to Front of List" org-agenda-file-to-front t]
-     ["Remove Current File from List" org-remove-file t]
-     ["Cycle through agenda files" org-cycle-agenda-files t]
-     "--")
-    (mapcar 'org-file-menu-entry org-agenda-files))))
+  (let ((bl (buffer-list)))
+    (save-excursion
+      (while bl
+	(set-buffer (pop bl))
+	(if (eq major-mode 'org-mode) (setq bl nil)))
+      (when (eq major-mode 'org-mode)
+	(easy-menu-change
+	 '("Org") "File List for Agenda"
+	 (append
+	  (list
+	   ["Edit File List" (org-edit-agenda-file-list) t]
+	   ["Add/Move Current File to Front of List" org-agenda-file-to-front t]
+	   ["Remove Current File from List" org-remove-file t]
+	   ["Cycle through agenda files" org-cycle-agenda-files t]
+	   "--")
+	  (mapcar 'org-file-menu-entry (org-agenda-files t))))))))
 
 ;;; Documentation
 
@@ -12739,7 +12798,7 @@ work correctly."
 
 (defun org-add-hook (hook function &optional append local)
   "Add-hook, compatible with both Emacsen."
-  (if (and local org-xemacs-p)
+  (if (and local (featurep 'xemacs))
       (add-local-hook hook function append)
     (add-hook hook function append local)))
 
@@ -12748,7 +12807,7 @@ work correctly."
 Works on both Emacs and XEmacs."
   (if org-ignore-region
       nil
-    (if org-xemacs-p
+    (if (featurep 'xemacs)
 	(and zmacs-regions (region-active-p))
       (and transient-mark-mode mark-active))))
 
@@ -13026,7 +13085,6 @@ Show the heading too, if it is currently invisible."
 ;; Experimental code
 
 
-
 ;; arch-tag: e77da1a7-acc7-4336-b19e-efa25af3f9fd
 ;;; org.el ends here
 

BIN
org.pdf


+ 118 - 115
org.texi

@@ -4,7 +4,7 @@
 @c @setfilename ../info/org
 @settitle Org Mode Manual
 
-@set VERSION 4.12
+@set VERSION 4.13
 @set DATE March 2006
 
 @dircategory Emacs
@@ -94,7 +94,7 @@ Software Foundation raise funds for GNU development.''
 Introduction
 
 * Summary::                     Brief summary of what Org-mode does
-* Installation and Activation::  How to install Org-mode
+* Installation and activation::  How to install Org-mode
 * Feedback::                    Bug reports, ideas, patches etc.
 
 Document Structure
@@ -127,13 +127,13 @@ Calculations in tables
 
 Hyperlinks
 
-* Internal Links::              Links to other places in the current file
-* External Links::              URL-like links to the world
+* Internal links::              Links to other places in the current file
+* External links::              URL-like links to the world
 * Managing links::              Creating, inserting and following
 * Search Options::              Linking to a specific location
 * Remember::                    Org-trees store quick notes
 
-Internal Links
+Internal links
 
 * Radio targets::               Make targets trigger links in plain text.
 * CamelCase links::             Activating CamelCase words as links
@@ -141,7 +141,7 @@ Internal Links
 TODO items
 
 * TODO basics::                 Marking and displaying TODO entries
-* Progress Logging::            Document your productivity
+* Progress logging::            Document your productivity
 * TODO extensions::             Workflow and assignments
 * Priorities::                  Some things are more important than others
 
@@ -205,11 +205,11 @@ Miscellaneous
 
 @menu
 * Summary::                     Brief summary of what Org-mode does
-* Installation and Activation::  How to install Org-mode
+* Installation and activation::  How to install Org-mode
 * Feedback::                    Bug reports, ideas, patches etc.
 @end menu
 
-@node Summary, Installation and Activation, Introduction, Introduction
+@node Summary, Installation and activation, Introduction, Introduction
 @section Summary
 @cindex summary
 
@@ -234,7 +234,7 @@ Org-mode keeps simple things simple.  When first fired up, it should
 feel like a simple but easy to use outliner.  Complexity is not
 imposed, but a large amount of functionality is available when you
 need it.  Org-mode can be used on different levels and in different
-ways, for example
+ways, for example:
 
 @example
 @r{@bullet{} as an outline extension with visibility cycling and structure editing}
@@ -255,7 +255,7 @@ and example files.  This page is located at
 
 @page
 
-@node Installation and Activation, Feedback, Summary, Introduction
+@node Installation and activation, Feedback, Summary, Introduction
 @section Installation and Activation
 @cindex installation
 @cindex autoload
@@ -301,9 +301,9 @@ MY PROJECTS    -*- mode: org; -*-
 
 @noindent which will select Org-mode for this buffer no matter what
 the file's name is.  See also the variable
-@code{org-insert-mode-line-in-empty-file'}.
+@code{org-insert-mode-line-in-empty-file}.
 
-@node Feedback,  , Installation and Activation, Introduction
+@node Feedback,  , Installation and activation, Introduction
 @section Feedback
 @cindex feedback
 @cindex bug reports
@@ -316,8 +316,8 @@ or ideas about it, please contact the maintainer Carsten Dominik at
 
 For bug reports, please provide as much information as possible,
 including the version information of Emacs (@kbd{C-h v emacs-version
-@key{RET}}) and Org-mode (@kbd{M-x org-version}), as well as the
-Org-mode related setup in @file{.emacs}.  If an error occurs, a
+@key{RET}}) and Org-mode (@kbd{C-h v org-version @key{RET}}), as well as
+the Org-mode related setup in @file{.emacs}.  If an error occurs, a
 traceback can be very useful.  Often a small example file helps, along
 with clear information about:
 @enumerate
@@ -325,7 +325,7 @@ with clear information about:
 @item What did you expect to happen?
 @item What happened instead?
 @end enumerate
-@noindent Thanks for helping to improve this mode.
+@noindent Thank you for helping to improve this mode.
 
 @node Document Structure, Tables, Introduction, Top
 @chapter Document Structure
@@ -367,9 +367,9 @@ key.
 @cindex headlines
 @cindex outline tree
 
-Headlines define the structure of an outline tree.  The Headlines in
+Headlines define the structure of an outline tree.  The headlines in
 Org-mode start with one or more stars, on the left margin.  For
-example
+example:
 
 @example
 * Top level headline
@@ -499,23 +499,23 @@ beginning of the next line.
 Insert new TODO entry with same level as current heading.
 @kindex M-@key{left}
 @item M-@key{left}
-Promote current heading by one level
+Promote current heading by one level.
 @kindex M-@key{right}
 @item M-@key{right}
-Demote current heading by one level
+Demote current heading by one level.
 @kindex M-S-@key{left}
 @item M-S-@key{left}
-Promote the current subtree by one level
+Promote the current subtree by one level.
 @kindex M-S-@key{right}
 @item M-S-@key{right}
-Demote the current subtree by one level
+Demote the current subtree by one level.
 @kindex M-S-@key{up}
 @item M-S-@key{up}
 Move subtree up (swap with previous subtree of same
-level)
+level).
 @kindex M-S-@key{down}
 @item M-S-@key{down}
-Move subtree down (swap with next subtree of same level)
+Move subtree down (swap with next subtree of same level).
 @kindex C-c C-x C-w
 @kindex C-c C-x C-k
 @item C-c C-x C-w
@@ -602,7 +602,7 @@ For frequently used sparse trees of specific search strings, you can
 use the variable @code{org-agenda-custom-commands} to define fast
 keyboard access to specific sparse trees.  These commands will then be
 accessible through the agenda dispatcher (@pxref{Agenda dispatcher}).
-For example
+For example:
 @lisp
 (setq org-agenda-custom-commands
       '(("f" occur-tree "FIXME")))
@@ -621,7 +621,7 @@ To print a sparse tree, you can use the Emacs command
 of the document @footnote{This does not work under XEmacs, because
 XEmacs uses selective display for outlining, not text properties}.
 Or you can use the command @kbd{C-c C-x v} to copy the visible part of
-the document to another file (extension @file{.txt}) which then can be
+the document to another file (extension @file{.txt}) which can then be
 printed in any desired way.
 
 @node Tags, Plain Lists, Sparse trees, Document Structure
@@ -692,7 +692,7 @@ only TODO items and force checking subitems (see variable
 
 A tags search string can use Boolean operators @samp{&} for AND and
 @samp{|} for OR.  @samp{&} binds more strongly than
-@samp{|}. Parenthesis are currently no implemented.  A tag may also be
+@samp{|}. Parenthesis are currently not implemented.  A tag may also be
 preceded by @samp{-}, to select against it, and @samp{+} is syntactic
 sugar for positive selection.  The AND operator @samp{&} is optional
 when @samp{+} or @samp{-} is present.  For example, @samp{+WORK-BOSS}
@@ -709,9 +709,9 @@ also tagged @samp{NIGHT}.
 @cindex lists, ordered
 @cindex ordered lists
 
-Headlines define the structure of the Org-mode file, and also lists
-(for example TODO items (@pxref{TODO items}) should be created using
-headline levels.  However, when taking notes, the plain text is
+Headlines define both the structure of the Org-mode file, and also lists
+(for example, TODO items (@pxref{TODO items}) should be created using
+headline levels).  However, when taking notes, the plain text is
 sometimes easier to read with hand-formatted lists.  Org-mode supports
 editing such lists, and the HTML exporter (@pxref{Exporting}) does
 parse and format them.
@@ -721,11 +721,11 @@ with @samp{-}, @samp{+}, or @samp{*}@footnote{When using @samp{*} as a
 bullet, lines must be indented or they will be seen as top-level
 headlines.  Also, when you are hiding leading stars to get a clean
 outline view, plain list items starting with a star are visually
-indistinguishable from true headlines.  In short: Even though @samp{*}
+indistinguishable from true headlines.  In short: even though @samp{*}
 is supported, it may be better to not use it for plain list items} as
 bullets.  Ordered list items start with @samp{1.} or @samp{1)}.  Items
 belonging to the same list must have the same indentation on the first
-line.  In particular, if an ordered list reaches number @samp{10.}, also
+line.  In particular, if an ordered list reaches number @samp{10.}, then
 the 2--digit numbers must be written left-aligned with the other numbers
 in the list.  Indentation also determines the end of a list item.  It
 ends before the next line that is indented like the bullet/number, or
@@ -850,8 +850,8 @@ Convert region to table.  Works when the cursor is not in an existing
 table, and when there is a region defined.  If every line contains at
 least one TAB character, the function assumes that the material is tab
 separated.  If not, lines are split at whitespace into fields.  You
-can use a prefix argument to indicate how many consecutive spaces are
-at least required to indicate a field separator (default: just one).
+can use a prefix argument to indicate the minimum number of consequtive
+spaces required to indentify a field separator (default: just one).
 
 @tsubheading{Re-aligning and field motion}
 @kindex C-c C-c
@@ -878,7 +878,7 @@ NEWLINE, so it can be used to split a table.
 @kindex M-@key{right}
 @item M-@key{left}
 @itemx M-@key{right}
-Move the current column left/right
+Move the current column left/right.
 
 @kindex M-S-@key{left}
 @item M-S-@key{left}
@@ -892,7 +892,7 @@ Insert a new column to the left of the cursor position.
 @kindex M-@key{down}
 @item M-@key{up}
 @itemx M-@key{down}
-Move the current row up/down
+Move the current row up/down.
 
 @kindex M-S-@key{up}
 @item M-S-@key{up}
@@ -940,7 +940,7 @@ prefix ARG may be used to change the number of desired lines.  If there
 is no region, the current field is split at the cursor position and the
 text fragment to the right of the cursor is prepended to the field one
 line down. If there is no region, but you specify a prefix ARG, the
-current field gets blank, and the content is appended to the field
+current field is made blank, and the content is appended to the field
 above.
 
 @tsubheading{Calculations}
@@ -1008,20 +1008,20 @@ added by hand will become invisible on the next align.
 
 @item M-x org-table-import
 Import a file as a table.  The table should be TAB- or whitespace
-separated.  Useful for example to import an Excel table or data from a
+separated.  Useful, for example, to import an Excel table or data from a
 database, because these programs generally can write TAB-separated text
 files.  This command works by inserting the file into the buffer and
 then converting the region to a table.  Any prefix argument is passed on
 to the converter, which uses it to determine the separator.
 
 @item M-x org-table-export
-Export the table as a TAB-separated file.  Useful for data exchange with
-for example Excel or database programs.
+Export the table as a TAB-separated file.  Useful for data exchange with,
+for example, Excel or database programs.
 
 @end table
 
-If you don't like the automatic table editor because it gets into your
-way in lines which you would like to start with @samp{|}, you can turn
+If you don't like the automatic table editor because it gets in your
+way on lines which you would like to start with @samp{|}, you can turn
 it off with
 @lisp
 (setq org-enable-table-editor nil)
@@ -1062,7 +1062,7 @@ recalculation can be automated.
 
 A formula can be any algebraic expression understood by the Emacs
 @file{calc} package.  Note that @file{calc} has the slightly
-non-standard conversion that @samp{/} has lower precedence than
+non-standard convention that @samp{/} has lower precedence than
 @samp{*}, so that @samp{a/b*c} is interpreted as @samp{a/(b*c)}.  Before
 evaluation by @code{calc-eval} (@pxref{Calling Calc from Your Lisp
 Programs,calc-eval,Calling calc from Your Lisp Programs,calc,GNU Emacs
@@ -1091,7 +1091,7 @@ constant.  Constants are defined globally through the variable
 @code{org-table-formula-constants}.  If you have the
 @file{constants.el} package, it will also be used to resolve
 constants, including natural constants like @samp{$h} for Planck's
-constant, units like @samp{$km} for kilometers.  Column names and
+constant, and units like @samp{$km} for kilometers.  Column names and
 parameters can be specified in special table lines.  These are
 described below, see @ref{Advanced features}.
 
@@ -1106,7 +1106,7 @@ The default settings can be configured using the variable
 @code{org-calc-default-modes}.} during execution, e.g.  @samp{p20} to
 switch the internal precision to 20 digits, @samp{n3}, @samp{s3},
 @samp{e2} or @samp{f4} to switch to normal, scientific, engineering,
-or fix display format, respectively, and @samp{D}, @samp{R}, @samp{F},
+or fixed display format, respectively, and @samp{D}, @samp{R}, @samp{F},
 and @samp{S} to turn on degrees, radians, fraction and symbolic modes,
 respectively.  In addition, you may provide a @code{printf} format
 specifier to reformat the final result.  A few examples:
@@ -1120,7 +1120,7 @@ specifier to reformat the final result.  A few examples:
   tan($1);Dp3s1        @r{Compute in degrees, precision 3, display SCI 1}
   sin($1);Dp3%.1e      @r{Same, but use printf specifier for display}
   vmean($2..$7)        @r{Compute column range mean, using vector function}
-  vsum(&III)           @r{Sum numbers from 3rd hline above to here}
+  vsum(&III)           @r{Sum numbers from 3rd hline above, up to here}
   taylor($3,x=7,2)     @r{taylor series of $3, at x=7, second degree}
 @end example
 
@@ -1164,7 +1164,7 @@ header.
 @node Advanced features, Named-field formulas, Column formulas, Table calculations
 @subsection Advanced features
 
-If you want want the recalculation of fields to happen automatically,
+If you want the recalculation of fields to happen automatically,
 or if you want to be able to assign a formula to an individual field
 (instead of an entire column) you need to reserve the first column of
 the table for special marking characters.  Here is an example of a
@@ -1192,7 +1192,7 @@ features:
 @end example
 
 @noindent @b{Important}: Please note that for these special tables,
-recalculating the table with @kbd{C-u C-c *} does only affect rows
+recalculating the table with @kbd{C-u C-c *} will only affect rows
 which are marked @samp{#} or @samp{*}, and named fields.  The column
 formulas are not applied in rows with empty first field.
 
@@ -1227,7 +1227,7 @@ Selects this line for global recalculation with @kbd{C-u C-c *}, but
 not for automatic recalculation.  Use this when automatic
 recalculation slows down editing too much.
 @item
-Unmarked lines are exempted from recalculation with @kbd{C-u C-c *}.
+Unmarked lines are exempt from recalculation with @kbd{C-u C-c *}.
 All lines that should be recalculated should be marked with @samp{#}
 or @samp{*}.
 @end table
@@ -1240,7 +1240,7 @@ or @samp{*}.
 A named field can have its own formula associated with it.  In the
 example above, this is used for the @samp{at} field that contains
 the average result of the students.  To enter a formula for a named
-field, just type it onto the buffer, preceded by @samp{:=}.  Or use
+field, just type it into the buffer, preceded by @samp{:=}.  Or use
 @kbd{C-u C-c =}.  This equation will be stored below the table like
 @samp{$name=...}.  Any recalculation in the table (even if only
 requested for the current line) will also update all named field
@@ -1251,9 +1251,9 @@ formulas.
 @cindex formula editing
 @cindex editing, of table formulas
 
-To edit a column or field formula, you can use the commands @kbd{C-c
+To edit a column or field formula, use the commands @kbd{C-c
 =} and @kbd{C-u C-c =}, respectively.  The currently active expression
-is then presented as default in the minibuffer, were it may be edited.
+is then presented as default in the minibuffer, where it may be edited.
 
 Note that making a table field blank does not remove the formula
 associated with the field - during the next recalculation the field
@@ -1283,8 +1283,8 @@ installing the changes.
 When the evaluation of a formula leads to an error, the field content
 becomes the string @samp{#ERROR}.  If you would like see what is going
 on during variable substitution and calculation in order to find a
-bug, turn on formula debugging in the menu and repeat the calculation
-by pressing, for example by pressing @kbd{C-c = @key{RET}} in a field.
+bug, turn on formula debugging in the menu and repeat the calculation,
+for example by pressing @kbd{C-c = @key{RET}} in a field.
 Detailed information will be displayed.
 
 @node Appetizer,  , Editing/debugging formulas, Table calculations
@@ -1362,15 +1362,15 @@ Just like HMTL, Org-mode provides links inside a file, and external
 links to other files, Usenet articles, emails and much more.
 
 @menu
-* Internal Links::              Links to other places in the current file
-* External Links::              URL-like links to the world
+* Internal links::              Links to other places in the current file
+* External links::              URL-like links to the world
 * Managing links::              Creating, inserting and following
 * Search Options::              Linking to a specific location
 * Remember::                    Org-trees store quick notes
 @end menu
 
-@node Internal Links, External Links, Hyperlinks, Hyperlinks
-@section Internal Links
+@node Internal links, External links, Hyperlinks, Hyperlinks
+@section Internal links
 @cindex internal links
 @cindex links, internal
 @cindex CamelCase links
@@ -1391,7 +1391,7 @@ the link, in the above example for @samp{my target}.  Links starting
 with a star like @samp{*My Target} restrict the search to headlines.
 When searching, Org-mode will first try an exact match, but then move
 on to more and more lenient searches.  For example, the link
-@samp{[[*My Targets]]} will find any of the following
+@samp{[[*My Targets]]} will find any of the following:
 @example
 ** My targets
 ** TODO my targets are bright
@@ -1414,7 +1414,7 @@ earlier.
 * CamelCase links::             Activating CamelCase words as links
 @end menu
 
-@node Radio targets, CamelCase links, Internal Links, Internal Links
+@node Radio targets, CamelCase links, Internal links, Internal links
 @subsection Radio targets
 
 You can configure Org-mode to link any occurrences of certain target
@@ -1427,7 +1427,7 @@ scanned automatically for radio targets only when the file is first
 loaded into Emacs.  To update the target list during editing, press
 @kbd{C-c C-c} with the cursor on or at a target.
 
-@node CamelCase links,  , Radio targets, Internal Links
+@node CamelCase links,  , Radio targets, Internal links
 @subsection CamelCase words as links
 @cindex completion, of CamelCase links
 @cindex CamelCase links, completion of
@@ -1443,8 +1443,8 @@ needed:
       org-file-link-context-use-camel-case t)
 @end lisp
 
-@node External Links, Managing links, Internal Links, Hyperlinks
-@section External Links
+@node External links, Managing links, Internal links, Hyperlinks
+@section External links
 @cindex links, external
 @cindex external links
 @cindex links, external
@@ -1492,7 +1492,7 @@ recommended to avoid problems with punctuation and other text following
 the link.  See also the variable @code{org-allow-space-in-links}.
 
 
-@node Managing links, Search Options, External Links, Hyperlinks
+@node Managing links, Search Options, External links, Hyperlinks
 @section Managing links
 
 Org-mode provides methods to create a link in the correct syntax, to
@@ -1506,14 +1506,14 @@ Store a link to the current location.  This is a @emph{global} command
 which can be used in any buffer to create a link.  The link will be
 stored for later insertion into an Org-mode buffer (see below).  For
 VM, RMAIL, WANDERLUST, GNUS and BBDB buffers, the link will point to
-the current article/entry.  For W3 and W3M buffer, the link goes to
+the current article/entry.  For W3 and W3M buffers, the link goes to
 the current URL.  For Org-mode files, the current headline is
 targeted.  For any other files, the link will point to the file, with
 a search string (@pxref{Search Options}) pointing to the
 contents of the current line.  If there is an active region, the
 selected words will form the basis of the search string.  The key
 binding @kbd{C-c l} is only a suggestion - see @ref{Installation and
-Activation}.
+activation}.
 
 @kindex C-c C-l
 @cindex link completion
@@ -1546,7 +1546,7 @@ non-text files.  Classification of files is based on file extension
 only.  See option @code{org-file-apps}.  If there is no link at point,
 the current subtree will be searched for one.  If you want to override
 the default application and visit the file with Emacs, use a @kbd{C-u}
-prefix.  If the cursor is on a time stamp, compiles the agenda for
+prefix.  If the cursor is on a time stamp, it compiles the agenda for
 that date.
 
 @strong{IMPORTANT}: Be careful not to use any dangerous commands in a
@@ -1603,7 +1603,7 @@ Jump to line 255.
 @item My Target
 Search for a link target @samp{<<My Target>>}, or do a text search for
 @samp{my target}, similar to the search in internal links, see
-@ref{Internal Links}.
+@ref{Internal links}.
 @item *My Target
 In an Org-mode file, restrict search to headlines.
 @item /regexp/
@@ -1731,16 +1731,16 @@ things you have to do.
 
 @menu
 * TODO basics::                 Marking and displaying TODO entries
-* Progress Logging::            Document your productivity
+* Progress logging::            Document your productivity
 * TODO extensions::             Workflow and assignments
 * Priorities::                  Some things are more important than others
 @end menu
 
-@node TODO basics, Progress Logging, TODO items, TODO items
+@node TODO basics, Progress logging, TODO items, TODO items
 @section Basic TODO functionality
 
 Any headline can become a TODO item by starting it with the word TODO,
-for example
+for example:
 
 @example
 *** TODO Write letter to Sam Fortune
@@ -1780,7 +1780,7 @@ If you would like to have all your TODO items listed as part of your
 agenda, customize the variable @code{org-agenda-include-all-todo}.
 @end table
 
-@node Progress Logging, TODO extensions, TODO basics, TODO items
+@node Progress logging, TODO extensions, TODO basics, TODO items
 @section Progress Logging
 @cindex progress logging
 @cindex logging, of progress
@@ -1799,7 +1799,7 @@ state cycling, that line will be removed again.  In the timeline
 you can then use the @kbd{L} key to display the TODO items closed on
 each day, giving you an overview of what has been done on a day.
 
-@node TODO extensions, Priorities, Progress Logging, TODO items
+@node TODO extensions, Priorities, Progress logging, TODO items
 @section Extended use of TODO keywords
 @cindex extended TODO keywords
 
@@ -1822,7 +1822,7 @@ different org files.
 @cindex workflow states as TODO keywords
 
 You can use TODO keywords to indicate different states in the process
-of working on an item, for example
+of working on an item, for example:
 
 @lisp
 (setq org-todo-keywords '("TODO" "FEEDBACK" "VERIFY" "DONE")
@@ -1870,7 +1870,7 @@ Use prefix arguments or completion to quickly select a specific name.
 You can also review the items of a specific TODO type in a sparse tree
 by using a numeric prefix to @kbd{C-c C-v}.  For example, to see all
 things Lucy has to do, you would use @kbd{C-3 C-c C-v}.  To collect
-collect Lucy's items from all agenda files into a single buffer, you
+Lucy's items from all agenda files into a single buffer, you
 would use the prefix arg as well when creating the global todo list:
 @kbd{C-3 C-c t}.
 
@@ -1979,7 +1979,7 @@ planning.
 A time stamp is a specification of a date (possibly with time) in a
 special format, either @samp{<2003-09-16 Tue>} or @samp{<2003-09-16
 Tue 09:39>}.  A time stamp can appear anywhere in the headline or body
-of an org-tree entry.  Its presence allows to show entries on specific
+of an org-tree entry.  Its presence allows entries to be shown on specific
 dates in the agenda (@pxref{Weekly/Daily Agenda}).  We distinguish:
 
 @table @var
@@ -2045,7 +2045,7 @@ this command is used twice in succession, a time range is inserted.
 @kindex C-u C-c .
 @item C-u C-c .
 Like @kbd{C-c .}, but use the alternative format which contains date
-and time.  The default time can be rounded to to multiples of 5 minutes,
+and time.  The default time can be rounded to multiples of 5 minutes,
 see the option @code{org-time-stamp-rounding-minutes}.
 
 @kindex C-c !
@@ -2196,7 +2196,9 @@ edit these files remotely.
 @section Agenda files
 
 The information to be shown is collected from all @emph{agenda files},
-the files listed in the variable @code{org-agenda-files}.  Thus even
+the files listed in the variable @code{org-agenda-files}@footnote{If the
+value of that variable is not a list, but a single file name, then the
+list of agenda files will be maintained in that external file.}.  Thus even
 if you only work with a single Org-mode file, this file should be put
 into that list@footnote{When using the dispatcher pressing @kbd{1}
 before selecting a command will actually limit the command to the
@@ -2216,7 +2218,7 @@ the front.  With prefix arg, file is added/moved to the end.
 Remove current file from the list of agenda files.
 @kindex C-,
 @item C-,
-Cycle through agenda file list.
+Cycle through agenda file list, visiting one file after the other.
 @end table
 @noindent
 The Org menu contains the current list of files and can be used
@@ -2230,8 +2232,8 @@ to visit any of them.
 @cindex agenda commands, custom
 The views are created through a dispatcher that should be bound to a
 global key, for example @kbd{C-c a} (@pxref{Installation and
-Activation}).  In the following we will assume that @kbd{C-c a} is
-indeed how the dispatcher is accessed and list keyboard access to
+activation}).  In the following we will assume that @kbd{C-c a} is
+indeed how the dispatcher is accessed and lists keyboard access to
 commands accordingly.  After pressing @kbd{C-c a}, an additional
 letter is required to execute a command.  The dispatcher offers the
 following default commands:
@@ -2241,7 +2243,7 @@ Create the calendar-like agenda (@pxref{Weekly/Daily Agenda}).
 @item t / T
 Create a list of all TODO items (@pxref{Global TODO list}).
 @item m / M
-Create a list of headline matching a TAGS expression (@pxref{Matching
+Create a list of headlines matching a TAGS expression (@pxref{Matching
 headline tags}).
 @end table
 
@@ -2265,7 +2267,7 @@ with Emacs Lisp in @file{.emacs}.  For example:
         ("f" occur-tree "\\<FIXME\\>")))
 @end lisp
 @noindent will define @kbd{C-c a w} as a global search for
-TODO entries with @samp{WAITING} as todo keyword, @kbd{C-c a u} as a
+TODO entries with @samp{WAITING} as the TODO keyword, @kbd{C-c a u} as a
 global tags search for headlines marked @samp{:BOSS:} but not
 @samp{:URGENT:}, @kbd{C-c a U} to do the same search but only in the
 current buffer and display the result as a sparse tree, and @kbd{C-c a
@@ -2287,11 +2289,11 @@ a paper agenda, showing all the tasks for the current week or day.
 Compile an agenda for the current week from a list of org files.  The
 agenda shows the entries for each day.  With a @kbd{C-u} prefix (or
 when the variable @code{org-agenda-include-all-todo} is @code{t}), all
-unfinished TODO items (also those without a date) are also listed at
+unfinished TODO items (including those without a date) are also listed at
 the beginning of the buffer, before the first date.@*
 @end table
 
-Remote editing from the agenda buffer means for example that you can
+Remote editing from the agenda buffer means, for example, that you can
 change the dates of deadlines and appointments from the agenda buffer.
 The commands available in the Agenda buffer are listed in @ref{Agenda
 commands}.
@@ -2314,8 +2316,9 @@ with a special line anywhere in the buffer, looking like this:
 #+CATEGORY: Thesis
 @end example
 If there are several such lines in a file, each specifies the category
-for the text below it.  The display in the agenda buffer looks best if
-the category is not longer than 10 characters.
+for the text below it (but the first category also applies to any text
+before the first CATEGORY line).  The display in the agenda buffer looks
+best if the category is not longer than 10 characters.
 
 @node Time-of-day specifications, Calendar/Diary integration, Categories, Weekly/Daily Agenda
 @subsection Time-of-Day Specifications
@@ -2372,7 +2375,7 @@ The time grid can be turned on and off with the variable
 
 Emacs contains the calendar and diary by Edward M. Reingold.  The
 calendar displays a three-month calendar with holidays from different
-countries and cultures.  The diary allows to keep track of
+countries and cultures.  The diary allows you to keep track of
 anniversaries, lunar phases, sunrise/set, recurrent appointments
 (weekly, monthly) and more.  In this way, it is quite complementary to
 Org-mode.  It can be very useful to combine output from Org-mode with
@@ -2390,7 +2393,7 @@ agenda, you only need to customize the variable
 entries including holidays, anniversaries etc will be included in the
 agenda buffer created by Org-mode.  @key{SPC}, @key{TAB}, and
 @key{RET} can be used from the agenda buffer to jump to the diary
-file, in order to edit existing diary entries.  The @kbd{i} command to
+file in order to edit existing diary entries.  The @kbd{i} command to
 insert new entries for the current date works in the agenda buffer, as
 well as the commands @kbd{S}, @kbd{M}, and @kbd{C} to display
 Sunrise/Sunset times, show lunar phases and to convert to other
@@ -2434,7 +2437,7 @@ the TODO entries directly from that buffer (@pxref{Agenda commands}).
 @xref{Global TODO list}, for more information.
 @kindex C-c a T
 @item C-c a T
-Like the above, but allow to select a specific TODO keyword.  You can
+Like the above, but allows selection of a specific TODO keyword.  You can
 also do this by specifying a prefix argument to @kbd{C-c a t}.  With a
 @kbd{C-u} prefix you are prompted for a keyword.  With a numeric
 prefix, the Nth keyword in @code{org-todo-keywords} is selected.
@@ -2487,7 +2490,7 @@ The timeline is not really an agenda view, because it only summarizes
 items from a single Org-mode file.  But it also uses the agenda buffer
 and provides similar commands, so we discuss it here.  The timeline
 shows all time-stamped items in a single Org-mode file (or the
-selected part of it), in @emph{time-sorted view}.  The main purpose of
+selected part of it), in a @emph{time-sorted view}.  The main purpose of
 this command is to give an overview over events in a project.
 
 @table @kbd
@@ -2511,7 +2514,7 @@ file where they originate.  You are not allowed to edit the agenda
 buffer itself, but commands are provided to show and jump to the
 original entry location, and to edit the org-files ``remotely'' from
 the agenda buffer.  In this way, all information is stored only once,
-and you don't risk that your agenda and note files diverge.
+removing the risk that your agenda and note files may diverge.
 
 Some commands can be executed with mouse clicks on agenda lines.  For
 the other commands, the cursor needs to be in the desired line.
@@ -2542,7 +2545,7 @@ Display original location and recenter that window.
 @itemx mouse-1
 @itemx @key{TAB}
 Go to the original location of the item in another window.  Under Emacs
-22, also @kbd{mouse-1} will works for this.
+22, @kbd{mouse-1} will also works for this.
 
 @kindex @key{RET}
 @itemx @key{RET}
@@ -2566,11 +2569,11 @@ Delete other windows.
 
 @kindex w
 @item w
-Switch to weekly view (7 days displayed together)
+Switch to weekly view (7 days displayed together).
 
 @kindex d
 @item d
-Switch to daily view (just one day displayed)
+Switch to daily view (just one day displayed).
 
 @kindex D
 @item D
@@ -2685,7 +2688,7 @@ date at the cursor.
 
 @kindex M
 @item M
-Show the phases of the moon for three month around current date.
+Show the phases of the moon for the three month around current date.
 
 @kindex S
 @item S
@@ -2708,7 +2711,7 @@ Export a single iCalendar file containing entries from all agenda files.
 @tsubheading{Quit and Exit}
 @kindex q
 @item q
-Quit Agenda, remove the agenda buffer.
+Quit agenda, remove the agenda buffer.
 
 @kindex x
 @cindex agenda files, removing buffers
@@ -2753,7 +2756,7 @@ warning.
 @cindex headline levels, for exporting
 In the exported version, the first 3 outline levels will become
 headlines, defining a general document structure.  Additional levels
-will be exported as itemize lists.  If you want that transition to occur
+will be exported as itemized lists.  If you want that transition to occur
 at a different level, specify it with a prefix argument.  For example,
 @example
 @kbd{C-1 C-c C-x a org-export-as-ascii}
@@ -2792,7 +2795,7 @@ Toggle fixed-width for entry (QUOTE) or region, see below.
 @cindex headline levels, for exporting
 In the exported version, the first 3 outline levels will become
 headlines, defining a general document structure.  Additional levels
-will be exported as itemize lists.  If you want that transition to occur
+will be exported as itemized lists.  If you want that transition to occur
 at a different level, specify it with a prefix argument.  For example,
 @example
 @kbd{C-2 C-c C-x b}
@@ -2888,7 +2891,7 @@ correct is to type @samp{#+} and then use @kbd{M-@key{TAB}} completion
 @end example
 @noindent
 The OPTIONS line is a compact form to specify export settings.  Here
-you can
+you can:
 @cindex headline levels
 @cindex section-numbers
 @cindex table of contents
@@ -3164,7 +3167,7 @@ activate changes immediately).
 @end example
 
 You can convert an Org-mode file from single-star-per-level to
-double-star-per-level convention with @kbd{M-x org-convert-to-odd-levels
+the double-star-per-level convention with @kbd{M-x org-convert-to-odd-levels
 RET} in that file.  There is no command for the back conversion because
 such a command might merge levels and in this way destroy the
 structure of the tree.
@@ -3243,7 +3246,7 @@ separate section.  How do I enforce these items to be exported as an
 itemized list?}@*
 If you plan to use ASCII or HTML export, make sure things you want to
 be exported as item lists are level 4 at least, even if that does mean
-there is a level jump.  For example
+there is a level jump.  For example:
 
 @example
 * Todays top priorities
@@ -3267,7 +3270,7 @@ export.  Marking can be done with @kbd{C-c @@ C-x C-x}, for example.
 
 @item @b{Org-mode takes over the S-cursor keys.  I also want to use
 CUA-mode, is there a way to fix this conflict?}@*
-Yes, see @ref{Interaction}
+Yes, see @ref{Interaction}.
 
 @item @b{Is there an easy way to insert an empty table template with a
 default number of rows and columns?}@*
@@ -3301,10 +3304,10 @@ indentation of the first line and realign with @key{TAB}.
 emacs diary?}@*
 Since the org-mode agenda is much more powerful and can contain the
 diary (@pxref{Calendar/Diary integration}), you should think twice
-before deciding to do this.  Inegrating org-mode information into the
+before deciding to do this.  Integrating Org-mode information into the
 diary is, however, possible.  The following steps are necessary:
 Autoload the function @command{org-diary} as shown above under
-@ref{Installation and Activation}.  You also need to use @emph{fancy
+@ref{Installation and activation}.  You also need to use @emph{fancy
 diary display} by setting in @file{.emacs}:
 
 @lisp
@@ -3345,10 +3348,10 @@ Org-mode can cooperate with the following packages:
 @cindex @file{org-mouse.el}
 @item @file{org-mouse.el} by Piotr Zielinski
 This package implements extended mouse functionality for Org-mode.  It
-allows to cycle visibility and to edit the document structure with the
-mouse.  It also provides a context-sensitive menu that changes depending
-on the context of a mouse-click.  Use a search engine to find this
-package on the web.
+allows you to cycle visibility and to edit the document structure with
+the mouse.  It also provides a context-sensitive menu that changes
+depending on the context of a mouse-click.  Use a search engine to find
+this package on the web.
 @cindex @file{table.el}
 @item @file{table.el} by Takaaki Ota
 Org mode cooperates with table.el, see @ref{table.el}.  @file{table.el}
@@ -3399,13 +3402,13 @@ Org mode cooperates with remember, see @ref{Remember}.
 @cindex @file{planner.el}
 @item @file{planner.el} by John Wiegley
 Planner is another tool to plan work and keep track of tasks.  Planner
-uses a multi-file approach with project pages and day pages.  Is based
-on Emacs-Wiki.  If Planner is your primary tool, it can be useful to
-display the agenda entries resulting from org files in day-pages of
+uses a multi-file approach with project pages and day pages.  Is it
+based on Emacs-Wiki.  If Planner is your primary tool, it can be useful
+to display the agenda entries resulting from org files in day-pages of
 the planner.  This can be done through the diary of the calendar:
-Integrate org files into the diary as described above, and then turn
-on the diary support of planner.  Planner is not part of Emacs, find it
-on the web.
+integrate org files into the diary as described above, and then turn on
+the diary support of planner.  Planner is not part of Emacs, find it on
+the web.
 @end table
 
 @node Bugs, Acknowledgments, Interaction, Miscellaneous
@@ -3469,7 +3472,7 @@ Thomas Baumann contributed the code for links to the MH-E email system.
 @item
 Alex Bochannek provided a patch for rounding time stamps.
 @item
-Charles Cave's suggestion sparked the implementation of templates for
+Charles Caves' suggestion sparked the implementation of templates for
 Remember.
 @item
 Pavel Chalmoviansky influenced the agenda treatment of items with

BIN
orgcard.pdf


+ 3 - 4
orgcard.tex

@@ -1,4 +1,6 @@
-% Reference Card for Org Mode 4.12
+% Reference Card for Org Mode
+\def\orgversionnumber{4.13}
+\def\year{2006}
 %
 %**start of header
 \newcount\columnsperpage
@@ -58,9 +60,6 @@
 % Thanks to Paul Rubin, Bob Chassell, Len Tower, and Richard Mlynarik
 % for their many good ideas.
 
-\def\orgversionnumber{4.12}
-\def\year{2006}
-
 \def\shortcopyrightnotice{\vskip 1ex plus 2 fill
   \centerline{\small \copyright\ 2004, 2005, 2006\ Free Software Foundation, Inc.
   Permissions on back.  v\orgversionnumber}}

Some files were not shown because too many files changed in this diff