From 70b6cc5da4f46a5951154f65730aa8572a14eea4 Mon Sep 17 00:00:00 2001 From: Carsten Dominik Date: Thu, 31 Jan 2008 11:36:18 +0100 Subject: [PATCH] Release 5.10a --- ChangeLog | 2170 +++++++++++++++++++++++++++++++++++++++++++ Makefile | 20 +- README | 2 +- org | 1812 +++++++++++++++++++----------------- org-export-latex.el | 858 +++++++---------- org-install.el | 10 +- org-mouse.el | 209 +++-- org-publish.el | 20 +- org.el | 1456 ++++++++++++++++++++--------- org.pdf | Bin 794141 -> 804513 bytes org.texi | 718 ++++++++------ orgcard.pdf | Bin 59099 -> 59121 bytes orgcard.tex | 15 +- orgcard_letter.pdf | Bin 59653 -> 58785 bytes 14 files changed, 5132 insertions(+), 2158 deletions(-) create mode 100644 ChangeLog diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 000000000..4df89103b --- /dev/null +++ b/ChangeLog @@ -0,0 +1,2170 @@ + +2007-09-26 Carsten Dominik + + * org.el (turn-on-orgstruct++): New function. + (org-table-convert-region): Prefix arg interpreted differently in + terms of field separator. + (org-icalendar-include-body-as-description): New option. + (org-export-icalendar-clean-description): New function. + (org-link-escape): New argument TABLE. + (org-link-escape-chars-browser): New constant. + (org-open-at-point): Call `org-link-escape' with new argument. + (org-export-html-extension): New option. + (org-read-date): New argument DEFAULT-TIME. No longer determine + default time from buffer context. + (org-time-stamp): Pass default time to `org-read-date'. + (org-refresh-category-properties): New function. + (org-dblock-write:clocktable): Interpret the :scope parameter. + (org-archive-subtree): Use category properties. + (org-prepare-agenda-buffers): Call + `org-refresh-category-properties'. + (org-category-table): Variable removed. + (org-get-category-table): Function removed. + (org-get-category): Just get the property now. + (org-tags-view, org-agenda-get-day-entries) + (org-print-icalendar-entries): No longer create the category table. + (org-columns-check-computed): New function. + (org-columns-compute): Mark computed values. + (org-columns-update): Set also the `org-columns-value' property. + (org-indent-item): Fix bullet type before thinking about + renumbering. + +2007-09-26 Bastien Guerry + + * org-export-latex.el (org-export-latex-emphasis-alist): + Each list of the alist now requires three elements. +----------------------------------------------------------------- +Installed as 5.09 + + 2007-09-14 Bastien Guerry + + * org-export-latex.el (org-export-latex-tables-verbatim): New + function. + (org-export-latex-remove-from-headlines): Name changed because of + typo. + (org-export-latex-quotation-marks-convention): Option removed. + (org-export-latex-make-preamble): Handle the DATE option. + (org-export-latex-cleaned-string): Now the only cleaning function, + synched up with org.el. + (org-export-latex-lists, org-export-latex-parse-list) + (org-export-list-to-latex): New functions. + + +2007-09-13 Carsten Dominik + + * org.el (org-kill-is-subtree-p): Use `org-outline-regexp'. + (org-outline-regexp): New constant. + (org-remember-handler): Throw error when the target file is not in + org-mode. + (org-cleaned-string-for-export): No longer call + `org-export-latex-cleaned-string' with an argument. + (org-get-tags): Returns now a list, not a string. + (org-get-tags-string): New function. + (org-archive-subtree): No need to split return of `org-get-tags'. + (org-set-tags, org-entry-properties): Call `org-get-tags-string' + instead of `org-get-tags'. + (org-agenda-format-date): Renamed from `org-agenda-date-format'. + (org-time-from-absolute, org-agenda-format-date-aligned): New + functions. + (org-compatible-face): New argument INHERITS. Inherit from this + face if possible. + (org-level-1, org-level-2, org-level-3, org-level-4) + (org-level-5, org-level-6, org-level-7, org-level-8) + (org-special-keyword, org-drawer, org-column, org-warning) + (org-archived, org-todo, org-done, org-headline-done, org-table) + (org-formula, org-code, org-agenda-structure) + (org-scheduled-today, org-scheduled-previously) + (org-upcoming-deadline, org-time-grid): Call `org-compatible-face' + in the new way. + (org-get-heading): New argument NO-TAGS. + (org-fast-tag-selection-include-todo): Made defvar instead of + defcustom, feature is not deprecated. + (org-remember-store-without-prompt): New default value t. + (org-todo-log-states): New variable. + (org-set-regexps-and-options): #+TODO is an alias for SEQ_TODO. + Compute the log states. + (org-goto-map): More commands copied from global map. Also bind + `org-occur'. + (org-goto): Made into a general lookup command. + (org-get-location): Complete rewrite. + (org-goto-exit-command): New variable. + (org-goto-selected-point): New variable. + (org-goto-ret, org-goto-left, org-goto-right, org-goto-quit): Set + the new variables. + (org-paste-subtree): Whitespace insertion strategy revised. + (org-remember-apply-template): Protect v-A from the possibility + that v-a might be nil. + (org-remember-handler): Insertion rules revised. + (org-todo): Respect org-todo-log-states. + (org-up-heading-safe): New function. + (org-entry-get-with-inheritance): Use `org-up-heading-safe'. + + * org.texi: Change links to webpage and maintained email. + (Remember): Promoted to Chapter, significant changes. + (Fast access to TODO states): New section. + (Faces for TODO keywords): New section. + (Export options): Example for #+DATE. + (Progress logging): Section moved. + +---------------------------------------------------------------------- +installed in Emacs as 5.08 + +2007-09-09 Carsten Dominik + + * org.el (org-re): Also replace the :alpha: class. + (org-todo-tag-alist): Variable removed. + (org-todo-key-alist, org-todo-key-trigger) New variables. + (org-use-fast-todo-selection): New option. + (org-log-done): Docstring fixed. + (org-deadline-warning-days): New default value 14. + (org-edit-timestamp-down-means-later) New option. + (org-tag-alist): Docstring fixed. + (org-fast-tag-selection-include-todo): New option. + (org-export-language-setup): New languages added. + (org-set-regexps-and-options): Compute the new variables. + (org-paste-subtree): Cleaning up. + (org-remember-apply-template): New escape %A. + (org-todo): Call fast TODO selection. + (org-fast-todo-selection): New function. + (org-add-log-note): Allow prefix for abort exit. + (org-at-property-p, org-entry-properties) + (org-columns-get-autowidth-alist): Use :alpha: class. + (org-get-wdays): New function. + (org-agenda-remove-date): New variable. + (org-agenda-get-deadlines): Use `org-get-wdays'. + (org-agenda-get-deadlines): Reverse ee before returning. + (org-format-agenda-item): New argument REMOVE-RE. + (org-agenda-convert-date): Baha'i calendar added. + (org-infile-export-plist): Also find DATE line. + (org-get-min-level): New function. + (org-export-as-html, org-export-as-ascii): Use the date format. + (org-shiftup, org-shiftdown): Use. + `org-edit-timestamp-down-means-later'. + (org-assign-fast-keys): New function. + +---------------------------------------------------------------------- + +2007-08-30 Carsten Dominik + + * org.el (org-export-visible): Fix drawers before export. + (org-do-sort): Allow sorting by priority. + (org-agenda-files): Ignore non-existing files. + (org-agenda-skip-unavailable-files): New variable. + (org-ellipsis): All a face as value. + (org-mode): Interprete the face value of `org-ellipsis'. + (org-archive-save-context-info): New option. + (org-archive-subtree): Store context info in archived entry. + (org-fast-tag-selection-can-set-todo-state): New variable. + (org-fast-tag-selection): Allow setting TODO states through this + interface. + (org-cycle): Docstring updated. + (org-todo-keyword-faces): New option. + (org-get-todo-face): New function. + (org-set-font-lock-defaults, org-agenda-highlight-todo): Use + `org-get-todo-face'. + (org-switch-to-buffer-other-window): New function. + (org-table-edit-field, org-table-show-reference) + (org-table-edit-formulas, org-add-log-note) + (org-fast-tag-selection, org-agenda, org-prepare-agenda) + (org-timeline): Use `org-switch-to-buffer-other-window' instead of + `switch-to-buffer-other-window' to make sure that the temporary + windows show up on the current frame. + (org-mhe-get-message-real-folder, org-batch-store-agenda-views) + (org-get-entries-from-diary, org-replace-region-by-html): Don't + allow pop-up frames. + (org-agenda-get-deadlines, org-agenda-get-scheduled): Fixed + problems with time-of-day. + (org-export-get-title-from-subtree): New function. + (org-agenda-get-scheduled, org-agenda-get-deadlines): Fix problems + with listing items that are DONE. + (org-change-tag-in-region): New command. + (org-agenda-skip-scheduled-if-done) + (org-agenda-skip-deadline-if-done): Docstring clarified. + (org-mode): Hide drawers on startup. + (org-get-todo-face): New function. + (org-todo-keyword-faces): New option. + +------------------------------------------------------------------------- + +2007-08-21 Carsten Dominik + + * org.el (org-agenda-skip): Allow a form for + `org-agenda-skip-function'. + (org-agenda-redo): Re-use local settings. + (org-agenda): Store local settings. + (org-agenda-deadline-faces): New option. + (org-agenda-deadline-face): New function. + (org-agenda-get-deadlines, org-agenda-get-scheduled): Also handle + entries on their due date. + (org-agenda-get-timestamps): No longer handle the due dates of + schedules and deadline items. + (org-insert-link-global, org-open-at-point-global): New commands. + (org-export-as-ascii): Call + `org-cleaned-string-for-export' with a :for-ascii parameter. + (org-skip-comments): Function removed. + (org-cleaned-string-for-export): Handle special table lines. + (org-global-properties): New option. + (org-entry-get-with-inheritance): Check global properties. + (org-local-properties): New variable. + (org-set-regexps-and-options): Find the #+PROPERTY line. + (org-link-types): Change type into variable (was constant). + (org-make-link-regexps): New function. + (org-link-re-with-space, org-link-re-with-space2) + (org-angle-link-re, org-plain-link-re, org-bracket-link-regexp) + (org-bracket-link-analytic-regexp, org-any-link-re): Creation of + these regular expressions happens now in the function + `org-make-link-regexps'. + (org-store-link): Call the functions in `org-store-link-functions'. + (org-add-link-type): New function. + (org-store-link-functions): New variable. + (org-activate-tags): Force matches to be in headlines. + (org-batch-store-agenda-views): Fix bug with killing agenda buffer. + (org-columns-display-here): Make sure this works in a narrowed + buffer by checking for point-min. + (org-columns-display-here): Make the rest of the line intangible, + so that point never can be there. + (org-cleaned-string-for-export): Use `with-current-buffer'. + (org-replace-region-by-html): Use `with-current-buffer'. + (org-unfontify-region, org-do-occur, org-columns-display-here) + (org-columns-remove-overlays, org-columns-quit) + (org-columns-edit-value, org-columns-next-allowed-value) + (org-eval-in-calendar, org-agenda-undo, org-no-read-only) + (org-finalize-agenda, org-remove-subtree-entries-from-agenda) + (org-agenda-todo, org-agenda-change-all-lines) + (org-agenda-align-tags, org-agenda-priority) + (org-agenda-set-tags, org-agenda-toggle-archive-tag) + (org-agenda-show-new-time, org-cleaned-string-for-export) + (org-export-grab-title-from-buffer): + (org-export-as-ascii, org-export-as-html): Use `inhibit-read-only' + instead of `buffer-read-only'. + (org-export-as-html): Set `coding-system-for-write'. + (org-remember-store-without-prompt): New option. + (org-archive-subtree): Fixed bug with modifying TODO keyword. + (org-beginning-of-line): Also treat C-a special in items. + (org-table-convert-refs-to-rc): Fixed problem with column + reference after "..". + (org-columns-compute): Don't mark buffer modified because of text + properties. + (org-batch-store-agenda-views): Use the variable + `default-directory', not the function. + (org-clock-out-if-current): Respect + `org-clock-out-when-done'. + (org-clock-out-when-done): New option. + (org-html-entities): Added HTML entities for smileys. + + * org.texi (Adding hyperlink types): New section. + (Embedded LaTeX): Chapter updated because of LaTeX export. + (LaTeX export): New section. + (Using links out): New section. + + +----------------------------------------------------------------- + +2007-07-10 Carsten Dominik + + * org.texi (Properties and columns): Chapter rewritten. + +2007-07-03 Carsten Dominik + + * org.el (org-agenda-day-view, org-agenda-week-view): Remember + span as default. + + (org-columns-edit-value): Renamed from `org-column-edit'. + (org-columns-display-here-title): Renamed from + `org-overlay-columns-title'. + (org-columns-remove-overlays): ` Renamed from + org-remove-column-overlays'. + (org-columns-get-autowidth-alist): ` Renamed from + org-get-columns-autowidth-alist'. + (org-columns-display-here): Renamed from `org-overlay-columns'. + (org-columns-new-overlay): Renamed from `org-new-column-overlay'. + (org-columns-quit): Renamed from `org-column-quit'. + (org-columns-show-value): Renamed from `org-column-show-value'. + (org-columns-content, org-columns-widen) + (org-columns-next-allowed-value) + (org-columns-edit-allowed, org-columns-store-format) + (org-columns-uncompile-format, org-columns-redo) + (org-columns-edit-attributes, org-delete-property) + (org-set-property, org-columns-update) + (org-columns-compute, org-columns-eval) + (org-columns-not-in-agenda, org-columns-compute-all) + (org-property-next-allowed-value) + (org-columns-compile-format) + (org-fill-paragraph-experimental) + (org-string-to-number, org-property-action) + (org-columns-move-left, org-columns-new ) + (org-column-number-to-string) + (org-property-previous-allowed-value) + (org-at-property-p, org-columns-delete) + (org-columns-previous-allowed-value) + (org-columns-move-right, org-columns-narrow) + (org-property-get-allowed-values) + (org-verify-version, org-column-string-to-number) + (org-delete-property-globally): New functions. + (org-columns-current-fmt): Renamed from `org-current-columns-fmt'. + (org-columns-overlays): Renamed from `org-column-overlays'. + (org-columns-map): Renamed from `org-column-map'. + (org-columns-current-maxwidths): Renamed from + `org-current-columns-maxwidths'. + (org-columns-begin-marker, org-columns-current-fmt-compiled) + (org-previous-header-line-format) + (org-columns-inhibit-recalculation) + (org-columns-top-level-marker): New variables. + (org-columns-default-format): Renamed from + `org-default-columns-format'. + (org-property-re): New constant. + + + +===================================================================== + +Installed as 5.01b + +2007-07-02 Carsten Dominik + + * org.el (orgstruct-mode-map): New variable. + (orgstruct-mode): New minor mode. + (turn-on-orgstruct, orgstruct-error, orgstruct-setup) + (orgstruct-make-binding, org-context-p, org-get-local-variables) + (org-run-like-in-org-mode): New functions. + (org-cycle-list-bullet): New command. + (org-special-properties, org-property-start-re) + (org-property-end-re): New constants. + (org-with-point-at): New macro. + (org-get-property-block, org-entry-properties, org-entry-get) + (org-entry-delete, org-entry-get-with-inheritance) + (org-entry-put, org-buffer-property-keys): New functions. + (org-insert-property-drawer): New command. + (org-entry-property-inherited-from): New variable. + (org-column): New face. + (org-column-overlays, org-current-columns-fmt) + (org-current-columns-maxwidths, org-column-map): New variables. + (org-column-menu): New menu. + (org-new-column-overlay, org-overlay-columns) + (org-overlay-columns-title, org-remove-column-overlays) + (org-column-show-value, org-column-quit, org-column-edit): New + functions. + (org-columns, org-agenda-columns): New commands. + (org-get-columns-autowidth-alist): New functions. + (org-properties): New customize group. + (org-default-columns-format): New option. + +2007-06-28 Carsten Dominik + + * org.el (org-priority): Realign tags after changing priority. + (org-preserve-lc): New macro. + (org-update-checkbox-count): Catch case when there is no headline. + (org-agenda-quit): Remove any column overlays. + +2007-06-25 Carsten Dominik + + * org.el (org-beginning-of-item-list): Fixed bug when non-item + line is indented too deep. + +2007-06-24 Carsten Dominik + + * org.el (org-cached-props): New variable. + (org-cached-entry-get): New function. + (org-make-tags-matcher): Handle property matches. + +2007-06-22 Carsten Dominik + + * org.el (org-table-recalculate): Swap evaluation order: Field + formula first, then column formulas, but don't allow them to + overwrite the field formulas. + (org-table-eval-formula): New argument untouchable. + (org-table-put-field-property): New function. + +======================================================================== + +2007-06-21 Carsten Dominik + + * org.el (org-export-with-footnotes): New option. + +2007-06-20 Carsten Dominik + + * org.el (org-export-as-html): Fixed replacement bug for XEmacs. + (org-agenda-default-appointment-duration): New option. + +2007-06-19 Carsten Dominik + + * org.texi (Tag): Section swapped with node Timestamps. + (Formula syntax for Lisp): Document new `L' flag. + + * org.el (org-end-time-was-given): New variable. + (org-read-date): Look for time range. + (org-timestamp-change): Deal with time range issues. + (org-modify-ts-extra): New function. + (org-remember-apply-template, org-add-planning-info) + (org-time-stamp, org-time-stamp-inactive): Make use of + `org-end-time-was-given'. + (org-set-regexps-and-options, org-activate-tags) + (org-archive-subtree, org-toggle-tag) + (org-make-org-heading-search-string, org-open-at-point) + (org-link-search, org-remember-handler, org-complete) + (org-scan-tags, org-make-tags-matcher, org-fast-tag-selection) + (org-get-tags, org-get-buffer-tags, org-dblock-write:clocktable) + (org-agenda-list-stuck-projects, org-format-agenda-item) + (org-agenda-align-tags, org-get-tags-at, org-export-as-ascii) + (org-ascii-level-start, org-export-as-html) + (org-export-cleanup-toc-line, org-html-level-start): Use [:alnum:] + to match tags, in order to allow lanufage-specific characters in + tags. + (org-beginning-of-item-list): New command. + (org-target): New face. + (org-activate-links): New link type target. + + + +====================================================================== + +2007-06-06 Carsten Dominik + + * textmodes/org.el: + (org-export-region-as-html, org-replace-region-by-html) + (org-number-to-letters, org-table-fedit-finish) + (org-normalize-color, org-table-fedit-ref-right) + (org-date-to-gregorian, org-table-fedit-move) + (org-table-convert-refs-to-rc, org-calendar-holiday) + (org-table-fedit-toggle-ref-type, org-write-agenda) + (org-colgroup-info-to-vline-list, org-agenda-todo-previousset) + (org-defkey, org-encode-for-stdout) + (org-indent-line-function, org-export-as-html-to-buffer) + (org-store-agenda-views, org-update-mode-line) + (org-find-if, org-delete-all) + (org-table-fedit-convert-buffer, org-emphasize) + (org-uniquify, org-table-fedit-lisp-indent) + (org-table-fedit-scroll, org-get-todo-sequence-head) + (org-table-fedit-scroll-down, org-table-fedit-line-down) + (org-table-fedit-ref-left, org-agenda-export-csv-mapper) + (org-table-fedit-toggle-coordinates, org-dvipng-color) + (org-table-fedit-line-up, org-table-fedit-ref-down) + (org-table-formula-from-user, org-mode-flyspell-verify) + (org-cycle-show-empty-lines, org-ctrl-c-ret) + (org-table-formula-to-user, org-diary-to-ical-string) + (orgtbl-export, org-table-fedit-post-command) + (org-closed-in-range, org-shiftcontrolright) + (org-table-convert-refs-to-an, org-table-hline-and-move) + (org-table-formula-less-p, org-format-table-ascii) + (org-agenda-get-sexps, org-shift-refpart) + (org-diary-sexp-entry, org-time-string-to-absolute) + (org-table-show-reference, org-letters-to-number) + (org-fix-agenda-info, org-table-fedit-ref-up) + (org-table-fedit-shift-reference, org-table-fedit-abort) + (org-closest-date, org-shiftcontrolleft) + (org-at-heading-or-item-p, org-rematch-and-replace) + (org-agenda-todo-nextset, org-export-grab-title-from-buffer): New + function. + (org-table-edit-scroll-down, org-finish-edit-formulas) + (org-table-edit-next-field, org-abort-edit-formulas) + (org-font-lock-level, org-export-find-first-heading-line) + (org-table-edit-line-down, org-table-edit-backward-field) + (org-edit-formula-lisp-indent, org-table-edit-move) + (org-check-log-option, org-this-word) + (org-table-edit-line-up, org-table-edit-formulas-post-command) + (org-agenda-file-to-end, org-expand-file-name) + (org-fake-empty-table-line, org-table-edit-scroll) + (org-toggle-log-option, org-show-reference): Function removed. + (org-inhibit-invisibility, org-table-formula-make-cmp-string): New + defsubst. + (org-unmodified, org-batch-store-agenda-views) + (org-batch-agenda-csv): New macro. + (org-agenda-export): New customization group. + (org-agenda-skip-deadline-if-done, org-agenda-remove-tags) + (org-highest-priority, org-agenda-exporter-settings) + (org-log-done-with-time, org-replace-disputed-keys) + (org-format-latex-header, org-export-table-header-tags) + (org-cycle-separator-lines, org-export-table-data-tags) + (org-icalendar-include-sexps) + (org-empty-line-terminates-plain-lists) + (org-log-repeat, org-special-ctrl-a) + (org-table-use-standard-references, org-disputed-keys) + (org-export-skip-text-before-1st-heading, org-agenda-with-colors) + (org-agenda-export-html-style): New option. + (org-allow-auto-repeat, org-agenda-remove-tags-when-in-prefix) + (org-CUA-compatible): Option removed. + (org-agenda-structure, org-sexp-date): New face. + (org-todo-keywords-for-agenda, org-not-done-keywords) + (org-planning-or-clock-line-re, org-agenda-name) + (org-table-colgroup-info, org-todo-sets) + (constants-unit-system, org-clock-mode-line-entry) + (org-mode-line-timer, org-table-current-begin-pos) + (org-todo-keywords-1, org-mode-line-string) + (org-table-clean-did-remove-column, org-table-fedit-map) + (org-clock-heading, org-table-buffer-is-an) + (org-agenda-info, org-done-keywords) + (org-done-keywords-for-agenda, org-todo-heads) + (org-todo-kwd-alist, org-clock-start-time): New variable. + (org-todo-kwd-priority-p, org-edit-formulas-map) + (org-repeat-re, org-todo-kwd-max-priority) + (org-version, org-done-string) + (org-table-clean-did-remove-column-1, org-disputed-keys): Variable + removed. + (org-table-translate-regexp, org-repeat-re, org-version): New + constant. + (org-ts-lengths): Constant removed. + (org-follow-gnus-link): Don't ask how many articles to read. + (org-export-find-first-export-line): Renamed from + `org-export-find-first-heading'. Use + `org-export-skip-text-before-1st-heading'. + (org-table-fedit-post-command): Renamed from + `org-table-edit-formulas-post-command'. + (org-table-fedit-finish): Renamed from `org-finish-edit-formulas'. + (org-table-fedit-abort): Renamed from `org-abort-edit-formulas'. + (org-table-fedit-lisp-indent): Renamed from + `org-edit-formula-lisp-indent'. + (org-table-show-reference): Renamed from `org-show-reference'. + (org-table-store-formulas): Use `org-table-formula-less-p'. + (org-table-edit-formulas): Position cursor to current field + equation. + (org-update-checkbox-count, org-hide-archived-subtrees) + (org-timestamp-up-day, org-timestamp-down-day) + (org-shiftmetaleft, org-shiftmetaright, org-shiftmetaup) + (org-shiftmetadown, org-metaleft, org-metaright, org-metaup) + (org-metadown, org-shiftup, org-shiftdown, org-shiftright) + (org-shiftleft, org-ctrl-c-ctrl-c, org-context): Let + `org-on-heading-p' also check for invisible heading. + (org-read-date): Match am/pm times. + (org-eval-in-calendar): Fix default date in prompt. + +------------------------------------------------------------------------- + +installed as 4.67 + +2007-02-25 Carsten Dominik + + * org.texi (The spreadsheet): Renamed from "Table calculations". + Completely reorganized and rewritten. + (CamelCase links): Section removed. + (Repeating items): New section. + (Tracking TODO state changes): New section. + (Agenda views): Chapter reorganized and rewritten. + (HTML export): Section rewritten. + (Tables in arbitrary syntax): New section. + (Summary): Better feature summary. + (Activation): Document problem with cut-and-paste of Lisp code + from PDF files. + (Visibility cycling): Document indirect buffer use. + (Structure editing): Document sorting. + (Remember): Section rewritten. + (Time stamps): Better description of time stamp types. + (Tag searches): DOcument regular expression search for tags. + (Stuck projects): New section. + (In-buffer settings): New keywods. + (History and Acknowledgments): Updated description. + +2007-02-22 Carsten Dominik + + * org.el (org-table-overlay-coordinates) + (org-table-toggle-coordinate-overlays): New functions. + (org-table-overlay-coordinates, org-table-coordinate-overlays): + New variables. + (org-startup-with-deadline-check): Option removed. + (org-mode): Remove deadline check on startup. + (org-table-limit-column-width): Option removed. + (org-table-formula-numbers-only): Option removed. + (org-link-style, org-link-format): Options removed. + (org-select-agenda-window, org-fit-agenda-window): Options + removed. + (org-export-ascii-show-new-buffer) + (org-export-html-show-new-buffer): Options removed. + (org-activate-links): Camel option removed. + (org-file-link-context-use-camel-case): Option removed. + (org-camel-regexp): Veriable removed. + (org-activate-camels): Function removed. + (org-store-link): Removed Camel stuff. + (org-make-org-heading-camel): Function removed. + (org-open-at-point): Removed camel stuff. + (org-link-search): Removed camel stuff. + (org-camel-to-words): Function removed. + (org-get-agenda-file-buffer): Make sure we prepare the + base buffers, not any indirect buffers. + (org-sort-entries): Sort top-level when not on a + headline, and no active region. + (org-in-regexp): New function. + (org-search-not-self): Renamed from `org-search-not-link'. + (org-open-link-marker): New variable. + (org-open-at-point): Set `org-open-link-marker'. + (org-print-icalendar-entries): Fixed bug with excluding DONE + entries from the exported list. + (org-edit-formula-lisp-indent): New command. + (orgtbl-to-texinfo, orgtbl-to-html): New functions. + (orgtbl-to-latex, orgtbl-insert-radio-table) + (orgtbl-toggle-comment, orgtbl-send-table): New functions. + (orgtbl-radio-table-templates): New option. + (org-store-link-props): + (org-remember-templates): More possibilities to insert + info into templates. + (org-remember-apply-template): Make use of the extended template + capabilities. + (org-remember-redo-template): New command. + (org-upgrade-old-links) + (org-table-modify-formulas, org-table-replace-in-formulas) + (org-table-find-dataline) + (org-table-get-vertical-vector): Functions removed. + (org-table-remove-rectangle-highlight) + (org-time-stamp-format, org-toggle-log-option) + (org-table-highlight-rectangle) + (org-table-iterate, org-table-make-reference): + (org-translate-time, org-tree-to-indirect-buffer) + (org-table-field-info, org-table-fix-formulas) + (org-table-force-dataline, org-table-get-descriptor-line) + (org-table-get-range) + (org-skip-comments, org-sort) + (org-sort-entries, org-sublist, org-table-add-rectangle-overlay) + (org-table-current-dline, org-table-current-field-formula) + (org-table-edit-backward-field) + (org-table-edit-formulas-post-command) + (org-table-edit-line-down, org-table-edit-line-up) + (org-agenda-archive) + (org-agenda-clock-cancel) + (org-agenda-clock-out, org-agenda-list-stuck-projects) + (org-agenda-open-link, org-agenda-show-new-time) + (org-agenda-skip-subtree-when-regexp-matches) + (org-agenda-tree-to-indirect-buffer, org-agenda-undo) + (org-at-regexp-p, org-auto-repeat-maybe, org-check-log-option) + (org-do-sort, org-file-image-p, org-find-overlays) + (org-find-row-type, org-get-indirect-buffer, org-get-repeat) + (org-highlight-until-next-command, org-isearch-end) + (org-match-any-p, org-next-link, org-previous-link): + (org-remove-subtree-entries-from-agenda, org-replace-escapes) + (org-rewrite-old-row-references) + (org-isearch-post-command) + (org-table-edit-move, org-table-edit-next-field) + (org-table-edit-scroll, org-table-edit-scroll-down) + (org-set-frame-title, org-show-reference) + (org-unhighlight-once, org-verify-change-for-undo): New + functions. + (org-show-variable): Command removed. + (org-add-log-maybe): New arguments STATE, FINDPOS + (org-table-sort-lines): Rewritten from scratch. + (org-link-search): New argument AVOID-POS. + (org-print-icalendar-entries): Argument CATEGORY removed. + (org-run-agenda-series): Argument WONDOW removed. + (org-next-link, org-previous-link): New commands. + (org-agenda-date-format): New option. + (org-table-iterate): New command. + (org-table-modify-formulas) + (org-table-replace-in-formulas): Functions removed. + (org-table-fix-formulas): New function. + (org-table-insert-column, org-table-delete-column) + (org-table-move-column): Use `org-table-fix-formulas'. + (org-follow-gnus-link): Patch from Bastien/Leo. + (org-table-current-field-formula): New function. + (org-file-image-p): New function. + (org-agenda-show-new-time): New function. + (org-agenda-date-later): Call `org-agenda-show-new-time'. + (org-with-remote-undo): New macro. + (org-agenda-undo): New command. + (org-verify-change-for-undo): New function. + (org-time-stamp-format): New function. + (org-agenda-get-timestamps): Skip scheduled if DONE and requested + by user. + (org-match-any-p): New function. + (org-make-tags-matcher): Handle regular expressions for tag and + todo matches. + (org-read-date): Accept "+N" as input for a date relative to the + current date. + (org-remove-subtree-entries-from-agenda): New function. + (org-agenda-archive, org-agenda-kill): Use + `org-remove-subtree-entries-from-agenda'. + (org-do-sort, org-sort-entries): New functions. + (org-sort): New command. + (org-table-sort-lines): Use `org-do-sort'. + (org-fix-decoded-time): New function. + (org-table-number-regexp): Require 0x... to identify as number in + tables. + (org-startup-options): New keywords for note taking. + (org-upgrade-old-links): Function removed. + (org-get-repeat): New function. + (org-show-context): Also show siblings on current level. + (org-show-siblings): New function. + (org-isearch-end, org-isearch-post-command): New functions. + (org-show-siblings): New option. + (org-show-context): Use `org-show-siblings'. + (org-table-maybe-recalculate-line): No longer require `calc-eval' + to be bound, because user may just use elisp. + +---------------------------------------------------------------------- +installed as 4.56 + +2006-11-15 Carsten Dominik + + * org.texi: Fix typos + (Agenda commands): Document `C-k'. + + * orgcard.tex (section{Agenda Views}): Document `C-k'. + + * org.el (org-scan-tags): Re-align code fixed. + (org-detach-overlay): Renamed from `org-detatch-overlay'. + (org-table-convert-region): Insert space after column separator. + (org-agenda-kill): New command. + (org-metaleft): Call `org-outdent-item' on bullets. + (org-metaright): Call `org-indent-item' on bullets. + (org-timestamp-change): Set `org-last-changed-timestamp'. + (org-current-line): Make sure (bolp) returns correct result. + (org-agenda-change-all-lines): Make sure TODO are highlighted. + +---------------------------------------------------------------------------- +Installed as 4.54 + +2006-11-10 Carsten Dominik + + * org.el (org-scan-tags): Make the search case-sensitive. + (org-tags-sparse-tree): Don't overrule + `org-show-following-heading' and `org-show-hierarchy-above'. + (org-reveal): New command. + (org-show-context): Renamed from `org-show-hierarchy-above'. + (org-fast-tag-selection-single-key): New option. + (org-fast-tag-show-exit, org-set-current-tags-overlay): New + functions. + (org-tags-overlay): New variable. + (org-agenda-todo-ignore-deadlines): New option. + ("session"): Add circular data structure `org-mark-ring' to + exceptions list in session.el. + (org-agenda-window-setup, org-agenda-restore-windows-after-quit): + New options. + (org-agenda-quit): Use `org-agenda-restore-windows-after-quit'. + (org-prepare-agenda, org-agenda-quit): Use + `org-agenda-window-setup'. + (org-pre-agenda-window-conf, org-blank-before-new-entry): New + variables. + (org-finalize-agenda): Activate bracket links in agenda. + (org-at-timestamp-p, org-at-date-range-p): Additional argument + INACTIVE-OK. + (org-show-hierarchy-above, org-show-following-heading): List + values allowed for fine-tuned configuration. + (org-show-hierarchy-above): New argument CONTEXT, use the + fine-tuned settings in `org-show-hierarchy-above' and + `org-show-following-heading'. + (org-display-custom-time): New function. + (org-toggle-time-stamp-overlays, org-insert-time-stamp): New + function. + (org-display-custom-times, org-time-stamp-custom-formats): + (org-maybe-intangible): New macro. + (org-activate-bracket-links, org-hide-wide-columns): Use + `org-maybe-intangible'. + (org-open-file): Use `shell-quote-argument'. + (org-display-internal-link-with-indirect-buffer): New option. + (org-file-remote-p): Get regexp from list. + (org-link-expand-abbrev): New function. + (org-link-abbrev-alist): New option. + (org-open-at-point, org-cleaned-string-for-export): Call + `org-link-expand-abbrev'. + (org-timeline, org-agenda-list, org-todo-list) + (org-tags-view): Remove the KEEP-MODES argument. + (org-finalize-agenda-hook): New hook. + (org-get-alist-option): New function. + (org-follow-timestamp-link): New function. + (org-open-at-point): Call `org-follow-timestamp-link'. + (org-log-note-marker, org-log-note-purpose) + (org-log-note-window-configuration): New variables. + (org-add-log-maybe, org-add-log-note, org-store-log-note): New + functions. + (org-log-note-headings): New option. + (org-dblock-write:clocktable): Bug fix, removed infinite loop. + (org-store-link): Support for dired-mode. + (org-open-file): Substitute environment variables into filename. + (org-last): New defsubst. + (org-agenda-re-align-tags): New function. + (org-agenda-align-tags-to-column): New option. + (org-agenda-timeline): Group removed. + (org-prepare-agenda, org-prepare-agenda-buffers) + (org-run-agenda-series, org-timeline, org-agenda-list) + (org-todo-list, org-tags-view): Call `org-agenda-prepare' and set + the text property inticating the agenda type. + (org-agenda-post-command-hook): Get agenda type from text property + at point. + (org-agenda): Handle command sets. Set + `org-agenda-last-arguments' and obey + `org-agenda-overriding-arguments'. + (org-agenda-overriding-arguments, org-agenda-last-arguments): New + variables. + (org-agenda-goto-today, org-agenda-later, org-agenda-earlier) + (org-agenda-week-view, org-agenda-day-view): Use + `org-agenda-overriding-arguments' to make updating work with + multi-block agendas. + (org-agenda-prefix-format): Allow different formats for the + different agenda entry types. + (org-timeline-prefix-format): Option removed, use + `org-agenda-prefix-format' instead. + (org-prepare-agenda): New function. + (org-select-timeline-window): Option removed, use + `org-select-agenda-window' instead. + (org-respect-restriction): Variable removed. + (org-cmp-tag): New function. + (org-agenda-sorting-strategy, org-entries-lessp): Implement + sorting by last tag. + (org-complete): Better completion in in-buffer option lines. + (org-in-item-p): New function. + (org-org-menu): Added entries for checkboxes. + (org-cycle): Extra brouping in outline-regexp, because it is used + in a search with "^" prepended. + (org-provide-checkbox-statistics): New option. + (org-set-font-lock-defaults): Highlight checkbox statistics. + (org-update-checkbox-count-maybe) + (org-get-checkbox-statistics-face): New functions. + (org-update-checkbox-count): New command. + (org-insert-item, org-toggle-checkbox): Call + `org-update-checkbox-count-maybe'. + (org-export-as-html): XEmacs compatibility for coding system. + (org-force-cycle-archived): New command. + (org-cycle-hide-archived-subtrees): Display message when ARCHIVE + overrules cycling. + (org-fix-position-after-promote): If the line contains only a todo + keyword, add a final space. + (org-promote-subtree, org-demote-subtree): Call + `org-fix-position-after-promote'. + + * orgcard.tex (section{Archiving}): Document C-TAB. + (section{TODO Items and Checkboxes}): Checkbox keys moved to this + section, added documentation for the key `C-c #'. + + * org.texi (ARCHIVE tag): Document C-TAB for forcing cycling of + archived trees. + (Checkboxes): Section moved to chapter 5, and extended. + (The date/time prompt): New section. + (Link abbreviations): New section. + (Presentation and sorting): New section. + (Custom agenda views): Section completely rewritten. + (Summary): Compare with Planner. + (Feedback): More info about creating backtraces. + (Plain lists): Modified example. + (Breaking down tasks): New section. + (Custom time format): New section. + (Time stamps): Document inactive timestamps. + (Setting tags): More details about fast tag selection. + (Block agenda): New section. + (Custom agenda views): Section rewritten. + (Block agenda): New section. + + +---------------------------------------------------------------------- +installed as 4.44 + + +2006-08-15 Carsten Dominik + + * org.el (org-clock-special-range, org-clock-update-time-maybe): + New functions. + (org-stamp-time-of-day-regexp): Allow weekday to be of word chars, + not only a-z. + (org-agenda-get-blocks): Allow multiple blocks per headline. + (org-timestamp-change): Call `org-clock-update-time-maybe'. + (org-export-html-title-format) + (org-export-html-toplevel-hlevel): New options. + (org-export-language-setup): Added support for Czech. + (org-mode, org-insert-todo-heading, org-find-visible) + (org-find-invisible, org-invisible-p, org-invisible-p2) + (org-back-to-heading, org-on-heading-p, org-up-heading-all) + (org-show-subtree, org-show-entry, org-make-options-regexp): + Removed compatibility support for old outline-mode. + (org-check-occur-regexp): Funtion removed. + (org-on-heading-p, org-back-to-heading): Made defalias. + (org-set-local): New defsubst. + (org-set-regexps-and-options, org-mode) + (org-set-font-lock-defaults, org-edit-agenda-file-list) + (org-timeline, org-agenda-list, org-todo-list, org-tags-view) + (org-remember-apply-template, org-table-edit-field) + (org-table-edit-formulas, orgtbl-mode, org-export-as-ascii) + (org-set-autofill-regexps): Use `org-set-local'. + (org-table-eval-formula): Fixed bug with parsing of display flags. + + +---------------------------------------------------------------------- +installed as 4.43 + +2006-07-07 Carsten Dominik + + * org.texi (Exporting): Document `C-c C-e' as the prefix for + exporting commands. + (Global TODO list): Document the use of the variables + `org-agenda-todo-ignore-scheduled' and + `org-agenda-todo-list-sublevels'. + + * org.el (org-agenda-get-todos): Skip subtree also if entry is + skipped because it has been scheduled. + (org-prepare-agenda-buffers): Don't mark buffers as modified when + changing `:org-archived' and `:org-comment' properties. + +---------------------------------------------------------------------- +installed as 4.42 + + +2006-07-03 Carsten Dominik + + * org.el (org-mode): Removed no invalid settings for calc embedded + mode. + (org-mode-p): New defsubst. + (org-save-all-org-buffers): New function. + (org-first-headline-recenter): Enclose outline-regexp in group + delimiters. + + * org.texi (Agenda commands): Document `s' key to save all + org-mode buffers. + + * orgcard.tex (section{Agenda Views}): Document `s' key to save + all org-mode buffers. + +---------------------------------------------------------------------- +installed as 4.41 + +2006-06-29 Carsten Dominik + + * org.texi (Checkboxes): New section. + + * orgcard.tex (section{Structure Editing}): Document checkbox + toggling. + + * org.el (org-prepare-agenda-buffers): Use `invisible-OK' argument + for `org-end-of-subtree'. + (org-export-cleanup-toc-line): Renamed from + `org-html-cleanup-toc-line'. + (org-beginning-of-item): Fixed bug in regular expression for white + line. + (org-export-as-html): Enforce space after bullet in plain list + items. + +2006-06-28 Carsten Dominik + + * org.el (org-set-autofill-regexps): Require space after plain + list bullet for paragraph-start. + (org-ts-regexp3): New constant. + (org-at-timestamp-p): New optional argument ALSO-INACTIVE. + (org-timestamp-up-day, org-timestamp-down-day) + (org-timestamp-change): Work with inactive timestamps. + (org-ts-regexp1): Don't allow brackets in time stamps. + +---------------------------------------------------------------------- +installed as 4.40 + + +2006-06-28 Carsten Dominik + + * org.el (org-context): New contexts :item-bullet, :latex-fragment, + :latex-preview. + (org-overlays-at, org-overlay-start, org-overlay-end): New + compatibility functions. + +2006-06-27 Carsten Dominik + + * org.el (org-inside-LaTeX-fragment-p): More accurate matching, + using the exact regexp that will be used during export. + (org-latex-regexps): New variable. + (org-cdlatex-mode): Improved advice for `texmathp'. + (turn-on-org-cdlatex): New function. + +---------------------------------------------------------------------- +installed as 4.39 + +2006-06-23 Carsten Dominik + + * org.el (org-cdlatex-mode-map) + (org-cdlatex-texmathp-advice-is-done): New variables. + (org-cdlatex-mode): New minor mode. + (org-inside-LaTeX-fragment-p, org-try-cdlatex-tab): New + functions. + (org-cdlatex-underscore-caret, org-cdlatex-math-modify): New + commands. + (org-export-with-archived-trees): New option. + (org-open-file): Removed the call to + `convert-standard-filename'. + (org-archive-tag, org-agenda-skip-archived-trees) + (org-cycle-open-archived-trees) + (org-sparse-tree-open-archived-trees): New options. + (org-cycle-hide-archived-subtrees, org-hide-archived-subtrees) + (org-toggle-tag, org-prepare-agenda-buffers, org-agenda-skip): New + functions. + (org-agenda-toggle-archive-tag, org-toggle-archive-tag): New + commands. + (org-agenda-mode-map): Add binding of + `org-agenda-toggle-archive-tag'. + (org-mode-map): Add binding for `org-toggle-archive-tag'. + (org-timeline, org-agenda-list, org-todo-list, org-tags-view): + Call `org-prepare-agenda-buffers'. + (org-occur, org-scan-tags): Call `org-hide-archived-subtrees'. + (org-file-apps, org-file-apps-defaults-gnu) + (org-file-apps-defaults-macosx) + (org-file-apps-defaults-windowsnt): Handle remote files by forcing + them to be opened in Emacs. + + * orgcard.tex (section{LaTeX and cdlatex-mode}): New section. + + * org.texi (Embedded LaTeX): New chapter. + (Archiving): Section rewritten. + (Enhancing text): Some parts moved to the new chapter about + LaTeX. + +---------------------------------------------------------------------- +installed as 4.38 + + +2006-06-18 Carsten Dominik + + * org.texi (Publishing links): Document the + `:link-validation-function' property. + (Extensions and Hacking): New chapter, includes some sections of + the "Miscellaneous" chapter. + + * orgcard.tex (section{Clocking Time}): Add new clocking commands. + (section{Structure Editing}): Add global archiving command. + + + * org.el Require noutline, also on XEmacs. + (org-end-of-subtree): Return point. + (org-dblock-start-re, org-dblock-end-re): New constants. + (org-create-dblock, org-prepare-dblock, org-map-dblocks) + (org-dblock-update, org-update-dblock, org-beginning-of-dblock) + (org-update-all-dblocks, org-find-dblock): New functions. + (org-collect-clock-time-entries): New function. + (org-html-handle-time-stamps): Never export CLOCK timeranges. + (org-fixup-indentation): Modified to deadl correctly with lines + starting with TAB. Only one argument DIFF now. + (org-demote, org-promote): Call `org-fixup-indentation' with just + one argument, DIFF. + (org-mode): Don't mark buffer as modified when aligning tables. + (org-clock-sum): Don't makr buffer modified when adding time sum + properties. + (org-export-as-html): Added support for a link validation + function. + (org-archive-all-done): New function. + (org-archive-subtree): New prefix argument. When set, archive all + done subtrees in this buffer. + (org-remove-clock-overlays) + (org-remove-occur-highlights): Use + `org-inhibit-highlight-removal'. + (org-inhibit-highlight-removal): New variable, for dyn amic + scoping. + (org-put-clock-overlay): Don't swallow last headline character + when displaying overlay. + (org-store-link): Link to `image-mode' with just the file name. + + +---------------------------------------------------------------------- +installed as 4.37 + + +2006-06-10 Carsten Dominik + + * org.el (org-agenda-mode-map): Add bindings for clocking + functions. + (org-agenda-clock-in, org-check-running-clock) + (org-clock-out-if-current, org-remove-clock-overlays) + (org-put-clock-overlay): New functions. + (org-clock-marker, org-clock-file-total-minutes) + (org-clock-overlays): New variables + (org-clock-display, org-clock-sum, org-clock-cancel) + (org-clock-out, org-clock-in): New commands. + (org-export): New function. + (org-emph-re): New constant. + (org-set-emph-re, org-do-emphasis-faces): New functions. + (org-emphasis-regexp-components, org-emphasis-alist): New options. + (org-set-font-lock-defaults): Call `org-do-emphasis-faces'. + (org-export-html-convert-emphasize): Use the configurable + emphasis. + (org-cleaned-string-for-export): Make multiline emphasis visible + to the exporter. New optional argument PARAMETERS. + (org-export-as-html): Specify :emph-multiline parameter to + `org-cleaned-string-for-export'. + + * org.texi (Progress logging): New section. + +---------------------------------------------------------------------- +installed as 4.36 + + +2006-06-02 Carsten Dominik + + * org.el (org-archive-subtree): Use end-of-subtree as insertion + point and control the number of empty lines. + (org-paste-subtree): Limit the number of empty lines at the end of + the inserted tree. + (org-agenda): Use buffer name of current file for narrowing. + (org-export-as-xml): Command removed. + (org-export-xml-type): Option removed. + (org-mode-map): Call `org-export-as-xoxo' directly. + (org-get-indentation): New optional argument LINE. + (org-fix-indentation, org-remove-tabs): New functions. + (org-export-as-ascii, org-ascii-level-start): Determine and apply + correct indentation for headlines that are converted it items. + (org-skip-comments): Remove table lines that contain narrowing + cookies but no other non-empty fields. + (org-set-tags): Allow groups of mutually exclusive tags. + (org-cmp-time): Sort 24:21 before items without time. + (org-get-time-of-day): Fixed the interpretation of 12pm and 12am. + (org-open-at-point): Require double colon also for numbers. + + * org.texi (ASCII export): Document indentation adaptation. + (Setting tags): Document mutually-exclusive tags. + +---------------------------------------------------------------------- +installed as 4.35 + +2006-05-30 Carsten Dominik + + * org.el (org-agenda-highlight-todo): Make sure regexp does only + match in the right place. + (org-upcoming-deadline): New face. + (org-agenda-get-deadlines): Use new face `org-upcoming-deadline'. + (org-export-ascii-underline): Renamed and made an option (was + constant `org-ascii-underline'). + (org-export-ascii-bullets): New option. + (org-export-as-html): Many changes to emit valid XHTML. + (org-par-open): New variable. + (org-open-par, org-close-par-maybe, org-close-li-maybe): New + functions. + (org-html-do-expand, org-section-number): Fixedcase in + `replace-match'. + (org-timeline): Pass `org-timeline-show-empty-dates' to + `org-get-all-dates'. Interpret empty dates returned by + `org-get-all-dates'. + (org-get-all-dates): New argument EMPTY. Add dates without + entries to the list, mark large ranges of empty dates. + (org-point-in-group, org-context): New functions. + +---------------------------------------------------------------------- +installed as 4.34 + +2006-05-26 Carsten Dominik + + * org.el (org-next-item, org-previous-item): Emit more compact + error message. + (org-tags-view): Refresh category table in each file. + (org-table-justify-field-maybe): Removed superfluous arguments to + `format'. + (org-export-as-html): Insert "

" before postamble. + (org-paste-subtree, org-kill-is-subtree-p): Check for empty kill + ring. + +--------------------------------------------------------------------- +installed as 4.33 + +2006-05-23 Carsten Dominik + + * org.el (org-open-at-point): Use renamed variable + `org-confirm-shell-link-function'. + (org-confirm-shell-link-function): Renamed from + `org-confirm-shell-links'. + (org-export-directory): New function. + (org-export-as-ascii, org-export-as-html, org-export-as-xoxo) + (org-export-icalendar): Use `org-export-directory'. + (org-indent-item): Keep cursor position. + (org-link-file-path-type): New option. + (org-export-as-html): Fixed bug with plain lists starting in + column 0. + (org-export-as-html): Removed deadline formatting, this happens + now already in `org-html-handle-time-stamps'. + (org-export-html-style): Deadline class removed. + (org-insert-labeled-timestamps-at-point): New option. + (org-cycle, org-occur, org-scan-tags): Use `org-overview' instead + of `hide-sublevels 1', in case the first headline is not level 1. + (org-overview, org-content): New fuction. + (org-cycle-global-status, org-cycle-subtree-status): Make these + variables buffer-local. + (org-global-cycle): New command. + (org-shifttab): Use `org-global-cycle'. + (org-insert-heading, org-insert-item): Go to end of new + headline/item after creating it. + (org-export-visible): Renames from `org-export-copy-visible'. Now + creates a temporary org-file and applies an exporting command to + it. + (org-table-eval-formula): Support for lisp forms. + (org-agenda-todo-ignore-scheduled): New option. + (org-agenda-get-todos): Use new option + `org-agenda-todo-ignore-scheduled'. + (org-export-html-inline-images): New value `maybe'. + (org-export-as-html): Inlining of images dependent on link + description. + (org-archive-subtree): Check for end-of-buffer before trying + `kill-line'. + (org-agenda-follow-mode): New option. + (org-export-with-tags, org-export-with-timestamps): New options. + (org-html-handle-time-stamps): New function. + (org-keyword-time-regexp): New variable. + (org-agenda-get-todos): Use `org-agenda-todo-list-sublevels'. + (org-agenda-todo-list-sublevels): New option. + (org-html-level-start): When TITLE is nil, just close all levels. + (org-parse-key-lines, org-parse-export-options): Functions + removed, replaced by `org-infile-export-plist'. + (org-combine-plists, org-infile-export-plist) + (org-default-export-plist): New functions. + (org-export-html-preamble, org-export-html-postamble) + (org-export-html-auto-preamble, org-export-html-auto-postamble): + New variables. + (org-export-publishing-directory): New option. + (org-export-as-html, org-export-as-ascii): Use the new property + lists for settings. + (org-export-copy-visible, org-export-as-xoxo): Respect + `org-export-publishing-directory'. + (org-link-search, org-store-link, org-file-apps): Support for + links to BibTeX database entries.. + (org-get-current-options, org-set-regexps-and-options): Implement + logging as a startup option. + (org-store-link): Make sure context string is never empty + (org-insert-link): Use relative path when possible. + (org-at-item-checklet-p): New function. + (org-shifttab, org-shiftmetaleft, org-shiftmetaright) + (org-shiftmetaup, org-shiftmetadown, org-metaleft) + (org-metaright, org-metaup, org-metadown, org-shiftup) + (org-shiftdown, org-shiftright, org-shiftleft) + (org-ctrl-c-ctrl-c, org-cycle, org-return, org-meta-return): + Dispatch using `call-interactively'. + (org-call-with-arg): New defsubst. + (org-tag-alist, org-use-fast-tag-selection): New options. + (org-complete): Use `org-tag-alist'. + (org-fast-tag-insert, org-fast-tag-selection): New functions. + (org-next-item, org-previous-item): New commands. + (org-beginning-of-item, org-end-of-item): Added (interactive) to + make command. + (org-shiftup, org-shiftdown): Accommodate the item-navigation commands. + + * org.texi (Plain lists): Added new item navigation commands. + (External links): Documented elisp and info links. + + * orgcard.tex (section{Motion}): Added the item navigation + commands. + (section{Publishing}): New section. + (section{Links}): Documented elisp and shell links. + (Custom searches): New section. + (Publishing): New chapter. + (HTML export): Include a list of supported CSS classes. + (Setting tags): Describe the fast-tag-setting interface. + +---------------------------------------------------------------------- + +installed as 4.26 + +2006-04-21 Carsten Dominik + + * org.texi Many small fixes. + (Handling links): Renamed from "Managing links". + + * org.el (org-mode-map): Catch conflict with old allout.el. + (org-open-at-point): Remove the "...done" message to keep + output in the echo area visible. + +---------------------------------------------------------------------- +installed as 4.25 + +2006-04-19 Carsten Dominik + + * org.el (org-deadline-announce): Face removed. + (org-level-faces, org-n-levels): Converted to constant. + (org-compatible-face): New function. + (org-hide, org-level-1, org-level-2, org-level-3, org-level-4) + (org-level-5, org-level-6, org-level-7, org-level-8) + (org-special-keyword, org-warning, org-headline-done, org-link) + (org-date, org-tag, org-todo, org-done, org-table, org-formula) + (org-scheduled-today, org-scheduled-previously, org-time-grid): + Face definition revised for better color tty support. + (org-bold-re, org-italic-re, org-underline-re): New constants. + (org-set-font-lock-defaults): Use the new constants. + (org-agenda-highlight-todo): New function. + (org-agenda-todo): Fixed bug with point at end of line. + (org-agenda-change-all-lines, org-finalize-agenda-entries): + Fontify TODO keywords. + (org-insert-link): Preserve relative path in ../ links. + (org-export-as-html): Convert links pointing to .org files into + links that will work beteen the exported HTML files. + (org-todo-list): Fix bug when arg=0. + (org-insert-heading): More fine-tuning. + + * org.texi (Time stamps): Better explanation of the purpose of + different time stamps. + +---------------------------------------------------------------------- +installed as 4.24 + + + * org.texi (Formula syntax): Fixed link to Calc Manual. + + * org.el (org-insert-heading): Insert heading before current if at + beginning of line. + (org-todo, org-date): New faces. + (org-table-align): Make sure tooltip window contains full text. + (org-no-properties): New defsubst. + (org-set-font-lock-defaults): Use new faces. + +---------------------------------------------------------------------- +installed as 4.23 + + + * org.texi (Visibility cycling): Better names for the startup + folding options. + (Exporting): Completely restructured. + (The very busy C-c C-c key): New section. + (Summary of in-buffer settings): New section. + + * org.el (org-set-regexps-and-options, org-get-current-options): + Better names for the startup folding options. + + +---------------------------------------------------------------------- +installed as 4.22 + + + +2006-04-13 Carsten Dominik + + * org.el (org-ctrl-c-ctrl-c): Improved documentation string. + (org-agenda-mouse-1-follows-link) + (org-mouse-1-follows-link): New options. + (org-format-agenda-item): Fixed bug if TAGS is nil. + (org-agenda-get-scheduled): Quote `priority' symbol in plist. + + * org.texi (Updating settings): New section. + +---------------------------------------------------------------------- +installed as 4.21 + + + +2006-04-11 Carsten Dominik + + * org.texi (Link format): New section, emphasis on bracket links. + (External links): Document bracket links. + (FAQ): Expanded to cover shell links and the new link format. + + * orgcard.tex (section{Tables}): Document column narrowing. + (section{Links}): Document bracket links. + + * org.el + (org-export-plain-list-max-depth) + (org-table-spaces-around-separators) + (org-radio-targets, org-activate-camels) + (org-table-spaces-around-invisible-separators): Options removed. + (org-time-stamp-rounding-minutes, org-remember-templates) + (org-ellipsis, org-activate-links, org-descriptive-links): New + options. + (org-remember-apply-template, org-current-time) + (org-finish-edit-table-field) + (org-link-unescape, org-link-escape) + (org-string-width, org-table-clean-line, org-html-do-expand) + (org-edit-agenda-file-list, org-store-new-agenda-file-list) + (org-read-agenda-file-list): New functions. + (org-table-edit-field) + (org-table-create-or-convert-from-region): New commands + (org-table-toggle-vline-visibility): Command removed. + (org-table-convert-region): Made a command. + (orgtbl-deleta-backward-char,orgtbl-delete-char): Commands + removed, replaced with the normal org- functions. + (org-self-insert-command): Don't trigger realign unnecessarily + when blanking a field that is not full. + (org-mode): `Set buffer-invisibility-spec' for links. + (org-activate-links2): Hide link part and only show descriptive + part of the link. + (org-insert-link): Modified for new linking system. + (org-store-link): Store description separately, for use by + `org-insert-link'. + (org-table-align): Use `org-string-width'. + (defgroup): Completely new group structure for custom variables. + (org-agenda-files): Option: Single file name allowed. Function: + Optional argument unrestrited means ignore any restricitons. + (org-install-agenda-files-menu): Find a buffer in Org-mode before + trying to modify the menu. Use generalized access to + `org-agenda-files.' + (org-agenda-list, org-todo-list, org-cycle-agenda-files) + (org-agenda-file-to-front, org-remove-file, org-diary) + (org-tags-view, org-export-icalendar-all-agenda-files) + (org-export-icalendar-combine-agenda-files): Use generalized + access to `org-agenda-files'. + (org-remember-handler): Correctly preserve heading if present. + (org-table-insert-row, org-table-insert-hline): Deal with + invisible characters. + +---------------------------------------------------------------------- +installes as 4.13 + + + +------------------------------------------------------------------- +installed as 4.10 + +2006-03-14 Carsten Dominik + + * org.el (org-insert-centered): Use `string-width' to make + underlining work for wide characters. + +2006-03-13 Carsten Dominik + + * org.el (org-goto-map, org-agenda-mode-map, org-mode-map): + Explicitly bind TAB to `org-cycle', to make sure that no binding + in `outline-mode-map' can supercede it. + +-------------------------------------------------------------- +installed as 4.09 +2006-03-13 Carsten Dominik + + * org.el (org-link-search): Avoid self-matching of links, allow + target text to be distributed over several lines. + (org-search-not-link): New function. + (org-set-regexps-and-options, org-get-current-options): New + startup options. + (org-export-as-html): Take odd-level setting from local variable. + (org-fontify-emphasized-text): New option. + (org-set-font-lock-defaults): Include emphasized text. + (org-follow-mhe-link): Allow folder-only links, fix folder name. + (org-font-lock): Customize group renamed from `org-faces'. + + * org.texi (Clean view): Startup options documented. + + + +-------------------------------------------------------------- +installed as 4.08 + + + +2006-03-07 Carsten Dominik + + * org.el Move defvars out of eval-when-compile. Use + buffer-file-name variable. + (org-agenda-file-to-end, org-agenda-file-to-front): Remove unused + arg `file'. + (org-level-faces): Remove startup dependency. + (org-cycle, org-map-tree, org-scan-tags) + (org-remember-handler): Don't call `outline-level' directly. + (org-mhe-search-all-folders): New option. + (org-mhe-get-message-folder-from-index, + org-mhe-get-message-folder): Fix indexing search. + (org-format-agenda-item): Handle nil TAGS argument. + (org-cleaned-string-for-export, org-activate-target-links) + (org-make-target-link-regexp): Deal with empty radio target list. + (org-tag): New face. + (org-get-level-face): New function. + (org-set-font-lock-defaults): Simplify setup for headlines. + (org-complete): Pass common substring to `display-completion-list'. + + -------------------------------------------------------------- +installed as 4.07 + + +2006-02-28 Carsten Dominik + + * org.el (org-get-legal-level, org-tr-level): New functions. + (org-odd-levels-only): New option. + (org-level-faces, org-paste-subtree, org-convert-to-odd-levels, + org-demote, org-promote): Deal with double-star levels. + (org-convert-to-odd-levels): New command. + (org-tr-level): + + * org.el (org-export-as-html): Fixed bugs in HTML + formatting (removed nested achors). + (org-all-targets): Fixed bug with XEmacs compatibility. + (org-read-date): Add (require 'parse-time). + (org-set-tags): Fixed bug with extra inserted space. + (org-export-html-style): Define a style class for targets. + (org-agenda-keymap, org-mouse-map): Added a binding for + `follow-link'. + (org-hide-leading-stars): New option. + (org-hide): New face. + (org-set-font-lock-defaults): Allow to hide leading stars. + + * org.texi (Interaction): Added item about `org-mouse.el' by Piotr + Zielinski. + (Managing links, Managing links): Documented that also mouse-1 can + be used to activate a link. + (Headlines, FAQ): Added entry about hiding leading stars. + +-------------------------------------------------------------------------- +installed as 4.06 + +2006-02-23 Carsten Dominik + + * org.el (org-cleaned-string-for-export, org-solidify-link-text): + New function. + (org-add-hook): Use `add-local-hook' instead of `make-local-hook' + for XEmacs, just to silence the compiler. + (org-export-as-ascii, org-export-as-html-and-open): Use + `org-cleaned-string-for-export' and create internal links. + (org-follow-mhe-link): Require mh-e, use folder. + (org-read-date): + +-------------------------------------------------------------------------- + Installed as 4.05 + + +2006-02-21 Carsten Dominik + + * org.el (org-mark-ring-previous, org-mark-ring-set): New + commands. + (org-mark-ring): New variable. + (org-mark-ring-length): New option. + (org-open-at-point, org-goto, org-open-file): Push old position + onto the mark ring. + (org-add-hook): New function. + (org-export-table-remove-special-lines): New option. + (org-skip-comments, org-format-org-table-html): Respect new option + `org-export-table-remove-special-lines'. + (org-open-file): Allow special command configuration for + directory link. + (org-file-apps): Fixed bugs in customize type, added setting for + directories. + (org-activate-tags, org-format-agenda-item, org-complete) + (org-get-tags-at, org-scan-tags, org-make-tags-matcher) + (org-get-tags, org-get-buffer-tags, org-open-at-point) + (org-link-search, org-make-org-heading-search-string) + (org-make-org-heading-camel): Allow @ and 0-9 as tags characters. + (org-radio-targets, org-file-link-context-use-camel-case) + (org-activate-camels): New options. + (org-update-radio-target-regexp, org-all-targets) + (org-make-target-link-regexp, org-activate-target-links): New + functions. + (org-make-org-heading-search-string): New function. + (org-store-link, org-insert-link): Use new option + `org-file-link-context-use-camel-case'. + (org-activate-camels): Use new option `org-activate-camels'. + (org-link-regexp): Added mhe prefix. + (org-open-at-point,org-store-link): Support for mhe links. + (org-mhe-get-message-id, org-mhe-get-message-folder) + (org-mhe-get-header,org-follow-mhe-link): New functions. + (org-remove-angle-brackets, org-add-angle-brackets): New + functions. + (org-bracked-link-regexp): New constant. + (org-read-date): Fixed bug that was rejecting all typed dates. + (org-link-search): Make hierarchy above visible after a match. + (org-follow-bbdb-link): Inhibit electric mode for BBDB. + (org-store-link): Fixed bug with link creation when cursor is in + an empty line. + (org-open-at-point): Fixed bug with matching a link. Fixed buggy + argument sequence in call to `org-view-tags'. + (org-compile-prefix-format): Set `org-prefix-has-tag'. + (org-prefix-has-tag): New variable. + (org-format-agenda-item): Remove tags from headline if + appropriate. + (org-agenda-remove-tags-when-in-prefix): New option. + + * org.texi (Internal Links): Rewritten to cover the modified + linking system. + + * orgcard.tex (section{Links}): Rewritten to cover the modified + link system. + (section{TODO Items}): Shortened to make space for more links + stuff. + + + +---------------------------------------------------------------------- +installed as 4.03 + +2006-01-13 Carsten Dominik + + * org.texi (Agenda commands): Document tags command. + + * org.el (org-open-file): Use mailcap for selecting an + application. + (org-file-apps-defaults-gnu): Use mailcap as the default for + selecting an application on a UNIX system. + (org-agenda-show-tags): New command. + (org-table-insert-hline): Keep cursor in current table + line. + (org-table-convert): Offset effect of modifying + `org-table-insert-hline'. + (org-format-agenda-item): New optional argument TAG. + (org-compile-prefix-format): Handle %T format for the tag. + (org-expand-wide-chars): New function. + (org-table-insert-row, org-table-insert-hline): Use + `org-expand-wide-chars'. + (org-open-file): Fixed bug in program launch. + (org-get-time-of-day): Fixed bug with times before 1am. + (org-agenda-menu): Addes tags commands. + + ----------------------------------------------------------------------- +installed as 4.02 + +2006-01-02 Carsten Dominik + + * org.el (org-end-of-subtree): New function. + (org-cycle, org-subtree-end-visible-p, org-scan-tags): Use + `org-end-of-subtree'. + (org-agenda, org-agenda-convert-date): Protect calls to + `fit-window-to-buffer'. + (org-tags-view): Force matching of sublevels when doing a + todo-only search. Define the correct redo command, including the + arguments. + (org-agenda-redo): Display message. + (org-check-for-org-mode): New function. + (org-agenda-type): New variable. + (org-timeline, org-agenda-list, org-todo-list, org-tags-view): Set + `org-agenda-type'. + (org-agenda-check-type): New function. + (org-agenda-goto-today, org-agenda-later, org-agenda-earlier) + (org-agenda-week-view, org-agenda-day-view) + (org-agenda-next-date-line, org-agenda-previous-date-line) + (org-agenda-log-mode, org-agenda-toggle-diary) + (org-agenda-toggle-time-grid, org-agenda-date-later) + (org-agenda-date-prompt, org-agenda-diary-entry) + (org-agenda-execute-calendar-command, org-agenda-goto-calendar) + (org-agenda-convert-date, org-agenda-menu): Use + `org-agenda-check-type'. + (org-make-overlay, org-delete-overlay) + (org-detatch-overlay, org-move-overlay, org-overlay-put): New + compatibility functions. + (org-calendar-select-mouse): New command. + + * org.texi (Agenda Views): Chapter reorganized. + + +------------------------------------------------------------------------ +installed as 4.01 + +2005-12-19 Carsten Dominik + + * org.texi (Tags): Booolean logic documented. + (Agenda Views): Document custom commands. + + * org.el (org-agenda-custom-commands): New option. + (org-agenda): Offer custom commands on splash screen. + (org-make-tags-matcher): Parser for Boolean logic added. + (org-agenda-set-tags): New command. + (org-agenda-menu, org-agenda-mode-map): Add `org-agenda-set-tags'. + (org-set-tags): Efficiency improvements. + (org-auto-align-tags): New option. + (org-todo, org-demote, org-promote): Realign tags. + (org-tags-completion-function): Use also "&" and "|" as + separators. + (org-org-menu): Agenda commands simplified. + +--------------------------------------------------------------------------- +installed as 4.00 + +2005-12-16 Carsten Dominik + + * org.el (org-tags-match-list-sublevels): New option. + (org-open-at-point): implement tag searches as links + (org-fit-agenda-window, org-get-buffer-tags, org-get-tags) + (org-make-tags-matcher, org-scan-tags, org-activate-tags): New + functions + (org-tags-sparse-tree, org-tags-view, org-set-tags) + (org-agenda-dispatch): New commands. + (org-use-tag-inheritance, org-tags-column): New options. + (org-tab-follows-link, org-return-follows-link): New options. + (org-tags): New customize group. + (org-start-icalendar-file): Get local time zone. + (org-tags-completion-function): New function. + (org-set-font-lock-defaults): make sure links will also + be highlighted inside headlines. + + * org.texi (Tags): New section. + (Agenda Views): Chapter reorganized. + +------------------------------------------------------------------------ +installed as 3.24 + +2005-12-12 Carsten Dominik + + * org.el (org-agenda, org-timeline, org-todo): Implement Logging + and the keep-modes setting. + (org-get-category): Make sure a string is returned. + (org-log-done): New function. + +------------------------------------------------------------------------ +installed as 3.23 + +2005-12-06 Carsten Dominik + + * org.el (org-insert-heading): Try to do items before headings. + (org-agenda-mode): Quote `org-agenda-mode-hook'. + (org-insert-item): New function. + (org-renumber-ordered-list): Don't skip to higher level lists. + +---------------------------------------------------------------------- + +installed as 3.22 + +2005-12-05 Carsten Dominik + + * org.el (org-occur-highlights): New variable. + (org-highlight-new-match, org-remove-occur-highlights): New + functions. + (org-highlight-sparse-tree-matches): New option. + (org-do-occur): New function. + (org-get-heading): Make it work also at beginning of line. + (org-category-table): New variable. + (org-get-category-table, org-get-category) + (org-camel-to-words, org-link-search): New functions. + (org-select-this-todo-keyword): New variable. + (org-todo-list): New command. + (org-shiftright, org-shiftleft): New commands. + (org-agenda-todo): Added prefix argument. + (org-show-hierarchy-above): New option. + (org-show-todo-tree): Numerical prefix creates tree for specific + TODO keyword. + (org-outline-level): New function, to assign a level to plain + lists items. + (org-cycle-include-plain-lists): New option. + (org-mode): Use `org-outline-level' as value of `outline-level'. + (org-cycle): Temporarily switch `outline-regexp' if + `org-cycle-include-plain-lists' is non-nil. + (org-start-icalendar-file): Fixed format bug. + (org-agenda-get-day-entries): Create category table. + (org-agenda-get-todos, org-agenda-get-timestamps) + (org-agenda-get-deadlines, org-agenda-get-scheduled) + (org-agenda-get-blocks): Use `org-get-category'. + (org-context-in-file-links): Renamed from + `org-line-numbers-in-file-links' . + + * org.texi (TODO basics): Document the global todo list. + (TODO items): Documents sparse tree for specific TODO + keywords. + +---------------------------------------------------------------------- +installed as 3.21 + +2005-11-23 Carsten Dominik + + * org.el (org-export-plain-list-max-depth): Renamed from + `org-export-local-list-max-depth'. Default values changed to 3. + (org-auto-renumber-ordered-lists, + org-plain-list-ordered-item-terminator): New options. + (org-at-item-p, org-beginning-of-item, org-end-of-item, + org-get-indentation, org-get-string-indentation, + org-maybe-renumber-ordered-list, org-renumber-ordered-list): New + functions. + (org-move-item-down, org-move-item-up): New commands. + (org-export-as-html): New classes for CSS support. Bug fix in + regular expression detecting fixed-width regions. Respect + `org-local-list-ordered-item-terminator'. + (org-set-autofill-regexps, org-adaptive-fill-function): "1)" is + also a list item. + (org-metaup, org-metadown, org-shiftmetaup, org-shiftmetadown): + New item moving functions added. + + * org.texi (Structure editing): New item moving commands added. + (Plain Lists): New section. + +---------------------------------------------------------------------- +installed as 3.20 + +2005-11-16 Carsten Dominik + + * org.el (org-table-sort-lines): New command. + (org-tbl-menu): Add entry for `org-table-sort-lines'. + (org-add-file): Command removed, use `org-agenda-file-to-front' + instead. + (org-export-icalendar): Use `org-icalendar-combined-name'. + (org-cycle-agenda-files, org-agenda-file-to-end) + (org-agenda-file-to-front): New commands. + (org-table-tab-jumps-over-hlines,org-export-html-style): New + options. + (org-table-next-field): Use `org-table-tab-jumps-over-hlines'. + (org-at-table.el-p, org-set-autofill-regexps,org-html-protect): + New functions. + (org-fill-paragraph): Call `org-table-align' in tables. + (org-mode): Call `org-set-autofill-regexps'. + (org-export-as-html): Support for local handformatted lists. + Modified to produce valid HTML 4.0. Use `org-export-html-style'. + (org-export-local-list-max-depth): New option. + (org-html-expand): Use `org-html-protect'. + + * org.texi (FAQ): Document `org-table-tab-jumps-over-hlines'. + (Agenda): Document commands `org-cycle-agenda-files' and + `org-agenda-file-to-front' + (Built-in table editor): Document `org-table-sort-lines'. + (HTML formatting): Export of hand-formatted lists. + ---------------------------------------------------------------------- +installed as 3.19 + +2005-10-28 Carsten Dominik + + * org.el (org-read-date, org-goto-calendar) + (org-recenter-calendar, org-agenda-goto-calendar): Temporarily + clear 'calendar-move-hook'. + +------------------------------------------------------------------------ + +installed as 3.18 + +2005-10-19 Carsten Dominik + + * textmodes/org.el (org-combined-agenda-icalendar-file) + (org-icalendar-include-todo, org-icalendar-combined-name): New + options. + (org-export-icalendar-this-file) + (org-export-icalendar-all-agenda-files) + (org-export-icalendar-combine-agenda-files): New commands. + (org-export-icalendar, org-print-icalendar-entries) + (org-start-icalendar-file, org-finish-icalendar-file) + (org-ical-ts-to-string): New functions. + (org-read-date, org-goto-calendar) + (org-agenda-goto-calendar): Inhibit displaying diary entries by + call to `calendar'. + (orgtbl-setup): Removed the :keys arguments from the menu + description. + (org-after-save-iCalendar-file-hook): New variable. + + * org.texi (Summary): Mention iCalendar support. + (Exporting): Document iCalendar support. + + * orgcard.tex: Add iCalendar export keys. + +------------------------------------------------------------------------ +installed as 3.17 + +2005-10-10 Carsten Dominik + + * org.el (org-mode-map): Explicit definition of `C-c C-x' as a + prefix. + (orgtbl-mode-map): Full keymap instead of sparse, because all + `self-insert-command' keys are redifined in this map. + (org-export-as-html): Specify charset for HTML file, by taking it + from the codinf system. + + * org.texi (Workflow states): Documented that change in keywords + becomes active only after restart of Emacs. + +-------------------------------------------------------------------------- +Installed as 3.16 + +2005-09-21 Carsten Dominik + + * org.el (org-mode-map, orgtbl-mode-map): Move keybindings with + `C-c C-h' prefix to `C-c C-x' prefix. Make use of `remap' feature + when available. Additional key bindings for better tty support. + (org-mode-restart, org-force-self-insert): New commands. + (org-time-stamp-inactive): New command. + (org-remap): New function. + (org-table-auto-blank-field, org-level-color-stars-only): New + options. + (org-enable-fixed-width-editor): Moved to `org-structure' + customization group. + (org-self-insert-command, orgtbl-self-insert-command): Modified to + blank field after field motion commands. + +---------------------------------------------------------------------- +installed as 3.15 +2005-08-30 Carsten Dominik + + * textmodes/org.el (org-special-keyword): New face. + (org-table-copy-down, org-table-eval-formula) + (org-table-recalculate, org-init-section-numbers): Use + `string-to-number' instead of `string-to-int'. + (org-get-location): Use `insert-buffer-substring' instead of + `insert-buffer'. + (org-modify-diary-entry-string): New function. + (org-get-entries-from-diary): Set the hook for + `add-to-diary-list'. + (org-disable-agenda-to-diary): renamed from `org-disable-diary'. + (org-toggle-fixed-width-section): Use QUOTE keyword if there is no + active region. + (org-export-as-html): Handle QUOTE keyword. + (org-quote-string): New option. + (org-bookmark-jump-unhide): New function, used for + `bookmark-after-jump-hook'. + (org-diary-default-entry): Apply only when not called through + `org-agenda'. + +---------------------------------------------------------------------- +installed as 3.14 + +2005-07-19 Carsten Dominik + + * org.el (org-table-column-names, org-table-column-name-regexp) + (org-table-named-field-locations): New variables. + (org-archive-subtree): Protect `this-command' when calling + `org-copy-subtree' and `org-cut-subtree', to avoid appending to + the kill buffer. + (org-complete): Removed fixed-formula completion. + (org-edit-formulas-map): New variable. + (org-table-edit-formulas): New command. + (org-finish-edit-formulas, org-abort-edit-formulas, + org-show-variable, org-table-get-vertical-vector): New functions. + (org-table-maybe-eval-formula): Handle `:=' fields. + (org-table-get-stored-formulas, org-table-store-formulas) + (org-table-get-formula, org-table-modify-formulas) + (org-table-replace-in-formulas): Handle named field formulas. + (org-table-get-specials): Store locations of named fields. + +--------------------------------------------------------------------------- + + Installed as 3.13 + +2005-07-01 Carsten Dominik + + * org.el: Leading space replaced by TABS. + (org-recalc-marks, org-table-rotate-recalc-marks) + (org-table-get-specials): Treat "^" and "_" marks. + (org-table-justify-field-maybe): Optional argument NEW. + (org-table-eval-formula): Parsing of the format simplified. New + modes C,I. Honor the %= parameter in the current table. Avoid + unnecessary re-align by using the NEW argument to + `org-table-justify-field-maybe'. C-u prefix now interpreted as + request to store named field equation. + (org-calc-default-modes): Default for date-format mimicks + org-mode. + (org-agenda, org-timeline): Quote argument in + `org-agenda-redo-command'. + +---------------------------------------------------------------------------- + +installed as version 3.12 + +2005-06-28 Carsten Dominik + + * org.el (orgtbl-setup): New function, for delayed setup for the + orgtbl commands. + (org-calc-default-modes): New option. + (orgtbl-make-binding): Use `defun' to get better help display. + (org-diary): Call `org-compile-prefix-format'. + (org-table-formula-substitute-names): New function. + (org-agenda-day-view, org-agenda-week-view): New commands. + (org-agenda-toggle-week-view): Command removed. + (org-tbl-menu): Split off from org-org-menu. + (org-mode): Moved removal of outline-mode menus to here. + (org-table-formula-debug): New option. + (org-table-insert-row): Keep first field if just "#" or "*". + (org-mode): Paragraph regexps fixed. + (org-table-recalculate-regexp): New constant. + (org-table-justify-field-maybe): Avoid replace if not necessary. + (org-copy-special, org-cut-special): Use `call-interactively'. + (org-table-copy-region): Take region from `interactive' call. + (org-trim): Return string even if no match. + (org-formula): New face. + (org-set-font-lock-defaults): No longer highlight "FIXME". But + highlight formula-related fields in table. + (org-table-p): Use regexp, not fontification. + (org-table-align): Handle white space at end of line. + (org-table-formula-evaluate-inline): New option. + (org-mode): Auto-wrapping in comment lines turned off. + (org-table-copy-down): Evaluate only in copied field, not in + destination. + (org-table-current-formula): Variable removed. + (org-table-store-formulas, org-table-get-stored-formulas) + (org-table-modify-formulas, org-table-replace-in-formulas) + (org-table-maybe-eval-formula): New functions. + (org-table-get-formula): Modified to use stored formulas. + (org-table-insert-column, org-table-delete-column) + (org-table-move-column): Call `org-table-modify-formulas'. + (org-complete): Add completion for keyword formulas. + (orgtbl-mode): Pull orgtbl-mode-map to start of + minor-mode-map-alist. + +-------------------------------------------------------------------------- + +installed as 3.11 + + +2005-06-13 Carsten Dominik + + * textmodes/org.el (org-CUA-compatible): New option. + (org-disputed-keys): New variable. + (org-key): New function. + (orgtbl-make-binding): Add docstring to the created function. + (org-mode): Set paragraph start/separate regexps. + (orgtbl-mode): Don't start `orgtbl-mode' in `org-mode' buffers. + (org-archive-location, org-archive-mark-done) + (org-archive-stamp-time): New options. + (org-archive-subtree): New command. + (org-fill-paragraph): New function. + (org-mode): Set `fill-paragraph-function' to `org-fill-paragraph'. + (org-fake-empty-table-line): Function removed. + (org-format-org-table-html): Do not create empty table lines at + separator lines. Improved table header treatment. + (org-link-format): New option. + (org-make-link): New function. + (org-insert-link, org-store-link): Use org-make-link. + (org-open-file): Quote file name for shell command, to allow + spaces in file names. + (org-link-regexp): Fixed bug with mailto link. + (org-link-maybe-angles-regexp, org-protected-link-regexp): New + constant. + (org-export-as-html): Deal with the optional angles around a link. + Better treatment of file: links. + (org-open-at-point): Replace @{ and @} with < and >. + +-------------------------------------------------------------------------- + +installed as 3.10 + +2005-05-30 Carsten Dominik + + * org.el (org-agenda-mode): Use `run-mode-hooks' if available. + +-------------------------------------------------------------------------- + + + installed as 3.09 + +2005-05-19 Carsten Dominik + + * textmodes/org.el (org-agenda-toggle-time-grid): New command. + (org-agenda-use-time-grid, org-agenda-time-grid): New options. + (org-agenda-add-time-grid-maybe): New function. + (org-agenda): Call `org-agenda-add-time-grid-maybe'. + (org-table-create): `dotimes' instead of `mapcar'. + (org-xor): Simplified implementation. + (org-agenda): `inhibit-redisplay' turned on. + (org-agenda-change-all-lines): Use `org-format-agenda-item' to get + a consistent line after a state change. + (org-agenda-remove-times-when-in-prefix): New option. + (org-prefix-has-time): New variable. + (org-parse-time-string): Optional argument NODEFAULT. + (org-format-agenda-item): Parse items for time-of-day + specifications and move these into the prefix if possible. + (org-agenda-priority): Get current heading, not previous heading + during agenda remote editing. + +====================================================================== + Intsalled as 3.08 + +2005-04-28 Carsten Dominik + + * org.el Many small changes to keep the byte compiler happy. + (org-prefix-format-compiled): New variable. + (org-compile-prefix-format): New function. + (org-timeline, org-agenda, org-diary): Call + `org-compile-prefix-format'. + (org-agenda-prefix-format,org-timeline-prefix-format): New + options. + (org-agenda-get-scheduled): Check if file is openned in + `org-mode'. + (org-get-entries-from-diary): Use `org-get-time-of-day', for + consistency with entries from `org-mode' files. + (org-get-time-of-day): Fixed bug with partial matches early in a + line. + (org-non-link-chars): New constant. + (org-link-regexp): Respect `org-non-link-chars'. + (org-agenda-day-view): Command removed. + (org-agenda-toggle-week-view): Renamed from + `org-agenda-week-view'. + (org-follow-bbdb-link, org-store-link): Search also company field. + (org-highlight-overlay): New variable. + (org-highlight, org-unhighlight): New functions. + (org-agenda-mode): Added pre-command-hook to remove highlight. + (org-evaluate-time-range): Behavior depend upon time stamp format: + Does it contain a time or not? + (org-show-subtree, org-show-entry): New functions. + (org-agenda-cleanup-fancy-diary): Remove empty lines. + +============================================================ + installed as 3.06 + +2005-04-14 Carsten Dominik + + * org.el (org-agenda-date-prompt): Renamed from + `org-agenda-date-today'. + (org-evaluate-time-range): Insert at point instead of directly + after time range. + (org-first-headline-recenter, org-subtree-end-visible-p) + (org-optimize-window-after-visibility-change): New functions + (org-agenda-post-command-hook): Don't allow point at end of line, + to make sure it always hits the text properties. + (org-agenda-next-date-line, org-agenda-previous-date-line): New + commands. + (org-set-regexps-and-options): Category may contain white space. + (org-agenda-get-deadlines, org-agenda-get-scheduled): Improved + marker positions. + (org-agenda-new-marker): Argument POS made optional. + (org-agenda-get-timestamps): Deadlines which are done are listed + in org-done-face now. + (org-agenda-get-todos, org-agenda-get-timestamps) + (org-agenda-get-deadlines, org-agenda-get-scheduled): set + `undone-face' and `done-face' properties. + (org-last-todo-state-is-todo): New variable. + (org-todo): Set `org-last-todo-state-is-todo'. + (org-agenda-todo): Change face according to + `org-last-todo-state-is-todo'. And change other lines refering to + the same entry. + (org-calendar-goto-agenda): New command. + (org-calendar-to-agenda-key): New option. + (org-startup-folded): New allowed value `content'. + (org-set-regexps-and-options): Accept new value `content' for + `org-startup-folded'. + (org-get-current-options): Handle new value `content' for + `org-startup-folded'. + (org-insert-todo-heading): New command. + (org-mode): Insert first line "*-* mode: org-mode -*-" when called + interactively in empty file and option + `org-insert-mode-line-in-empty-file' has been set. + (org-agenda-todo,org-agenda-priority): Modified to use + `org-agenda-change-all-lines'. + (org-warning-face): Changed color on dark background + +====================================================================== + Installed as version 3.05 + +2005-03-29 Carsten Dominik + + * org.el (org-agenda-phases-of-moon, org-agenda-sunrise-sunset) + (org-agenda-convert-date, org-agenda-goto-calendar): New commands. + +2005-03-28 Carsten Dominik + + * org.el (org-diary-default-entry): New function. + (org-get-entries-from-diary): Better parsing of diary entries + (org-agenda-check-no-diary): New function. + ("diary-lib"): Advice to function `add-to-diary-list', to allow + linking to diary entries. + (org-agenda-execute-calendar-command): New function + +2005-03-24 Carsten Dominik + + * org.el (org-agenda): Improved visible section in window. And + use `org-fit-agenda-window'. + (org-fit-agenda-window): New option. + +2005-03-17 Carsten Dominik + + * org.el (org-move-subtree-down): Better handling of empty lines + at end of subtree. + (org-cycle): Numeric prefix is interpreted now as show-subtree N + levels up. + +2005-03-16 Carsten Dominik + + * org.el (org-fontify-done-headline): New option. + (org-headline-done-face): New face. + (org-set-font-lock-defaults): Use `org-headline-done-face'. + +2005-03-11 Carsten Dominik + + * org.el (org-table-copy-down): renamed from + `org-table-copy-from-above'. When current field is non-empty, it + is copied to next row. + +2005-03-05 Carsten Dominik + + * org.el (org-table-copy-from-above): Fixed bug which made it + impossible to copy fields containing only a single non-white + character. + +Release of 3.04 ------------------------------------------------------------- + +2005-01-17 Carsten Dominik + + * org.el (org-version): Prefix arg removed, was not needed. + + + + +2005-01-11 Carsten Dominik + + * org.el (org-show-following-heading): New option. + (org-show-hierarchy-above): Use `org-show-following-heading'. + +2005-01-03 Carsten Dominik + + * org.el (orgtbl-optimized): New option + (orgtbl-mode): New command, a minor mode. + (orgtbl-mode-map): New variable. + (turn-on-orgtbl, orgtbl-mode, orgtbl-make-binding) + (orgtbl-error, orgtbl-self-insert-command) + (orgtbl-delete-backward-char, orgtbl-delete-char): New functions. + +2004-12-22 Carsten Dominik + + * org.el (org-mode): `org-table-may-need-update' is now a local + variable in each org-mode buffer. + +2004-12-10 Carsten Dominik + + * org.el (org-set-regexps-and-options): Renamed from + `org-set-regexps'. Added checking for STARTUP keyword. + (org-get-current-options): Added STARTUP options. + (org-table-insert-row): Mode mode intelligent about when + realignment is needed. + (org-self-insert-command, org-delete-backward-char, + org-delete-char): New commands. + (org-enable-table-editor): new default value `optimized'. + (org-table-blank-field): Support blanking regions if active. + diff --git a/Makefile b/Makefile index 1e1ad37e3..f59e03603 100644 --- a/Makefile +++ b/Makefile @@ -67,7 +67,7 @@ HTMLDIR = /home/dominik/public_html/Tools/org .SUFFIXES: .el .elc .texi SHELL = /bin/sh -DISTFILES= README ${LISPFILES} ${DOCFILES} ${CARDFILES} Makefile dir +DISTFILES= README ${LISPFILES} ${DOCFILES} ${CARDFILES} Makefile dir ChangeLog DISTFILES_xemacs= xemacs/noutline.el xemacs/ps-print-invisible.el xemacs/README all: $(ELCFILES) @@ -148,7 +148,7 @@ ecompile: distfile: @if [ "X$(TAG)" = "X" ]; then echo "*** No tag ***"; exit 1; fi - touch org.pdf orgcard.tex + touch org.texi orgcard.tex make info make doc rm -rf org-$(TAG) org-$(TAG).zip @@ -159,6 +159,22 @@ distfile: zip -r org-$(TAG).zip org-$(TAG) gtar zcvf org-$(TAG).tar.gz org-$(TAG) +release: + @if [ "X$(TAG)" = "X" ]; then echo "*** No tag ***"; exit 1; fi + make distfile + make doc + rm -rf org-release + $(MKDIR) org-release + cp org-$(TAG).zip org-$(TAG).tar.gz org-release + cp org.pdf orgcard.pdf org.texi org.html org-release + cp ORGWEBPAGE/tmp/*.html org-release + cp ORGWEBPAGE/tmp/*.el org-release + cp ORGWEBPAGE/tmp/*.txt org-release + cp ORGWEBPAGE/tmp/*.css org-release + cp ORGWEBPAGE/tmp/*.jpg org-release + cp org-release/org-$(TAG).zip org-release/org.zip + cp org-release/org-$(TAG).tar.gz org-release/org.tar.gz + dist: make distfile TAG=$(TAG) cp org-$(TAG).zip org-$(TAG).tar.gz $(HTMLDIR) diff --git a/README b/README index 6ceba5f9b..588b25f50 100644 --- a/README +++ b/README @@ -1,7 +1,7 @@ The is a distribution of Org-mode, a plain text notes and project planning tool for Emacs. -The homepage of Org-mode is at http://www.astro.uva.nl/~domnik/Tools/org/ +The homepage of Org-mode is at http://orgmode.org The manual is in the file org.pdf, it includes a section about installation. diff --git a/org b/org index dbabaab76..651cec107 100644 --- a/org +++ b/org @@ -1,11 +1,11 @@ -This is org, produced by makeinfo version 4.8 from org.texi. +This is org, produced by makeinfo version 4.7 from org.texi. INFO-DIR-SECTION Emacs START-INFO-DIR-ENTRY * Org Mode: (org). Outline-based notes management and organizer END-INFO-DIR-ENTRY - This manual is for Org-mode (version 5.08). + This manual is for Org-mode (version 5.10). Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation @@ -27,7 +27,7 @@ File: org, Node: Top, Next: Introduction, Prev: (dir), Up: (dir) Org Mode Manual *************** -This manual is for Org-mode (version 5.08). +This manual is for Org-mode (version 5.10). Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation @@ -51,8 +51,9 @@ This manual is for Org-mode (version 5.08). * Hyperlinks:: Notes in context * TODO items:: Every tree branch can be a TODO item * Tags:: Tagging headlines and matching sets of tags -* Properties and columns:: +* Properties and columns:: Storing information about an entry * Timestamps:: Assign date and time to items +* Remember:: Quickly adding nodes to the outline tree * Agenda views:: Collecting information into views * Embedded LaTeX:: LaTeX fragments and formulas * Exporting:: Sharing and publishing of notes @@ -119,22 +120,16 @@ Hyperlinks * Link abbreviations:: Shortcuts for writing complex links * Search options:: Linking to a specific location * Custom searches:: When the default search is not enough -* Remember:: Org-trees store quick notes Internal links * Radio targets:: Make targets trigger links in plain text. -Remember - -* Setting up remember:: Some code for .emacs to get things going -* Remember templates:: Define the outline of different note types -* Storing notes:: Directly get the note to where it belongs - TODO items * TODO basics:: Marking and displaying TODO entries * TODO extensions:: Workflow and assignments +* Progress logging:: Dates and notes for progress * Priorities:: Some things are more important than others * Breaking down tasks:: Splitting a task into manageable pieces * Checkboxes:: Tick-off lists @@ -144,7 +139,14 @@ Extended use of TODO keywords * Workflow states:: From TODO to DONE in steps * TODO types:: I do this, Fred the rest * Multiple sets in one file:: Mixing it all, and still finding your way +* Fast access to TODO states:: Single letter selection of a state * Per file keywords:: Different files, different requirements +* Faces for TODO keywords:: Highlighting states + +Progress Logging + +* Closing items:: When was this entry marked DONE? +* Tracking TODO state changes:: When did the status change? Tags @@ -175,7 +177,7 @@ Timestamps * Time stamps:: Assigning a time to a tree entry * Creating timestamps:: Commands which insert timestamps * Deadlines and scheduling:: Planning your work -* Progress logging:: Documenting when what work was done. +* Clocking work time:: Creating timestamps @@ -187,11 +189,11 @@ Deadlines and Scheduling * Inserting deadline/schedule:: Planning items * Repeated tasks:: Items that show up again and again -Progress Logging +Remember -* Closing items:: When was this entry marked DONE? -* Tracking TODO state changes:: When did the status change? -* Clocking work time:: When exactly did you work on this item? +* Setting up remember:: Some code for .emacs to get things going +* Remember templates:: Define the outline of different note types +* Storing notes:: Directly get the note to where it belongs Agenda Views @@ -386,7 +388,7 @@ the minor Orgstruct-mode. There is a website for Org-mode which provides links to the newest version of Org-mode, as well as additional information, frequently asked questions (FAQ), links to tutorials etc. This page is located at -`http://www.astro.uva.nl/~dominik/Tools/org/'. +`http://orgmode.org'.  File: org, Node: Installation, Next: Activation, Prev: Summary, Up: Introduction @@ -467,7 +469,7 @@ File: org, Node: Feedback, Prev: Activation, Up: Introduction If you find problems with Org-mode, or if you have questions, remarks, 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 (`C-h v emacs-version @@ -705,6 +707,10 @@ File: org, Node: Structure editing, Next: Archiving, Prev: Motion, Up: Docum the end of a headline), then a headline like the current one will be inserted after the end of the subtree. +`C-' + Insert a new heading after the current subtree, same level as the + current headline. This command works from anywhere in the entry. + `M-S-' Insert new TODO entry with same level as current heading. @@ -844,13 +850,22 @@ file, the archive file. current file, with the name derived by appending `_archive' to the current file name. For information and examples on how to change this, see the documentation string of the variable `org-archive-location'. -There is also an in-buffer option for setting this variable, for example +There is also an in-buffer option for setting this variable, for +example(1): #+ARCHIVE: %s_done:: -You may have several such lines in the buffer, they will then be valid -for the entries following the line (the first will also apply to any -text before it). +If you would like to have a special ARCHIVE location for a single entry +or a (sub)tree, give the entry an `:ARCHIVE:' property with the +location as the value (*note Properties and columns::). + + ---------- Footnotes ---------- + + (1) If there are several such lines in the buffer, each will be +valid for the entries below it. The first will also apply to any text +before it. This method is only kept for backward compatibility. The +preferred methods for setting multiple archive locations is using a +property.  File: org, Node: Sparse trees, Next: Plain lists, Prev: Archiving, Up: Document structure @@ -1122,10 +1137,12 @@ Creation and conversion `C-c |' Convert the active region to table. 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 the minimum number of - consecutive spaces required to identify a field separator - (default: just one). + tab separated. If every line contains a comma, comma-separated + values (CSV) are assumed. If not, lines are split at whitespace + into fields. You can use a prefix argument to force a specific + separator: `C-u' forces CSV, `C-u C-u' forces TAB, and a numeric + argument N indicates that at least N consequtive spaces, or + alternatively a TAB will be the separator. If there is no active region, this command creates an empty Org-mode table. But it's easier just to start typing, like `|Name|Phone|Age |- '. @@ -1898,7 +1915,6 @@ links to other files, Usenet articles, emails, and much more. * Link abbreviations:: Shortcuts for writing complex links * Search options:: Linking to a specific location * Custom searches:: When the default search is not enough -* Remember:: Org-trees store quick notes  File: org, Node: Link format, Next: Internal links, Prev: Hyperlinks, Up: Hyperlinks @@ -2262,7 +2278,7 @@ search for `find me' in the current file, just as `[[find me]]' would. single colon.  -File: org, Node: Custom searches, Next: Remember, Prev: Search options, Up: Hyperlinks +File: org, Node: Custom searches, Prev: Search options, Up: Hyperlinks 4.8 Custom Searches =================== @@ -2283,166 +2299,6 @@ variables for more information. Org-mode actually uses this mechanism for BibTeX database files, and you can use the corresponding code as an implementation example. Search for `BibTeX links' in the source file. - -File: org, Node: Remember, Prev: Custom searches, Up: Hyperlinks - -4.9 Remember -============ - -Another way to create org entries with links to other files is through -the remember package by John Wiegley. Remember lets you store quick -notes with little interruption of your work flow. See -`http://www.emacswiki.org/cgi-bin/wiki/RememberMode' for more -information. The notes produced by Remember can be stored in different -ways, and Org-mode files are a good target. Org-mode significantly -expands the possibilities of remember: You may define templates for -different note types, and to associate target files and headlines with -specific templates. It also allows you to select the location where a -note should be stored interactively, on the fly. - -* Menu: - -* Setting up remember:: Some code for .emacs to get things going -* Remember templates:: Define the outline of different note types -* Storing notes:: Directly get the note to where it belongs - - -File: org, Node: Setting up remember, Next: Remember templates, Prev: Remember, Up: Remember - -4.9.1 Setting up remember -------------------------- - -The following customization will tell remember to use org files as -target, and to create annotations compatible with Org-mode links. - - (setq org-directory "~/path/to/my/orgfiles/") - (setq org-default-notes-file "~/.notes") - (setq remember-annotation-functions '(org-remember-annotation)) - (setq remember-handler-functions '(org-remember-handler)) - (add-hook 'remember-mode-hook 'org-remember-apply-template) - - -File: org, Node: Remember templates, Next: Storing notes, Prev: Setting up remember, Up: Remember - -4.9.2 Remember templates ------------------------- - -In combination with Org-mode, you can use templates to generate -different types of remember notes. For example, if you would like to -use one template to create general TODO entries, another one for -journal entries, and a third one for collecting random ideas, you could -use: - - (setq org-remember-templates - '((?t "* TODO %?\n %i\n %a" "~/org/TODO.org") - (?j "* %U %?\n\n %i\n %a" "~/org/JOURNAL.org") - (?i "* %^{Title}\n %i\n %a" "~/org/JOURNAL.org" "New Ideas"))) - -In these entries, the character specifies how to select the template. -The first string specifies the template. Two more (optional) strings -give the file in which, and the headline under which the new note -should be stored. The file defaults (if not present or `nil') to -`org-default-notes-file', the heading to -`org-remember-default-headline'. Both defaults help to get to the -storing location quickly, but you can change the location interactively -while storing the note. - - When you call `M-x remember' (or `M-x org-remember') to remember -something, org will prompt for a key to select the template (if you have -more than one template) and then prepare the buffer like - * TODO - [[file:link to where you called remember]] - -or - - * [2006-03-21 Tue 15:37] - - [[file:link to where you called remember]] - -During expansion of the template, special `%'-escapes allow dynamic -insertion of content: - %^{prompt} prompt the user for a string and replace this sequence with it. - %t time stamp, date only - %T time stamp with date and time - %u, %U like the above, but inactive time stamps - %^t like `%t', but prompt for date. Similarly `%^T', `%^u', `%^U' - You may define a prompt like `%^{Birthday}t' - %n user name (taken from `user-full-name') - %a annotation, normally the link created with `org-store-link' - %i initial content, the region when remember is called with C-u. - The entire text will be indented like `%i' itself. - %^g prompt for tags, with completion on tags in target file. - %^G prompt for tags, with completion all tags in all agenda files. - %:keyword specific information for certain link types, see below - -For specific link types, the following keywords will be defined: - - Link type | Available keywords - -------------------+---------------------------------------------- - bbdb | %:name %:company - vm, wl, mh, rmail | %:type %:subject %:message-id - | %:from %:fromname %:fromaddress - | %:to %:toname %:toaddress - | %:fromto (either "to NAME" or "from NAME")(1) - gnus | %:group, for messages also all email fields - w3, w3m | %:url - info | %:file %:node - calendar | %:date" - -To place the cursor after template expansion use: - - %? After completing the template, position cursor here. - -If you change you mind about which template to use, call `org-remember' -in the remember buffer. You may then select a new template that will -be filled with the previous context information. - - ---------- Footnotes ---------- - - (1) This will always be the other, not the user. See the variable -`org-from-is-user-regexp'. - - -File: org, Node: Storing notes, Prev: Remember templates, Up: Remember - -4.9.3 Storing notes -------------------- - -When you are finished preparing a note with remember, you have to press -`C-c C-c' to file the note away. The handler first prompts for a -target file - if you press , the value specified for the template -is used. Then the command offers the headings tree of the selected -file, with the cursor position at the default headline (if you had -specified one in the template). You can either immediately press -to get the note placed there. Or you can use the following keys to -find a better location: - Cycle visibility. - / Next/previous visible headline. - n / p Next/previous visible headline. - f / b Next/previous headline same level. - u One level up. - Pressing or or then leads to the following -result. - -Cursor Key Note gets inserted -position -buffer-start as level 2 heading at end of file -on headline as sublevel of the heading at cursor - /as same level, before/after current heading -not on at cursor position, level taken from context. -headline - - So a fast way to store the note to its default location is to press -`C-c C-c '. Even shorter would be `C-u C-c C-c', which does -the same without even asking for a file or showing the tree. - - Before inserting the text into a tree, the function ensures that the -text has a headline, i.e. a first line that starts with a `*'. If not, -a headline is constructed from the current date and some additional -data. If the variable `org-adapt-indentation' is non-nil, the entire -text is also indented so that it starts in the same column as the -headline (after the asterisks). -  File: org, Node: TODO items, Next: Tags, Prev: Hyperlinks, Up: Top @@ -2464,6 +2320,7 @@ overview over all things you have to do. * TODO basics:: Marking and displaying TODO entries * TODO extensions:: Workflow and assignments +* Progress logging:: Dates and notes for progress * Priorities:: Some things are more important than others * Breaking down tasks:: Splitting a task into manageable pieces * Checkboxes:: Tick-off lists @@ -2488,7 +2345,11 @@ The most important commands to work with TODO entries are: '--------------------------------' The same rotation can also be done "remotely" from the timeline and - agenda buffers with the `t' command key (*note Agenda commands::). + agenda buffers with the `t' command key (*note Agenda commands::). + +`C-u C-c C-t' + Select a specific keyword using completion of (if it has been set + up) the fast selection interface. `S-' `S-' @@ -2526,7 +2387,7 @@ The most important commands to work with TODO entries are: Insert a new TODO entry below the current one.  -File: org, Node: TODO extensions, Next: Priorities, Prev: TODO basics, Up: TODO items +File: org, Node: TODO extensions, Next: Progress logging, Prev: TODO basics, Up: TODO items 5.2 Extended use of TODO keywords ================================= @@ -2544,7 +2405,9 @@ TODO items in particular (*note Tags::). * Workflow states:: From TODO to DONE in steps * TODO types:: I do this, Fred the rest * Multiple sets in one file:: Mixing it all, and still finding your way +* Fast access to TODO states:: Single letter selection of a state * Per file keywords:: Different files, different requirements +* Faces for TODO keywords:: Highlighting states  File: org, Node: Workflow states, Next: TODO types, Prev: TODO extensions, Up: TODO extensions @@ -2611,7 +2474,7 @@ global todo list: `C-3 C-c t'. buffers.  -File: org, Node: Multiple sets in one file, Next: Per file keywords, Prev: TODO types, Up: TODO extensions +File: org, Node: Multiple sets in one file, Next: Fast access to TODO states, Prev: TODO types, Up: TODO extensions 5.2.3 Multiple keyword sets in one file --------------------------------------- @@ -2648,9 +2511,34 @@ using completion, you may also apply the following commands: `DONE' to `REPORT' in the example above.  -File: org, Node: Per file keywords, Prev: Multiple sets in one file, Up: TODO extensions +File: org, Node: Fast access to TODO states, Next: Per file keywords, Prev: Multiple sets in one file, Up: TODO extensions -5.2.4 Setting up keywords for individual files +5.2.4 Fast access to TODO states +-------------------------------- + +If you would like to quickly change an entry to an arbitrary TODO state +instead of cycling through the states, you can set up keys for +single-letter access to the states. This is done by adding the section +key after each keyword, in parenthesis. For example: + + (setq org-todo-keywords + '((sequence "TODO(t)" "|" "DONE(d)") + (sequence "REPORT(r)" "BUG(b)" "KNOWNCAUSE(k)" "|" "FIXED(f)") + (sequence "|" "CANCELED(c)"))) + + If you then press `C-u C-c C-t' followed by the selection key, the +entry will be switched to this state. can be used to remove any +TODO keyword from an entry. Should you like this way of selecting TODO +states a lot, you might want to set the variable +`org-use-fast-todo-selection' to `t' and make this behavior the +default. Check also the variable +`org-fast-tag-selection-include-todo', it allows to change the TODO +state through the tags interface (*note Setting tags::). + + +File: org, Node: Per file keywords, Next: Faces for TODO keywords, Prev: Fast access to TODO states, Up: TODO extensions + +5.2.5 Setting up keywords for individual files ---------------------------------------------- It can be very useful to use different aspects of the TODO mechanism in @@ -2686,9 +2574,100 @@ after visiting a file. `C-c C-c' with the cursor in a line starting with `#+' is simply restarting Org-mode for the current buffer.  -File: org, Node: Priorities, Next: Breaking down tasks, Prev: TODO extensions, Up: TODO items +File: org, Node: Faces for TODO keywords, Prev: Per file keywords, Up: TODO extensions -5.3 Priorities +5.2.6 Faces for TODO keywords +----------------------------- + +Org-mode highlights TODO keywords with special faces: `org-todo' for +keywords indicating that an item still has to be acted upon, and +`org-done' for keywords indicating that an item is finished. If you +are using more than 2 different states, you might want to use special +faces for some of them. This can be done using the variable +`org-todo-keyword-faces'. For example: + + (setq org-todo-keyword-faces + '(("TODO" . org-warning) + ("DEFERRED" . shadow) + ("CANCELED" . (:foreground "blue" :weight bold)))) + + +File: org, Node: Progress logging, Next: Priorities, Prev: TODO extensions, Up: TODO items + +5.3 Progress Logging +==================== + +Org-mode can automatically record a time stamp and even a note when you +mark a TODO item as DONE, or even each time you change the state of a +TODO item. + +* Menu: + +* Closing items:: When was this entry marked DONE? +* Tracking TODO state changes:: When did the status change? + + +File: org, Node: Closing items, Next: Tracking TODO state changes, Prev: Progress logging, Up: Progress logging + +5.3.1 Closing items +------------------- + +If you want to keep track of _when_ a certain TODO item was finished, +turn on logging with(1) + + (setq org-log-done t) + +Then each time you turn a TODO entry into DONE using either `C-c C-t' +in the Org-mode buffer or `t' in the agenda buffer, a line `CLOSED: +[timestamp]' will be inserted just after the headline. If you turn the +entry back into a TODO item through further state cycling, that line +will be removed again. In the timeline (*note Timeline::) and in the +agenda (*note Weekly/Daily agenda::), you can then use the `l' key to +display the TODO items closed on each day, giving you an overview of +what has been done on a day. If you want to record a note along with +the timestamp, use(2) + + (setq org-log-done '(done)) + + ---------- Footnotes ---------- + + (1) The corresponding in-buffer setting is: `#+STARTUP: logdone' + + (2) The corresponding in-buffer setting is: `#+STARTUP: lognotedone' + + +File: org, Node: Tracking TODO state changes, Prev: Closing items, Up: Progress logging + +5.3.2 Tracking TODO state changes +--------------------------------- + +When TODO keywords are used as workflow states (*note Workflow +states::), you might want to keep track of when a state change occurred +and record a note about this change. With the setting + + (setq org-log-done '(state)) + +each state change will prompt you for a note that will be attached to +the current headline. If you press `C-c C-c' without typing anything +into the note buffer, only the time of the state change will be noted. +Very likely you do not want this verbose tracking all the time, so it +is probably better to configure this behavior with in-buffer options. +For example, if you are tracking purchases, put these into a separate +file that contains: + + #+SEQ_TODO: TODO(t) ORDERED(o) INVOICE(i) PAYED(p) | RECEIVED(r) + #+STARTUP: lognotestate + + If you only need to take a note for some of the states, mark those +states with an additional `@', like this: + + #+SEQ_TODO: TODO(t) ORDERED(o@) INVOICE(i@) PAYED(p) | RECEIVED(r) + #+STARTUP: lognotestate + + +File: org, Node: Priorities, Next: Breaking down tasks, Prev: Progress logging, Up: TODO items + +5.4 Priorities ============== If you use Org-mode extensively to organize your work, you may end up @@ -2712,7 +2691,7 @@ agenda (*note Weekly/Daily agenda::). `S-' `S-' - Increase/decrease priority of current headline. Note that these + Increase/decrease priority of current headline(1). Note that these keys are also used to modify time stamps (*note Creating timestamps::). Furthermore, these keys are also used by CUA-mode (*note Conflicts::). @@ -2725,10 +2704,14 @@ highest priority is earlier in the alphabet than the lowest priority): #+PRIORITIES: A C B + ---------- Footnotes ---------- + + (1) See also the option `org-priority-start-cycle-with-default''. +  File: org, Node: Breaking down tasks, Next: Checkboxes, Prev: Priorities, Up: TODO items -5.4 Breaking tasks down into subtasks +5.5 Breaking tasks down into subtasks ===================================== It is often advisable to break down large tasks into smaller, manageable @@ -2745,7 +2728,7 @@ subtasks (*note Checkboxes::).  File: org, Node: Checkboxes, Prev: Breaking down tasks, Up: TODO items -5.5 Checkboxes +5.6 Checkboxes ============== Every item in a plain list (*note Plain lists::) can be made a checkbox @@ -3369,7 +3352,7 @@ features based on them. For more information see *Note Using the property API::.  -File: org, Node: Timestamps, Next: Agenda views, Prev: Properties and columns, Up: Top +File: org, Node: Timestamps, Next: Remember, Prev: Properties and columns, Up: Top 8 Timestamps ************ @@ -3382,7 +3365,7 @@ planning. * Time stamps:: Assigning a time to a tree entry * Creating timestamps:: Commands which insert timestamps * Deadlines and scheduling:: Planning your work -* Progress logging:: Documenting when what work was done. +* Clocking work time::  File: org, Node: Time stamps, Next: Creating timestamps, Prev: Timestamps, Up: Timestamps @@ -3397,13 +3380,12 @@ stamp can appear anywhere in the headline or body of an org-tree entry. Its presence causes entries to be shown on specific dates in the agenda (*note Weekly/Daily agenda::). We distinguish: -PLAIN TIME STAMP +PLAIN TIME STAMP, EVENT, APPOINTMENT A simple time stamp just assigns a date/time to an item. This is - just like writing down an appointment in a paper agenda, or like - writing down an event in a diary, when you want to take note of - when something happened. In the timeline and agenda displays, the - headline of an entry associated with a plain time stamp will be - shown exactly on that date. + just like writing down an appointment or event in a paper agenda. + In the timeline and agenda displays, the headline of an entry + associated with a plain time stamp will be shown exactly on that + date. * Meet Peter at the movies <2006-11-01 Wed 19:15> * Discussion on climate change <2006-11-02 Thu 20:00-22:00> @@ -3614,7 +3596,7 @@ consequences: the custom format is shorter, things do work as expected.  -File: org, Node: Deadlines and scheduling, Next: Progress logging, Prev: Creating timestamps, Up: Timestamps +File: org, Node: Deadlines and scheduling, Next: Clocking work time, Prev: Creating timestamps, Up: Timestamps 8.3 Deadlines and Scheduling ============================ @@ -3648,6 +3630,14 @@ SCHEDULED *** TODO Call Trillian for a date on New Years Eve. SCHEDULED: <2004-12-25 Sat> + Important: Scheduling an item in Org-mode should not be understood + like Scheduling a meeting. Setting a date for a meeting is just a + simple appointment, you should mark this entry with a simple plain + time stamp, to get this item shown on the date where it applies. + This is a frequent mis-understanding from Org-users. In Org-mode, + Scheduling means setting a date when you want to start working on + an action item. + * Menu: * Inserting deadline/schedule:: Planning items @@ -3723,79 +3713,10 @@ future instances will be visible. task - just make sure that the repeater intervals on both are the same.  -File: org, Node: Progress logging, Prev: Deadlines and scheduling, Up: Timestamps +File: org, Node: Clocking work time, Prev: Deadlines and scheduling, Up: Timestamps -8.4 Progress Logging -==================== - -Org-mode can automatically record a time stamp when you mark a TODO item -as DONE, or even each time when you change the state of a TODO item. -You can also measure precisely the time you spent on specific items in a -project by starting and stopping a clock when you start and stop working -on an aspect of a project. - -* Menu: - -* Closing items:: When was this entry marked DONE? -* Tracking TODO state changes:: When did the status change? -* Clocking work time:: When exactly did you work on this item? - - -File: org, Node: Closing items, Next: Tracking TODO state changes, Prev: Progress logging, Up: Progress logging - -8.4.1 Closing items -------------------- - -If you want to keep track of _when_ a certain TODO item was finished, -turn on logging with(1) - - (setq org-log-done t) - -Then each time you turn a TODO entry into DONE using either `C-c C-t' -in the Org-mode buffer or `t' in the agenda buffer, a line `CLOSED: -[timestamp]' will be inserted just after the headline. If you turn the -entry back into a TODO item through further state cycling, that line -will be removed again. In the timeline (*note Timeline::) and in the -agenda (*note Weekly/Daily agenda::), you can then use the `l' key to -display the TODO items closed on each day, giving you an overview of -what has been done on a day. If you want to record a note along with -the timestamp, use(2) - - (setq org-log-done '(done)) - - ---------- Footnotes ---------- - - (1) The corresponding in-buffer setting is: `#+STARTUP: logdone' - - (2) The corresponding in-buffer setting is: `#+STARTUP: lognotedone' - - -File: org, Node: Tracking TODO state changes, Next: Clocking work time, Prev: Closing items, Up: Progress logging - -8.4.2 Tracking TODO state changes ---------------------------------- - -When TODO keywords are used as workflow states (*note Workflow -states::), you might want to keep track of when a state change occurred, -and you may even want to attach notes to that state change. With the -setting - - (setq org-log-done '(state)) - -each state change will prompt you for a note that will be attached to -the current headline. Very likely you do not want this verbose tracking -all the time, so it is probably better to configure this behavior with -in-buffer options. For example, if you are tracking purchases, put -these into a separate file that starts with: - - #+SEQ_TODO: TODO ORDERED INVOICE PAYED RECEIVED SENT - #+STARTUP: lognotestate - - -File: org, Node: Clocking work time, Prev: Tracking TODO state changes, Up: Progress logging - -8.4.3 Clocking work time ------------------------- +8.4 Clocking work time +====================== Org-mode allows you to clock the time you spent on specific tasks in a project. When you start working on an item, you can start the clock. @@ -3844,16 +3765,25 @@ also computes the total time spent on each subtree of a project. #+END: clocktable If such a block already exists, its content is replaced by the new table. The `BEGIN' line can specify options: - :maxlevels Maximum level depth to which times are listed in the table. + :maxlevel Maximum level depth to which times are listed in the table. :emphasize When `t', emphasize level one and level two items + :scope The scope to consider. This can be any of the following: + nil the current buffer or narrowed region + file the full current buffer + subtree the subtree where the clocktable is located + treeN the surrounding level N tree, for example `tree3' + tree the surrounding level 1 tree + agenda all agenda files + ("file"..) scan these files :block The time block to consider. This block is specified relative to the current time and may be any of these keywords: `today', `yesterday', `thisweek', `lastweek', `thismonth', `lastmonth', `thisyear', or `lastyear'. :tstart A time string specifying when to start considering times :tend A time string specifying when to stop considering times - So to get a clock summary for the current day, you could write - #+BEGIN: clocktable :maxlevel 2 :block today + So to get a clock summary of the current level 1 tree, for the + current day, you could write + #+BEGIN: clocktable :maxlevel 2 :block today :scope tree1 #+END: clocktable and to use a specific time range you could write(2) @@ -3862,6 +3792,11 @@ also computes the total time spent on each subtree of a project. #+END: clocktable +`C-c C-c' +`C-c C-x C-u' + Update dynamical block at point. The cursor needs to be in the + `#+BEGIN' line of the dynamic block. + `C-u C-c C-x C-u' Update all dynamic blocks (*note Dynamic blocks::). This is useful if you have several clocktable blocks in a buffer. @@ -3879,10 +3814,188 @@ lognoteclock-out' the line is broken here only to fit it onto the manual.  -File: org, Node: Agenda views, Next: Embedded LaTeX, Prev: Timestamps, Up: Top +File: org, Node: Remember, Next: Agenda views, Prev: Timestamps, Up: Top -9 Agenda Views -************** +9 Remember +********** + +The Remember package by John Wiegley lets you store quick notes with +little interruption of your work flow. See +`http://www.emacswiki.org/cgi-bin/wiki/RememberMode' for more +information. It is an excellent way to add new notes and TODO items to +Org-mode files. Org-mode significantly expands the possibilities of +remember: You may define templates for different note types, and to +associate target files and headlines with specific templates. It also +allows you to select the location where a note should be stored +interactively, on the fly. + +* Menu: + +* Setting up remember:: Some code for .emacs to get things going +* Remember templates:: Define the outline of different note types +* Storing notes:: Directly get the note to where it belongs + + +File: org, Node: Setting up remember, Next: Remember templates, Prev: Remember, Up: Remember + +9.1 Setting up remember +======================= + +The following customization will tell remember to use org files as +target, and to create annotations compatible with Org-mode links. + + (setq org-directory "~/path/to/my/orgfiles/") + (setq org-default-notes-file (concat org-directory "/notes.org")) + (setq remember-annotation-functions '(org-remember-annotation)) + (setq remember-handler-functions '(org-remember-handler)) + (add-hook 'remember-mode-hook 'org-remember-apply-template) + + +File: org, Node: Remember templates, Next: Storing notes, Prev: Setting up remember, Up: Remember + +9.2 Remember templates +====================== + +In combination with Org-mode, you can use templates to generate +different types of remember notes. For example, if you would like to +use one template to create general TODO entries, another one for +journal entries, and a third one for collecting random ideas, you could +use: + + (setq org-remember-templates + '((?t "* TODO %?\n %i\n %a" "~/org/TODO.org" "Tasks") + (?j "* %U %?\n\n %i\n %a" "~/org/JOURNAL.org") + (?i "* %^{Title}\n %i\n %a" "~/org/JOURNAL.org" "New Ideas"))) + +In these entries, the character specifies how to select the template. +The first string specifies the template. Two more (optional) strings +give the file in which, and the headline under which the new note +should be stored. The file defaults (if not present or `nil') to +`org-default-notes-file', the heading to +`org-remember-default-headline'. Both defaults help to get to the +storing location quickly, but you can change the location interactively +while storing the note. + + When you call `M-x remember' (or `M-x org-remember') to remember +something, org will prompt for a key to select the template (if you have +more than one template) and then prepare the buffer like + * TODO + [[file:link to where you called remember]] + +or + + * [2006-03-21 Tue 15:37] + + [[file:link to where you called remember]] + +During expansion of the template, special `%'-escapes allow dynamic +insertion of content: + %^{prompt} prompt the user for a string and replace this sequence with it. + %t time stamp, date only + %T time stamp with date and time + %u, %U like the above, but inactive time stamps + %^t like `%t', but prompt for date. Similarly `%^T', `%^u', `%^U' + You may define a prompt like `%^{Birthday}t' + %n user name (taken from `user-full-name') + %a annotation, normally the link created with `org-store-link' + %A like `%a', but prompt for the description part + %i initial content, the region when remember is called with C-u. + The entire text will be indented like `%i' itself. + %^g prompt for tags, with completion on tags in target file. + %^G prompt for tags, with completion all tags in all agenda files. + %:keyword specific information for certain link types, see below + +For specific link types, the following keywords will be defined(1): + + Link type | Available keywords + -------------------+---------------------------------------------- + bbdb | %:name %:company + vm, wl, mh, rmail | %:type %:subject %:message-id + | %:from %:fromname %:fromaddress + | %:to %:toname %:toaddress + | %:fromto (either "to NAME" or "from NAME")(2) + gnus | %:group, for messages also all email fields + w3, w3m | %:url + info | %:file %:node + calendar | %:date" + +To place the cursor after template expansion use: + + %? After completing the template, position cursor here. + +If you change you mind about which template to use, call `org-remember' +in the remember buffer. You may then select a new template that will +be filled with the previous context information. + + ---------- Footnotes ---------- + + (1) If you define your own link types (*note Adding hyperlink +types::), any property you store with `org-store-link-props' can be +accessed in remember templates in a similar way. + + (2) This will always be the other, not the user. See the variable +`org-from-is-user-regexp'. + + +File: org, Node: Storing notes, Prev: Remember templates, Up: Remember + +9.3 Storing notes +================= + +When you are finished preparing a note with remember, you have to press +`C-c C-c' to file the note away. The handler will store the note in +the file and under the headline specified in the template, or it will +use the default file and headlines. The window configuration will be +restored, and you are back in the working context before the call to +`remember'. To re-use the location found during the last call to +`remember', exit the remember buffer with `C-u C-u C-c C-c', i.e. +specify a double prefix argument to `C-c C-c'. + + If you want to store the note to a different place, use `C-u C-c +C-c' instead to exit remember(1). The handler will then first prompt +for a target file - if you press , the value specified for the +template is used. Then the command offers the headings tree of the +selected file, with the cursor position at the default headline (if you +had specified one in the template). You can either immediately press + to get the note placed there. Or you can use the following keys +to find a different location: + Cycle visibility. + / Next/previous visible headline. + n / p Next/previous visible headline. + f / b Next/previous headline same level. + u One level up. + Pressing or or then leads to the following +result. + +Cursor Key Note gets inserted +position +on headline as sublevel of the heading at cursor, first or + last + depending on `org-reverse-note-order'. + /as same level, before/after current heading +buffer-start as level 2 heading at end of file or level 1 + at beginning + depending on `org-reverse-note-order'. +not on at cursor position, level taken from context. +headline + + Before inserting the text into a tree, the function ensures that the +text has a headline, i.e. a first line that starts with a `*'. If not, +a headline is constructed from the current date and some additional +data. If you have indented the text of the note below the headline, the +indentation will be adapted if inserting the note into the tree requires +demotion from level 1. + + ---------- Footnotes ---------- + + (1) Configure the variable `org-remember-store-without-prompt' to +make this behavior the default. + + +File: org, Node: Agenda views, Next: Embedded LaTeX, Prev: Remember, Up: Top + +10 Agenda Views +*************** Due to the way Org-mode works, TODO items, time-stamped items, and tagged headlines can be scattered throughout a file or even a number of @@ -3931,8 +4044,8 @@ the window configuration is restored when the agenda exits:  File: org, Node: Agenda files, Next: Agenda dispatcher, Prev: Agenda views, Up: Agenda views -9.1 Agenda files -================ +10.1 Agenda files +================= The information to be shown is collected from all _agenda files_, the files listed in the variable `org-agenda-files'(1). Thus even if you @@ -3950,7 +4063,11 @@ way to maintain it is through the following commands `C-,' `C-'' - Cycle through agenda file list, visiting one file after the other. + Cycle through agenda file list, visiting one file after the other. + +`C-c C-x /' + Search for a regular rexpression in all agenda files and display + the results in an `occur' buffer. The Org menu contains the current list of files and can be used to visit any of them. @@ -3968,8 +4085,8 @@ command will actually limit the command to the current file, and ignore  File: org, Node: Agenda dispatcher, Next: Built-in agenda views, Prev: Agenda files, Up: Agenda views -9.2 The agenda dispatcher -========================= +10.2 The agenda dispatcher +========================== The views are created through a dispatcher that should be bound to a global key, for example `C-c a' (*note Installation::). In the @@ -4012,8 +4129,8 @@ a number of special tags matches. *Note Custom agenda views::.  File: org, Node: Built-in agenda views, Next: Presentation and sorting, Prev: Agenda dispatcher, Up: Agenda views -9.3 The built-in agenda views -============================= +10.3 The built-in agenda views +============================== In this section we describe the built-in views. @@ -4028,8 +4145,8 @@ In this section we describe the built-in views.  File: org, Node: Weekly/Daily agenda, Next: Global TODO list, Prev: Built-in agenda views, Up: Built-in agenda views -9.3.1 The weekly/daily agenda ------------------------------ +10.3.1 The weekly/daily agenda +------------------------------ The purpose of the weekly/daily _agenda_ is to act like a page of a paper agenda, showing all the tasks for the current week or day. @@ -4091,8 +4208,8 @@ will be made in the agenda:  File: org, Node: Global TODO list, Next: Matching tags and properties, Prev: Weekly/Daily agenda, Up: Built-in agenda views -9.3.2 The global TODO list --------------------------- +10.3.2 The global TODO list +--------------------------- The global TODO list contains all unfinished TODO items, formatted and collected into a single place. @@ -4138,8 +4255,8 @@ it more compact:  File: org, Node: Matching tags and properties, Next: Timeline, Prev: Global TODO list, Up: Built-in agenda views -9.3.3 Matching Tags and Properties ----------------------------------- +10.3.3 Matching Tags and Properties +----------------------------------- If headlines in the agenda files are marked with _tags_ (*note Tags::), you can select headlines based on the tags that apply to them and @@ -4165,8 +4282,8 @@ Agenda commands::.  File: org, Node: Timeline, Next: Stuck projects, Prev: Matching tags and properties, Up: Built-in agenda views -9.3.4 Timeline for a single file --------------------------------- +10.3.4 Timeline for a single file +--------------------------------- The timeline summarizes all time-stamped items from a single Org-mode file in a _time-sorted view_. The main purpose of this command is to @@ -4183,8 +4300,8 @@ Agenda commands::.  File: org, Node: Stuck projects, Prev: Timeline, Up: Built-in agenda views -9.3.5 Stuck projects --------------------- +10.3.5 Stuck projects +--------------------- If you are following a system like David Allen's GTD to organize your work, one of the "duties" you have is a regular review to make sure @@ -4224,8 +4341,8 @@ not stuck. The correct customization for this is  File: org, Node: Presentation and sorting, Next: Agenda commands, Prev: Built-in agenda views, Up: Agenda views -9.4 Presentation and sorting -============================ +10.4 Presentation and sorting +============================= Before displaying items in an agenda view, Org-mode visually prepares the items and sorts them. Each item occupies a single line. The line @@ -4244,25 +4361,35 @@ associated with the item.  File: org, Node: Categories, Next: Time-of-day specifications, Prev: Presentation and sorting, Up: Presentation and sorting -9.4.1 Categories ----------------- +10.4.1 Categories +----------------- The category is a broad label assigned to each agenda item. By default, the category is simply derived from the file name, but you can also -specify it with a special line in the buffer, like this: +specify it with a special line in the buffer, like this(1): #+CATEGORY: Thesis - If there are several such lines in a file, each specifies the -category 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. +If you would like to have a special CATEGORY for a single entry or a +(sub)tree, give the entry a `:CATEGORY:' property with the location as +the value (*note Properties and columns::). + +The display in the agenda buffer looks best if the category is not +longer than 10 characters. + + ---------- Footnotes ---------- + + (1) If there are several such lines in a file, each specifies the +category for the text below it. The first category also applies to any +text before the first CATEGORY line. This method is only kept for +backward compatibility. The preferred method for setting multiple +categories in a buffer is using a property.  File: org, Node: Time-of-day specifications, Next: Sorting of agenda items, Prev: Categories, Up: Presentation and sorting -9.4.2 Time-of-Day Specifications --------------------------------- +10.4.2 Time-of-Day Specifications +--------------------------------- Org-mode checks each agenda item for a time-of-day specification. The time can be part of the time stamp that triggered inclusion into the @@ -4306,8 +4433,8 @@ timed entries are embedded in a time grid, like  File: org, Node: Sorting of agenda items, Prev: Time-of-day specifications, Up: Presentation and sorting -9.4.3 Sorting of agenda items ------------------------------ +10.4.3 Sorting of agenda items +------------------------------ Before being inserted into a view, the items are sorted. How this is done depends on the type of view. @@ -4334,8 +4461,8 @@ done depends on the type of view.  File: org, Node: Agenda commands, Next: Custom agenda views, Prev: Presentation and sorting, Up: Agenda views -9.5 Commands in the agenda buffer -================================= +10.5 Commands in the agenda buffer +================================== Entries in the agenda buffer are linked back to the org file or diary file where they originate. You are not allowed to edit the agenda @@ -4463,7 +4590,8 @@ Remote editing itself. `:' - Set tags for the current headline. + Set tags for the current headline. If there is an active region + in the agenda, change a tag for all headings in the region. `a' Toggle the ARCHIVE tag for the current headline. @@ -4580,8 +4708,8 @@ Quit and Exit  File: org, Node: Custom agenda views, Prev: Agenda commands, Up: Agenda views -9.6 Custom agenda views -======================= +10.6 Custom agenda views +======================== Custom agenda commands serve two purposes: to store and quickly access frequently used TODO and tags searches, and to create special composite @@ -4599,8 +4727,8 @@ dispatcher (*note Agenda dispatcher::), just like the default commands.  File: org, Node: Storing searches, Next: Block agenda, Prev: Custom agenda views, Up: Custom agenda views -9.6.1 Storing searches ----------------------- +10.6.1 Storing searches +----------------------- The first application of custom searches is the definition of keyboard shortcuts for frequently used searches, either creating an agenda @@ -4652,8 +4780,8 @@ example above will therefore define:  File: org, Node: Block agenda, Next: Setting Options, Prev: Storing searches, Up: Custom agenda views -9.6.2 Block agenda ------------------- +10.6.2 Block agenda +------------------- Another possibility is the construction of agenda views that comprise the results of _several_ commands, each of which creates a block in the @@ -4682,8 +4810,8 @@ your agenda for the current week, all TODO items that carry the tag  File: org, Node: Setting Options, Next: Exporting Agenda Views, Prev: Block agenda, Up: Custom agenda views -9.6.3 Setting Options for custom commands ------------------------------------------ +10.6.3 Setting Options for custom commands +------------------------------------------ Org-mode contains a number of variables regulating agenda construction and display. The global variables define the behavior for all agenda @@ -4740,8 +4868,8 @@ yourself.  File: org, Node: Exporting Agenda Views, Next: Extracting Agenda Information for other programs, Prev: Setting Options, Up: Custom agenda views -9.6.4 Exporting Agenda Views ----------------------------- +10.6.4 Exporting Agenda Views +----------------------------- If you are away from your computer, it can be very useful to have a printed version of some agenda views to carry around. Org-mode can @@ -4842,8 +4970,8 @@ them in order to be able to specify filenames.  File: org, Node: Extracting Agenda Information for other programs, Prev: Exporting Agenda Views, Up: Custom agenda views -9.6.5 Extracting Agenda Information for other programs ------------------------------------------------------- +10.6.5 Extracting Agenda Information for other programs +------------------------------------------------------- Org-mode provides commands to access agenda information for the command line in emacs batch mode. This extracted information can be sent @@ -4934,7 +5062,7 @@ Emacs/org-mode and prints all the items, preceded by a checkbox:  File: org, Node: Embedded LaTeX, Next: Exporting, Prev: Agenda views, Up: Top -10 Embedded LaTeX +11 Embedded LaTeX ***************** Plain ASCII is normally sufficient for almost all note taking. One @@ -4966,7 +5094,7 @@ for simplicity I am blurring this distinction.  File: org, Node: Math symbols, Next: Subscripts and Superscripts, Prev: Embedded LaTeX, Up: Embedded LaTeX -10.1 Math symbols +11.1 Math symbols ================= You can use LaTeX macros to insert special symbols like `\alpha' to @@ -4985,7 +5113,7 @@ is `α' and `→', respectively.  File: org, Node: Subscripts and Superscripts, Next: LaTeX fragments, Prev: Math symbols, Up: Embedded LaTeX -10.2 Subscripts and Superscripts +11.2 Subscripts and Superscripts ================================ Just like in LaTeX, `^' and `_' are used to indicate super- and @@ -5006,7 +5134,7 @@ are surrounded with `' and `' tags, respectively.  File: org, Node: LaTeX fragments, Next: Processing LaTeX fragments, Prev: Subscripts and Superscripts, Up: Embedded LaTeX -10.3 LaTeX fragments +11.3 LaTeX fragments ==================== With symbols, sub- and superscripts, HTML is pretty much at its end when @@ -5062,7 +5190,7 @@ fragments but include these fragments directly into the LaTeX code.  File: org, Node: Processing LaTeX fragments, Next: CDLaTeX mode, Prev: LaTeX fragments, Up: Embedded LaTeX -10.4 Processing LaTeX fragments +11.4 Processing LaTeX fragments =============================== LaTeX fragments can be processed to produce a preview images of the @@ -5088,7 +5216,7 @@ setting is active:  File: org, Node: CDLaTeX mode, Prev: Processing LaTeX fragments, Up: Embedded LaTeX -10.5 Using CDLaTeX to enter math +11.5 Using CDLaTeX to enter math ================================ CDLaTeX-mode is a minor mode that is normally used in combination with a @@ -5143,7 +5271,7 @@ fragment, see the documentation of the function  File: org, Node: Exporting, Next: Publishing, Prev: Embedded LaTeX, Up: Top -11 Exporting +12 Exporting ************ Org-mode documents can be exported into a variety of other formats. For @@ -5177,7 +5305,7 @@ output produced. *Note Text interpretation::, for more details.  File: org, Node: ASCII export, Next: HTML export, Prev: Exporting, Up: Exporting -11.1 ASCII export +12.1 ASCII export ================= ASCII export produces a simple and very readable version of an Org-mode @@ -5214,7 +5342,7 @@ indentation than the first, these are left alone.  File: org, Node: HTML export, Next: LaTeX export, Prev: ASCII export, Up: Exporting -11.2 HTML export +12.2 HTML export ================ Org-mode contains an HTML (XHTML 1.0 strict) exporter with extensive @@ -5232,7 +5360,7 @@ but with additional support for tables.  File: org, Node: HTML Export commands, Next: Quoting HTML tags, Prev: HTML export, Up: HTML export -11.2.1 HTML export commands +12.2.1 HTML export commands --------------------------- `C-c C-e h' @@ -5286,7 +5414,7 @@ creates two levels of headings and does the rest as items.  File: org, Node: Quoting HTML tags, Next: Links, Prev: HTML Export commands, Up: HTML export -11.2.2 Quoting HTML tags +12.2.2 Quoting HTML tags ------------------------ Plain `<' and `>' are always transformed to `<' and `>' in HTML @@ -5306,7 +5434,7 @@ or  File: org, Node: Links, Next: Images, Prev: Quoting HTML tags, Up: HTML export -11.2.3 Links +12.2.3 Links ------------ Internal links (*note Internal links::) will continue to work in HTML @@ -5322,7 +5450,7 @@ Publishing links::.  File: org, Node: Images, Next: CSS support, Prev: Links, Up: HTML export -11.2.4 Images +12.2.4 Images ------------- HTML export can inline images given as links in the Org-mode file, and @@ -5347,7 +5475,7 @@ and you could use `http' addresses just as well.  File: org, Node: CSS support, Prev: Images, Up: HTML export -11.2.5 CSS support +12.2.5 CSS support ------------------ You can also give style information for the exported file. The HTML @@ -5387,7 +5515,7 @@ should have no `#' at the start of the line.  File: org, Node: LaTeX export, Next: XOXO export, Prev: HTML export, Up: Exporting -11.3 LaTeX export +12.3 LaTeX export ================= Org-mode contains a LaTeX exporter written by Bastien Guerry. @@ -5400,7 +5528,7 @@ Org-mode contains a LaTeX exporter written by Bastien Guerry.  File: org, Node: LaTeX export commands, Next: Quoting LaTeX code, Prev: LaTeX export, Up: LaTeX export -11.3.1 LaTeX export commands +12.3.1 LaTeX export commands ---------------------------- `C-c C-e l' @@ -5438,7 +5566,7 @@ creates two levels of headings and does the rest as items.  File: org, Node: Quoting LaTeX code, Prev: LaTeX export commands, Up: LaTeX export -11.3.2 Quoting LaTeX code +12.3.2 Quoting LaTeX code ------------------------- Embedded LaTeX as described in *Note Embedded LaTeX:: will be correctly @@ -5457,7 +5585,7 @@ or  File: org, Node: XOXO export, Next: iCalendar export, Prev: LaTeX export, Up: Exporting -11.4 XOXO export +12.4 XOXO export ================ Org-mode contains an exporter that produces XOXO-style output. @@ -5473,7 +5601,7 @@ does not interpret any additional Org-mode features.  File: org, Node: iCalendar export, Next: Text interpretation, Prev: XOXO export, Up: Exporting -11.5 iCalendar export +12.5 iCalendar export ===================== Some people like to use Org-mode for keeping track of projects, but @@ -5504,7 +5632,7 @@ application you are using. The FAQ covers this issue.  File: org, Node: Text interpretation, Prev: iCalendar export, Up: Exporting -11.6 Text interpretation by the exporter +12.6 Text interpretation by the exporter ======================================== The exporter backends interpret additional structure in the Org-mode @@ -5521,7 +5649,7 @@ file in order to produce better output.  File: org, Node: Comment lines, Next: Initial text, Prev: Text interpretation, Up: Text interpretation -11.6.1 Comment lines +12.6.1 Comment lines -------------------- Lines starting with `#' in column zero are treated as comments and will @@ -5534,7 +5662,7 @@ never be exported. Also entire subtrees starting with the word  File: org, Node: Initial text, Next: Footnotes, Prev: Comment lines, Up: Text interpretation -11.6.2 Text before the first headline +12.6.2 Text before the first headline ------------------------------------- Org-mode normally ignores any text before the first headline when @@ -5570,7 +5698,7 @@ headline when exporting the file, you can use the `#+TEXT' construct:  File: org, Node: Footnotes, Next: Enhancing text, Prev: Initial text, Up: Text interpretation -11.6.3 Footnotes +12.6.3 Footnotes ---------------- Numbers in square brackets are treated as footnotes, so that you can use @@ -5579,7 +5707,7 @@ the Emacs package `footnote.el' to create footnotes. For example: The org-mode homepage[1] clearly needs help from a good web designer. - [1] The link is: http://www.astro.uva.nl/~dominik/Tools/org + [1] The link is: http://orgmode.org Note that the `footnote' package uses `C-c !' to invoke its commands. This binding conflicts with the org-mode command for inserting inactive @@ -5591,7 +5719,7 @@ binding, you could use `org-replace-disputed-keys' and  File: org, Node: Enhancing text, Next: Export options, Prev: Footnotes, Up: Text interpretation -11.6.4 Enhancing text for export +12.6.4 Enhancing text for export -------------------------------- Some of the export backends of Org-mode allow for sophisticated text @@ -5639,7 +5767,7 @@ should never be used.  File: org, Node: Export options, Prev: Enhancing text, Up: Text interpretation -11.6.5 Export options +12.6.5 Export options --------------------- The exporter recognizes special lines in the buffer which provide @@ -5654,6 +5782,7 @@ Completion::). #+TITLE: the title to be shown (default is the buffer name) #+AUTHOR: the author (default taken from `user-full-name') + #+DATE: A date, fixed, of a format string for `format-time-string' #+EMAIL: his/her email address (default from `user-mail-address') #+LANGUAGE: language for HTML, e.g. `en' (`org-export-default-language') #+TEXT: Some descriptive text to be inserted at the beginning. @@ -5687,7 +5816,7 @@ LaTeX export.  File: org, Node: Publishing, Next: Miscellaneous, Prev: Exporting, Up: Top -12 Publishing +13 Publishing ************* Org-mode includes(1) a publishing management system that allows you to @@ -5722,7 +5851,7 @@ format.  File: org, Node: Configuration, Next: Sample configuration, Prev: Publishing, Up: Publishing -12.1 Configuration +13.1 Configuration ================== Publishing needs significant configuration to specify files, destination @@ -5741,7 +5870,7 @@ and many other properties of a project.  File: org, Node: Project alist, Next: Sources and destinations, Prev: Configuration, Up: Configuration -12.1.1 The variable `org-publish-project-alist' +13.1.1 The variable `org-publish-project-alist' ----------------------------------------------- Org-publish is configured almost entirely through setting the value of @@ -5766,7 +5895,7 @@ you publish such a "meta-project" all the components will also publish.  File: org, Node: Sources and destinations, Next: Selecting files, Prev: Project alist, Up: Configuration -12.1.2 Sources and destinations for files +13.1.2 Sources and destinations for files ----------------------------------------- Most properties are optional, but some should always be set. In @@ -5783,7 +5912,7 @@ and where to put published files.  File: org, Node: Selecting files, Next: Publishing action, Prev: Sources and destinations, Up: Configuration -12.1.3 Selecting files +13.1.3 Selecting files ---------------------- By default, all files with extension `.org' in the base directory are @@ -5800,7 +5929,7 @@ properties  File: org, Node: Publishing action, Next: Publishing options, Prev: Selecting files, Up: Configuration -12.1.4 Publishing Action +13.1.4 Publishing Action ------------------------ Publishing means that a file is copied to the destination directory and @@ -5827,7 +5956,7 @@ provides one for attachments (files that only need to be copied):  File: org, Node: Publishing options, Next: Publishing links, Prev: Publishing action, Up: Configuration -12.1.5 Options for the HTML/LaTeX exporters +13.1.5 Options for the HTML/LaTeX exporters ------------------------------------------- The property list can be used to set many export options for the HTML @@ -5877,7 +6006,7 @@ however, override everything.  File: org, Node: Publishing links, Next: Project page index, Prev: Publishing options, Up: Configuration -12.1.6 Links between published files +13.1.6 Links between published files ------------------------------------ To create a link from one Org-mode file to another, you would use @@ -5909,7 +6038,7 @@ is part of any project in `org-publish-project-alist'.  File: org, Node: Project page index, Prev: Publishing links, Up: Configuration -12.1.7 Project page index +13.1.7 Project page index ------------------------- The following properties may be used to control publishing of an index @@ -5927,7 +6056,7 @@ of files or summary page for a given project.  File: org, Node: Sample configuration, Next: Triggering publication, Prev: Configuration, Up: Publishing -12.2 Sample configuration +13.2 Sample configuration ========================= Below we provide two example configurations. The first one is a simple @@ -5942,7 +6071,7 @@ more complex, with a multi-component project.  File: org, Node: Simple example, Next: Complex example, Prev: Sample configuration, Up: Sample configuration -12.2.1 Example: simple publishing configuration +13.2.1 Example: simple publishing configuration ----------------------------------------------- This example publishes a set of Org-mode files to the `public_html' @@ -5961,7 +6090,7 @@ directory on the local machine.  File: org, Node: Complex example, Prev: Simple example, Up: Sample configuration -12.2.2 Example: complex publishing configuration +13.2.2 Example: complex publishing configuration ------------------------------------------------ This more complicated example publishes an entire website, including @@ -6009,7 +6138,7 @@ right place on the webserver, and publishing images to it.  File: org, Node: Triggering publication, Prev: Sample configuration, Up: Publishing -12.3 Triggering publication +13.3 Triggering publication =========================== Once org-publish is properly configured, you can publish with the @@ -6035,7 +6164,7 @@ force publishing of all files by giving a prefix argument.  File: org, Node: Miscellaneous, Next: Extensions and Hacking, Prev: Publishing, Up: Top -13 Miscellaneous +14 Miscellaneous **************** * Menu: @@ -6052,7 +6181,7 @@ File: org, Node: Miscellaneous, Next: Extensions and Hacking, Prev: Publishin  File: org, Node: Completion, Next: Customization, Prev: Miscellaneous, Up: Miscellaneous -13.1 Completion +14.1 Completion =============== Org-mode supports in-buffer completion. This type of completion does @@ -6095,7 +6224,7 @@ buffer and use the key to complete text right there.  File: org, Node: Customization, Next: In-buffer settings, Prev: Completion, Up: Miscellaneous -13.2 Customization +14.2 Customization ================== There are more than 180 variables that can be used to customize @@ -6109,7 +6238,7 @@ activated on a per-file basis, by putting special lines into the buffer  File: org, Node: In-buffer settings, Next: The very busy C-c C-c key, Prev: Customization, Up: Miscellaneous -13.3 Summary of in-buffer settings +14.3 Summary of in-buffer settings ================================== Org-mode uses special lines in the buffer to define settings on a @@ -6212,7 +6341,7 @@ file is visited again in a new Emacs session. This line contains the formulas for the table directly above the line. -`#+TITLE:, #+AUTHOR:, #+EMAIL:, #+LANGUAGE:, #+TEXT:, #+OPTIONS:' +`#+TITLE:, #+AUTHOR:, #+EMAIL:, #+LANGUAGE:, #+TEXT:, #+OPTIONS, #+DATE:' These lines provide settings for exporting files. For more details see *Note Export options::. @@ -6224,7 +6353,7 @@ file is visited again in a new Emacs session.  File: org, Node: The very busy C-c C-c key, Next: Clean view, Prev: In-buffer settings, Up: Miscellaneous -13.4 The very busy C-c C-c key +14.4 The very busy C-c C-c key ============================== The key `C-c C-c' has many purposes in org-mode, which are all @@ -6266,10 +6395,13 @@ means in different contexts. - If the cursor is on a numbered item in a plain list, renumber the ordered list. + - If the cursor is on the `#+BEGIN' line of a dynamical block, the + block is updated. +  File: org, Node: Clean view, Next: TTY keys, Prev: The very busy C-c C-c key, Up: Miscellaneous -13.5 A cleaner outline view +14.5 A cleaner outline view =========================== Some people find it noisy and distracting that the Org-mode headlines @@ -6351,7 +6483,7 @@ org-convert-to-oddeven-levels'.  File: org, Node: TTY keys, Next: Interaction, Prev: Clean view, Up: Miscellaneous -13.6 Using org-mode on a tty +14.6 Using org-mode on a tty ============================ Org-mode uses a number of keys that are not accessible on a tty. This @@ -6393,7 +6525,7 @@ Default Alternative 1 Alternative 2  File: org, Node: Interaction, Next: Bugs, Prev: TTY keys, Up: Miscellaneous -13.7 Interaction with other packages +14.7 Interaction with other packages ==================================== Org-mode lives in the world of GNU Emacs and interacts in various ways @@ -6407,7 +6539,7 @@ with other code out there.  File: org, Node: Cooperation, Next: Conflicts, Prev: Interaction, Up: Interaction -13.7.1 Packages that Org-mode cooperates with +14.7.1 Packages that Org-mode cooperates with --------------------------------------------- `calc.el' by Dave Gillespie @@ -6469,7 +6601,7 @@ File: org, Node: Cooperation, Next: Conflicts, Prev: Interaction, Up: Intera  File: org, Node: Conflicts, Prev: Cooperation, Up: Interaction -13.7.2 Packages that lead to conflicts with Org-mode +14.7.2 Packages that lead to conflicts with Org-mode ---------------------------------------------------- `allout.el' by Ken Manheimer @@ -6513,7 +6645,7 @@ File: org, Node: Conflicts, Prev: Cooperation, Up: Interaction  File: org, Node: Bugs, Prev: Interaction, Up: Miscellaneous -13.8 Bugs +14.8 Bugs ========= Here is a list of things that should work differently, but which I have @@ -6609,6 +6741,14 @@ The following extensions for Org-mode have been written by other people: Translates Org-mode files into something readable by Remind. `http://www.cognition.ens.fr/~guerry/u/org2rem.el'. +`org-toc.el' by Bastien Guerry + Produces a simple table of contents of an Org-mode file, for easy + navigation. `http://www.cognition.ens.fr/~guerry/u/org2rem.el'. + +`org-registry.el' by Bastien Guerry + Find which Org-file link to a certain document. + `http://www.cognition.ens.fr/~guerry/u/org2rem.el'. +  File: org, Node: Adding hyperlink types, Next: Tables in arbitrary syntax, Prev: Extensions, Up: Extensions and Hacking @@ -7059,8 +7199,10 @@ particular, you may use the functions `org-agenda-skip-entry-if' and Skip current entry if it has a deadline, or if it is scheduled. `'(org-agenda-skip-entry 'regexp "regular expression")' - Skip current entry if the regular expression contained in the - variable `org-agenda-skip-regexp' matches in the entry. + Skip current entry if the regular expression matches in the entry. + +`'(org-agenda-skip-entry 'notregexp "regular expression")' + Skip current entry unless the regular expression matches. `'(org-agenda-skip-subtree-if 'regexp "regular expression")' Same as above, but check and skip the entire subtree. @@ -7292,21 +7434,21 @@ Index (line 6) * action, for publishing: Publishing action. (line 6) * activation: Activation. (line 6) -* active region <1>: HTML Export commands. - (line 6) +* active region <1>: Structure editing. (line 68) * active region <2>: ASCII export. (line 9) * active region <3>: Built-in table editor. - (line 141) -* active region: Structure editing. (line 64) + (line 143) +* active region: HTML Export commands. + (line 6) * agenda: Weekly/Daily agenda. (line 6) * agenda dispatcher: Agenda dispatcher. (line 6) * agenda files: Agenda files. (line 6) -* agenda files, removing buffers: Agenda commands. (line 239) +* agenda files, removing buffers: Agenda commands. (line 240) * agenda views: Agenda views. (line 6) * agenda views, custom: Custom agenda views. (line 6) -* agenda views, exporting <1>: Exporting Agenda Views. - (line 6) -* agenda views, exporting: Agenda commands. (line 228) +* agenda views, exporting <1>: Agenda commands. (line 229) +* agenda views, exporting: Exporting Agenda Views. + (line 12) * agenda views, user-defined: Special agenda views. (line 6) * agenda, pipe: Extracting Agenda Information for other programs. @@ -7315,14 +7457,14 @@ Index * align, STARTUP keyword: In-buffer settings. (line 68) * allout.el: Conflicts. (line 6) * angular brackets, around links: External links. (line 43) -* API, for properties <1>: Using the property API. +* API, for properties <1>: Property API. (line 6) +* API, for properties: Using the property API. (line 6) -* API, for properties: Property API. (line 6) * archive locations: Moving subtrees. (line 23) * archiving: Archiving. (line 6) * ASCII export: ASCII export. (line 6) * author: Feedback. (line 6) -* author info, in export: Export options. (line 25) +* author info, in export: Export options. (line 26) * autoload: Activation. (line 6) * backtrace of an error: Feedback. (line 27) * BBDB links: External links. (line 6) @@ -7338,8 +7480,8 @@ Index * calc.el: Cooperation. (line 6) * calculations, in tables <1>: The spreadsheet. (line 6) * calculations, in tables: Built-in table editor. - (line 141) -* calendar commands, from agenda: Agenda commands. (line 191) + (line 143) +* calendar commands, from agenda: Agenda commands. (line 192) * calendar integration: Weekly/Daily agenda. (line 24) * calendar, for selecting date: The date/time prompt. (line 26) @@ -7358,15 +7500,15 @@ Index * completion, of file names: Handling links. (line 43) * completion, of link abbreviations: Completion. (line 6) * completion, of links: Handling links. (line 25) -* completion, of option keywords <1>: Completion. (line 6) -* completion, of option keywords <2>: Export options. (line 6) -* completion, of option keywords: Per file keywords. (line 23) +* completion, of option keywords <1>: Export options. (line 6) +* completion, of option keywords <2>: Per file keywords. (line 23) +* completion, of option keywords: Completion. (line 6) * completion, of property keys: Completion. (line 6) -* completion, of tags <1>: Completion. (line 6) -* completion, of tags: Setting tags. (line 11) +* completion, of tags <1>: Setting tags. (line 11) +* completion, of tags: Completion. (line 6) * completion, of TeX symbols: Completion. (line 6) -* completion, of TODO keywords <1>: Completion. (line 6) -* completion, of TODO keywords: Workflow states. (line 15) +* completion, of TODO keywords <1>: Workflow states. (line 15) +* completion, of TODO keywords: Completion. (line 6) * constants, in calculations: References. (line 82) * constants.el: Cooperation. (line 14) * constcgs, STARTUP keyword: In-buffer settings. (line 93) @@ -7386,7 +7528,7 @@ Index * cycling, visibility: Visibility cycling. (line 6) * daily agenda: Weekly/Daily agenda. (line 6) * date format, custom: Custom time format. (line 6) -* date range: Time stamps. (line 41) +* date range: Time stamps. (line 40) * date stamps <1>: Time stamps. (line 6) * date stamps: Timestamps. (line 6) * date, reading in minibuffer: The date/time prompt. @@ -7397,7 +7539,7 @@ Index * debugging, of table formulas: Editing and debugging formulas. (line 97) * demotion, of subtrees: Structure editing. (line 6) -* diary entries, creating from agenda: Agenda commands. (line 196) +* diary entries, creating from agenda: Agenda commands. (line 197) * diary integration: Weekly/Daily agenda. (line 24) * dictionary word completion: Completion. (line 6) * directories, for publishing: Sources and destinations. @@ -7413,20 +7555,22 @@ Index * editing, of table formulas: Editing and debugging formulas. (line 6) * elisp links: External links. (line 6) -* emphasized text: Export options. (line 25) +* emphasized text: Export options. (line 26) * enhancing text: Enhancing text. (line 6) * evaluate time range: Creating timestamps. (line 48) * even, STARTUP keyword: In-buffer settings. (line 83) * exporting: Exporting. (line 6) * exporting agenda views <1>: Exporting Agenda Views. (line 12) -* exporting agenda views: Agenda commands. (line 228) +* exporting agenda views: Agenda commands. (line 229) * exporting, not: Comment lines. (line 6) * extended TODO keywords: TODO extensions. (line 6) * extension, third-party: Extensions. (line 6) * external archiving: Moving subtrees. (line 6) * external links: External links. (line 6) * external links, in HTML export: Links. (line 6) +* faces, for TODO keywords: Faces for TODO keywords. + (line 6) * FAQ: Summary. (line 56) * feedback: Feedback. (line 6) * field formula: Field formulas. (line 6) @@ -7438,14 +7582,14 @@ Index * files, adding to agenda list: Agenda files. (line 12) * files, selecting for publishing: Selecting files. (line 6) * fixed width: Enhancing text. (line 28) -* fixed-width sections: Export options. (line 25) +* fixed-width sections: Export options. (line 26) * folded, subtree visibility state: Visibility cycling. (line 10) * folding, sparse trees: Sparse trees. (line 6) * following links: Handling links. (line 58) * footnote.el <1>: Conflicts. (line 35) * footnote.el <2>: Cooperation. (line 56) * footnote.el: Footnotes. (line 6) -* footnotes <1>: Export options. (line 25) +* footnotes <1>: Export options. (line 26) * footnotes: Footnotes. (line 6) * format specifier: Formula syntax for Calc. (line 14) @@ -7459,7 +7603,7 @@ Index * formula, for individual table field: Field formulas. (line 6) * formula, for table column: Column formulas. (line 6) * formula, in tables: Built-in table editor. - (line 141) + (line 143) * global cycling: Visibility cycling. (line 22) * global keybindings: Activation. (line 6) * global TODO list: Global TODO list. (line 6) @@ -7467,11 +7611,11 @@ Index * GNUS links: External links. (line 6) * grouping columns in tables: Column groups. (line 6) * hand-formatted lists: Enhancing text. (line 11) -* headline levels: Export options. (line 25) -* headline levels, for exporting <1>: LaTeX export commands. - (line 26) -* headline levels, for exporting <2>: HTML Export commands. +* headline levels: Export options. (line 26) +* headline levels, for exporting <1>: HTML Export commands. (line 44) +* headline levels, for exporting <2>: LaTeX export commands. + (line 26) * headline levels, for exporting: ASCII export. (line 21) * headline navigation: Motion. (line 6) * headline tagging: Tags. (line 6) @@ -7492,7 +7636,7 @@ Index * iCalendar export: iCalendar export. (line 6) * images, inline in HTML: Images. (line 6) * in-buffer settings: In-buffer settings. (line 6) -* inactive timestamp: Time stamps. (line 50) +* inactive timestamp: Time stamps. (line 49) * index, of published pages: Project page index. (line 6) * Info links: External links. (line 6) * inheritance, of tags: Tag inheritance. (line 6) @@ -7508,7 +7652,7 @@ Index * keybindings, global: Activation. (line 6) * keyword options: Per file keywords. (line 6) * LaTeX export: LaTeX export. (line 6) -* LaTeX fragments <1>: Export options. (line 25) +* LaTeX fragments <1>: Export options. (line 26) * LaTeX fragments: LaTeX fragments. (line 6) * LaTeX fragments, export: Enhancing text. (line 21) * LaTeX fragments, preview: Processing LaTeX fragments. @@ -7516,7 +7660,7 @@ Index * LaTeX interpretation: Embedded LaTeX. (line 6) * LaTeX, and orgtbl-mode: A LaTeX example. (line 6) * level, require for tags match: Tag searches. (line 68) -* linebreak preservation: Export options. (line 25) +* linebreak preservation: Export options. (line 26) * linebreak, forced: Enhancing text. (line 35) * link abbreviations: Link abbreviations. (line 6) * link abbreviations, completion of: Completion. (line 6) @@ -7612,7 +7756,7 @@ Index * properties, special: Special properties. (line 6) * property syntax: Property syntax. (line 6) * publishing: Publishing. (line 6) -* quoted HTML tags: Export options. (line 25) +* quoted HTML tags: Export options. (line 26) * radio tables: Radio tables. (line 6) * radio targets: Radio targets. (line 6) * range references: References. (line 60) @@ -7622,15 +7766,15 @@ Index * references, named: References. (line 82) * references, to fields: References. (line 15) * references, to ranges: References. (line 60) -* region, active <1>: HTML Export commands. - (line 6) +* region, active <1>: Built-in table editor. + (line 143) * region, active <2>: ASCII export. (line 9) -* region, active <3>: Built-in table editor. - (line 141) -* region, active: Structure editing. (line 64) +* region, active <3>: HTML Export commands. + (line 6) +* region, active: Structure editing. (line 68) * regular expressions, with tags search: Tag searches. (line 63) -* remember.el <1>: Cooperation. (line 33) -* remember.el: Remember. (line 6) +* remember.el <1>: Remember. (line 6) +* remember.el: Cooperation. (line 33) * remote editing, from agenda: Agenda commands. (line 106) * remote editing, undo: Agenda commands. (line 107) * richer text: Enhancing text. (line 6) @@ -7643,7 +7787,7 @@ Index * search option in file links: Search options. (line 6) * search strings, custom: Custom searches. (line 6) * searching for tags: Tag searches. (line 6) -* section-numbers: Export options. (line 25) +* section-numbers: Export options. (line 26) * setting tags: Setting tags. (line 6) * SHELL links: External links. (line 6) * show all, command: Visibility cycling. (line 33) @@ -7655,7 +7799,7 @@ Index (line 6) * sparse tree, for deadlines: Inserting deadline/schedule. (line 11) -* sparse tree, for TODO: TODO basics. (line 34) +* sparse tree, for TODO: TODO basics. (line 38) * sparse tree, tag based: Tags. (line 6) * sparse trees: Sparse trees. (line 6) * special keywords: In-buffer settings. (line 6) @@ -7681,9 +7825,9 @@ Index * table editor, built-in: Built-in table editor. (line 6) * table editor, table.el: Cooperation. (line 37) -* table of contents: Export options. (line 25) -* table.el: Cooperation. (line 34) -* tables <1>: Export options. (line 25) +* table of contents: Export options. (line 26) +* table.el: Cooperation. (line 37) +* tables <1>: Export options. (line 26) * tables: Tables. (line 6) * tables, export: Enhancing text. (line 24) * tables, in other modes: Tables in arbitrary syntax. @@ -7699,29 +7843,29 @@ Index * tasks, breaking down: Breaking down tasks. (line 6) * templates, for remember: Remember templates. (line 6) * TeX interpretation: Embedded LaTeX. (line 6) -* TeX macros <1>: Export options. (line 25) +* TeX macros <1>: Export options. (line 26) * TeX macros: Math symbols. (line 6) * TeX macros, export: Enhancing text. (line 21) * TeX symbol completion: Completion. (line 6) -* TeX-like syntax for sub- and superscripts: Export options. (line 25) +* TeX-like syntax for sub- and superscripts: Export options. (line 26) * thanks: History and Acknowledgments. (line 6) * time format, custom: Custom time format. (line 6) * time grid: Time-of-day specifications. (line 26) -* time info, in export: Export options. (line 25) -* time stamps <1>: Time stamps. (line 6) -* time stamps: Timestamps. (line 6) +* time info, in export: Export options. (line 26) +* time stamps <1>: Timestamps. (line 6) +* time stamps: Time stamps. (line 6) * time, reading in minibuffer: The date/time prompt. (line 6) * time-of-day specification: Time-of-day specifications. (line 6) * time-sorted view: Timeline. (line 6) * timeline, single file: Timeline. (line 6) -* timerange: Time stamps. (line 41) +* timerange: Time stamps. (line 40) * timestamp: Time stamps. (line 14) -* timestamp, inactive: Time stamps. (line 50) -* timestamp, with repeater interval: Time stamps. (line 25) +* timestamp, inactive: Time stamps. (line 49) +* timestamp, with repeater interval: Time stamps. (line 24) * timestamps, creating: Creating timestamps. (line 6) * TODO items: TODO items. (line 6) * TODO keyword matching: Global TODO list. (line 17) @@ -7732,12 +7876,12 @@ Index * TODO list, global: Global TODO list. (line 6) * TODO types: TODO types. (line 6) * TODO workflow: Workflow states. (line 6) -* transient-mark-mode <1>: HTML Export commands. +* transient-mark-mode <1>: Structure editing. (line 68) +* transient-mark-mode <2>: Built-in table editor. + (line 143) +* transient-mark-mode <3>: HTML Export commands. (line 6) -* transient-mark-mode <2>: ASCII export. (line 9) -* transient-mark-mode <3>: Built-in table editor. - (line 141) -* transient-mark-mode: Structure editing. (line 64) +* transient-mark-mode: ASCII export. (line 9) * translator function: Translator functions. (line 6) * trees, sparse: Sparse trees. (line 6) @@ -7774,51 +7918,52 @@ Key Index * $: Agenda commands. (line 121) * ': CDLaTeX mode. (line 43) -* +: Agenda commands. (line 143) -* ,: Agenda commands. (line 135) -* -: Agenda commands. (line 149) +* +: Agenda commands. (line 144) +* ,: Agenda commands. (line 136) +* -: Agenda commands. (line 150) * .: Agenda commands. (line 98) * :: Agenda commands. (line 129) -* < <1>: The date/time prompt. +* < <1>: Using column view. (line 54) +* <: The date/time prompt. (line 32) -* <: Using column view. (line 54) * : Agenda commands. (line 95) -* <1>: Agenda commands. (line 39) +* <1>: Built-in table editor. + (line 64) * <2>: The date/time prompt. (line 57) -* <3>: Setting tags. (line 76) -* : Built-in table editor. - (line 62) +* <3>: Agenda commands. (line 39) +* : Setting tags. (line 76) * : Agenda commands. (line 90) -* <1>: Agenda commands. (line 28) -* : Setting tags. (line 73) -* <1>: CDLaTeX mode. (line 23) -* <2>: Agenda commands. (line 33) -* <3>: Setting tags. (line 68) -* <4>: Editing and debugging formulas. +* <1>: Setting tags. (line 73) +* : Agenda commands. (line 28) +* <1>: Built-in table editor. (line 57) -* <5>: Built-in table editor. - (line 55) -* <6>: Plain lists. (line 41) -* : Visibility cycling. (line 10) -* > <1>: Agenda commands. (line 171) -* > <2>: The date/time prompt. +* <2>: Agenda commands. (line 33) +* <3>: Visibility cycling. (line 10) +* <4>: Plain lists. (line 41) +* <5>: Setting tags. (line 68) +* <6>: CDLaTeX mode. (line 23) +* : Editing and debugging formulas. + (line 57) +* > <1>: The date/time prompt. (line 33) -* >: Using column view. (line 54) +* > <2>: Using column view. (line 54) +* >: Agenda commands. (line 172) * ^: CDLaTeX mode. (line 33) * _: CDLaTeX mode. (line 33) * `: CDLaTeX mode. (line 39) -* a <1>: Agenda commands. (line 132) -* a: Using column view. (line 43) +* a <1>: Using column view. (line 43) +* a: Agenda commands. (line 133) * b: Agenda commands. (line 49) -* C: Agenda commands. (line 211) -* c: Agenda commands. (line 191) +* c: Agenda commands. (line 192) +* C: Agenda commands. (line 212) * C-#: Advanced features. (line 9) * C-': Agenda files. (line 18) * C-,: Agenda files. (line 18) +* C-: Structure editing. (line 18) * C-_: Agenda commands. (line 107) -* C-c ! <1>: Footnotes. (line 14) -* C-c !: Creating timestamps. (line 19) +* C-c ! <1>: Creating timestamps. (line 19) +* C-c !: Footnotes. (line 14) * C-c #: Checkboxes. (line 57) * C-c %: Handling links. (line 81) * C-c &: Handling links. (line 85) @@ -7826,10 +7971,10 @@ Key Index (line 36) * C-c *: Updating the table. (line 13) * C-c +: Built-in table editor. - (line 141) + (line 143) * C-c ,: Priorities. (line 18) * C-c - <1>: Built-in table editor. - (line 90) + (line 92) * C-c -: Plain lists. (line 88) * C-c .: Creating timestamps. (line 10) * C-c /: Sparse trees. (line 15) @@ -7837,7 +7982,7 @@ Key Index * C-c ;: Comment lines. (line 10) * C-c <: Creating timestamps. (line 23) * C-c : Built-in table editor. - (line 161) + (line 163) * C-c = <1>: Editing and debugging formulas. (line 14) * C-c =: Column formulas. (line 26) @@ -7847,11 +7992,11 @@ Key Index * C-c [: Agenda files. (line 12) * C-c \: Tag searches. (line 9) * C-c ]: Agenda files. (line 15) -* C-c ^ <1>: Built-in table editor. - (line 94) -* C-c ^: Structure editing. (line 52) +* C-c ^ <1>: Structure editing. (line 56) +* C-c ^: Built-in table editor. + (line 96) * C-c `: Built-in table editor. - (line 157) + (line 159) * C-c a !: Stuck projects. (line 14) * C-c a #: Stuck projects. (line 13) * C-c a a: Weekly/Daily agenda. (line 9) @@ -7859,49 +8004,50 @@ Key Index * C-c a e: Exporting Agenda Views. (line 57) * C-c a L: Timeline. (line 10) -* C-c a M: Matching tags and properties. - (line 15) +* C-c a M: Tag searches. (line 16) +* C-c a m <1>: Tag searches. (line 12) * C-c a m: Matching tags and properties. (line 10) -* C-c a M: Tag searches. (line 16) -* C-c a m: Tag searches. (line 12) +* C-c a M: Matching tags and properties. + (line 15) * C-c a T: Global TODO list. (line 14) -* C-c a t <1>: Global TODO list. (line 9) -* C-c a t: TODO basics. (line 44) +* C-c a t <1>: TODO basics. (line 48) +* C-c a t: Global TODO list. (line 9) * C-c C-a: Visibility cycling. (line 33) * C-c C-b: Motion. (line 15) -* C-c C-c <1>: Cooperation. (line 37) -* C-c C-c <2>: The very busy C-c C-c key. +* C-c C-c <1>: TODO basics. (line 30) +* C-c C-c <2>: Cooperation. (line 37) +* C-c C-c <3>: The very busy C-c C-c key. (line 6) -* C-c C-c <3>: Processing LaTeX fragments. +* C-c C-c <4>: Processing LaTeX fragments. (line 15) -* C-c C-c <4>: Property syntax. (line 54) -* C-c C-c <5>: Setting tags. (line 10) -* C-c C-c <6>: Checkboxes. (line 37) -* C-c C-c <7>: TODO basics. (line 26) -* C-c C-c <8>: Editing and debugging formulas. +* C-c C-c <5>: Clocking work time. (line 79) +* C-c C-c <6>: Property syntax. (line 54) +* C-c C-c <7>: Setting tags. (line 10) +* C-c C-c <8>: Checkboxes. (line 37) +* C-c C-c <9>: Editing and debugging formulas. (line 46) -* C-c C-c <9>: Built-in table editor. - (line 54) +* C-c C-c <10>: Built-in table editor. + (line 56) * C-c C-c: Plain lists. (line 81) -* C-c C-d <1>: Agenda commands. (line 156) -* C-c C-d: Inserting deadline/schedule. +* C-c C-d <1>: Inserting deadline/schedule. (line 9) +* C-c C-d: Agenda commands. (line 157) * C-c C-e: Exporting. (line 20) * C-c C-e a: ASCII export. (line 9) * C-c C-e b: HTML Export commands. (line 13) * C-c C-e c: iCalendar export. (line 21) -* C-c C-e H: HTML Export commands. - (line 16) * C-c C-e h: HTML Export commands. (line 6) +* C-c C-e H: HTML Export commands. + (line 16) * C-c C-e I: iCalendar export. (line 16) * C-c C-e i: iCalendar export. (line 14) -* C-c C-e L: LaTeX export commands. - (line 7) * C-c C-e l: LaTeX export commands. (line 6) +* C-c C-e L: LaTeX export commands. + (line 7) * C-c C-e R: HTML Export commands. (line 19) * C-c C-e t: Export options. (line 13) @@ -7910,14 +8056,14 @@ Key Index * C-c C-e v a: ASCII export. (line 16) * C-c C-e v b: HTML Export commands. (line 24) -* C-c C-e v H: HTML Export commands. - (line 24) * C-c C-e v h: HTML Export commands. (line 24) -* C-c C-e v L: LaTeX export commands. - (line 10) +* C-c C-e v H: HTML Export commands. + (line 24) * C-c C-e v l: LaTeX export commands. (line 10) +* C-c C-e v L: LaTeX export commands. + (line 10) * C-c C-e v R: HTML Export commands. (line 24) * C-c C-e x: XOXO export. (line 10) @@ -7925,33 +8071,34 @@ Key Index * C-c C-j: Motion. (line 21) * C-c C-l: Handling links. (line 25) * C-c C-n: Motion. (line 8) -* C-c C-o <1>: Creating timestamps. (line 31) -* C-c C-o: Handling links. (line 58) +* C-c C-o <1>: Handling links. (line 58) +* C-c C-o: Creating timestamps. (line 31) * C-c C-p: Motion. (line 9) * C-c C-q <1>: Editing and debugging formulas. (line 50) * C-c C-q: Built-in table editor. - (line 125) + (line 127) * C-c C-r <1>: Editing and debugging formulas. (line 53) * C-c C-r: Visibility cycling. (line 34) -* C-c C-s <1>: Agenda commands. (line 153) +* C-c C-s <1>: Agenda commands. (line 154) * C-c C-s: Inserting deadline/schedule. (line 18) * C-c C-t <1>: Clocking work time. (line 27) * C-c C-t: TODO basics. (line 13) * C-c C-u: Motion. (line 18) -* C-c C-v: TODO basics. (line 34) +* C-c C-v: TODO basics. (line 38) * C-c C-w: Inserting deadline/schedule. (line 11) +* C-c C-x /: Agenda files. (line 22) * C-c C-x b: Visibility cycling. (line 41) * C-c C-x C-a: ARCHIVE tag. (line 28) * C-c C-x C-b: Checkboxes. (line 39) -* C-c C-x C-c <1>: Agenda commands. (line 218) +* C-c C-x C-c <1>: Agenda commands. (line 219) * C-c C-x C-c: Using column view. (line 9) * C-c C-x C-d: Clocking work time. (line 35) * C-c C-x C-i: Clocking work time. (line 12) -* C-c C-x C-k: Structure editing. (line 39) +* C-c C-x C-k: Structure editing. (line 43) * C-c C-x C-l: Processing LaTeX fragments. (line 9) * C-c C-x C-n: Handling links. (line 91) @@ -7960,27 +8107,28 @@ Key Index * C-c C-x C-r: Clocking work time. (line 43) * C-c C-x C-s: Moving subtrees. (line 10) * C-c C-x C-t: Custom time format. (line 12) -* C-c C-x C-u: Dynamic blocks. (line 21) +* C-c C-x C-u <1>: Dynamic blocks. (line 21) +* C-c C-x C-u: Clocking work time. (line 81) * C-c C-x C-w <1>: Built-in table editor. - (line 114) -* C-c C-x C-w: Structure editing. (line 39) + (line 116) +* C-c C-x C-w: Structure editing. (line 43) * C-c C-x C-x: Clocking work time. (line 31) * C-c C-x C-y <1>: Built-in table editor. - (line 118) -* C-c C-x C-y: Structure editing. (line 46) + (line 120) +* C-c C-x C-y: Structure editing. (line 50) * C-c C-x M-w <1>: Built-in table editor. - (line 111) -* C-c C-x M-w: Structure editing. (line 43) + (line 113) +* C-c C-x M-w: Structure editing. (line 47) * C-c C-y <1>: Clocking work time. (line 22) * C-c C-y: Creating timestamps. (line 48) * C-c l: Handling links. (line 9) -* C-c { <1>: CDLaTeX mode. (line 21) -* C-c {: Editing and debugging formulas. +* C-c { <1>: Editing and debugging formulas. (line 33) +* C-c {: CDLaTeX mode. (line 21) * C-c |: Built-in table editor. (line 40) * C-c }: Editing and debugging formulas. - (line 28) + (line 79) * C-c ~: Cooperation. (line 48) * C-k: Agenda commands. (line 115) * C-S-: Multiple sets in one file. @@ -7990,15 +8138,16 @@ Key Index * C-TAB: ARCHIVE tag. (line 38) * C-u C-c *: Updating the table. (line 16) * C-u C-c .: Creating timestamps. (line 14) -* C-u C-c = <1>: Editing and debugging formulas. +* C-u C-c = <1>: Field formulas. (line 24) +* C-u C-c =: Editing and debugging formulas. (line 14) -* C-u C-c =: Field formulas. (line 24) * C-u C-c C-c: Updating the table. (line 19) * C-u C-c C-l: Handling links. (line 43) +* C-u C-c C-t: TODO basics. (line 22) * C-u C-c C-x C-a: ARCHIVE tag. (line 31) * C-u C-c C-x C-s: Moving subtrees. (line 14) -* C-u C-c C-x C-u <1>: Dynamic blocks. (line 22) -* C-u C-c C-x C-u: Clocking work time. (line 70) +* C-u C-c C-x C-u <1>: Clocking work time. (line 83) +* C-u C-c C-x C-u: Dynamic blocks. (line 22) * C-u C-u C-c *: Updating the table. (line 22) * C-u C-u C-c =: Editing and debugging formulas. (line 18) @@ -8007,354 +8156,361 @@ Key Index (line 46) * C-x C-w <1>: Exporting Agenda Views. (line 11) -* C-x C-w: Agenda commands. (line 227) +* C-x C-w: Agenda commands. (line 228) * D: Agenda commands. (line 72) * d: Agenda commands. (line 66) * e: Using column view. (line 33) * f: Agenda commands. (line 42) * g: Agenda commands. (line 76) -* H: Agenda commands. (line 215) -* i: Agenda commands. (line 196) -* I: Agenda commands. (line 176) -* l: Agenda commands. (line 55) +* H: Agenda commands. (line 216) +* I: Agenda commands. (line 177) +* i: Agenda commands. (line 197) * L: Agenda commands. (line 30) -* M: Agenda commands. (line 202) +* l: Agenda commands. (line 55) * m: Agenda commands. (line 66) +* M: Agenda commands. (line 203) * M- <1>: Editing and debugging formulas. (line 76) * M-: Built-in table editor. - (line 80) -* M- <1>: Built-in table editor. - (line 72) -* M-: Structure editing. (line 21) -* M- <1>: Plain lists. (line 49) -* M-: Structure editing. (line 6) -* M- <1>: Built-in table editor. - (line 72) -* M-: Structure editing. (line 24) -* M- <1>: Completion. (line 10) -* M- <2>: Property syntax. (line 46) -* M- <3>: Setting tags. (line 6) -* M- <4>: Per file keywords. (line 23) -* M-: Editing and debugging formulas. - (line 64) -* M- <1>: Editing and debugging formulas. - (line 76) -* M-: Built-in table editor. - (line 80) -* M-S- <1>: Editing and debugging formulas. - (line 72) -* M-S- <2>: Built-in table editor. - (line 87) -* M-S- <3>: Plain lists. (line 66) -* M-S-: Structure editing. (line 36) -* M-S- <1>: The date/time prompt. - (line 54) -* M-S- <2>: Built-in table editor. + (line 82) +* M- <1>: Structure editing. (line 25) +* M-: Built-in table editor. (line 74) -* M-S- <3>: Plain lists. (line 72) -* M-S-: Structure editing. (line 27) +* M- <1>: Structure editing. (line 6) +* M-: Plain lists. (line 49) +* M- <1>: Built-in table editor. + (line 74) +* M-: Structure editing. (line 28) +* M- <1>: Per file keywords. (line 23) +* M- <2>: Editing and debugging formulas. + (line 64) +* M- <3>: Property syntax. (line 46) +* M- <4>: Completion. (line 10) +* M-: Setting tags. (line 6) +* M- <1>: Built-in table editor. + (line 82) +* M-: Editing and debugging formulas. + (line 76) +* M-S- <1>: Plain lists. (line 66) +* M-S- <2>: Structure editing. (line 40) +* M-S- <3>: Editing and debugging formulas. + (line 72) +* M-S-: Built-in table editor. + (line 89) +* M-S- <1>: Structure editing. (line 31) +* M-S- <2>: The date/time prompt. + (line 54) +* M-S- <3>: Built-in table editor. + (line 76) +* M-S-: Plain lists. (line 72) * M-S- <1>: Checkboxes. (line 54) * M-S- <2>: Plain lists. (line 59) -* M-S-: Structure editing. (line 18) -* M-S- <1>: The date/time prompt. - (line 51) -* M-S- <2>: Built-in table editor. - (line 77) +* M-S-: Structure editing. (line 22) +* M-S- <1>: Built-in table editor. + (line 79) +* M-S- <2>: Structure editing. (line 34) * M-S- <3>: Plain lists. (line 72) -* M-S-: Structure editing. (line 30) -* M-S- <1>: Editing and debugging formulas. +* M-S-: The date/time prompt. + (line 51) +* M-S- <1>: Structure editing. (line 37) +* M-S- <2>: Editing and debugging formulas. (line 72) -* M-S- <2>: Built-in table editor. - (line 84) -* M-S- <3>: Plain lists. (line 66) -* M-S-: Structure editing. (line 33) -* mouse-1 <1>: Agenda commands. (line 33) -* mouse-1 <2>: The date/time prompt. +* M-S- <3>: Built-in table editor. + (line 86) +* M-S-: Plain lists. (line 66) +* mouse-1 <1>: Handling links. (line 72) +* mouse-1 <2>: Agenda commands. (line 33) +* mouse-1: The date/time prompt. (line 36) -* mouse-1: Handling links. (line 72) -* mouse-2 <1>: Agenda commands. (line 33) -* mouse-2: Handling links. (line 72) +* mouse-2 <1>: Handling links. (line 72) +* mouse-2: Agenda commands. (line 33) * mouse-3 <1>: Agenda commands. (line 28) * mouse-3: Handling links. (line 77) -* n <1>: Agenda commands. (line 19) -* n: Using column view. (line 30) -* O: Agenda commands. (line 180) +* n <1>: Using column view. (line 30) +* n: Agenda commands. (line 19) +* O: Agenda commands. (line 181) * o: Agenda commands. (line 65) -* P: Agenda commands. (line 140) -* p <1>: Agenda commands. (line 20) * p: Using column view. (line 30) -* q <1>: Agenda commands. (line 238) -* q: Using column view. (line 17) +* P: Agenda commands. (line 141) +* p: Agenda commands. (line 20) +* q <1>: Using column view. (line 17) +* q: Agenda commands. (line 239) * r <1>: Agenda commands. (line 80) * r: Global TODO list. (line 22) -* S: Agenda commands. (line 206) +* S: Agenda commands. (line 207) * s: Agenda commands. (line 87) -* S- <1>: Agenda commands. (line 149) +* S- <1>: Priorities. (line 23) * S- <2>: The date/time prompt. (line 45) -* S- <3>: Creating timestamps. (line 40) -* S- <4>: Priorities. (line 23) -* S- <5>: Editing and debugging formulas. +* S- <3>: Plain lists. (line 62) +* S- <4>: Creating timestamps. (line 40) +* S- <5>: Agenda commands. (line 150) +* S-: Editing and debugging formulas. (line 67) -* S-: Plain lists. (line 62) -* S- <1>: Agenda commands. (line 167) -* S- <2>: The date/time prompt. +* S- <1>: Editing and debugging formulas. + (line 67) +* S- <2>: TODO basics. (line 26) +* S- <3>: Multiple sets in one file. + (line 29) +* S- <4>: Property syntax. (line 62) +* S- <5>: Using column view. (line 26) +* S- <6>: Agenda commands. (line 168) +* S- <7>: Creating timestamps. (line 35) +* S-: The date/time prompt. (line 42) -* S- <3>: Creating timestamps. (line 35) -* S- <4>: Using column view. (line 26) -* S- <5>: Property syntax. (line 62) -* S- <6>: Multiple sets in one file. - (line 29) -* S- <7>: TODO basics. (line 20) -* S-: Editing and debugging formulas. - (line 67) * S-: Built-in table editor. - (line 144) -* S- <1>: Agenda commands. (line 159) -* S- <2>: The date/time prompt. + (line 146) +* S- <1>: Agenda commands. (line 160) +* S- <2>: TODO basics. (line 26) +* S- <3>: The date/time prompt. (line 39) -* S- <3>: Creating timestamps. (line 35) -* S- <4>: Using column view. (line 26) -* S- <5>: Property syntax. (line 62) -* S- <6>: Multiple sets in one file. - (line 29) -* S- <7>: TODO basics. (line 20) -* S-: Editing and debugging formulas. +* S- <4>: Editing and debugging formulas. (line 67) +* S- <5>: Multiple sets in one file. + (line 29) +* S- <6>: Property syntax. (line 62) +* S- <7>: Using column view. (line 26) +* S-: Creating timestamps. (line 35) * S- <1>: Built-in table editor. - (line 59) + (line 61) * S-: Visibility cycling. (line 22) -* S- <1>: Agenda commands. (line 143) -* S- <2>: The date/time prompt. +* S- <1>: Creating timestamps. (line 40) +* S- <2>: Agenda commands. (line 144) +* S- <3>: Plain lists. (line 62) +* S- <4>: The date/time prompt. (line 48) -* S- <3>: Creating timestamps. (line 40) -* S- <4>: Priorities. (line 23) * S- <5>: Editing and debugging formulas. (line 67) -* S-: Plain lists. (line 62) +* S-: Priorities. (line 23) * S-M-: Using column view. (line 58) -* S-M-: TODO basics. (line 52) +* S-M-: TODO basics. (line 56) * S-M-: Using column view. (line 55) -* T: Agenda commands. (line 124) * t: Agenda commands. (line 111) +* T: Agenda commands. (line 124) * v: Using column view. (line 39) * w: Agenda commands. (line 66) -* x: Agenda commands. (line 239) -* X: Agenda commands. (line 183) +* X: Agenda commands. (line 184) +* x: Agenda commands. (line 240) * y: Agenda commands. (line 66)  Tag Table: Node: Top970 -Node: Introduction12966 -Node: Summary13381 -Node: Installation16533 -Node: Activation17911 -Node: Feedback19148 -Node: Document structure21224 -Node: Outlines22116 -Node: Headlines22781 -Ref: Headlines-Footnote-123785 -Node: Visibility cycling23896 -Ref: Visibility cycling-Footnote-126106 -Ref: Visibility cycling-Footnote-226164 -Ref: Visibility cycling-Footnote-326214 -Node: Motion26484 -Node: Structure editing27438 -Node: Archiving30277 -Node: ARCHIVE tag30835 -Node: Moving subtrees32628 -Node: Sparse trees34100 -Ref: Sparse trees-Footnote-136235 -Ref: Sparse trees-Footnote-236417 -Node: Plain lists36532 -Ref: Plain lists-Footnote-140729 -Ref: Plain lists-Footnote-241087 -Node: Drawers41268 -Node: orgstruct-mode42106 -Node: Tables43006 -Node: Built-in table editor43587 -Node: Narrow columns50832 -Ref: Narrow columns-Footnote-152767 -Node: Column groups52813 -Node: orgtbl-mode54346 -Node: The spreadsheet55149 -Node: References56236 -Ref: References-Footnote-160700 -Node: Formula syntax for Calc60989 -Node: Formula syntax for Lisp63446 -Node: Field formulas65164 -Node: Column formulas66472 -Node: Editing and debugging formulas68071 -Node: Updating the table72224 -Node: Advanced features73277 -Node: Hyperlinks77802 -Node: Link format78640 -Node: Internal links79933 -Ref: Internal links-Footnote-181858 -Node: Radio targets81993 -Node: External links82693 -Node: Handling links85097 -Ref: Handling links-Footnote-190394 -Ref: Handling links-Footnote-290631 -Node: Using links outside Org-mode90705 -Node: Link abbreviations91215 -Node: Search options92908 -Ref: Search options-Footnote-194688 -Node: Custom searches94769 -Node: Remember95817 -Node: Setting up remember96804 -Node: Remember templates97386 -Ref: Remember templates-Footnote-1100832 -Node: Storing notes100930 -Node: TODO items102817 -Node: TODO basics103794 -Node: TODO extensions105876 -Node: Workflow states106695 -Ref: Workflow states-Footnote-1107870 -Node: TODO types107963 -Ref: TODO types-Footnote-1109546 -Node: Multiple sets in one file109628 -Node: Per file keywords111239 -Ref: Per file keywords-Footnote-1112508 -Node: Priorities112709 -Node: Breaking down tasks114319 -Ref: Breaking down tasks-Footnote-1114839 -Node: Checkboxes114935 -Node: Tags117784 -Node: Tag inheritance118556 -Node: Setting tags119493 -Ref: Setting tags-Footnote-1124016 -Ref: Setting tags-Footnote-2124128 -Node: Tag searches124211 -Node: Properties and columns126928 -Node: Property syntax128033 -Node: Special properties130454 -Node: Property searches131370 -Node: Column view132025 -Node: Defining columns133192 -Node: Scope of column definitions133590 -Node: Column attributes134512 -Node: Using column view136760 -Node: Property API138747 -Node: Timestamps139101 -Node: Time stamps139562 -Ref: Time stamps-Footnote-1141990 -Node: Creating timestamps142106 -Node: The date/time prompt144180 -Ref: The date/time prompt-Footnote-1146168 -Node: Custom time format146274 -Node: Deadlines and scheduling147966 -Ref: Deadlines and scheduling-Footnote-1149586 -Node: Inserting deadline/schedule149741 -Node: Repeated tasks150679 -Node: Progress logging152318 -Node: Closing items152973 -Ref: Closing items-Footnote-1153907 -Ref: Closing items-Footnote-2153976 -Node: Tracking TODO state changes154049 -Node: Clocking work time154905 -Ref: Clocking work time-Footnote-1158551 -Ref: Clocking work time-Footnote-2158629 -Node: Agenda views158755 -Node: Agenda files160706 -Ref: Agenda files-Footnote-1161672 -Ref: Agenda files-Footnote-2161821 -Node: Agenda dispatcher162014 -Node: Built-in agenda views163711 -Node: Weekly/Daily agenda164291 -Node: Global TODO list167233 -Node: Matching tags and properties169511 -Node: Timeline170600 -Node: Stuck projects171272 -Node: Presentation and sorting173123 -Node: Categories173914 -Node: Time-of-day specifications174578 -Node: Sorting of agenda items176549 -Node: Agenda commands177831 -Node: Custom agenda views185112 -Node: Storing searches185831 -Node: Block agenda187743 -Node: Setting Options188973 -Node: Exporting Agenda Views191712 -Ref: Exporting Agenda Views-Footnote-1195996 -Ref: Exporting Agenda Views-Footnote-2196053 -Node: Extracting Agenda Information for other programs196239 -Node: Embedded LaTeX200365 -Ref: Embedded LaTeX-Footnote-1201459 -Node: Math symbols201649 -Node: Subscripts and Superscripts202416 -Node: LaTeX fragments203262 -Ref: LaTeX fragments-Footnote-1205495 -Ref: LaTeX fragments-Footnote-2205756 -Node: Processing LaTeX fragments205890 -Node: CDLaTeX mode206838 -Ref: CDLaTeX mode-Footnote-1209324 -Node: Exporting209472 -Node: ASCII export210939 -Node: HTML export212440 -Node: HTML Export commands213066 -Node: Quoting HTML tags214853 -Node: Links215488 -Node: Images216185 -Ref: Images-Footnote-1217056 -Node: CSS support217117 -Ref: CSS support-Footnote-1218436 -Node: LaTeX export218549 -Node: LaTeX export commands218873 -Node: Quoting LaTeX code220035 -Node: XOXO export220540 -Node: iCalendar export220980 -Node: Text interpretation222199 -Node: Comment lines222790 -Node: Initial text223185 -Node: Footnotes224854 -Node: Enhancing text225669 -Ref: Enhancing text-Footnote-1227538 -Node: Export options227628 -Node: Publishing229904 -Ref: Publishing-Footnote-1230865 -Ref: Publishing-Footnote-2231009 -Node: Configuration231160 -Node: Project alist231878 -Node: Sources and destinations232944 -Node: Selecting files233674 -Node: Publishing action234422 -Node: Publishing options235756 -Node: Publishing links238131 -Node: Project page index239644 -Node: Sample configuration240422 -Node: Simple example240914 -Node: Complex example241587 -Node: Triggering publication243663 -Node: Miscellaneous244348 -Node: Completion244982 -Node: Customization246652 -Node: In-buffer settings247235 -Node: The very busy C-c C-c key252762 -Node: Clean view254523 -Node: TTY keys257100 -Node: Interaction258710 -Node: Cooperation259107 -Node: Conflicts261983 -Node: Bugs263986 -Node: Extensions and Hacking265482 -Node: Extensions266207 -Node: Adding hyperlink types268150 -Node: Tables in arbitrary syntax271812 -Node: Radio tables272901 -Node: A LaTeX example275404 -Ref: A LaTeX example-Footnote-1279050 -Ref: A LaTeX example-Footnote-2279198 -Node: Translator functions279633 -Ref: Translator functions-Footnote-1282742 -Node: Dynamic blocks282830 -Node: Special agenda views284802 -Node: Using the property API287980 -Node: History and Acknowledgments289461 -Node: Index296037 -Node: Key Index330529 +Node: Introduction13081 +Node: Summary13496 +Node: Installation16623 +Node: Activation18001 +Node: Feedback19238 +Node: Document structure21307 +Node: Outlines22199 +Node: Headlines22864 +Ref: Headlines-Footnote-123868 +Node: Visibility cycling23979 +Ref: Visibility cycling-Footnote-126189 +Ref: Visibility cycling-Footnote-226247 +Ref: Visibility cycling-Footnote-326297 +Node: Motion26567 +Node: Structure editing27521 +Node: Archiving30515 +Node: ARCHIVE tag31073 +Node: Moving subtrees32866 +Ref: Moving subtrees-Footnote-134413 +Node: Sparse trees34700 +Ref: Sparse trees-Footnote-136835 +Ref: Sparse trees-Footnote-237017 +Node: Plain lists37132 +Ref: Plain lists-Footnote-141329 +Ref: Plain lists-Footnote-241687 +Node: Drawers41868 +Node: orgstruct-mode42706 +Node: Tables43606 +Node: Built-in table editor44187 +Node: Narrow columns51593 +Ref: Narrow columns-Footnote-153528 +Node: Column groups53574 +Node: orgtbl-mode55107 +Node: The spreadsheet55910 +Node: References56997 +Ref: References-Footnote-161461 +Node: Formula syntax for Calc61750 +Node: Formula syntax for Lisp64207 +Node: Field formulas65925 +Node: Column formulas67233 +Node: Editing and debugging formulas68832 +Node: Updating the table72985 +Node: Advanced features74038 +Node: Hyperlinks78563 +Node: Link format79341 +Node: Internal links80634 +Ref: Internal links-Footnote-182559 +Node: Radio targets82694 +Node: External links83394 +Node: Handling links85798 +Ref: Handling links-Footnote-191095 +Ref: Handling links-Footnote-291332 +Node: Using links outside Org-mode91406 +Node: Link abbreviations91916 +Node: Search options93609 +Ref: Search options-Footnote-195389 +Node: Custom searches95470 +Node: TODO items96501 +Node: TODO basics97539 +Node: TODO extensions99744 +Node: Workflow states100688 +Ref: Workflow states-Footnote-1101863 +Node: TODO types101956 +Ref: TODO types-Footnote-1103539 +Node: Multiple sets in one file103621 +Node: Fast access to TODO states105241 +Node: Per file keywords106384 +Ref: Per file keywords-Footnote-1107686 +Node: Faces for TODO keywords107887 +Node: Progress logging108593 +Node: Closing items109024 +Ref: Closing items-Footnote-1109958 +Ref: Closing items-Footnote-2110027 +Node: Tracking TODO state changes110100 +Node: Priorities111246 +Ref: Priorities-Footnote-1112896 +Node: Breaking down tasks112966 +Ref: Breaking down tasks-Footnote-1113486 +Node: Checkboxes113582 +Node: Tags116431 +Node: Tag inheritance117203 +Node: Setting tags118140 +Ref: Setting tags-Footnote-1122663 +Ref: Setting tags-Footnote-2122775 +Node: Tag searches122858 +Node: Properties and columns125575 +Node: Property syntax126680 +Node: Special properties129101 +Node: Property searches130017 +Node: Column view130672 +Node: Defining columns131839 +Node: Scope of column definitions132237 +Node: Column attributes133159 +Node: Using column view135407 +Node: Property API137394 +Node: Timestamps137748 +Node: Time stamps138159 +Ref: Time stamps-Footnote-1140513 +Node: Creating timestamps140629 +Node: The date/time prompt142703 +Ref: The date/time prompt-Footnote-1144691 +Node: Custom time format144797 +Node: Deadlines and scheduling146489 +Ref: Deadlines and scheduling-Footnote-1148562 +Node: Inserting deadline/schedule148717 +Node: Repeated tasks149655 +Node: Clocking work time151294 +Ref: Clocking work time-Footnote-1155650 +Ref: Clocking work time-Footnote-2155728 +Node: Remember155854 +Node: Setting up remember156736 +Node: Remember templates157339 +Ref: Remember templates-Footnote-1160856 +Ref: Remember templates-Footnote-2161039 +Node: Storing notes161137 +Ref: Storing notes-Footnote-1163616 +Node: Agenda views163718 +Node: Agenda files165669 +Ref: Agenda files-Footnote-1166761 +Ref: Agenda files-Footnote-2166910 +Node: Agenda dispatcher167103 +Node: Built-in agenda views168802 +Node: Weekly/Daily agenda169384 +Node: Global TODO list172328 +Node: Matching tags and properties174608 +Node: Timeline175699 +Node: Stuck projects176373 +Node: Presentation and sorting178226 +Node: Categories179019 +Ref: Categories-Footnote-1179730 +Node: Time-of-day specifications180050 +Node: Sorting of agenda items182023 +Node: Agenda commands183307 +Node: Custom agenda views190685 +Node: Storing searches191406 +Node: Block agenda193320 +Node: Setting Options194552 +Node: Exporting Agenda Views197293 +Ref: Exporting Agenda Views-Footnote-1201579 +Ref: Exporting Agenda Views-Footnote-2201636 +Node: Extracting Agenda Information for other programs201822 +Node: Embedded LaTeX205950 +Ref: Embedded LaTeX-Footnote-1207044 +Node: Math symbols207234 +Node: Subscripts and Superscripts208001 +Node: LaTeX fragments208847 +Ref: LaTeX fragments-Footnote-1211080 +Ref: LaTeX fragments-Footnote-2211341 +Node: Processing LaTeX fragments211475 +Node: CDLaTeX mode212423 +Ref: CDLaTeX mode-Footnote-1214909 +Node: Exporting215057 +Node: ASCII export216524 +Node: HTML export218025 +Node: HTML Export commands218651 +Node: Quoting HTML tags220438 +Node: Links221073 +Node: Images221770 +Ref: Images-Footnote-1222641 +Node: CSS support222702 +Ref: CSS support-Footnote-1224021 +Node: LaTeX export224134 +Node: LaTeX export commands224458 +Node: Quoting LaTeX code225620 +Node: XOXO export226125 +Node: iCalendar export226565 +Node: Text interpretation227784 +Node: Comment lines228375 +Node: Initial text228770 +Node: Footnotes230439 +Node: Enhancing text231230 +Ref: Enhancing text-Footnote-1233099 +Node: Export options233189 +Node: Publishing235542 +Ref: Publishing-Footnote-1236503 +Ref: Publishing-Footnote-2236647 +Node: Configuration236798 +Node: Project alist237516 +Node: Sources and destinations238582 +Node: Selecting files239312 +Node: Publishing action240060 +Node: Publishing options241394 +Node: Publishing links243769 +Node: Project page index245282 +Node: Sample configuration246060 +Node: Simple example246552 +Node: Complex example247225 +Node: Triggering publication249301 +Node: Miscellaneous249986 +Node: Completion250620 +Node: Customization252290 +Node: In-buffer settings252873 +Node: The very busy C-c C-c key258408 +Node: Clean view260263 +Node: TTY keys262840 +Node: Interaction264450 +Node: Cooperation264847 +Node: Conflicts267723 +Node: Bugs269726 +Node: Extensions and Hacking271222 +Node: Extensions271947 +Node: Adding hyperlink types274209 +Node: Tables in arbitrary syntax277871 +Node: Radio tables278960 +Node: A LaTeX example281463 +Ref: A LaTeX example-Footnote-1285109 +Ref: A LaTeX example-Footnote-2285257 +Node: Translator functions285692 +Ref: Translator functions-Footnote-1288801 +Node: Dynamic blocks288889 +Node: Special agenda views290861 +Node: Using the property API294106 +Node: History and Acknowledgments295587 +Node: Index302163 +Node: Key Index336794  End Tag Table diff --git a/org-export-latex.el b/org-export-latex.el index 52e502a10..0fbd514fc 100644 --- a/org-export-latex.el +++ b/org-export-latex.el @@ -1,27 +1,27 @@ -;;; org-export-latex.el --- LaTeX exporter for Org-mode -;; Copyright (C) 2007 Free Software Foundation, Inc. +;;; org-export-latex.el --- latex exporter for org-mode +;; copyright (c) 2007 free software foundation, inc. ;; ;; Author: Bastien Guerry -;; Keywords: org organizer latex export convert -;; Version: $Id: org-export-latex.el,v 0.27b 2007/08/25 14:26:06 guerry Exp guerry $ -;; X-URL: +;; Keywords: Org organizer latex export convert +;; Homepage: http://www.cognition.ens.fr/~guerry/u/org-export-latex.el +;; Version: 5.10 ;; ;; This file is part of GNU Emacs. ;; -;; GNU 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 2, or (at your option) -;; any later version. +;; GNU 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. +;; 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. +;; 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. ;; ;;; Commentary: ;; @@ -41,16 +41,19 @@ ;;; Code: (eval-when-compile - (require 'cl) - (require 'footnote)) + (require 'cl)) +(require 'footnote) (require 'org) +;;; Variables: (defvar org-latex-options-plist nil) (defvar org-latex-todo-keywords-1 nil) (defvar org-latex-all-targets-regexp nil) (defvar org-latex-add-level 0) (defvar org-latex-sectioning-depth 0) +(defvar org-export-latex-list-beginning-re + "^\\([ \t]*\\)\\([-+]\\|[0-9]+\\(?:\\.\\|)\\)\\) *?") (defvar org-latex-special-string-regexps '(org-ts-regexp @@ -59,6 +62,11 @@ org-clock-string) "A list of regexps to convert as special keywords.") +(defvar latexp) ; dynamically scoped from org.el +(defvar re-quote) ; dynamically scoped from org.el +(defvar commentsp) ; dynamically scoped from org.el + +;;; Custom variables: (defcustom org-export-latex-sectioning-alist '((1 "\\section{%s}" "\\section*{%s}") (2 "\\subsection{%s}" "\\subsection*{%s}") @@ -75,12 +83,17 @@ The %s formatter will be replaced by the title of the section." :type 'alist) (defcustom org-export-latex-emphasis-alist - '(("*" "\\textbf{%s}") - ("/" "\\emph{%s}") - ("_" "\\underline{%s}") - ("+" "\\texttt{%s}") - ("=" "\\texttt{%s}")) - "Alist of LaTeX expressions to convert emphasis fontifiers." + '(("*" "\\textbf{%s}" nil) + ("/" "\\emph{%s}" nil) + ("_" "\\underline{%s}" nil) + ("+" "\\texttt{%s}" nil) + ("=" "\\texttt{%s}" t)) + "Alist of LaTeX expressions to convert emphasis fontifiers. +Each element of the list is a list of three elements. +The first element is the character used as a marker for fontification. +The second element is a formatting string to wrap fontified text with. +If non-nil the third element tells to protect converted text from other +conversions." :group 'org-export-latex :type 'alist) @@ -93,11 +106,17 @@ The %s formatter will be replaced by the title of the section." :group 'org-export-latex :type 'string) -(defcustom org-export-latex-date-format nil +(defcustom org-export-latex-date-format + "%d %B %Y" "Format string for \\date{...}." :group 'org-export-latex :type 'string) +(defcustom org-export-latex-tables-verbatim nil + "When non-nil, export tables as verbatim." + :group 'org-export-latex + :type 'boolean) + (defcustom org-export-latex-packages-alist nil "Alist of packages to be inserted in the preamble. Each cell is of the forma \( option . package \). @@ -120,7 +139,7 @@ headline is mandatory)." (symbol :tag "Convert as descriptive list" description) (string :tag "Use a section string" :value "\\subparagraph{%s}"))) -(defcustom org-export-latex-remove-from-headines +(defcustom org-export-latex-remove-from-headlines '(:todo t :priority t :tags t) "A plist of keywords to remove from headlines. Non-nil means remove this keyword type from the headline. @@ -129,13 +148,6 @@ Don't remove the keys, just change their values." :type 'plist :group 'org-export-latex) -(defcustom org-export-latex-quotation-marks-convention "en" - "Convention for conversion of the quotation marks. -This value is overriden by any infile language setup." - :group 'org-export-latex - :type '(choice (string :tag "english" "en") - (string :tag "french" "fr"))) - (defcustom org-export-latex-image-default-option "width=10em" "Default option for images." :group 'org-export-latex @@ -149,6 +161,7 @@ This value is overriden by any infile language setup." ;; FIXME Do we want this one? ;; (defun org-export-as-latex-and-open (arg) ...) +;;; Autoload functions: ;;;###autoload (defun org-export-as-latex-batch () "Call `org-export-as-latex', may be used in batch processing as @@ -272,16 +285,16 @@ in a window. A non-interactive call will only retunr the buffer." (if region-p (region-beginning) (point-min)) (if region-p (region-end) (point-max)))) (string-for-export - ;; FIXME Use org-cleaned-string-for-export instead, only when - ;; everyone uses Org >5.04 - (org-latex-cleaned-string-for-export - region :for-html nil - :comments nil + (org-cleaned-string-for-export + region :emph-multiline t :for-LaTeX t - :skip-before-1st-heading nil + :comments nil + :add-text text + :skip-before-1st-heading skip :LaTeX-fragments nil))) (set-buffer buffer) (erase-buffer) + (unless body-only (insert preamble)) (when text (insert (org-export-latex-content text) "\n\n")) (unless skip (insert first-lines)) @@ -302,9 +315,9 @@ in a window. A non-interactive call will only retunr the buffer." (setq org-latex-add-level (if odd (1- (/ (1+ asters) 2)) (1- asters))) (org-export-latex-parse-global level odd)))) - + (unless body-only (insert "\n\\end{document}")) - (or to-buffer (write-file filename)) + (or to-buffer (save-buffer)) (goto-char (point-min)) (message "Exporting to LaTeX...done") (if (eq to-buffer 'string) @@ -312,88 +325,8 @@ in a window. A non-interactive call will only retunr the buffer." (kill-buffer (current-buffer))) (current-buffer)))) -(defun org-export-latex-set-initial-vars (ext-plist) - "Store org local variables required for LaTeX export. -EXT-PLIST is an optional additional plist." - (setq org-latex-todo-keywords-1 org-todo-keywords-1 - org-latex-all-targets-regexp - (org-make-target-link-regexp (org-all-targets)) - org-latex-options-plist - (org-combine-plists (org-default-export-plist) ext-plist - (org-infile-export-plist)) - org-latex-sectioning-depth - (let ((hl-levels (plist-get org-latex-options-plist :headline-levels)) - (sec-depth (length org-export-latex-sectioning-alist))) - ;; Fall back on org-export-latex-sectioning-alist length if - ;; headline-levels goes beyond it - (if (> hl-levels sec-depth) sec-depth hl-levels)))) - -(defun org-export-latex-make-preamble (opt-plist) - "Make the LaTeX preamble and return it as a string. -Argument OPT-PLIST is the options plist for current buffer." - (let ((toc (plist-get opt-plist :table-of-contents))) - (format (concat org-export-latex-preamble - " -%s - -\\begin{document} - -\\title{%s} -%s -%s -\\maketitle -%s -%s -") - (if org-export-latex-packages-alist - (mapconcat (lambda(p) - (if (equal "" (car p)) - (format "\\usepackage{%s}" (cadr p)) - (format "\\usepackage[%s]{%s}" - (car p) (cadr p)))) - org-export-latex-packages-alist "\n") "") - (or (plist-get opt-plist :title) - (and (not - (plist-get opt-plist :skip-before-1st-heading)) - (org-export-grab-title-from-buffer)) - (and buffer-file-name - (file-name-sans-extension - (file-name-nondirectory buffer-file-name))) - "UNTITLED") - (if (plist-get opt-plist :author-info) - (format "\\author{%s}" - (or (plist-get opt-plist :author) user-full-name)) - (format "%%\\author{%s}" - (or (plist-get opt-plist :author) user-full-name))) - (if (plist-get opt-plist :timestamps) - (format "\\date{%s}" - (format-time-string (or org-export-latex-date-format - (car org-time-stamp-formats)))) - "%\\date{}") - (if (and (plist-get opt-plist :section-numbers) toc) - (format "\\setcounter{tocdepth}{%s}" - (plist-get opt-plist :headline-levels)) "") - (if (and (plist-get opt-plist :section-numbers) toc) - "\\tableofcontents" "")))) - -(defun org-export-latex-first-lines (&optional comments) - "Export the first lines before first headline. -COMMENTS is either nil to replace them with the empty string or a -formatting string like %%%%s if we want to comment them out." - (save-excursion - (goto-char (point-min)) - (let* ((end (if (re-search-forward "^\\*" nil t) - (goto-char (match-beginning 0)) - (goto-char (point-max))))) - (org-export-latex-content - (org-latex-cleaned-string-for-export - (buffer-substring (point-min) end) - :for-html nil - :for-LaTeX t - :comments nil - :skip-before-1st-heading nil - :LaTeX-fragments nil))))) +;;; Parsing functions: (defun org-export-latex-parse-global (level odd) "Parse the current buffer recursively, starting at LEVEL. If ODD is non-nil, assume the buffer only contains odd sections. @@ -443,6 +376,52 @@ Return A list reflecting the document structure." (widen))) (list output)))) +(defun org-export-latex-parse-list (&optional delete) + "Parse the list at point. +Return a list containing first level items as strings and +sublevels as list of strings." + (let ((start (point)) + ;; Find the end of the list + (end (save-excursion + (catch 'exit + (while (or (looking-at org-export-latex-list-beginning-re) + (looking-at "^[ \t]+\\|^$")) + (if (eq (point) (point-max)) + (throw 'exit (point-max))) + (forward-line 1))) (point))) + output itemsep) + (while (re-search-forward org-export-latex-list-beginning-re end t) + (setq itemsep (if (save-match-data + (string-match "^[0-9]" (match-string 2))) + "[0-9]+\\(?:\\.\\|)\\)" "[-+]")) + (let* ((indent1 (match-string 1)) + (nextitem (save-excursion + (save-match-data + (or (and (re-search-forward + (concat "^" indent1 itemsep " *?") end t) + (match-beginning 0)) end)))) + (item (buffer-substring + (point) + (or (and (re-search-forward + org-export-latex-list-beginning-re end t) + (goto-char (match-beginning 0))) + (goto-char end)))) + (nextindent (match-string 1)) + (item (org-trim item)) + (item (if (string-match "^\\[.+\\]" item) + (replace-match "\\\\texttt{\\&}" + t nil item) item))) + (push item output) + (when (> (length nextindent) + (length indent1)) + (narrow-to-region (point) nextitem) + (push (org-export-latex-parse-list) output) + (widen)))) + (when delete (delete-region start end)) + (setq output (nreverse output)) + (push (if (string-match "^\\[0" itemsep) + 'ordered 'unordered) output))) + (defun org-export-latex-parse-content () "Extract the content of a section." (let ((beg (point)) @@ -462,6 +441,7 @@ If ODD Is non-nil, assume subcontent only contains odd sections." nil ; subcontent is nil (org-export-latex-parse-global (+ (if odd 2 1) level) odd))) +;;; Rendering functions: (defun org-export-latex-global (content) "Export CONTENT to LaTeX. CONTENT is an element of the list produced by @@ -474,9 +454,10 @@ CONTENT is an element of the list produced by "Export the list SUBCONTENT to LaTeX. SUBCONTENT is an alist containing information about the headline and its content." - (mapc (lambda(x) (org-export-latex-subcontent x)) subcontent)) + (let ((num (plist-get org-latex-options-plist :section-numbers))) + (mapc (lambda(x) (org-export-latex-subcontent x num)) subcontent))) -(defun org-export-latex-subcontent (subcontent) +(defun org-export-latex-subcontent (subcontent num) "Export each cell of SUBCONTENT to LaTeX." (let ((heading (org-export-latex-fontify-headline (cdr (assoc 'heading subcontent)))) @@ -484,8 +465,7 @@ and its content." org-latex-add-level)) (occur (number-to-string (cdr (assoc 'occur subcontent)))) (content (cdr (assoc 'content subcontent))) - (subcontent (cadr (assoc 'subcontent subcontent))) - (num (plist-get org-latex-options-plist :section-numbers))) + (subcontent (cadr (assoc 'subcontent subcontent)))) (cond ;; Normal conversion ((<= level org-latex-sectioning-depth) @@ -508,6 +488,110 @@ and its content." (cond ((stringp subcontent) (insert subcontent)) ((listp subcontent) (org-export-latex-sub subcontent))))))))) + +;;; Exporting internals: +(defun org-latex-protect (string) + (add-text-properties 0 (length string) '(org-protected t) string) string) + +(defun org-export-latex-protect-char-in-string (char-list string) + "Add org-protected text-property to char from CHAR-LIST in STRING." + (with-temp-buffer + (save-match-data + (insert string) + (goto-char (point-min)) + (while (re-search-forward (regexp-opt char-list) nil t) + (add-text-properties (match-beginning 0) + (match-end 0) '(org-protected t))) + (buffer-string)))) + +(defun org-export-latex-set-initial-vars (ext-plist) + "Store org local variables required for LaTeX export. +EXT-PLIST is an optional additional plist." + (setq org-latex-todo-keywords-1 org-todo-keywords-1 + org-latex-all-targets-regexp + (org-make-target-link-regexp (org-all-targets)) + org-latex-options-plist + (org-combine-plists (org-default-export-plist) ext-plist + (org-infile-export-plist)) + org-latex-sectioning-depth + (let ((hl-levels (plist-get org-latex-options-plist :headline-levels)) + (sec-depth (length org-export-latex-sectioning-alist))) + ;; Fall back on org-export-latex-sectioning-alist length if + ;; headline-levels goes beyond it + (if (> hl-levels sec-depth) sec-depth hl-levels)))) + +(defun org-export-latex-make-preamble (opt-plist) + "Make the LaTeX preamble and return it as a string. +Argument OPT-PLIST is the options plist for current buffer." + (let ((toc (plist-get opt-plist :table-of-contents))) + (concat (if (plist-get opt-plist :time-stamp-file) + (format-time-string "% Created %Y-%m-%d %a %H:%M\n")) + + ;; LaTeX custom preamble + org-export-latex-preamble "\n" + + ;; LaTeX packages + (if org-export-latex-packages-alist + (mapconcat (lambda(p) + (if (equal "" (car p)) + (format "\\usepackage{%s}" (cadr p)) + (format "\\usepackage[%s]{%s}" + (car p) (cadr p)))) + org-export-latex-packages-alist "\n") "") + "\n\\begin{document}\n\n" + + ;; title + (format + "\\title{%s}\n" + (or (plist-get opt-plist :title) + (and (not + (plist-get opt-plist :skip-before-1st-heading)) + (org-export-grab-title-from-buffer)) + (and buffer-file-name + (file-name-sans-extension + (file-name-nondirectory buffer-file-name))) + "UNTITLED")) + + ;; author info + (if (plist-get opt-plist :author-info) + (format "\\author{%s}\n" + (or (plist-get opt-plist :author) user-full-name)) + (format "%%\\author{%s}\n" + (or (plist-get opt-plist :author) user-full-name))) + + ;; date + (format "\\date{%s}\n" + (format-time-string + (or (plist-get opt-plist :date) + org-export-latex-date-format))) + + "\\maketitle\n\n" + ;; table of contents + (if (and (plist-get opt-plist :section-numbers) toc) + (format "\\setcounter{tocdepth}{%s}\n" + (min toc (plist-get opt-plist :headline-levels))) "") + (if (and (plist-get opt-plist :section-numbers) toc) + "\\tableofcontents\n" "\n")))) + +(defun org-export-latex-first-lines (&optional comments) + "Export the first lines before first headline. +COMMENTS is either nil to replace them with the empty string or a +formatting string like %%%%s if we want to comment them out." + (save-excursion + (goto-char (point-min)) + (let* ((end (if (re-search-forward "^\\*" nil t) + (goto-char (match-beginning 0)) + (goto-char (point-max))))) + (org-export-latex-content + (org-cleaned-string-for-export + (buffer-substring (point-min) end) + :for-LaTeX t + :emph-multiline t + :add-text nil + :comments nil + :skip-before-1st-heading nil + :LaTeX-fragments nil))))) + (defun org-export-latex-keywords-maybe (remove-list) "Maybe remove keywords depending on rules in REMOVE-LIST." (goto-char (point-min)) @@ -536,12 +620,12 @@ and its content." ;; the beginning of the buffer - inserting "\n" is safe here though. (insert "\n" headline) (goto-char (point-min)) - (org-export-latex-special-chars - (plist-get org-latex-options-plist :sub-superscript)) (when (plist-get org-latex-options-plist :emphasize) (org-export-latex-fontify)) + (org-export-latex-special-chars + (plist-get org-latex-options-plist :sub-superscript)) (org-export-latex-keywords-maybe - org-export-latex-remove-from-headines) + org-export-latex-remove-from-headlines) (org-export-latex-links) (org-trim (buffer-substring-no-properties (point-min) (point-max))))) @@ -550,34 +634,26 @@ and its content." (with-temp-buffer (insert content) (org-export-latex-quotation-marks) - (org-export-latex-special-chars - (plist-get org-latex-options-plist :sub-superscript)) (when (plist-get org-latex-options-plist :emphasize) (org-export-latex-fontify)) + (org-export-latex-special-chars + (plist-get org-latex-options-plist :sub-superscript)) (org-export-latex-links) - (org-export-latex-keywords) - (org-export-latex-itemize) - (org-export-latex-enumerate) + (org-export-latex-keywords + (plist-get org-latex-options-plist :timestamps)) + (org-export-latex-lists) (org-export-latex-tables (plist-get org-latex-options-plist :tables)) (org-export-latex-fixed-width (plist-get org-latex-options-plist :fixed-width)) - (org-export-fix-invisible-strings) (buffer-substring (point-min) (point-max)))) -(defun org-export-fix-invisible-strings () - "Comment out (INVISIBLE) warnings." - (goto-char (point-min)) - (while (re-search-forward "(INVISIBLE)" nil t) - (replace-match "%\\&"))) - (defun org-export-latex-quotation-marks () "Export question marks depending on language conventions. Local definition of the language overrides `org-export-latex-quotation-marks-convention' which overrides `org-export-default-language'." - (let* ((lang (or (plist-get org-latex-options-plist :language) - org-export-latex-quotation-marks-convention)) + (let* ((lang (plist-get org-latex-options-plist :language)) (quote-rpl (if (equal lang "fr") '(("\\(\\s-\\)\"" "«~") ("\\(\\S-\\)\"" "~»") @@ -595,7 +671,7 @@ Local definition of the language overrides ;; | chars/string in Org | normal environment | math environment | ;; |-----------------------+-----------------------+-----------------------| ;; | & # % $ | \& \# \% \$ | \& \# \% \$ | -;; | { } _ ^ \ | \ { \ } \_ \^ \\ | { } _ ^ \ | +;; | { } _ ^ \ | \{ \} \_ \^ \\ | { } _ ^ \ | ;; |-----------------------+-----------------------+-----------------------| ;; | a_b and a^b | $a_b$ and $a^b$ | a_b and a^b | ;; | a_abc and a_{abc} | $a_a$bc and $a_{abc}$ | a_abc and a_{abc} | @@ -655,8 +731,8 @@ See the `org-export-latex.el' code for a complete conversion table." (match-string 2) (match-string 3))) "") t t))))))) '("^\\([^\n$]*?\\|^\\)\\(\\\\?\\$\\)\\([^\n$]*\\)$" - "\\([a-za-z0-9]+\\|[ \t\n]\\|\\\\\\)\\(_\\|\\^\\)\\([a-za-z0-9]+\\|[ \t\n]\\|[:punct:]\\|{[a-za-z0-9]+}\\|([a-za-z0-9]+)\\)" - "\\(.\\|^\\)\\(\\\\\\)\\([ \t\n]\\|[a-za-z&#%{}]+\\)" + "\\([a-za-z0-9]+\\|[ \t\n]\\|\\b\\|\\\\\\)\\(_\\|\\^\\)\\([a-za-z0-9]+\\|[ \t\n]\\|[:punct:]\\|{[a-za-z0-9]+}\\|([a-za-z0-9]+)\\)" + "\\(.\\|^\\)\\(\\\\\\)\\([ \t\n]\\|[a-zA-Z&#%{}\"]+\\)" "\\(.\\|^\\)\\(&\\)" "\\(.\\|^\\)\\(#\\)" "\\(.\\|^\\)\\(%\\)" @@ -683,14 +759,16 @@ Convert CHAR depending on STRING-BEFORE and STRING-AFTER." ((string-match "[({]?\\([^)}]+\\)[)}]?" string-after) (format "%s%s{%s}" string-before char (match-string 1 string-after)))))) - ((and subsup + ((and subsup (> (length string-after) 1) (string-match "[({]?\\([^)}]+\\)[)}]?" string-after)) (format "$%s%s{%s}$" string-before char (match-string 1 string-after))) (subsup (concat "$" string-before char string-after "$")) - (t (concat string-before "\\" char string-after)))) - (t (concat string-before "\\" char string-after)))) + (t (org-latex-protect + (concat string-before "\\" char "{}" string-after))))) + (t (org-latex-protect + (concat string-before "\\" char "{}" string-after))))) (defun org-export-latex-treat-backslash-char (string-before string-after) "Convert the \"$\" special character to LaTeX. @@ -701,7 +779,7 @@ The conversion is made depending of STRING-BEFORE and STRING-AFTER." (or (cdar (member (list string-after) org-html-entities)) string-after) "$")) ((and (not (string-match "^[ \n\t]" string-after)) - (not (string-match "[ \t]\\'" string-before))) + (not (string-match "[ \t]\\'\\|^" string-before))) ;; backslash is inside a word (concat string-before "$\\backslash$" string-after)) ((not (or (equal string-after "") @@ -715,6 +793,17 @@ The conversion is made depending of STRING-BEFORE and STRING-AFTER." (concat string-before "$\\backslash$" string-after)) (t (concat string-before "$\\backslash$" string-after)))) +(defun org-export-latex-keywords (timestamps) + "Convert special keywords to LaTeX. +Regexps are those from `org-latex-special-string-regexps'." + (let ((rg org-latex-special-string-regexps) r) + (while (setq r (pop rg)) + (goto-char (point-min)) + (while (re-search-forward (eval r) nil t) + (if (not timestamps) + (replace-match (format "\\\\texttt{%s}" (match-string 0)) t) + (replace-match "")))))) + (defun org-export-latex-fixed-width (opt) "When OPT is non-nil convert fixed-width sections to LaTeX." (goto-char (point-min)) @@ -734,6 +823,72 @@ The conversion is made depending of STRING-BEFORE and STRING-AFTER." (forward-line)))))) ;; FIXME Use org-export-highlight-first-table-line ? +(defun org-export-latex-lists () + "Convert lists to LaTeX." + (goto-char (point-min)) + (while (re-search-forward org-export-latex-list-beginning-re nil t) + (beginning-of-line) + (org-export-list-to-latex + (org-export-latex-parse-list t)))) + +(defun org-export-list-to-generic (list params) + "Convert a LIST parsed through `org-export-latex-parse-list' to other formats. + +Valid parameters are + +:ustart String to start an unordered list +:uend String to end an unordered list + +:ostart String to start an ordered list +:oend String to end an ordered list + +:splice When set to t, return only list body lines, don't wrap + them into :[u/o]start and :[u/o]end. Default is nil. + +:istart String to start a list item +:iend String to end a list item +:isep String to separate items +:lsep String to separate sublists" + (interactive) + (let* ((p params) sublist + (splicep (plist-get p :splice)) + (ostart (plist-get p :ostart)) + (oend (plist-get p :oend)) + (ustart (plist-get p :ustart)) + (uend (plist-get p :uend)) + (istart (plist-get p :istart)) + (iend (plist-get p :iend)) + (isep (plist-get p :isep)) + (lsep (plist-get p :lsep))) + (let ((wrapper + (cond ((eq (car list) 'ordered) + (concat ostart "\n%s" oend "\n")) + ((eq (car list) 'unordered) + (concat ustart "\n%s" uend "\n")))) + rtn) + (while (setq sublist (pop list)) + (cond ((symbolp sublist) nil) + ((stringp sublist) + (setq rtn (concat rtn istart sublist iend isep))) + (t + (setq rtn (concat rtn ;; previous list + lsep ;; list separator + (org-export-list-to-generic sublist p) + lsep ;; list separator + ))))) + (format wrapper rtn)))) + +(defun org-export-list-to-latex (list) + "Convert LIST into a LaTeX list." + (insert + (org-export-list-to-generic + list '(:splicep nil :ostart "\\begin{enumerate}" :oend "\\end{enumerate}" + :ustart "\\begin{itemize}" :uend "\\end{itemize}" + :istart "\\item " :iend "" + :isep "\n" :lsep "\n")) + ;; Add a trailing \n after list conversion + "\n")) + (defun org-export-latex-tables (opt) "When OPT is non-nil convert tables to LaTeX." (goto-char (point-min)) @@ -747,101 +902,40 @@ The conversion is made depending of STRING-BEFORE and STRING-AFTER." (concat "^" (regexp-quote (match-string 1)) "[^|]\\|\\'") nil t) (match-beginning 0)))) (beginning-of-line) - (while (not (eq end (point))) - (if (looking-at "[ \t]*|\\([^-|].+\\)|[ \t]*$") - (push (split-string (org-trim (match-string 1)) "|") tbl-list) - (push 'hline tbl-list)) - (forward-line)) - ;; comment region out instead of deleting it ? - (apply 'delete-region (list beg end)) - (when opt (insert (orgtbl-to-latex (nreverse tbl-list) - nil) "\n\n"))))) - -(defun org-export-latex-keywords () - "Convert special keywords to LaTeX. -Regexps are those from `org-latex-special-string-regexps'." - (let ((rg org-latex-special-string-regexps) r) - (while (setq r (pop rg)) - (goto-char (point-min)) - (while (re-search-forward (eval r) nil t) - (replace-match (format "\\\\texttt{%s}" (match-string 0)) t))))) - -;; FIXME - we need better implementation for nested lists -(defun org-export-latex-list (srch0 srch1 srch2 rpl0 rpl1) - "Convert lists to LaTeX." - (goto-char (point-min)) - (while (re-search-forward srch0 nil t) - (let* ((beg (match-beginning 0)) - (prefix (regexp-quote (match-string 1))) - (end-string (when (re-search-forward srch1 nil t) - (match-string 0)))) - (goto-char beg) (insert rpl0) - (while (re-search-forward - (concat "^" prefix srch2) - (if (not end-string) - (point-max) - (save-match-data - (save-excursion - (re-search-forward - (regexp-quote end-string) nil t)))) t) - (replace-match - (concat "\\item " - (if (match-string 1) - (format "\\texttt{%s}" (match-string 1)))) - t t)) - (goto-char (if end-string - (progn (re-search-forward - (regexp-quote end-string) nil t) - (match-beginning 0)) - (point-max))) - (skip-chars-backward "\n") (forward-line 2) - (insert rpl1)))) - -(defun org-export-latex-itemize () - "Convert item list to LaTeX." - (org-export-latex-list - "^\\([ \t]*\\)-" - "^[^ \n\t-]+.*$" - "- ?\\(\\[.+\\]\\)?" - "\\begin{itemize}\n" - "\\end{itemize}\n")) - -(defun org-export-latex-enumerate () - "Convert numeric list to LaTeX." - (org-export-latex-list - "^\\([ \t]*\\)[0-9]+[\.)] \\(\\[.+\\]\\)? ?" - "^[^ \n\t0-9]+.*$" - "[0-9]+[\.)] ?\\(\\[.+\\]\\)?" - "\\begin{enumerate}\n" - "\\end{enumerate}\n")) + (if org-export-latex-tables-verbatim + (let* ((raw-table (buffer-substring beg end)) + (tbl (concat "\\begin{verbatim}\n" raw-table + "\\end{verbatim}\n"))) + (apply 'delete-region (list beg end)) + (insert tbl)) + (progn + (while (not (eq end (point))) + (if (looking-at "[ \t]*|\\([^-|].+\\)|[ \t]*$") + (push (split-string (org-trim (match-string 1)) "|") tbl-list) + (push 'hline tbl-list)) + (forward-line)) + ;; comment region out instead of deleting it ? + (apply 'delete-region (list beg end)) + (when opt (insert (orgtbl-to-latex (nreverse tbl-list) + nil) "\n\n"))))))) (defun org-export-latex-fontify () "Convert fontification to LaTeX." (goto-char (point-min)) (while (re-search-forward org-emph-re nil t) ;; The match goes one char after the *string* - (unless (get-text-property (1- (point)) 'org-protected) - (replace-match - (concat (match-string 1) - (format - (org-export-latex-protect-char-in-string - '("\\" "{" "}") - (cadr (assoc (match-string 3) - org-export-latex-emphasis-alist))) - (match-string 4)) - (match-string 5)) t t) - (backward-char)))) - -(defun org-export-latex-protect-char-in-string (char-list string) - "Add org-protected text-property to char from CHAR-LIST in STRING." - (with-temp-buffer - (save-match-data - (insert string) - (goto-char (point-min)) - (while (re-search-forward (regexp-opt char-list) nil t) - (add-text-properties (match-beginning 0) - (match-end 0) '(org-protected t))) - (buffer-string)))) + (let ((emph (assoc (match-string 3) + org-export-latex-emphasis-alist)) + rpl) + (unless (get-text-property (1- (point)) 'org-protected) + (setq rpl (concat (match-string 1) + (format (org-export-latex-protect-char-in-string + '("\\" "{" "}") (cadr emph)) + (match-string 4)) + (match-string 5))) + (if (caddr emph) (setq rpl (org-latex-protect rpl))) + (replace-match rpl t t))) + (backward-char))) (defun org-export-latex-links () ;; Make sure to use the LaTeX hyperref and graphicx package @@ -890,193 +984,9 @@ Regexps are those from `org-latex-special-string-regexps'." (path (insert (format "\\href{%s}{%s}" path desc))) (t (insert "\\texttt{" desc "}"))))))) - -(defun org-latex-cleaned-string-for-export (string &rest parameters) - "Cleanup a buffer STRING so that links can be created safely." - (interactive) - (let* ((re-radio (and org-target-link-regexp - (concat "\\([^<]\\)\\(" org-target-link-regexp "\\)"))) - (re-plain-link (concat "\\([^[<]\\)" org-plain-link-re)) - (re-angle-link (concat "\\([^[]\\)" org-angle-link-re)) - (re-archive (concat ":" org-archive-tag ":")) - (re-quote (concat "^\\*+[ \t]+" org-quote-string "\\>")) - (htmlp (plist-get parameters :for-html)) - (latexp (plist-get parameters :for-LaTeX)) - (commentsp (plist-get parameters :comments)) - (inhibit-read-only t) - (outline-regexp "\\*+ ") - a b xx - rtn p) - (save-excursion - (set-buffer (get-buffer-create " org-mode-tmp")) - (erase-buffer) - (insert string) - ;; Remove license-to-kill stuff - (while (setq p (text-property-any (point-min) (point-max) - :org-license-to-kill t)) - (delete-region p (next-single-property-change p :org-license-to-kill))) - - (let ((org-inhibit-startup t)) (org-mode)) - (untabify (point-min) (point-max)) - - ;; Get the correct stuff before the first headline - (when (plist-get parameters :skip-before-1st-heading) - (goto-char (point-min)) - (when (re-search-forward "^\\*+[ \t]" nil t) - (delete-region (point-min) (match-beginning 0)) - (goto-char (point-min)) - (insert "\n"))) - (when (plist-get parameters :add-text) - (goto-char (point-min)) - (insert (plist-get parameters :add-text) "\n")) - - ;; Get rid of archived trees - (when (not (eq org-export-with-archived-trees t)) - (goto-char (point-min)) - (while (re-search-forward re-archive nil t) - (if (not (org-on-heading-p t)) - (org-end-of-subtree t) - (beginning-of-line 1) - (setq a (if org-export-with-archived-trees - (1+ (point-at-eol)) (point)) - b (org-end-of-subtree t)) - (if (> b a) (delete-region a b))))) - - ;; Get rid of property drawers - (unless org-export-with-property-drawer - (goto-char (point-min)) - (while (re-search-forward "^[ \t]*:PROPERTIES:[ \t]*\n\\([^@]*?\n\\)?[ \t]*:END:[ \t]*\n" nil t) - (replace-match ""))) - - ;; Find targets in comments and move them out of comments, - ;; but mark them as targets that should be invisible - (goto-char (point-min)) - (while (re-search-forward "^#.*?\\(<<\r\n]+>>>?\\).*" nil t) - (replace-match "\\1(INVISIBLE)")) - - ;; Specific LaTeX cleaning - (when latexp - (require 'org-export-latex nil t) - (org-export-latex-cleaned-string)) - - ;; Protect stuff from HTML processing - (goto-char (point-min)) - (let ((formatters `((,htmlp "HTML" "BEGIN_HTML" "END_HTML"))) fmt) - (while (re-search-forward "^[ \t]*:.*\\(\n[ \t]*:.*\\)*" nil t) - (add-text-properties (match-beginning 0) (match-end 0) - '(org-protected t))) - (while formatters - (setq fmt (pop formatters)) - (when (car fmt) - (goto-char (point-min)) - (while (re-search-forward (concat "^#\\+" (cadr fmt) - ":[ \t]*\\(.*\\)") nil t) - (replace-match "\\1" t) - (add-text-properties - (point-at-bol) (min (1+ (point-at-eol)) (point-max)) - '(org-protected t)))) - (goto-char (point-min)) - (while (re-search-forward - (concat "^#\\+" - (caddr fmt) "\\>.*\\(\\(\n.*\\)*?\n\\)#\\+" - (cadddr fmt) "\\>.*\n?") nil t) - (if (car fmt) - (add-text-properties (match-beginning 1) (1+ (match-end 1)) - '(org-protected t)) - (delete-region (match-beginning 0) (match-end 0)))) - (goto-char (point-min)) - (while (re-search-forward re-quote nil t) - (goto-char (match-beginning 0)) - (end-of-line 1) - (add-text-properties (point) (org-end-of-subtree t) - '(org-protected t))))) - - ;; Remove or replace comments - ;; If :comments is set, use this char for commenting out comments and - ;; protect them. otherwise delete them - (goto-char (point-min)) - (while (re-search-forward "^#\\(.*\n?\\)" nil t) - (if commentsp - (progn (add-text-properties - (match-beginning 0) (match-end 0) '(org-protected t)) - (replace-match (format commentsp (match-string 1)) t t)) - (replace-match ""))) - - ;; Find matches for radio targets and turn them into internal links - (goto-char (point-min)) - (when re-radio - (while (re-search-forward re-radio nil t) - (org-if-unprotected - (replace-match "\\1[[\\2]]")))) - - ;; Find all links that contain a newline and put them into a single line - (goto-char (point-min)) - (while (re-search-forward "\\(\\(\\[\\|\\]\\)\\[[^]]*?\\)[ \t]*\n[ \t]*\\([^]]*\\]\\(\\[\\|\\]\\)\\)" nil t) - (org-if-unprotected - (replace-match "\\1 \\3") - (goto-char (match-beginning 0)))) - - ;; Convert LaTeX fragments to images - (when (plist-get parameters :LaTeX-fragments) - (org-format-latex - (concat "ltxpng/" (file-name-sans-extension - (file-name-nondirectory - org-current-export-file))) - org-current-export-dir nil "Creating LaTeX image %s")) - (message "Exporting...") - - ;; Normalize links: Convert angle and plain links into bracket links - ;; Expand link abbreviations - (goto-char (point-min)) - (while (re-search-forward re-plain-link nil t) - (goto-char (1- (match-end 0))) - (org-if-unprotected - (let* ((s (concat (match-string 1) "[[" (match-string 2) - ":" (match-string 3) "]]"))) - ;; added 'org-protected property to links - (put-text-property 0 (length s) 'face 'org-link s) - (replace-match s t t)))) - (goto-char (point-min)) - (while (re-search-forward re-angle-link nil t) - (goto-char (1- (match-end 0))) - (org-if-unprotected - (let* ((s (concat (match-string 1) "[[" (match-string 2) - ":" (match-string 3) "]]"))) - (put-text-property 0 (length s) 'face 'org-link s) - (replace-match s t t)))) - (goto-char (point-min)) - (while (re-search-forward org-bracket-link-regexp nil t) - (org-if-unprotected - (let* ((s (concat "[[" (setq xx (save-match-data - (org-link-expand-abbrev (match-string 1)))) - "]" - (if (match-end 3) - (match-string 2) - (concat "[" xx "]")) - "]"))) - (put-text-property 0 (length s) 'face 'org-link s) - (replace-match s t t)))) - - ;; Find multiline emphasis and put them into single line - (when (plist-get parameters :emph-multiline) - (goto-char (point-min)) - (while (re-search-forward org-emph-re nil t) - (if (not (= (char-after (match-beginning 3)) - (char-after (match-beginning 4)))) - (org-if-unprotected - (subst-char-in-region (match-beginning 0) (match-end 0) - ?\n ?\ t) - (goto-char (1- (match-end 0)))) - (goto-char (1+ (match-beginning 0)))))) - - (setq rtn (buffer-string))) - (kill-buffer " org-mode-tmp") - rtn)) - -(defsubst org-latex-protect (string) - (add-text-properties 0 (length string) '(org-protected t) string) string) - -(defun org-export-latex-cleaned-string () +(defun org-export-latex-cleaned-string + ;; FIXME remove commentsp call in org.el and here + (&optional commentsp) "Clean stuff in the LaTeX export." ;; Preserve line breaks @@ -1085,7 +995,7 @@ Regexps are those from `org-latex-special-string-regexps'." (add-text-properties (match-beginning 0) (match-end 0) '(org-protected t))) - ;; Convert LaTeX to @LaTeX{} + ;; Convert LaTeX to \LaTeX{} (goto-char (point-min)) (let ((case-fold-search nil) rpl) (while (re-search-forward "\\([^+_]\\)LaTeX" nil t) @@ -1097,44 +1007,28 @@ Regexps are those from `org-latex-special-string-regexps'." (while (re-search-forward "^----+.$" nil t) (replace-match (org-latex-protect "\\hrule") t t)) - ;; Remove COMMENT subtrees - ;; What about QUOTE subtrees? - (goto-char (point-min)) - (while (re-search-forward - (concat "^\\*+ \\(" org-comment-string "\\)") - nil t) - (beginning-of-line) - (org-cut-subtree)) - ;; Protect LaTeX \commands{...} (goto-char (point-min)) - (while (re-search-forward "\\\\[a-z]+\\(?:\\[.*\\]\\)?\\(?:{.*}\\)?" nil t) + (while (re-search-forward "\\\\[a-zA-Z]+\\(?:\\[.*\\]\\)?{.*}" nil t) (add-text-properties (match-beginning 0) (match-end 0) '(org-protected t))) - + ;; Replace radio links (goto-char (point-min)) - (let ((search (concat "<<?>>"))) - (while (re-search-forward search nil t) - (replace-match - (org-latex-protect (format "\\label{%s}" (match-string 1))) t t))) - + (while (re-search-forward + (concat "<<>>?\\((INVISIBLE)\\)?") nil t) + (replace-match + (org-latex-protect + (format "\\label{%s}%s"(match-string 1) + (if (match-string 2) "" (match-string 1)))) t t)) + ;; Delete @<...> constructs (goto-char (point-min)) ;; Thanks to Daniel Clemente for this regexp (while (re-search-forward "@<\\(?:[^\"\n]\\|\".*\"\\)*?>" nil t) (replace-match "")) - - ;; Add #+BEGIN_LaTeX before any \begin{...} - (goto-char (point-min)) - (while (re-search-forward "^ *\\\\begin{" nil t) - (replace-match "#+BEGIN_LaTeX:\n\\&" t)) - - ;; Add #+END_LaTeX after any \end{...} - (goto-char (point-min)) - (while (re-search-forward "^ *\\\\end{.+}.*$" nil t) - (replace-match "\\&\n#+END_LaTeX" t)) - + ;; When converting to LaTeX, replace footnotes ;; FIXME: don't protect footnotes from conversion (when (plist-get org-latex-options-plist :footnotes) @@ -1142,7 +1036,7 @@ Regexps are those from `org-latex-special-string-regexps'." (while (re-search-forward "\\[[0-9]+\\]" nil t) (when (save-match-data (save-excursion (beginning-of-line) - (looking-at "[^:|]"))) + (looking-at "[^:|#]"))) (let ((foot-beg (match-beginning 0)) (foot-end (match-end 0)) (foot-prefix (match-string 0)) @@ -1152,12 +1046,13 @@ Regexps are those from `org-latex-special-string-regexps'." (let ((end (save-excursion (if (re-search-forward "^$\\|\\[[0-9]+\\]" nil t) (match-beginning 0) (point-max))))) - (setq footnote (concat - (org-trim (buffer-substring (point) end)) - ;; FIXME stupid workaround for cases where - ;; `org-bracket-link-analytic-regexp' matches - ;; }. as part of the link. - " ")) + (setq footnote + (concat + (org-trim (buffer-substring (point) end)) + ;; FIXME stupid workaround for cases where + ;; `org-bracket-link-analytic-regexp' matches + ;; }. as part of the link. + " ")) (delete-region (point) end))) (goto-char foot-beg) (delete-region foot-beg foot-end) @@ -1172,44 +1067,9 @@ Regexps are those from `org-latex-special-string-regexps'." (goto-char (point-min)) (while (re-search-forward (concat "^" footnote-section-tag-regexp) nil t) - (replace-match ""))) - - ;; Protect stuff from LaTeX processing. - ;; We will get rid on this once org.el integrate org-export-latex.el - (goto-char (point-min)) - (let ((formatters `((,latexp "LaTeX" "BEGIN_LaTeX" "END_LaTeX"))) fmt) - (while (re-search-forward "^[ \t]*:.*\\(\n[ \t]*:.*\\)*" nil t) - (add-text-properties (match-beginning 0) (match-end 0) - '(org-protected t))) - (while formatters - (setq fmt (pop formatters)) - (when (car fmt) - (goto-char (point-min)) - (while (re-search-forward (concat "^#\\+" (cadr fmt) - ;; ":[ \t]*\\(.*\\)") nil t) - ;; FIXME: authorize spaces after #+LaTeX: - ;; to get list correctly exported - ":\\(.*\\)") nil t) - (replace-match "\\1" t) - (add-text-properties - (point-at-bol) (min (1+ (point-at-eol)) (point-max)) - '(org-protected t)))) - (goto-char (point-min)) - (while (re-search-forward - (concat "^#\\+" - (caddr fmt) "\\>.*\\(\\(\n.*\\)*?\n\\)#\\+" - (cadddr fmt) "\\>.*\n?") nil t) - (if (car fmt) - (add-text-properties (match-beginning 1) (1+ (match-end 1)) - '(org-protected t)) - (delete-region (match-beginning 0) (match-end 0)))) - (goto-char (point-min)) - (while (re-search-forward re-quote nil t) - (goto-char (match-beginning 0)) - (end-of-line 1) - (add-text-properties (point) (org-end-of-subtree t) - '(org-protected t)))))) + (replace-match "")))) (provide 'org-export-latex) +;; arch-tag: 23c2b87d-da04-4c2d-ad2d-1eb6487bc3ad ;;; org-export-latex.el ends here diff --git a/org-install.el b/org-install.el index d4c953a8d..152acae36 100644 --- a/org-install.el +++ b/org-install.el @@ -1,5 +1,6 @@ ;;; org-install.el --- Autoloads for org.el +;; org.el (autoload 'org-mode "org" "Org mode" t) (autoload 'org-diary "org" "Diary entries from Org mode.") (autoload 'org-agenda "org" "Multi-file agenda from Org mode." t) @@ -10,6 +11,7 @@ (autoload 'turn-on-orgtbl "org" "Org tables as a minor mode.") (autoload 'orgstruct-mode "org" "Org structure as a minor mode." t) (autoload 'turn-on-orgstruct "org" "Org structure as a minor mode.") +(autoload 'turn-on-orgstruct++ "Orgstruct-mode with indentation settings.") (autoload 'org-cycle "org" "Subtree visibility cycling." t) (autoload 'org-global-cycle "org" "Global visibility cycling." t) (autoload 'org-agenda-list "org" "Produce calendar-like agenda view." t) @@ -25,7 +27,9 @@ "Export all files in `org-agenda-files' to iCalendar .ics files." t) (autoload 'org-export-icalendar-combine-agenda-files "org" "Export all files in `org-agenda-files' to a single combined iCalendar file." t) +(autoload 'org-run-like-in-org-mode "Run a command like in Org-mode.") +;; org-latex.el (autoload 'org-export-as-latex-batch "org-export-latex") (autoload 'org-export-as-latex-to-buffer "org-export-latex" "Call `org-exort-as-latex` with output to a temporary buffer" t) @@ -41,13 +45,15 @@ (autoload 'org-store-agenda-views "org" "Store agenda views to files" t) (autoload 'org-batch-store-agenda-views "org") +;; org-publish.el (autoload 'org-publish-current-file "org-publish" "Publish current file." t) (autoload 'org-publish-current-project "org-publish" "Publish all files of current project." t) (autoload 'org-publish "org-publish" "Publish a project." t) (autoload 'org-publish-all "org-publish" "Publish all projects." t) -(autoload 'org-run-like-in-org-mode "Run a command like in Org-mode.") - +;; org-toc.el +(autoload 'org-show-toc "org-toc" "Create and display a table of contents" t) + (provide 'org-install) diff --git a/org-mouse.el b/org-mouse.el index 53cba3a23..62e7c0cfe 100644 --- a/org-mouse.el +++ b/org-mouse.el @@ -1,43 +1,35 @@ ;;; org-mouse.el --- Better mouse support for org-mode -;; Copyright (c) 2006 Piotr Zielinski +;; Copyright (c) 2006 Piotr Zielinski, 2007 Free Software Foundation ;; ;; Author: Piotr Zielinski -;; Version: 0.24a -;; $Id: org-mouse.el 817 2007-02-01 00:28:02Z pz215 $ -;; -;; The latest version of this file is available from +;; Maintainer: Carsten Dominik +;; Version: 5.10 ;; -;; http://www.cl.cam.ac.uk/~pz215/files/org-mouse.el +;; This file is part of GNU Emacs. ;; -;; This file is *NOT* part of GNU Emacs. -;; This file is distributed under the same terms as GNU Emacs. +;; GNU 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. -;; This program 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 2 of -;; the License, 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. -;; This program 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 this program; if not, write to the Free -;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, -;; MA 02111-1307 USA +;; 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. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;;; Commentary: ;; -;; Org-mouse provides better mouse support for org-mode. Org-mode is -;; a mode for keeping notes, maintaining ToDo lists, and doing project -;; planning with a fast and effective plain-text system. It is -;; available from +;; Org-mouse provides mouse support for org-mode. ;; -;; http://staff.science.uva.nl/~dominik/Tools/org/ +;; http://orgmode.org ;; ;; Org-mouse implements the following features: ;; * following links with the left mouse button (in Emacs 22) @@ -52,22 +44,14 @@ ;; * promoting/demoting/moving subtrees with mouse-3 ;; + if the drag starts and ends in the same line then promote/demote ;; + otherwise move the subtree -;; * date/time extraction from selected text (requires a python script) -;; (eg. select text from your email and click "Add Appointment") -;; -;; The python script that automatically extracts date/time information -;; from a piece of English text is available from: -;; -;; http://www.cl.cam.ac.uk/~pz215/files/timeparser.py ;; ;; Use -;; ------------ +;; --- ;; ;; To use this package, put the following line in your .emacs: ;; ;; (require 'org-mouse) ;; -;; Tested with Emacs 22.0.50, org-mode 4.58 ;; Fixme: ;; + deal with folding / unfolding issues @@ -83,10 +67,18 @@ ;; + ctrl-c ctrl-c, for example, renumber the current list ;; + internal links -;; Please email me with new feature suggestions / bugs +;; Please email the maintainer with new feature suggestions / bugs ;; History: ;; +;; SInce version 5.10: Changes are listed in the general org-mode docs. +;; +;; Version 5.09 +;; + Version number synchronization with Org-mode. +;; +;; Version 0.25 +;; + made compatible with org-mode 4.70 (thanks to Carsten for the patch) +;; ;; Version 0.24 ;; + minor changes to the table menu ;; @@ -148,24 +140,31 @@ ;; ;; Versions 0.01 -- 0.07: (I don't remember) -(require 'cl) +(eval-when-compile (require 'cl)) +(require 'org) -(defvar org-mouse-plain-list-regexp "\\([ \t]*\\)\\([-+*]\\|[0-9]+[.)]\\) ") -(defvar org-mouse-direct t) +(defvar org-mouse-plain-list-regexp "\\([ \t]*\\)\\([-+*]\\|[0-9]+[.)]\\) " + "Regular expression that matches a plain list.") +(defvar org-mouse-direct t + "Internal variable indicating whether the current action is direct. + +If t, then the current action has been invoked directly through the buffer +it is intended to operate on. If nil, then the action has been invoked +indirectly, for example, through the agenda buffer.") (defgroup org-mouse nil - "Org-mouse" - :tag "Org Mouse." + "Mouse support for org-mode." + :tag "Org Mouse" :group 'org) (defcustom org-mouse-punctuation ":" - "" + "Punctuation used when inserting text by drag and drop." :group 'org-mouse :type 'string) (defun org-mouse-re-search-line (regexp) - "Searches the current line for a given regular expression." + "Search the current line for a given regular expression." (beginning-of-line) (re-search-forward regexp (point-at-eol) t)) @@ -178,8 +177,17 @@ (skip-chars-backward ":A-Za-z") (skip-chars-backward "\t "))) +(defvar org-mouse-context-menu-function nil + "Function to create the context menu. +The value of this variable is the function invoked by +`org-mouse-context-menu' as the context menu.") +(make-variable-buffer-local 'org-mouse-context-menu-function) (defun org-mouse-show-context-menu (event prefix) + "Invoke the context menu. + +If the value of `org-mouse-context-menu-function' is a function, then +this function is called. Otherwise, the current major mode menu is used." (interactive "@e \nP") (if (and (= (event-click-count event) 1) (or (not mark-active) @@ -193,24 +201,30 @@ (sit-for 0))) (if (functionp org-mouse-context-menu-function) (funcall org-mouse-context-menu-function event) - (mouse-major-mode-menu event prefix)) - ) + (mouse-major-mode-menu event prefix))) (setq this-command 'mouse-save-then-kill) (mouse-save-then-kill event))) (defun org-mouse-line-position () - "Returns :beginning :middle :end" + "Returns `:beginning' or `:middle' or `:end', depending on the point position. + +If the point is at the end of the line, return `:end'. +If the point is separated from the beginning of the line only by white +space and *'s (`org-mouse-bolp'), return `:beginning'. Otherwise, +return `:middle'." (cond ((eolp) :end) - ((org-mouse-bolp) :begin) + ((org-mouse-bolp) :beginning) (t :middle))) (defun org-mouse-empty-line () + "Return non-nil iff the line contains only white space." (save-excursion (beginning-of-line) (looking-at "[ \t]*$"))) (defun org-mouse-next-heading () - "Goes to the next heading and if there is none, it ensures that the point is at the beginning of an empty line." + "Go to the next heading. +If there is none, ensure that the point is at the beginning of an empty line." (unless (outline-next-heading) (beginning-of-line) (unless (org-mouse-empty-line) @@ -218,14 +232,22 @@ (newline)))) (defun org-mouse-insert-heading () + "Insert a new heading, as `org-insert-heading'. + +If the point is at the :beginning (`org-mouse-line-position') of the line, +insert the new heading before the current line. Otherwise, insert it +after the current heading." (interactive) (case (org-mouse-line-position) - (:begin (beginning-of-line) + (:beginning (beginning-of-line) (org-insert-heading)) (t (org-mouse-next-heading) (org-insert-heading)))) (defun org-mouse-timestamp-today (&optional shift units) + "Change the timestamp into SHIFT UNITS in the future. + +For the acceptable UNITS, see `org-timestamp-change'." (interactive) (flet ((org-read-date (&rest rest) (current-time))) (org-time-stamp nil)) @@ -233,6 +255,24 @@ (org-timestamp-change shift units))) (defun org-mouse-keyword-menu (keywords function &optional selected itemformat) + "A helper function. + +Returns a menu fragment consisting of KEYWORDS. When a keyword +is selected by the user, FUNCTION is called with the selected +keyword as the only argument. + +If SELECTED is nil, then all items are normal menu items. If +SELECTED is a function, then each item is a checkbox, which is +enabled for a given keyword iff (funcall SELECTED keyword) return +non-nil. If SELECTED is neither nil nor a function, then the +items are radio buttons. A radio button is enabled for the +keyword `equal' to SELECTED. + +ITEMFORMAT governs formatting of the elements of KEYWORDS. If it +is a function, it is invoked with the keyword as the only +argument. If it is a string, it is interpreted as the format +string to (format ITEMFORMAT keyword). If it is neither a string +nor a function, elements of KEYWORDS are used directly. " (mapcar `(lambda (keyword) (vector (cond @@ -250,13 +290,15 @@ keywords)) (defun org-mouse-remove-match-and-spaces () + "Remove the match, make just one space around the point." (interactive) (replace-match "") (just-one-space)) +(defvar rest) (defun org-mouse-replace-match-and-surround (newtext &optional fixedcase literal string subexp) - "The same as replace-match, but surrounds the replacement with spaces." + "The same as `replace-match', but surrounds the replacement with spaces." (apply 'replace-match rest) (save-excursion (goto-char (match-beginning (or subexp 0))) @@ -267,6 +309,23 @@ (defun org-mouse-keyword-replace-menu (keywords &optional group itemformat nosurround) + "A helper function. + +Returns a menu fragment consisting of KEYWORDS. When a keyword +is selected, group GROUP of the current match is replaced by the +keyword. The method ensures that both ends of the replacement +are separated from the rest of the text in the buffer by +individual spaces (unless NOSURROND is non-nil). + +The final entry of the menu is always \"None\", which removes the +match. + +ITEMFORMAT governs formatting of the elements of KEYWORDS. If it +is a function, it is invoked with the keyword as the only +argument. If it is a string, it is interpreted as the format +string to (format ITEMFORMAT keyword). If it is neither a string +nor a function, elements of KEYWORDS are used directly. +" (setq group (or group 0)) (let ((replace (org-mouse-match-closure (if nosurround 'replace-match @@ -281,10 +340,8 @@ :style radio :selected ,(not (member (match-string group) keywords))])))) -(defvar org-mouse-context-menu-function nil) -(make-variable-buffer-local 'org-mouse-context-menu-function) - (defun org-mouse-show-headlines () + "Change the visibility of the current org buffer to only show headlines." (interactive) (let ((this-command 'org-cycle) (last-command 'org-cycle) @@ -293,35 +350,40 @@ (org-cycle '(4)))) (defun org-mouse-show-overview () + "Change visibility of current org buffer to first-level headlines only." (interactive) (let ((org-cycle-global-status nil)) (org-cycle '(4)))) (defun org-mouse-set-priority (priority) + "Set the priority of the current headline to PRIORITY." (flet ((read-char-exclusive () priority)) (org-priority))) (defvar org-mouse-priority-regexp "\\[#\\([A-Z]\\)\\]" - "Regular expression matching the priority indicator. Differs from `org-priority-regexp' in that it doesn't contain the leading '.*?'.") - + "Regular expression matching the priority indicator. +Differs from `org-priority-regexp' in that it doesn't contain the +leading '.*?'.") (defun org-mouse-get-priority (&optional default) + "Return the priority of the current headline. +DEFAULT is returned if no priority is given in the headline." (save-excursion (if (org-mouse-re-search-line org-mouse-priority-regexp) (match-string 1) (when default (char-to-string org-default-priority))))) -(defun org-mouse-at-link () - (and (eq (get-text-property (point) 'face) 'org-link) - (save-excursion - (goto-char (previous-single-property-change (point) 'face)) - (or (looking-at org-bracket-link-regexp) - (looking-at org-angle-link-re) - (looking-at org-plain-link-re))))) +;; (defun org-mouse-at-link () +;; (and (eq (get-text-property (point) 'face) 'org-link) +;; (save-excursion +;; (goto-char (previous-single-property-change (point) 'face)) +;; (or (looking-at org-bracket-link-regexp) +;; (looking-at org-angle-link-re) +;; (looking-at org-plain-link-re))))) (defun org-mouse-delete-timestamp () - "Deletes the current timestamp as well as the preceding + "Deletes the current timestamp as well as the preceding keyword. SCHEDULED: or DEADLINE: or ANYTHINGLIKETHIS:" (when (or (org-at-date-range-p) (org-at-timestamp-p)) (replace-match "") ; delete the timestamp @@ -338,7 +400,6 @@ SCHEDULED: or DEADLINE: or ANYTHINGLIKETHIS:" (when (looking-at regexp) (> (match-end 0) point)))))) - (defun org-mouse-priority-list () (loop for priority from ?A to org-lowest-priority collect (char-to-string priority))) @@ -414,9 +475,6 @@ SCHEDULED: or DEADLINE: or ANYTHINGLIKETHIS:" :style 'toggle :selected (and (member name options) t))))) - - - (defun org-mouse-clip-text (text maxlength) (if (> (length text) maxlength) (concat (substring text 0 (- maxlength 3)) "...") @@ -471,7 +529,6 @@ SCHEDULED: or DEADLINE: or ANYTHINGLIKETHIS:" (nth 2 entry))) (t "Agenda Command '%s'")) 30)))) -;; ) "--" ["Delete Blank Lines" delete-blank-lines :visible (org-mouse-empty-line)] @@ -507,7 +564,7 @@ SCHEDULED: or DEADLINE: or ANYTHINGLIKETHIS:" (defun org-mouse-insert-item (text) (case (org-mouse-line-position) - (:begin ; insert before + (:beginning ; insert before (beginning-of-line) (looking-at "[ \t]*") (open-line 1) @@ -529,8 +586,6 @@ SCHEDULED: or DEADLINE: or ANYTHINGLIKETHIS:" (insert text) (beginning-of-line)) - - (defadvice dnd-insert-text (around org-mouse-dnd-insert-text activate) (if (eq major-mode 'org-mode) (org-mouse-insert-item text) @@ -567,7 +622,6 @@ SCHEDULED: or DEADLINE: or ANYTHINGLIKETHIS:" (delete-horizontal-space) (insert-for-yank (concat " [[" (current-kill 0) "]] "))) - (defun org-mouse-context-menu (&optional event) (let ((stamp-prefixes (list org-deadline-string org-scheduled-string)) (contextlist (org-context))) @@ -640,7 +694,7 @@ SCHEDULED: or DEADLINE: or ANYTHINGLIKETHIS:" ((org-mouse-looking-at org-mouse-priority-regexp "[]A-Z#") ; priority (popup-menu `(nil ,@(org-mouse-keyword-replace-menu (org-mouse-priority-list) 1 "Priority %s" t)))) - ((org-mouse-at-link) + ((get-context :link) (popup-menu '(nil ["Open" org-open-at-point t] @@ -800,8 +854,6 @@ SCHEDULED: or DEADLINE: or ANYTHINGLIKETHIS:" )))) (t (org-mouse-popup-global-menu)))))) - - ;; (defun org-mouse-at-regexp (regexp) ;; (save-excursion @@ -936,9 +988,9 @@ SCHEDULED: or DEADLINE: or ANYTHINGLIKETHIS:" (eq minlevel (- (match-end 1) (match-beginning 1)))) (replace-match replace-text)) (forward-line)))) - - - + +(defvar _cmd) ;dynamically scoped from `org-with-remote-undo'. + (defun org-mouse-do-remotely (command) ; (org-agenda-check-no-diary) (when (get-text-property (point) 'org-marker) @@ -1055,4 +1107,3 @@ SCHEDULED: or DEADLINE: or ANYTHINGLIKETHIS:" (:right (org-agenda-later 1))))))) (provide 'org-mouse) - \ No newline at end of file diff --git a/org-publish.el b/org-publish.el index cdfc673b0..fb21e8e16 100644 --- a/org-publish.el +++ b/org-publish.el @@ -6,11 +6,9 @@ ;; Keywords: hypermedia, outlines ;; Version: 1.80 -;; $Id: org-publish.el,v 1.80 2007/03/22 02:31:03 dto Exp dto $ - ;; This file 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 2, or (at your option) +;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; This file is distributed in the hope that it will be useful, @@ -440,20 +438,6 @@ nil if not found." ;;;; Pluggable publishing back-end functions - -(defun org-publish-org-to-html (plist filename) - "Publish an org file to HTML. -PLIST is the property list for the given project. -FILENAME is the filename of the org file to be published." - (require 'org) - (let* ((arg (plist-get plist :headline-levels))) - (progn - (find-file filename) - (org-export-as-html arg nil plist) - ;; get rid of HTML buffer - (kill-buffer (current-buffer))))) - - (defun org-publish-org-to-latex (plist filename) "Publish an org file to LaTeX." (org-publish-org-to "latex" plist filename)) @@ -619,4 +603,6 @@ With prefix argument, force publish all files." (provide 'org-publish) + +;; arch-tag: 72807f3c-8af0-4a6b-8dca-c3376eb25adb ;;; org-publish.el ends here diff --git a/org.el b/org.el index c0c84b2df..4f0fe39ef 100644 --- a/org.el +++ b/org.el @@ -2,10 +2,10 @@ ;; Carstens outline-mode for keeping track of everything. ;; Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc. ;; -;; Author: Carsten Dominik +;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp -;; Homepage: http://www.astro.uva.nl/~dominik/Tools/org/ -;; Version: 5.07a +;; Homepage: http://orgmode.org +;; Version: 5.10a ;; ;; This file is part of GNU Emacs. ;; @@ -49,7 +49,7 @@ ;; --------------------------- ;; See the corresponding sections in the manual at ;; -;; http://staff.science.uva.nl/~dominik/Tools/org/org.html#Installation +;; http://orgmode.org/org.html#Installation ;; ;; Documentation ;; ------------- @@ -60,7 +60,7 @@ ;; in the etc/ directory of Emacs 22. ;; ;; A list of recent changes can be found at -;; http://www.astro.uva.nl/~dominik/Tools/org/Changes +;; http://orgmode.org/Changes.html ;; ;;; Code: @@ -83,7 +83,7 @@ ;;; Version -(defconst org-version "5.07a" +(defconst org-version "5.10a" "The version number of the file org.el.") (defun org-version () (interactive) @@ -109,6 +109,8 @@ (save-match-data (while (string-match "\\[:alnum:\\]" ss) (setq ss (replace-match "a-zA-Z0-9" t t ss))) + (while (string-match "\\[:alpha:\\]" ss) + (setq ss (replace-match "a-zA-Z" t t ss))) ss)) s)) @@ -1370,7 +1372,7 @@ You can set this on a per-template basis with the variable (const :tag "Default from remember-data-file" nil) file)) -(defcustom org-remember-store-without-prompt nil +(defcustom org-remember-store-without-prompt t "Non-nil means, `C-c C-c' stores remember note without further promts. In this case, you need `C-u C-c C-c' to get the prompts for note file and headline. @@ -1508,8 +1510,6 @@ taken from the (otherwise obsolete) variable `org-todo-interpretation'." (defvar org-todo-keywords-1 nil) (make-variable-buffer-local 'org-todo-keywords-1) -(defvar org-todo-tag-alist nil) -(make-variable-buffer-local 'org-todo-tag-alist) (defvar org-todo-keywords-for-agenda nil) (defvar org-done-keywords-for-agenda nil) (defvar org-not-done-keywords nil) @@ -1520,8 +1520,14 @@ taken from the (otherwise obsolete) variable `org-todo-interpretation'." (make-variable-buffer-local 'org-todo-heads) (defvar org-todo-sets nil) (make-variable-buffer-local 'org-todo-sets) +(defvar org-todo-log-states nil) +(make-variable-buffer-local 'org-todo-log-states) (defvar org-todo-kwd-alist nil) (make-variable-buffer-local 'org-todo-kwd-alist) +(defvar org-todo-key-alist nil) +(make-variable-buffer-local 'org-todo-key-alist) +(defvar org-todo-key-trigger nil) +(make-variable-buffer-local 'org-todo-key-trigger) (defcustom org-todo-interpretation 'sequence "Controls how TODO keywords are interpreted. @@ -1534,6 +1540,30 @@ more information." :type '(choice (const sequence) (const type))) +(defcustom org-use-fast-todo-selection 'prefix + "Non-nil means, use the fast todo selection scheme with C-c C-t. +This variable describes if and under what circumstances the cycling +mechanism for TODO keywords will be replaced by a single-key, direct +selection scheme. + +When nil, fast selection is never used. + +When the symbol `prefix', it will be used when `org-todo' is called with +a prefix argument, i.e. `C-u C-c C-t' in an Org-mode buffer, and `C-u t' +in an agenda buffer. + +When t, fast selection is used by default. In this case, the prefix +argument forces cycling instead. + +In all cases, the special interface is only used if access keys have actually +been assigned by the user, i.e. if keywords in the configuration are followed +by a letter in parenthesis, like TODO(t)." + :group 'org-todo + :type '(choice + (const :tag "Never" nil) + (const :tag "By default" t) + (const :tag "Only with C-u C-c C-t" prefix))) + (defcustom org-after-todo-state-change-hook nil "Hook which is run after the state of a TODO item was changed. The new state (a string with a TODO keyword, or nil) is available in the @@ -1543,8 +1573,8 @@ Lisp variable `state'." (defcustom org-log-done nil "When set, insert a (non-active) time stamp when TODO entry is marked DONE. -When the state of an entry is changed from nothing to TODO, remove a previous -closing date. +When the state of an entry is changed from nothing or a DONE state to +a not-done TODO state, remove a previous closing date. This can also be a list of symbols indicating under which conditions the time stamp recording the action should be annotated with a short note. @@ -1651,6 +1681,13 @@ This is the priority an item get if no explicit priority is given." :group 'org-priorities :type 'character) +(defcustom org-priority-start-cycle-with-default t + "Non-nil means, start with default priority when starting to cycle. +When this is nil, the first step in the cycle will be (depending on the +command used) one higher or lower that the default priority." + :group 'org-priorities + :type 'boolean) + (defgroup org-time nil "Options concerning time stamps and deadlines in Org-mode." :tag "Org Time" @@ -1713,9 +1750,11 @@ end of the second format." (concat "[" (substring f 1 -1) "]") f))) -(defcustom org-deadline-warning-days 30 +(defcustom org-deadline-warning-days 14 "No. of days before expiration during which a deadline becomes active. -This variable governs the display in sparse trees and in the agenda." +This variable governs the display in sparse trees and in the agenda. +When negative, it means use this number (the absolute value of it) +even if a deadline has a different individual lead time specified." :group 'org-time :type 'number) @@ -1727,6 +1766,12 @@ When nil, only the minibuffer will be available." :group 'org-time :type 'boolean) +(defcustom org-edit-timestamp-down-means-later nil + "Non-nil means, S-down will increase the time in a time stamp. +When nil, S-up will increase." + :group 'org-time + :type 'boolean) + (defcustom org-calendar-follow-timestamp-change t "Non-nil means, make the calendar window follow timestamp changes. When a timestamp is modified and the calendar window is visible, it will be @@ -1743,9 +1788,10 @@ moved to the new date." "List of tags allowed in Org-mode files. When this list is nil, Org-mode will base TAG input on what is already in the buffer. -The value of this variable is an alist, the car may be (and should) be a -character that is used to select that tag through the fast-tag-selection -interface. See the manual for details." +The value of this variable is an alist, the car of each entry must be a +keyword as a string, the cdr may be a character that is used to select +that tag through the fast-tag-selection interface. +See the manual for details." :group 'org-tags :type '(repeat (choice @@ -1781,6 +1827,10 @@ displaying the tags menu is not even shown, until you press C-c again." (const :tag "Yes" t) (const :tag "Expert" expert))) +(defvar org-fast-tag-selection-include-todo nil + "Non-nil means, fast tags selection interface will also offer TODO states. +This is an undocumented feature, you should not rely on it.") + (defcustom org-tags-column 48 "The column to which tags should be indented in a headline. If this number is positive, it specifies the column. If it is negative, @@ -1824,6 +1874,8 @@ make sure all corresponding TODO items find their way into the list." "History of minibuffer reads for tags.") (defvar org-last-tags-completion-table nil "The last used completion table for tags.") +(defvar org-after-tags-change-hook nil + "Hook that is run after the tags in a line have changed.") (defgroup org-properties nil "Options concerning properties in Org-mode." @@ -2271,13 +2323,25 @@ When nil, only the days which actually have entries are shown." :group 'org-agenda-daily/weekly :type 'boolean) -(defcustom org-agenda-date-format "%A %d %B %Y" +(defcustom org-agenda-format-date 'org-agenda-format-date-aligned "Format string for displaying dates in the agenda. Used by the daily/weekly agenda and by the timeline. This should be -a format string understood by `format-time-string'. -FIXME: Not used currently, because of timezone problem." +a format string understood by `format-time-string', or a function returning +the formatted date as a string. The function must take a single argument, +a calendar-style date list like (month day year)." :group 'org-agenda-daily/weekly - :type 'string) + :type '(choice + (string :tag "Format string") + (function :tag "Function"))) + +(defun org-agenda-format-date-aligned (date) + "Format a date string for display in the daily/weekly agenda, or timeline. +This function makes sure that dates are aligned for easy reading." + (format "%-9s %2d %s %4d" + (calendar-day-name date) + (extract-calendar-day date) + (calendar-month-name (extract-calendar-month date)) + (extract-calendar-year date))) (defcustom org-agenda-include-diary nil "If non-nil, include in the agenda entries from the Emacs Calendar's diary." @@ -2601,8 +2665,8 @@ directory where the exported Org-mode files lives." ("cs" "Autor" "Datum" "Obsah") ("da" "Ophavsmand" "Dato" "Indhold") ("de" "Autor" "Datum" "Inhaltsverzeichnis") - ("es" "Autor" "Fecha" "\xccndice") - ("fr" "Auteur" "Date" "Table des Mati\xe8res") + ("es" "Autor" "Fecha" "\xcdndice") + ("fr" "Auteur" "Date" "Table des mati\xe8res") ("it" "Autore" "Data" "Indice") ("nl" "Auteur" "Datum" "Inhoudsopgave") ("nn" "Forfattar" "Dato" "Innhold") ;; nn = Norsk (nynorsk) @@ -2923,6 +2987,11 @@ Org-mode file." :group 'org-export-html :type 'coding-system) +(defcustom org-export-html-extension "html" + "The extension for exported HTML files." + :group 'org-export-html + :type 'string) + (defcustom org-export-html-style "