diff --git a/ChangeLog b/ChangeLog index 1e950d8ed..9cc2efead 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2007-12-03 Carsten Dominik + + * org.el (org-context-choices): New constant. + 2007-11-30 Carsten Dominik * org.el (org-imenu-depth): New option. diff --git a/org b/org index 7a50917d6..eb3845514 100644 --- a/org +++ b/org @@ -5,7 +5,7 @@ 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.16). + This manual is for Org-mode (version 5.16a). 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.16). +This manual is for Org-mode (version 5.16a). Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation @@ -8816,239 +8816,239 @@ Key Index  Tag Table: -Node: Top970 -Node: Introduction13509 -Node: Summary13995 -Node: Installation17132 -Node: Activation18510 -Node: Feedback19747 -Node: Conventions21836 -Node: Document structure22528 -Node: Outlines23420 -Node: Headlines24085 -Ref: Headlines-Footnote-125089 -Node: Visibility cycling25200 -Ref: Visibility cycling-Footnote-127410 -Ref: Visibility cycling-Footnote-227468 -Ref: Visibility cycling-Footnote-327518 -Node: Motion27788 -Node: Structure editing28742 -Node: Archiving31990 -Node: ARCHIVE tag32548 -Node: Moving subtrees34341 -Ref: Moving subtrees-Footnote-135888 -Node: Sparse trees36332 -Ref: Sparse trees-Footnote-138604 -Ref: Sparse trees-Footnote-238786 -Node: Plain lists38901 -Ref: Plain lists-Footnote-143098 -Ref: Plain lists-Footnote-243456 -Node: Drawers43637 -Ref: Drawers-Footnote-144514 -Node: orgstruct-mode44620 -Node: Tables45520 -Node: Built-in table editor46101 -Node: Narrow columns53518 -Ref: Narrow columns-Footnote-155453 -Node: Column groups55499 -Node: orgtbl-mode57032 -Node: The spreadsheet57835 -Node: References58922 -Ref: References-Footnote-163389 -Ref: References-Footnote-263530 -Node: Formula syntax for Calc63819 -Node: Formula syntax for Lisp66276 -Node: Field formulas67994 -Node: Column formulas69302 -Node: Editing and debugging formulas70901 -Node: Updating the table75054 -Node: Advanced features76107 -Node: Hyperlinks80632 -Node: Link format81410 -Node: Internal links82703 -Ref: Internal links-Footnote-184628 -Node: Radio targets84763 -Node: External links85463 -Node: Handling links87867 -Ref: Handling links-Footnote-193183 -Ref: Handling links-Footnote-293420 -Node: Using links outside Org-mode93494 -Node: Link abbreviations94004 -Node: Search options95697 -Ref: Search options-Footnote-197477 -Node: Custom searches97558 -Node: TODO items98589 -Node: TODO basics99627 -Node: TODO extensions101842 -Node: Workflow states102786 -Ref: Workflow states-Footnote-1103961 -Node: TODO types104054 -Ref: TODO types-Footnote-1105637 -Node: Multiple sets in one file105719 -Node: Fast access to TODO states107339 -Node: Per file keywords108482 -Ref: Per file keywords-Footnote-1109784 -Node: Faces for TODO keywords109985 -Node: Progress logging110691 -Node: Closing items111122 -Ref: Closing items-Footnote-1112056 -Ref: Closing items-Footnote-2112261 -Node: Tracking TODO state changes112334 -Ref: Tracking TODO state changes-Footnote-1113519 -Node: Priorities113594 -Ref: Priorities-Footnote-1115244 -Node: Breaking down tasks115314 -Ref: Breaking down tasks-Footnote-1115834 -Node: Checkboxes115930 -Node: Tags118779 -Node: Tag inheritance119551 -Node: Setting tags120488 -Ref: Setting tags-Footnote-1125011 -Ref: Setting tags-Footnote-2125123 -Node: Tag searches125206 -Node: Properties and columns127982 -Node: Property syntax129153 -Node: Special properties131843 -Node: Property searches132914 -Node: Property inheritance134175 -Node: Column view135622 -Node: Defining columns136856 -Node: Scope of column definitions137254 -Node: Column attributes138176 -Node: Using column view140572 -Node: Capturing Column View142653 -Node: Property API144380 -Node: Dates and times144734 -Node: Time stamps145463 -Ref: Time stamps-Footnote-1147827 -Node: Creating timestamps147943 -Node: The date/time prompt150022 -Ref: The date/time prompt-Footnote-1153378 -Ref: The date/time prompt-Footnote-2153434 -Ref: The date/time prompt-Footnote-3153540 -Node: Custom time format153633 -Node: Deadlines and scheduling155325 -Ref: Deadlines and scheduling-Footnote-1157403 -Node: Inserting deadline/schedule157558 -Node: Repeated tasks158676 -Ref: Repeated tasks-Footnote-1160354 -Node: Clocking work time160475 -Ref: Clocking work time-Footnote-1165327 -Ref: Clocking work time-Footnote-2165405 -Node: Remember165531 -Node: Setting up remember166477 -Ref: Setting up remember-Footnote-1167386 -Node: Remember templates167452 -Ref: Remember templates-Footnote-1171091 -Ref: Remember templates-Footnote-2171274 -Node: Storing notes171372 -Ref: Storing notes-Footnote-1173883 -Node: Refiling notes173985 -Node: Agenda views175250 -Node: Agenda files177201 -Ref: Agenda files-Footnote-1179642 -Ref: Agenda files-Footnote-2179791 -Node: Agenda dispatcher179984 -Ref: Agenda dispatcher-Footnote-1182038 -Ref: Agenda dispatcher-Footnote-2182132 -Node: Built-in agenda views182226 -Node: Weekly/Daily agenda182808 -Ref: Weekly/Daily agenda-Footnote-1186106 -Node: Global TODO list186310 -Node: Matching tags and properties188590 -Node: Timeline189681 -Node: Stuck projects190355 -Node: Presentation and sorting192208 -Node: Categories193001 -Ref: Categories-Footnote-1193712 -Node: Time-of-day specifications194149 -Node: Sorting of agenda items196122 -Node: Agenda commands197406 -Node: Custom agenda views204869 -Node: Storing searches205590 -Ref: Storing searches-Footnote-1208124 -Node: Block agenda208241 -Node: Setting Options209473 -Node: Exporting Agenda Views212214 -Ref: Exporting Agenda Views-Footnote-1216571 -Ref: Exporting Agenda Views-Footnote-2216628 -Node: Extracting Agenda Information for other programs216814 -Node: Embedded LaTeX220942 -Ref: Embedded LaTeX-Footnote-1222036 -Node: Math symbols222226 -Node: Subscripts and Superscripts222993 -Node: LaTeX fragments223839 -Ref: LaTeX fragments-Footnote-1226072 -Ref: LaTeX fragments-Footnote-2226333 -Node: Processing LaTeX fragments226467 -Node: CDLaTeX mode227415 -Ref: CDLaTeX mode-Footnote-1229901 -Node: Exporting230049 -Node: ASCII export231516 -Node: HTML export233017 -Node: HTML Export commands233643 -Node: Quoting HTML tags235430 -Node: Links236065 -Node: Images236762 -Ref: Images-Footnote-1237633 -Node: CSS support237694 -Ref: CSS support-Footnote-1239013 -Node: LaTeX export239126 -Node: LaTeX export commands239475 -Node: Quoting LaTeX code240637 -Node: Sectioning structure241171 -Node: XOXO export241672 -Node: iCalendar export242112 -Node: Text interpretation243581 -Node: Comment lines244236 -Node: Initial text244631 -Node: Footnotes246300 -Node: Quoted examples247092 -Node: Enhancing text247867 -Node: Export options250316 -Node: Publishing252777 -Ref: Publishing-Footnote-1253738 -Ref: Publishing-Footnote-2253882 -Node: Configuration254033 -Node: Project alist254751 -Node: Sources and destinations255817 -Node: Selecting files256547 -Node: Publishing action257295 -Node: Publishing options258629 -Node: Publishing links261135 -Node: Project page index262650 -Node: Sample configuration263428 -Node: Simple example263920 -Node: Complex example264593 -Node: Triggering publication266669 -Node: Miscellaneous267354 -Node: Completion267988 -Node: Customization269658 -Node: In-buffer settings270241 -Node: The very busy C-c C-c key275911 -Node: Clean view277766 -Node: TTY keys280343 -Node: Interaction281953 -Node: Cooperation282350 -Node: Conflicts286021 -Node: Bugs288031 -Node: Extensions and Hacking289527 -Node: Extensions290252 -Node: Adding hyperlink types292514 -Node: Tables in arbitrary syntax296176 -Node: Radio tables297568 -Node: A LaTeX example300071 -Ref: A LaTeX example-Footnote-1303749 -Ref: A LaTeX example-Footnote-2303897 -Node: Translator functions304332 -Ref: Translator functions-Footnote-1307461 -Node: Radio lists307549 -Ref: Radio lists-Footnote-1308671 -Node: Dynamic blocks308791 -Node: Special agenda views310763 -Node: Using the property API314008 -Node: History and Acknowledgments315606 -Node: Index322287 -Node: Key Index359003 +Node: Top971 +Node: Introduction13511 +Node: Summary13997 +Node: Installation17134 +Node: Activation18512 +Node: Feedback19749 +Node: Conventions21838 +Node: Document structure22530 +Node: Outlines23422 +Node: Headlines24087 +Ref: Headlines-Footnote-125091 +Node: Visibility cycling25202 +Ref: Visibility cycling-Footnote-127412 +Ref: Visibility cycling-Footnote-227470 +Ref: Visibility cycling-Footnote-327520 +Node: Motion27790 +Node: Structure editing28744 +Node: Archiving31992 +Node: ARCHIVE tag32550 +Node: Moving subtrees34343 +Ref: Moving subtrees-Footnote-135890 +Node: Sparse trees36334 +Ref: Sparse trees-Footnote-138606 +Ref: Sparse trees-Footnote-238788 +Node: Plain lists38903 +Ref: Plain lists-Footnote-143100 +Ref: Plain lists-Footnote-243458 +Node: Drawers43639 +Ref: Drawers-Footnote-144516 +Node: orgstruct-mode44622 +Node: Tables45522 +Node: Built-in table editor46103 +Node: Narrow columns53520 +Ref: Narrow columns-Footnote-155455 +Node: Column groups55501 +Node: orgtbl-mode57034 +Node: The spreadsheet57837 +Node: References58924 +Ref: References-Footnote-163391 +Ref: References-Footnote-263532 +Node: Formula syntax for Calc63821 +Node: Formula syntax for Lisp66278 +Node: Field formulas67996 +Node: Column formulas69304 +Node: Editing and debugging formulas70903 +Node: Updating the table75056 +Node: Advanced features76109 +Node: Hyperlinks80634 +Node: Link format81412 +Node: Internal links82705 +Ref: Internal links-Footnote-184630 +Node: Radio targets84765 +Node: External links85465 +Node: Handling links87869 +Ref: Handling links-Footnote-193185 +Ref: Handling links-Footnote-293422 +Node: Using links outside Org-mode93496 +Node: Link abbreviations94006 +Node: Search options95699 +Ref: Search options-Footnote-197479 +Node: Custom searches97560 +Node: TODO items98591 +Node: TODO basics99629 +Node: TODO extensions101844 +Node: Workflow states102788 +Ref: Workflow states-Footnote-1103963 +Node: TODO types104056 +Ref: TODO types-Footnote-1105639 +Node: Multiple sets in one file105721 +Node: Fast access to TODO states107341 +Node: Per file keywords108484 +Ref: Per file keywords-Footnote-1109786 +Node: Faces for TODO keywords109987 +Node: Progress logging110693 +Node: Closing items111124 +Ref: Closing items-Footnote-1112058 +Ref: Closing items-Footnote-2112263 +Node: Tracking TODO state changes112336 +Ref: Tracking TODO state changes-Footnote-1113521 +Node: Priorities113596 +Ref: Priorities-Footnote-1115246 +Node: Breaking down tasks115316 +Ref: Breaking down tasks-Footnote-1115836 +Node: Checkboxes115932 +Node: Tags118781 +Node: Tag inheritance119553 +Node: Setting tags120490 +Ref: Setting tags-Footnote-1125013 +Ref: Setting tags-Footnote-2125125 +Node: Tag searches125208 +Node: Properties and columns127984 +Node: Property syntax129155 +Node: Special properties131845 +Node: Property searches132916 +Node: Property inheritance134177 +Node: Column view135624 +Node: Defining columns136858 +Node: Scope of column definitions137256 +Node: Column attributes138178 +Node: Using column view140574 +Node: Capturing Column View142655 +Node: Property API144382 +Node: Dates and times144736 +Node: Time stamps145465 +Ref: Time stamps-Footnote-1147829 +Node: Creating timestamps147945 +Node: The date/time prompt150024 +Ref: The date/time prompt-Footnote-1153380 +Ref: The date/time prompt-Footnote-2153436 +Ref: The date/time prompt-Footnote-3153542 +Node: Custom time format153635 +Node: Deadlines and scheduling155327 +Ref: Deadlines and scheduling-Footnote-1157405 +Node: Inserting deadline/schedule157560 +Node: Repeated tasks158678 +Ref: Repeated tasks-Footnote-1160356 +Node: Clocking work time160477 +Ref: Clocking work time-Footnote-1165329 +Ref: Clocking work time-Footnote-2165407 +Node: Remember165533 +Node: Setting up remember166479 +Ref: Setting up remember-Footnote-1167388 +Node: Remember templates167454 +Ref: Remember templates-Footnote-1171093 +Ref: Remember templates-Footnote-2171276 +Node: Storing notes171374 +Ref: Storing notes-Footnote-1173885 +Node: Refiling notes173987 +Node: Agenda views175252 +Node: Agenda files177203 +Ref: Agenda files-Footnote-1179644 +Ref: Agenda files-Footnote-2179793 +Node: Agenda dispatcher179986 +Ref: Agenda dispatcher-Footnote-1182040 +Ref: Agenda dispatcher-Footnote-2182134 +Node: Built-in agenda views182228 +Node: Weekly/Daily agenda182810 +Ref: Weekly/Daily agenda-Footnote-1186108 +Node: Global TODO list186312 +Node: Matching tags and properties188592 +Node: Timeline189683 +Node: Stuck projects190357 +Node: Presentation and sorting192210 +Node: Categories193003 +Ref: Categories-Footnote-1193714 +Node: Time-of-day specifications194151 +Node: Sorting of agenda items196124 +Node: Agenda commands197408 +Node: Custom agenda views204871 +Node: Storing searches205592 +Ref: Storing searches-Footnote-1208126 +Node: Block agenda208243 +Node: Setting Options209475 +Node: Exporting Agenda Views212216 +Ref: Exporting Agenda Views-Footnote-1216573 +Ref: Exporting Agenda Views-Footnote-2216630 +Node: Extracting Agenda Information for other programs216816 +Node: Embedded LaTeX220944 +Ref: Embedded LaTeX-Footnote-1222038 +Node: Math symbols222228 +Node: Subscripts and Superscripts222995 +Node: LaTeX fragments223841 +Ref: LaTeX fragments-Footnote-1226074 +Ref: LaTeX fragments-Footnote-2226335 +Node: Processing LaTeX fragments226469 +Node: CDLaTeX mode227417 +Ref: CDLaTeX mode-Footnote-1229903 +Node: Exporting230051 +Node: ASCII export231518 +Node: HTML export233019 +Node: HTML Export commands233645 +Node: Quoting HTML tags235432 +Node: Links236067 +Node: Images236764 +Ref: Images-Footnote-1237635 +Node: CSS support237696 +Ref: CSS support-Footnote-1239015 +Node: LaTeX export239128 +Node: LaTeX export commands239477 +Node: Quoting LaTeX code240639 +Node: Sectioning structure241173 +Node: XOXO export241674 +Node: iCalendar export242114 +Node: Text interpretation243583 +Node: Comment lines244238 +Node: Initial text244633 +Node: Footnotes246302 +Node: Quoted examples247094 +Node: Enhancing text247869 +Node: Export options250318 +Node: Publishing252779 +Ref: Publishing-Footnote-1253740 +Ref: Publishing-Footnote-2253884 +Node: Configuration254035 +Node: Project alist254753 +Node: Sources and destinations255819 +Node: Selecting files256549 +Node: Publishing action257297 +Node: Publishing options258631 +Node: Publishing links261137 +Node: Project page index262652 +Node: Sample configuration263430 +Node: Simple example263922 +Node: Complex example264595 +Node: Triggering publication266671 +Node: Miscellaneous267356 +Node: Completion267990 +Node: Customization269660 +Node: In-buffer settings270243 +Node: The very busy C-c C-c key275913 +Node: Clean view277768 +Node: TTY keys280345 +Node: Interaction281955 +Node: Cooperation282352 +Node: Conflicts286023 +Node: Bugs288033 +Node: Extensions and Hacking289529 +Node: Extensions290254 +Node: Adding hyperlink types292516 +Node: Tables in arbitrary syntax296178 +Node: Radio tables297570 +Node: A LaTeX example300073 +Ref: A LaTeX example-Footnote-1303751 +Ref: A LaTeX example-Footnote-2303899 +Node: Translator functions304334 +Ref: Translator functions-Footnote-1307463 +Node: Radio lists307551 +Ref: Radio lists-Footnote-1308673 +Node: Dynamic blocks308793 +Node: Special agenda views310765 +Node: Using the property API314010 +Node: History and Acknowledgments315608 +Node: Index322289 +Node: Key Index359005  End Tag Table diff --git a/org-install.el b/org-install.el index 4a64bf7b5..055e4269e 100644 --- a/org-install.el +++ b/org-install.el @@ -8,7 +8,7 @@ ;;;;;; org-remember-insinuate org-open-at-point-global org-insert-link-global ;;;;;; org-store-link orgtbl-mode turn-on-orgtbl org-run-like-in-org-mode ;;;;;; turn-on-orgstruct++ turn-on-orgstruct orgstruct-mode org-global-cycle -;;;;;; org-cycle org-mode) "org" "org.el" (18256 20334)) +;;;;;; org-cycle org-mode) "org" "org.el" (18260 2234)) ;;; Generated autoloads from org.el (autoload (quote org-mode) "org" "\ diff --git a/org.el b/org.el index d9e5c8c26..cc7eb612b 100644 --- a/org.el +++ b/org.el @@ -5,7 +5,7 @@ ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp ;; Homepage: http://orgmode.org -;; Version: 5.16 +;; Version: 5.16a ;; ;; This file is part of GNU Emacs. ;; @@ -84,7 +84,7 @@ ;;; Version -(defconst org-version "5.16" +(defconst org-version "5.16a" "The version number of the file org.el.") (defun org-version () (interactive) @@ -333,6 +333,25 @@ After a match, group 1 contains the repeat expression.") :tag "Org Reveal Location" :group 'org-structure) +(defconst org-context-choice + '(choice + (const :tag "Always" t) + (const :tag "Never" nil) + (repeat :greedy t :tag "Individual contexts" + (cons + (choice :tag "Context" + (const agenda) + (const org-goto) + (const occur-tree) + (const tags-tree) + (const link-search) + (const mark-goto) + (const bookmark-jump) + (const isearch) + (const default)) + (boolean)))) + "Contexts for the reveal options.") + (defcustom org-show-hierarchy-above '((default . t)) "Non-nil means, show full hierarchy when revealing a location. Org-mode often shows locations in an org-mode file which might have @@ -351,22 +370,7 @@ contexts. Valid contexts are isearch when exiting from an incremental search default default for all contexts not set explicitly" :group 'org-reveal-location - :type '(choice - (const :tag "Always" t) - (const :tag "Never" nil) - (repeat :greedy t :tag "Individual contexts" - (cons - (choice :tag "Context" - (const agenda) - (const org-goto) - (const occur-tree) - (const tags-tree) - (const link-search) - (const mark-goto) - (const bookmark-jump) - (const isearch) - (const default)) - (boolean))))) + :type org-context-choice) (defcustom org-show-following-heading '((default . nil)) "Non-nil means, show following heading when revealing a location. @@ -379,22 +383,7 @@ use the command \\[org-reveal] to show more context. Instead of t, this can also be an alist specifying this option for different contexts. See `org-show-hierarchy-above' for valid contexts." :group 'org-reveal-location - :type '(choice - (const :tag "Always" t) - (const :tag "Never" nil) - (repeat :greedy t :tag "Individual contexts" - (cons - (choice :tag "Context" - (const agenda) - (const org-goto) - (const occur-tree) - (const tags-tree) - (const link-search) - (const mark-goto) - (const bookmark-jump) - (const isearch) - (const default)) - (boolean))))) + :type org-context-choice) (defcustom org-show-siblings '((default . nil) (isearch t)) "Non-nil means, show all sibling heading when revealing a location. @@ -410,22 +399,7 @@ use the command \\[org-reveal] to show more context. Instead of t, this can also be an alist specifying this option for different contexts. See `org-show-hierarchy-above' for valid contexts." :group 'org-reveal-location - :type '(choice - (const :tag "Always" t) - (const :tag "Never" nil) - (repeat :greedy t :tag "Individual contexts" - (cons - (choice :tag "Context" - (const agenda) - (const org-goto) - (const occur-tree) - (const tags-tree) - (const link-search) - (const mark-goto) - (const bookmark-jump) - (const isearch) - (const default)) - (boolean))))) + :type org-context-choice) (defcustom org-show-entry-below '((default . nil)) "Non-nil means, show the entry below a headline when revealing a location. @@ -437,22 +411,7 @@ By default this is off for all contexts. Instead of t, this can also be an alist specifying this option for different contexts. See `org-show-hierarchy-above' for valid contexts." :group 'org-reveal-location - :type '(choice - (const :tag "Always" t) - (const :tag "Never" nil) - (repeat :greedy t :tag "Individual contexts" - (cons - (choice :tag "Context" - (const agenda) - (const org-goto) - (const occur-tree) - (const tags-tree) - (const link-search) - (const mark-goto) - (const bookmark-jump) - (const isearch) - (const default)) - (boolean))))) + :type org-context-choice) (defgroup org-cycle nil "Options concerning visibility cycling in Org-mode." @@ -2679,18 +2638,19 @@ a grid line." :tag "Org Agenda Sorting" :group 'org-agenda) -(let ((sorting-choice - '(choice - (const time-up) (const time-down) - (const category-keep) (const category-up) (const category-down) - (const tag-down) (const tag-up) - (const priority-up) (const priority-down)))) +(defconst org-sorting-choice + '(choice + (const time-up) (const time-down) + (const category-keep) (const category-up) (const category-down) + (const tag-down) (const tag-up) + (const priority-up) (const priority-down)) + "Sorting choices.") - (defcustom org-agenda-sorting-strategy - '((agenda time-up category-keep priority-down) - (todo category-keep priority-down) - (tags category-keep priority-down)) - "Sorting structure for the agenda items of a single day. +(defcustom org-agenda-sorting-strategy + '((agenda time-up category-keep priority-down) + (todo category-keep priority-down) + (tags category-keep priority-down)) + "Sorting structure for the agenda items of a single day. This is a list of symbols which will be used in sequence to determine if an entry should be listed before another entry. The following symbols are recognized: @@ -2724,14 +2684,14 @@ contents, with a context symbol in the car of the list, any of `agenda', `todo', `tags' for the corresponding agenda views." :group 'org-agenda-sorting :type `(choice - (repeat :tag "General" ,sorting-choice) + (repeat :tag "General" org-sorting-choice) (list :tag "Individually" (cons (const :tag "Strategy for Weekly/Daily agenda" agenda) - (repeat ,sorting-choice)) + (repeat ,org-sorting-choice)) (cons (const :tag "Strategy for TODO lists" todo) - (repeat ,sorting-choice)) + (repeat ,org-sorting-choice)) (cons (const :tag "Strategy for Tags matches" tags) - (repeat ,sorting-choice)))))) + (repeat ,org-sorting-choice))))) (defcustom org-sort-agenda-notime-is-late t "Non-nil means, items without time are considered late. @@ -3532,6 +3492,11 @@ Changing this variable requires a restart of Emacs to take effect." :group 'org-font-lock :type 'boolean) +(defcustom org-highlight-latex-fragments-and-specials nil + "Non-nil means, fontify what is treated specially by the exporters." + :group 'org-font-lock + :type 'boolean) + (defcustom org-hide-emphasis-markers nil "Non-nil mean font-lock should hide the emphasis marker characters." :group 'org-font-lock @@ -4035,7 +4000,7 @@ month and 365.24 days for a year)." (number :tag "Fraction of head-warning time passed") (sexp :tag "Face")))) -;; FIXME: this is not good +;; FIXME: this is not a good face yet. (defface org-agenda-restriction-lock (org-compatible-face nil '((((class color) (min-colors 88) (background light)) (:background "yellow1")) @@ -4330,8 +4295,6 @@ means to push this value onto the list in the variable.") dws (if sep (org-remove-keyword-keys (cdr sep)) (last kws1)) tail (list inter hw (car dws) (org-last dws))) (add-to-list 'org-todo-heads hw 'append) -;????????????????? (setq org-todo-heads (append org-todo-heads (list hw))) - (add-to-list 'org-todo-heads hw 'append) (push kws1 org-todo-sets) (setq org-done-keywords (append org-done-keywords dws nil)) (setq org-todo-key-alist (append org-todo-key-alist kwsa)) @@ -4452,6 +4415,31 @@ means to push this value onto the list in the variable.") x)) list)) +;; FIXME: this could be done much better, using second characters etc. +(defun org-assign-fast-keys (alist) + "Assign fast keys to a keyword-key alist. +Respect keys that are already there." + (let (new e k c c1 c2 (char ?a)) + (while (setq e (pop alist)) + (cond + ((equal e '(:startgroup)) (push e new)) + ((equal e '(:endgroup)) (push e new)) + (t + (setq k (car e) c2 nil) + (if (cdr e) + (setq c (cdr e)) + ;; automatically assign a character. + (setq c1 (string-to-char + (downcase (substring + k (if (= (string-to-char k) ?@) 1 0))))) + (if (or (rassoc c1 new) (rassoc c1 alist)) + (while (or (rassoc char new) (rassoc char alist)) + (setq char (1+ char))) + (setq c2 c1)) + (setq c (or c2 char))) + (push (cons k c) new)))) + (nreverse new))) + ;;; Some variables ujsed in various places (defvar org-window-configuration nil @@ -5116,6 +5104,97 @@ We use a macro so that the test can happen at compilation time." (goto-char e) t))) +(defvar org-latex-and-specials-regexp nil + "Regular expression for highlighting export special stuff.") +(defvar org-match-substring-regexp) +(defvar org-match-substring-with-braces-regexp) +(defvar org-export-html-special-string-regexps) + +(defun org-compute-latex-and-specials-regexp () + "Compute regular expression for stuff treated specially by exporters." + (if (not org-highlight-latex-fragments-and-specials) + (org-set-local 'org-latex-and-specials-regexp nil) + (let* + ((matchers (plist-get org-format-latex-options :matchers)) + (latexs (delq nil (mapcar (lambda (x) (if (member (car x) matchers) x)) + org-latex-regexps))) + (options (org-combine-plists (org-default-export-plist) + (org-infile-export-plist))) + (org-export-with-sub-superscripts (plist-get options :sub-superscript)) + (org-export-with-LaTeX-fragments (plist-get options :LaTeX-fragments)) + (org-export-with-TeX-macros (plist-get options :TeX-macros)) + (org-export-html-expand (plist-get options :expand-quoted-html)) + (org-export-with-special-strings (plist-get options :special-strings)) + (re-sub + (cond + ((equal org-export-with-sub-superscripts '{}) + (list org-match-substring-with-braces-regexp)) + (org-export-with-sub-superscripts + (list org-match-substring-regexp)) + (t nil))) + (re-latex + (if org-export-with-LaTeX-fragments + (mapcar (lambda (x) (nth 1 x)) latexs))) + (re-macros + (if org-export-with-TeX-macros + (list (concat "\\\\" + (regexp-opt + (append (mapcar 'car org-html-entities) + (if (boundp 'org-latex-entities) + org-latex-entities nil)) + 'words))) ; FIXME + )) + ;; (list "\\\\\\(?:[a-zA-Z]+\\)"))) + (re-special (if org-export-with-special-strings + (mapcar (lambda (x) (car x)) + org-export-html-special-string-regexps))) + (re-rest + (delq nil + (list + (if org-export-html-expand "@<[^>\n]+>") + )))) + (org-set-local + 'org-latex-and-specials-regexp + (mapconcat 'identity (append re-latex re-sub re-macros re-special + re-rest) "\\|"))))) + +(defface org-latex-and-export-specials + (let ((font (cond ((assq :inherit custom-face-attributes) + '(:inherit underline)) + (t '(:underline t))))) + `((((class grayscale) (background light)) + (:foreground "DimGray" ,@font)) + (((class grayscale) (background dark)) + (:foreground "LightGray" ,@font)) + (((class color) (background light)) + (:foreground "SaddleBrown")) + (((class color) (background dark)) + (:foreground "burlywood")) + (t (,@font)))) + "Face used to highlight math latex and other special exporter stuff." + :group 'org-faces) + +(defun org-do-latex-and-special-faces (limit) + "Run through the buffer and add overlays to links." + (when org-latex-and-specials-regexp + (let (rtn d) + (while (and (not rtn) (re-search-forward org-latex-and-specials-regexp + limit t)) + (if (not (memq (car-safe (get-text-property (1+ (match-beginning 0)) + 'face)) + '(org-code org-verbatim underline))) + (progn + (setq rtn t + d (cond ((member (char-after (1+ (match-beginning 0))) + '(?_ ?^)) 1) + (t 0))) + (font-lock-prepend-text-property + (+ d (match-beginning 0)) (match-end 0) + 'face 'org-latex-and-export-specials) + (add-text-properties (+ d (match-beginning 0)) (match-end 0) + '(font-lock-multiline t))))) + rtn))) + (defun org-restart-font-lock () "Restart font-lock-mode, to force refontification." (when (and (boundp 'font-lock-mode) font-lock-mode) @@ -12971,6 +13050,9 @@ RET at beg-of-buf -> Append to file as level 2 headline char0)))))) (cddr (assoc char templates))))) +(defvar x-last-selected-text) +(defvar x-last-selected-text-primary) + ;;;###autoload (defun org-remember-apply-template (&optional use-char skip-interactive) "Initialize *remember* buffer with template, invoke `org-mode'. @@ -12989,8 +13071,8 @@ to be run from that hook to function properly." (headline (nth 2 entry)) (v-c (if (or (and (eq window-system 'x) (x-cut-buffer-or-selection-value)) - (bound-and-true-p x-last-selected-text) - (bound-and-true-p x-last-selected-text-primary)) + (bound-and-true-p 'x-last-selected-text) + (bound-and-true-p 'x-last-selected-text-primary)) x-last-selected-text-primary (if (> (length kill-ring) 0) (current-kill 0) @@ -16049,7 +16131,7 @@ Where possible, use the standard interface for changing this line." (key1 (concat key "_ALL")) (allowed (org-entry-get (point) key1 t)) nval) - ;; FIXME: Cover editing TODO, TAGS etc inbiffer settings.???? + ;; FIXME: Cover editing TODO, TAGS etc in-buffer settings.???? (setq nval (read-string "Allowed: " allowed)) (org-entry-put (cond ((marker-position org-entry-property-inherited-from) @@ -16066,8 +16148,6 @@ Where possible, use the standard interface for changing this line." (save-excursion (beginning-of-line 1) ;; `next-line' is needed here, because it skips invisible line. - ;; FIXME: RMS says this should be wrapped into `with-no-warnings' - ;; but I don't know how to do this and keep the code XEmacs compatible. (condition-case nil (org-no-warnings (next-line 1)) (error nil)) (setq hidep (org-on-heading-p 1))) (eval form) @@ -16441,7 +16521,6 @@ display, or in the #+COLUMNS line of the current buffer." (org-entry-put nil property (if flag str val))) ;; add current to current level accumulator (when (or flag valflag) - ;; FIXME: is this ok????????? (aset lsum level (+ (aref lsum level) (if flag sum (org-column-string-to-number (if flag str val) format)))) @@ -17771,6 +17850,7 @@ belonging to the category \"Work\"." (if (equal filter '(4)) (setq filter (read-from-minibuffer "Regexp filter: "))) (let* ((cnt 0) ; count added events + (org-agenda-new-buffers nil) (today (org-date-to-gregorian (time-to-days (current-time)))) (files (org-agenda-files)) entries file) @@ -17795,7 +17875,7 @@ belonging to the category \"Work\"." (cadr (assoc 'category filter)) cat) (string-match (cadr (assoc 'headline filter)) evt)))))) - ;; FIXME Shall we remove text-properties for the appt text? + ;; FIXME: Shall we remove text-properties for the appt text? ;; (setq evt (set-text-properties 0 (length evt) nil evt)) (when (and ok tod) (setq tod (number-to-string tod) @@ -17805,6 +17885,7 @@ belonging to the category \"Work\"." (match-string 2 tod)))) (appt-add tod evt) (setq cnt (1+ cnt))))) entries) + (org-release-buffers org-agenda-new-buffers) (message "Added %d event%s for today" cnt (if (> cnt 1) "s" "")))) ;;; The clock for measuring work time. @@ -20395,14 +20476,6 @@ the documentation of `org-diary'." (setq results (append results rtn)))))))) results)))) -;; FIXME: this works only if the cursor is *not* at the -;; beginning of the entry -;(defun org-entry-is-done-p () -; "Is the current entry marked DONE?" -; (save-excursion -; (and (re-search-backward "[\r\n]\\*+ " nil t) -; (looking-at org-nl-done-regexp)))) - (defun org-entry-is-todo-p () (member (org-get-todo-state) org-not-done-keywords)) @@ -21025,7 +21098,7 @@ Any match of REMOVE-RE will be removed from TXT." 'extra extra 'dotime dotime)))) -(defvar org-agenda-sorting-strategy) ;; FIXME: can be removed? +(defvar org-agenda-sorting-strategy) ;; because the def is in a let form (defvar org-agenda-sorting-strategy-selected nil) (defun org-agenda-add-time-grid-maybe (list ndays todayp) @@ -22643,7 +22716,7 @@ The images can be removed again with \\[org-ctrl-c-ctrl-c]." (:tables . org-export-with-tables) (:table-auto-headline . org-export-highlight-first-table-line) (:style . org-export-html-style) - (:agenda-style . org-agenda-export-html-style) ;; FIXME: Does this work???? + (:agenda-style . org-agenda-export-html-style) (:convert-org-links . org-export-html-link-org-files-as-html) (:inline-images . org-export-html-inline-images) (:html-extension . org-export-html-extension) @@ -27246,7 +27319,10 @@ To get rid of the restriction, use \\[org-agenda-remove-restriction-lock]." (define-key speedbar-file-key-map "<" 'org-speedbar-set-agenda-restriction) (define-key speedbar-file-key-map "\C-c\C-x<" 'org-speedbar-set-agenda-restriction) (define-key speedbar-file-key-map ">" 'org-agenda-remove-restriction-lock) - (define-key speedbar-file-key-map "\C-c\C-x>" 'org-agenda-remove-restriction-lock))) + (define-key speedbar-file-key-map "\C-c\C-x>" 'org-agenda-remove-restriction-lock) + (add-hook 'speedbar-visiting-tag-hook + (lambda () (org-show-context 'org-goto))))) + ;;; Fixes and Hacks @@ -27307,139 +27383,6 @@ Still experimental, may disappear in the future." ;; make tree, check each match with the callback (org-occur "CLOSED: +\\[\\(.*?\\)\\]" nil callback))) -;; FIXME: this needs a much better algorithm -(defun org-assign-fast-keys (alist) - "Assign fast keys to a keyword-key alist. -Respect keys that are already there." - (let (new e k c c1 c2 (char ?a)) - (while (setq e (pop alist)) - (cond - ((equal e '(:startgroup)) (push e new)) - ((equal e '(:endgroup)) (push e new)) - (t - (setq k (car e) c2 nil) - (if (cdr e) - (setq c (cdr e)) - ;; automatically assign a character. - (setq c1 (string-to-char - (downcase (substring - k (if (= (string-to-char k) ?@) 1 0))))) - (if (or (rassoc c1 new) (rassoc c1 alist)) - (while (or (rassoc char new) (rassoc char alist)) - (setq char (1+ char))) - (setq c2 c1)) - (setq c (or c2 char))) - (push (cons k c) new)))) - (nreverse new))) - - -(defcustom org-highlight-latex-fragments-and-specials nil - "Non-nil means, fontify what is treated specially by the exporters." - :group 'org-font-lock - :type 'boolean) - -(defvar org-latex-and-specials-regexp nil - "Regular expression for highlighting export special stuff.") - -(defun org-compute-latex-and-specials-regexp () - "Compute regular expression for stuff treated specially by exporters." - (if (not org-highlight-latex-fragments-and-specials) - (org-set-local 'org-latex-and-specials-regexp nil) - (let* - ((matchers (plist-get org-format-latex-options :matchers)) - (latexs (delq nil (mapcar (lambda (x) (if (member (car x) matchers) x)) - org-latex-regexps))) - (options (org-combine-plists (org-default-export-plist) - (org-infile-export-plist))) - (org-export-with-sub-superscripts (plist-get options :sub-superscript)) - (org-export-with-LaTeX-fragments (plist-get options :LaTeX-fragments)) - (org-export-with-TeX-macros (plist-get options :TeX-macros)) - (org-export-html-expand (plist-get options :expand-quoted-html)) - (org-export-with-special-strings (plist-get options :special-strings)) - (re-sub - (cond - ((equal org-export-with-sub-superscripts '{}) - (list org-match-substring-with-braces-regexp)) - (org-export-with-sub-superscripts - (list org-match-substring-regexp)) - (t nil))) - (re-latex - (if org-export-with-LaTeX-fragments - (mapcar (lambda (x) (nth 1 x)) latexs))) - (re-macros - (if org-export-with-TeX-macros - (list (concat "\\\\" - (regexp-opt - (append (mapcar 'car org-html-entities) - (if (boundp 'org-latex-entities) - org-latex-entities nil)) - 'words))) ; FIXME - )) - ;; (list "\\\\\\(?:[a-zA-Z]+\\)"))) - (re-special (if org-export-with-special-strings - (mapcar (lambda (x) (car x)) - org-export-html-special-string-regexps))) - (re-rest - (delq nil - (list - (if org-export-html-expand "@<[^>\n]+>") - )))) - (org-set-local - 'org-latex-and-specials-regexp - (mapconcat 'identity (append re-latex re-sub re-macros re-special re-rest) "\\|"))))) - -(defface org-latex-and-export-specials - (let ((font (cond ((assq :inherit custom-face-attributes) - '(:inherit underline)) - (t '(:underline t))))) - `((((class grayscale) (background light)) - (:foreground "DimGray" ,@font)) - (((class grayscale) (background dark)) - (:foreground "LightGray" ,@font)) - (((class color) (background light)) - (:foreground "SaddleBrown")) - (((class color) (background dark)) - (:foreground "burlywood")) - (t (,@font)))) - "Face used to highlight math latex and other special exporter stuff." - :group 'org-faces) - -(defun org-do-latex-and-special-faces (limit) - "Run through the buffer and add overlays to links." - (when org-latex-and-specials-regexp - (let (rtn d) - (while (and (not rtn) (re-search-forward org-latex-and-specials-regexp - limit t)) - (if (not (memq (car-safe (get-text-property (1+ (match-beginning 0)) 'face)) - '(org-code org-verbatim underline))) - (progn - (setq rtn t - d (cond ((member (char-after (1+ (match-beginning 0))) '(?_ ?^)) 1) - (t 0))) - (font-lock-prepend-text-property - (+ d (match-beginning 0)) (match-end 0) - 'face 'org-latex-and-export-specials) - (add-text-properties (+ d (match-beginning 0)) (match-end 0) - '(font-lock-multiline t))))) - rtn))) - - -(defun org-find-first-timestamp (keyword inactive end) - "Return location of first timestamp matching KEYWORD and INACTIVE. -KEYWORD may be any of the timestamp keywords, or nil. -INACTIVE means it should be an inactive timestamp. -If there is no such time stamp, return nil." - (catch 'exit - (let (key ia) - (setq inactive (and inactive t)) - (while (re-search-forward org-maybe-keyword-time-regexp end t) - (setq key (and (match-end 1) (substring (match-string 1) 0 -1) - (equal (char-after (match-beginning 3)) ?\[))) - (when (and (equal keyword key) - (equal inactive ia)) - (throw 'exit (match-beginning 3))))))) - - ;;;; Finish up (provide 'org) diff --git a/org.pdf b/org.pdf index 89ac74a56..5ee9efe0f 100644 Binary files a/org.pdf and b/org.pdf differ diff --git a/org.texi b/org.texi index aaf8daa8f..ad2a993f2 100644 --- a/org.texi +++ b/org.texi @@ -3,7 +3,7 @@ @setfilename ../../info/org @settitle Org Mode Manual -@set VERSION 5.16 +@set VERSION 5.16a @set DATE December 2007 @dircategory Emacs diff --git a/orgcard.pdf b/orgcard.pdf index e2b96ea9a..4a60ceaa4 100644 Binary files a/orgcard.pdf and b/orgcard.pdf differ diff --git a/orgcard.tex b/orgcard.tex index e66750735..9de74edf4 100644 --- a/orgcard.tex +++ b/orgcard.tex @@ -1,5 +1,5 @@ % Reference Card for Org Mode -\def\orgversionnumber{5.16} +\def\orgversionnumber{5.16a} \def\versionyear{2007} % latest update \def\year{2007} % latest copyright year