diff --git a/ChangeLog b/ChangeLog index 1ad96cac4..637741ce4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2007-10-24 Carsten Dominik + + * org.el (org-agenda-get-restriction-and-command): Fix window size. + (org-read-date-get-relative): Require [-+] at the beginning. + +2007-10-23 Carsten Dominik + + * org.el (org-open-link-from-string): New function. + (org-columns-open-link): New commands. + +2007-10-22 Carsten Dominik + + * org.el (org-scan-tags): Handle indirect buffers. ----------------------------------------------------------------------- diff --git a/Makefile b/Makefile index 2852cf392..eaa65c47f 100644 --- a/Makefile +++ b/Makefile @@ -63,11 +63,12 @@ CARDFILES = orgcard.tex orgcard.pdf orgcard_letter.pdf TEXIFILES = org.texi INFOFILES = org HTMLDIR = /home/dominik/public_html/Tools/org +HG_RELEASES = ../org-mode-all-releases-hg/ .SUFFIXES: .el .elc .texi SHELL = /bin/sh -DISTFILES= README ${LISPFILES} ${DOCFILES} ${CARDFILES} Makefile dir ChangeLog request-assign.future +DISTFILES= README ${LISPFILES} ${DOCFILES} ${CARDFILES} Makefile dir ChangeLog request-assign-future.txt DISTFILES_xemacs= xemacs/noutline.el xemacs/ps-print-invisible.el xemacs/README all: $(ELCFILES) @@ -176,6 +177,14 @@ release: # cp ORGWEBPAGE/tmp/*.zip org-release cp org-release/org-$(TAG).zip org-release/org.zip cp org-release/org-$(TAG).tar.gz org-release/org.tar.gz + (cd $(HG_RELEASES); rm -rf $(DISTFILES) xemacs) + cp -r org-$(TAG)/* $(HG_RELEASES) + (cd $(HG_RELEASES); hg addremove; hg ci -m $(TAG); hg tag $(TAG)) + +trackrelease: + (cd $(HG_RELEASES); rm -rf $(DISTFILES) xemacs) + cp -r org-$(TAG)/* $(HG_RELEASES) + (cd $(HG_RELEASES); hg addremove; hg ci -m $(TAG); hg tag $(TAG)) dist: make distfile TAG=$(TAG) diff --git a/org b/org index 4106970af..9ef25d354 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.13). + This manual is for Org-mode (version 5.13e). 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.13). +This manual is for Org-mode (version 5.13e). Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation @@ -3616,12 +3616,15 @@ the buffer. For example: _first_ thing in the input: a plus/minus sign, a number and a letter [dwmy] to indicate change in days weeks, months, years. With a single plus or minus, the date is always relative to today. With a double -plus or minus, it is relative to the default date. E.g. +plus or minus, it is relative to the default date. If instead of a +single letter, you use the abbreviation of day name, the date will be +the nth such day. E.g. +4d --> four days from today +4 --> same as above +2w --> two weeks from today ++5 --> five days from default date + +2tue --> second tuesday from now. The function understands English month and weekday abbreviations. If you want to use unabbreviated names and/or other languages, configure @@ -7670,7 +7673,7 @@ Index * calendar commands, from agenda: Agenda commands. (line 196) * calendar integration: Weekly/Daily agenda. (line 24) * calendar, for selecting date: The date/time prompt. - (line 39) + (line 42) * category: Categories. (line 6) * CDLaTeX: CDLaTeX mode. (line 6) * cdlatex.el: Cooperation. (line 29) @@ -8114,13 +8117,13 @@ Key Index * .: Agenda commands. (line 99) * :: Agenda commands. (line 130) * < <1>: The date/time prompt. - (line 45) + (line 48) * <: Using column view. (line 57) * : Agenda commands. (line 96) * <1>: Agenda commands. (line 39) * <2>: Setting tags. (line 76) * <3>: The date/time prompt. - (line 70) + (line 73) * : Built-in table editor. (line 64) * : Agenda commands. (line 91) @@ -8136,7 +8139,7 @@ Key Index (line 57) * : Plain lists. (line 41) * > <1>: The date/time prompt. - (line 46) + (line 49) * > <2>: Using column view. (line 57) * >: Agenda commands. (line 173) * ^: CDLaTeX mode. (line 33) @@ -8408,7 +8411,7 @@ Key Index (line 72) * M-S- <1>: Structure editing. (line 31) * M-S- <2>: The date/time prompt. - (line 67) + (line 70) * M-S- <3>: Plain lists. (line 72) * M-S-: Built-in table editor. (line 76) @@ -8418,7 +8421,7 @@ Key Index * M-S- <1>: Built-in table editor. (line 79) * M-S- <2>: The date/time prompt. - (line 64) + (line 67) * M-S- <3>: Plain lists. (line 72) * M-S-: Structure editing. (line 34) * M-S- <1>: Built-in table editor. @@ -8430,7 +8433,7 @@ Key Index * mouse-1 <1>: Agenda commands. (line 33) * mouse-1 <2>: Handling links. (line 73) * mouse-1: The date/time prompt. - (line 49) + (line 52) * mouse-2 <1>: Agenda commands. (line 33) * mouse-2: Handling links. (line 73) * mouse-3 <1>: Agenda commands. (line 28) @@ -8454,14 +8457,14 @@ Key Index * S- <4>: Editing and debugging formulas. (line 67) * S- <5>: The date/time prompt. - (line 58) + (line 61) * S-: Agenda commands. (line 151) * S- <1>: Multiple sets in one file. (line 29) * S- <2>: Using column view. (line 26) * S- <3>: Agenda commands. (line 169) * S- <4>: The date/time prompt. - (line 55) + (line 58) * S- <5>: TODO basics. (line 26) * S- <6>: Property syntax. (line 66) * S- <7>: Editing and debugging formulas. @@ -8478,7 +8481,7 @@ Key Index * S- <6>: Editing and debugging formulas. (line 67) * S- <7>: The date/time prompt. - (line 52) + (line 55) * S-: TODO basics. (line 26) * S- <1>: Built-in table editor. (line 61) @@ -8487,7 +8490,7 @@ Key Index (line 67) * S- <2>: Plain lists. (line 62) * S- <3>: The date/time prompt. - (line 61) + (line 64) * S- <4>: Creating timestamps. (line 40) * S- <5>: Agenda commands. (line 145) * S-: Priorities. (line 23) @@ -8505,228 +8508,228 @@ Key Index  Tag Table: -Node: Top970 -Node: Introduction13145 -Node: Summary13560 -Node: Installation16687 -Node: Activation18065 -Node: Feedback19302 -Node: Document structure21371 -Node: Outlines22263 -Node: Headlines22928 -Ref: Headlines-Footnote-123932 -Node: Visibility cycling24043 -Ref: Visibility cycling-Footnote-126253 -Ref: Visibility cycling-Footnote-226311 -Ref: Visibility cycling-Footnote-326361 -Node: Motion26631 -Node: Structure editing27585 -Node: Archiving30752 -Node: ARCHIVE tag31310 -Node: Moving subtrees33103 -Ref: Moving subtrees-Footnote-134650 -Node: Sparse trees34937 -Ref: Sparse trees-Footnote-137209 -Ref: Sparse trees-Footnote-237391 -Node: Plain lists37506 -Ref: Plain lists-Footnote-141703 -Ref: Plain lists-Footnote-242061 -Node: Drawers42242 -Ref: Drawers-Footnote-143119 -Node: orgstruct-mode43225 -Node: Tables44125 -Node: Built-in table editor44706 -Node: Narrow columns52112 -Ref: Narrow columns-Footnote-154047 -Node: Column groups54093 -Node: orgtbl-mode55626 -Node: The spreadsheet56429 -Node: References57516 -Ref: References-Footnote-161980 -Node: Formula syntax for Calc62269 -Node: Formula syntax for Lisp64726 -Node: Field formulas66444 -Node: Column formulas67752 -Node: Editing and debugging formulas69351 -Node: Updating the table73504 -Node: Advanced features74557 -Node: Hyperlinks79082 -Node: Link format79860 -Node: Internal links81153 -Ref: Internal links-Footnote-183078 -Node: Radio targets83213 -Node: External links83913 -Node: Handling links86317 -Ref: Handling links-Footnote-191633 -Ref: Handling links-Footnote-291870 -Node: Using links outside Org-mode91944 -Node: Link abbreviations92454 -Node: Search options94147 -Ref: Search options-Footnote-195927 -Node: Custom searches96008 -Node: TODO items97039 -Node: TODO basics98077 -Node: TODO extensions100292 -Node: Workflow states101236 -Ref: Workflow states-Footnote-1102411 -Node: TODO types102504 -Ref: TODO types-Footnote-1104087 -Node: Multiple sets in one file104169 -Node: Fast access to TODO states105789 -Node: Per file keywords106932 -Ref: Per file keywords-Footnote-1108234 -Node: Faces for TODO keywords108435 -Node: Progress logging109141 -Node: Closing items109572 -Ref: Closing items-Footnote-1110506 -Ref: Closing items-Footnote-2110711 -Node: Tracking TODO state changes110784 -Ref: Tracking TODO state changes-Footnote-1111969 -Node: Priorities112044 -Ref: Priorities-Footnote-1113694 -Node: Breaking down tasks113764 -Ref: Breaking down tasks-Footnote-1114284 -Node: Checkboxes114380 -Node: Tags117229 -Node: Tag inheritance118001 -Node: Setting tags118938 -Ref: Setting tags-Footnote-1123461 -Ref: Setting tags-Footnote-2123573 -Node: Tag searches123656 -Node: Properties and columns126383 -Node: Property syntax127488 -Node: Special properties130178 -Node: Property searches131094 -Node: Column view132361 -Node: Defining columns133592 -Node: Scope of column definitions133990 -Node: Column attributes134912 -Node: Using column view137160 -Node: Capturing Column View139241 -Node: Property API140968 -Node: Timestamps141322 -Node: Time stamps141733 -Ref: Time stamps-Footnote-1144087 -Node: Creating timestamps144203 -Node: The date/time prompt146277 -Ref: The date/time prompt-Footnote-1148883 -Node: Custom time format148989 -Node: Deadlines and scheduling150681 -Ref: Deadlines and scheduling-Footnote-1152754 -Node: Inserting deadline/schedule152909 -Node: Repeated tasks154027 -Ref: Repeated tasks-Footnote-1155705 -Node: Clocking work time155826 -Ref: Clocking work time-Footnote-1160673 -Ref: Clocking work time-Footnote-2160751 -Node: Remember160877 -Node: Setting up remember161756 -Node: Remember templates162359 -Ref: Remember templates-Footnote-1165920 -Ref: Remember templates-Footnote-2166103 -Node: Storing notes166201 -Ref: Storing notes-Footnote-1168680 -Node: Agenda views168782 -Node: Agenda files170733 -Ref: Agenda files-Footnote-1171821 -Ref: Agenda files-Footnote-2171970 -Node: Agenda dispatcher172163 -Ref: Agenda dispatcher-Footnote-1174217 -Ref: Agenda dispatcher-Footnote-2174311 -Node: Built-in agenda views174405 -Node: Weekly/Daily agenda174987 -Node: Global TODO list178324 -Node: Matching tags and properties180604 -Node: Timeline181695 -Node: Stuck projects182369 -Node: Presentation and sorting184222 -Node: Categories185015 -Ref: Categories-Footnote-1185726 -Node: Time-of-day specifications186046 -Node: Sorting of agenda items188019 -Node: Agenda commands189303 -Node: Custom agenda views196766 -Node: Storing searches197487 -Ref: Storing searches-Footnote-1200021 -Node: Block agenda200138 -Node: Setting Options201370 -Node: Exporting Agenda Views204111 -Ref: Exporting Agenda Views-Footnote-1208397 -Ref: Exporting Agenda Views-Footnote-2208454 -Node: Extracting Agenda Information for other programs208640 -Node: Embedded LaTeX212768 -Ref: Embedded LaTeX-Footnote-1213862 -Node: Math symbols214052 -Node: Subscripts and Superscripts214819 -Node: LaTeX fragments215665 -Ref: LaTeX fragments-Footnote-1217898 -Ref: LaTeX fragments-Footnote-2218159 -Node: Processing LaTeX fragments218293 -Node: CDLaTeX mode219241 -Ref: CDLaTeX mode-Footnote-1221727 -Node: Exporting221875 -Node: ASCII export223342 -Node: HTML export224843 -Node: HTML Export commands225469 -Node: Quoting HTML tags227256 -Node: Links227891 -Node: Images228588 -Ref: Images-Footnote-1229459 -Node: CSS support229520 -Ref: CSS support-Footnote-1230839 -Node: LaTeX export230952 -Node: LaTeX export commands231276 -Node: Quoting LaTeX code232438 -Node: XOXO export232943 -Node: iCalendar export233383 -Node: Text interpretation234852 -Node: Comment lines235443 -Node: Initial text235838 -Node: Footnotes237507 -Node: Enhancing text238298 -Ref: Enhancing text-Footnote-1240167 -Node: Export options240257 -Node: Publishing242659 -Ref: Publishing-Footnote-1243620 -Ref: Publishing-Footnote-2243764 -Node: Configuration243915 -Node: Project alist244633 -Node: Sources and destinations245699 -Node: Selecting files246429 -Node: Publishing action247177 -Node: Publishing options248511 -Node: Publishing links250886 -Node: Project page index252399 -Node: Sample configuration253177 -Node: Simple example253669 -Node: Complex example254342 -Node: Triggering publication256418 -Node: Miscellaneous257103 -Node: Completion257737 -Node: Customization259407 -Node: In-buffer settings259990 -Node: The very busy C-c C-c key265660 -Node: Clean view267515 -Node: TTY keys270092 -Node: Interaction271702 -Node: Cooperation272099 -Node: Conflicts274975 -Node: Bugs276978 -Node: Extensions and Hacking278474 -Node: Extensions279199 -Node: Adding hyperlink types281461 -Node: Tables in arbitrary syntax285123 -Node: Radio tables286212 -Node: A LaTeX example288715 -Ref: A LaTeX example-Footnote-1292361 -Ref: A LaTeX example-Footnote-2292509 -Node: Translator functions292944 -Ref: Translator functions-Footnote-1296053 -Node: Dynamic blocks296141 -Node: Special agenda views298113 -Node: Using the property API301358 -Node: History and Acknowledgments302839 -Node: Index309400 -Node: Key Index344469 +Node: Top971 +Node: Introduction13147 +Node: Summary13562 +Node: Installation16689 +Node: Activation18067 +Node: Feedback19304 +Node: Document structure21373 +Node: Outlines22265 +Node: Headlines22930 +Ref: Headlines-Footnote-123934 +Node: Visibility cycling24045 +Ref: Visibility cycling-Footnote-126255 +Ref: Visibility cycling-Footnote-226313 +Ref: Visibility cycling-Footnote-326363 +Node: Motion26633 +Node: Structure editing27587 +Node: Archiving30754 +Node: ARCHIVE tag31312 +Node: Moving subtrees33105 +Ref: Moving subtrees-Footnote-134652 +Node: Sparse trees34939 +Ref: Sparse trees-Footnote-137211 +Ref: Sparse trees-Footnote-237393 +Node: Plain lists37508 +Ref: Plain lists-Footnote-141705 +Ref: Plain lists-Footnote-242063 +Node: Drawers42244 +Ref: Drawers-Footnote-143121 +Node: orgstruct-mode43227 +Node: Tables44127 +Node: Built-in table editor44708 +Node: Narrow columns52114 +Ref: Narrow columns-Footnote-154049 +Node: Column groups54095 +Node: orgtbl-mode55628 +Node: The spreadsheet56431 +Node: References57518 +Ref: References-Footnote-161982 +Node: Formula syntax for Calc62271 +Node: Formula syntax for Lisp64728 +Node: Field formulas66446 +Node: Column formulas67754 +Node: Editing and debugging formulas69353 +Node: Updating the table73506 +Node: Advanced features74559 +Node: Hyperlinks79084 +Node: Link format79862 +Node: Internal links81155 +Ref: Internal links-Footnote-183080 +Node: Radio targets83215 +Node: External links83915 +Node: Handling links86319 +Ref: Handling links-Footnote-191635 +Ref: Handling links-Footnote-291872 +Node: Using links outside Org-mode91946 +Node: Link abbreviations92456 +Node: Search options94149 +Ref: Search options-Footnote-195929 +Node: Custom searches96010 +Node: TODO items97041 +Node: TODO basics98079 +Node: TODO extensions100294 +Node: Workflow states101238 +Ref: Workflow states-Footnote-1102413 +Node: TODO types102506 +Ref: TODO types-Footnote-1104089 +Node: Multiple sets in one file104171 +Node: Fast access to TODO states105791 +Node: Per file keywords106934 +Ref: Per file keywords-Footnote-1108236 +Node: Faces for TODO keywords108437 +Node: Progress logging109143 +Node: Closing items109574 +Ref: Closing items-Footnote-1110508 +Ref: Closing items-Footnote-2110713 +Node: Tracking TODO state changes110786 +Ref: Tracking TODO state changes-Footnote-1111971 +Node: Priorities112046 +Ref: Priorities-Footnote-1113696 +Node: Breaking down tasks113766 +Ref: Breaking down tasks-Footnote-1114286 +Node: Checkboxes114382 +Node: Tags117231 +Node: Tag inheritance118003 +Node: Setting tags118940 +Ref: Setting tags-Footnote-1123463 +Ref: Setting tags-Footnote-2123575 +Node: Tag searches123658 +Node: Properties and columns126385 +Node: Property syntax127490 +Node: Special properties130180 +Node: Property searches131096 +Node: Column view132363 +Node: Defining columns133594 +Node: Scope of column definitions133992 +Node: Column attributes134914 +Node: Using column view137162 +Node: Capturing Column View139243 +Node: Property API140970 +Node: Timestamps141324 +Node: Time stamps141735 +Ref: Time stamps-Footnote-1144089 +Node: Creating timestamps144205 +Node: The date/time prompt146279 +Ref: The date/time prompt-Footnote-1149038 +Node: Custom time format149144 +Node: Deadlines and scheduling150836 +Ref: Deadlines and scheduling-Footnote-1152909 +Node: Inserting deadline/schedule153064 +Node: Repeated tasks154182 +Ref: Repeated tasks-Footnote-1155860 +Node: Clocking work time155981 +Ref: Clocking work time-Footnote-1160828 +Ref: Clocking work time-Footnote-2160906 +Node: Remember161032 +Node: Setting up remember161911 +Node: Remember templates162514 +Ref: Remember templates-Footnote-1166075 +Ref: Remember templates-Footnote-2166258 +Node: Storing notes166356 +Ref: Storing notes-Footnote-1168835 +Node: Agenda views168937 +Node: Agenda files170888 +Ref: Agenda files-Footnote-1171976 +Ref: Agenda files-Footnote-2172125 +Node: Agenda dispatcher172318 +Ref: Agenda dispatcher-Footnote-1174372 +Ref: Agenda dispatcher-Footnote-2174466 +Node: Built-in agenda views174560 +Node: Weekly/Daily agenda175142 +Node: Global TODO list178479 +Node: Matching tags and properties180759 +Node: Timeline181850 +Node: Stuck projects182524 +Node: Presentation and sorting184377 +Node: Categories185170 +Ref: Categories-Footnote-1185881 +Node: Time-of-day specifications186201 +Node: Sorting of agenda items188174 +Node: Agenda commands189458 +Node: Custom agenda views196921 +Node: Storing searches197642 +Ref: Storing searches-Footnote-1200176 +Node: Block agenda200293 +Node: Setting Options201525 +Node: Exporting Agenda Views204266 +Ref: Exporting Agenda Views-Footnote-1208552 +Ref: Exporting Agenda Views-Footnote-2208609 +Node: Extracting Agenda Information for other programs208795 +Node: Embedded LaTeX212923 +Ref: Embedded LaTeX-Footnote-1214017 +Node: Math symbols214207 +Node: Subscripts and Superscripts214974 +Node: LaTeX fragments215820 +Ref: LaTeX fragments-Footnote-1218053 +Ref: LaTeX fragments-Footnote-2218314 +Node: Processing LaTeX fragments218448 +Node: CDLaTeX mode219396 +Ref: CDLaTeX mode-Footnote-1221882 +Node: Exporting222030 +Node: ASCII export223497 +Node: HTML export224998 +Node: HTML Export commands225624 +Node: Quoting HTML tags227411 +Node: Links228046 +Node: Images228743 +Ref: Images-Footnote-1229614 +Node: CSS support229675 +Ref: CSS support-Footnote-1230994 +Node: LaTeX export231107 +Node: LaTeX export commands231431 +Node: Quoting LaTeX code232593 +Node: XOXO export233098 +Node: iCalendar export233538 +Node: Text interpretation235007 +Node: Comment lines235598 +Node: Initial text235993 +Node: Footnotes237662 +Node: Enhancing text238453 +Ref: Enhancing text-Footnote-1240322 +Node: Export options240412 +Node: Publishing242814 +Ref: Publishing-Footnote-1243775 +Ref: Publishing-Footnote-2243919 +Node: Configuration244070 +Node: Project alist244788 +Node: Sources and destinations245854 +Node: Selecting files246584 +Node: Publishing action247332 +Node: Publishing options248666 +Node: Publishing links251041 +Node: Project page index252554 +Node: Sample configuration253332 +Node: Simple example253824 +Node: Complex example254497 +Node: Triggering publication256573 +Node: Miscellaneous257258 +Node: Completion257892 +Node: Customization259562 +Node: In-buffer settings260145 +Node: The very busy C-c C-c key265815 +Node: Clean view267670 +Node: TTY keys270247 +Node: Interaction271857 +Node: Cooperation272254 +Node: Conflicts275130 +Node: Bugs277133 +Node: Extensions and Hacking278629 +Node: Extensions279354 +Node: Adding hyperlink types281616 +Node: Tables in arbitrary syntax285278 +Node: Radio tables286367 +Node: A LaTeX example288870 +Ref: A LaTeX example-Footnote-1292516 +Ref: A LaTeX example-Footnote-2292664 +Node: Translator functions293099 +Ref: Translator functions-Footnote-1296208 +Node: Dynamic blocks296296 +Node: Special agenda views298268 +Node: Using the property API301513 +Node: History and Acknowledgments302994 +Node: Index309555 +Node: Key Index344624  End Tag Table diff --git a/org.el b/org.el index d2461a0aa..9d08a280d 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.13d +;; Version: 5.13e ;; ;; This file is part of GNU Emacs. ;; @@ -83,7 +83,7 @@ ;;; Version -(defconst org-version "5.13d" +(defconst org-version "5.13e" "The version number of the file org.el.") (defun org-version () (interactive) @@ -129,7 +129,7 @@ (progn (if pc-mode (partial-completion-mode -1)) ,@body) - (if pc-mode (partial-completion-mode 1))))) + (if pc-mode (partial-completion-mode 1))))) ;;; The custom variables @@ -1403,7 +1403,7 @@ When this variable is nil, `C-c C-c' give you the prompts, and `C-u C-c C-c' trigger the fasttrack." :group 'org-remember :type 'boolean) - + (defcustom org-remember-default-headline "" "The headline that should be the default location in the notes file. When filing remember notes, the cursor will start at that position. @@ -2000,7 +2000,7 @@ agenda file per line." (defcustom org-agenda-file-regexp "\\.org\\'" "Regular expression to match files for `org-agenda-files'. -If ny element in the list in that variable contains a directory instead +If any element in the list in that variable contains a directory instead of a normal file, all files in that directory that are matched by this regular expression will be included." :group 'org-agenda @@ -2825,7 +2825,7 @@ directory where the exported Org-mode files lives." (repeat (cons (choice :tag "Type" - (const :html) (const :LaTeX) + (const :html) (const :LaTeX) (const :ascii) (const :ical) (const :xoxo)) (directory))))) @@ -3644,7 +3644,7 @@ color of the frame." ;; Make sure that a fixed-width face is used when we have a column table. (set-face-attribute 'org-column nil :height (face-attribute 'default :height) - :family (face-attribute 'default :family))) + :family (face-attribute 'default :family))) (defface org-warning (org-compatible-face @@ -5703,7 +5703,7 @@ Works for outline headings and for plain lists alike." (cond ((org-on-heading-p) (org-do-demote)) ((org-at-item-p) (org-indent-item 1)))) - + ;;; Promotion and Demotion (defun org-promote-subtree () @@ -6186,7 +6186,7 @@ WITH-CASE, the sorting considers case as well." (completing-read "Sort using function: " obarray 'fboundp t nil nil)) (setq getkey-func (intern getkey-func))) - + (and (= (downcase sorting-type) ?r) (setq property (completing-read "Property: " @@ -7059,7 +7059,7 @@ off orgstruct-mode will *not* remove these additonal settings." (orgstruct-make-binding 'org-cycle 102 [(tab)] "\C-i")) (org-defkey orgstruct-mode-map "\C-i" (orgstruct-make-binding 'org-cycle 103 "\C-i" [(tab)])) - + (org-defkey orgstruct-mode-map "\M-\C-m" (orgstruct-make-binding 'org-insert-heading 105 "\M-\C-m" [(meta return)])) @@ -7070,10 +7070,10 @@ off orgstruct-mode will *not* remove these additonal settings." (org-defkey orgstruct-mode-map [(shift meta return)] (orgstruct-make-binding 'org-insert-todo-heading 107 [(meta return)] "\M-\C-m")) - + (unless org-local-vars (setq org-local-vars (org-get-local-variables))) - + t)) (defun orgstruct-make-binding (fun n &rest keys) @@ -7124,7 +7124,7 @@ Possible values in the list of contexts are `table', `headline', and `item'." (kill-buffer "*Org tmp*") (delq nil (mapcar - (lambda (x) + (lambda (x) (setq x (if (symbolp x) (list x) @@ -10337,7 +10337,7 @@ With prefix ARG, apply the new formulas to the table." (defun org-table-fedit-line-down () "Move cursor one line down in the window showing the table." (interactive) - (org-table-fedit-move 'next-line)) + (org-table-fedit-move 'next-line)) (defun org-table-fedit-move (command) "Move the cursor in the window shoinw the table. @@ -11545,12 +11545,12 @@ according to FMT (default from `org-email-link-description-format')." (if description (concat "[" description "]") "") "]")) -(defconst org-link-escape-chars +(defconst org-link-escape-chars '((" " . "%20") ("[" . "%5B") ("]" . "%5d") ("\340" . "%E0") ; `a - ("\342" . "%E2") ; ^a + ("\342" . "%E2") ; ^a ("\347" . "%E7") ; ,c ("\350" . "%E8") ; `e ("\351" . "%E9") ; 'e @@ -11567,7 +11567,7 @@ according to FMT (default from `org-email-link-description-format')." "Association list of escapes for some characters problematic in links. This is the list that is used for internal purposes.") -(defconst org-link-escape-chars-browser +(defconst org-link-escape-chars-browser '((" " . "%20")) "Association list of escapes for some characters problematic in links. This is the list that is used before handing over to the browser.") @@ -11746,7 +11746,7 @@ With three \\[universal-argument] prefixes, negate the meaning of (setq org-stored-links (delq (assoc link org-stored-links) org-stored-links))) (setq desc (or desc (nth 1 entry))))) - + (if (string-match org-plain-link-re link) ;; URL-like link, normalize the use of angular brackets. (setq link (org-make-link (org-remove-angle-brackets link)))) @@ -12841,7 +12841,7 @@ to be run from that hook to fucntion properly." (when (string-match "\\S-" ins) (or (equal (char-before) ?:) (insert ":")) (insert ins) - (or (equal (char-after) ?:) (insert ":"))))) + (or (equal (char-after) ?:) (insert ":"))))) (char (setq org-time-was-given (equal (upcase char) char)) (setq time (org-read-date (equal (upcase char) "U") t nil @@ -13017,7 +13017,7 @@ See also the variable `org-reverse-note-order'." (org-end-of-subtree t) (org-paste-subtree level txt)) (t (error "This should not happen")))) - + ((and (bobp) (not reversed)) ;; Put it at the end, one level below level 1 (save-restriction @@ -13025,7 +13025,7 @@ See also the variable `org-reverse-note-order'." (goto-char (point-max)) (if (not (bolp)) (newline)) (org-paste-subtree (org-get-legal-level 1 1) txt))) - + ((and (bobp) reversed) ;; Put it at the start, as level 1 (save-restriction @@ -13366,7 +13366,7 @@ Each function gets as its single argument a property list with at least the following elements: (:type type-of-change :position pos-at-entry-start - :from old-state :to new-state) + :from old-state :to new-state) Depending on the type, more properties may be present. @@ -13515,7 +13515,7 @@ For calling through lisp, arg is also interpreted in the following way: (setq dostates (and (listp org-log-done) (memq 'state org-log-done) (or (not org-todo-log-states) (member state org-todo-log-states)))) - + (cond ((and state (member state org-not-done-keywords) (not (member this org-not-done-keywords))) @@ -13748,8 +13748,7 @@ be removed." (goto-char (match-end 1)) (setq col (current-column)) (goto-char (match-end 0)) - (if (eobp) (insert "\n")) - (forward-char 1) + (if (eobp) (insert "\n") (forward-char 1)) (if (and (not (looking-at outline-regexp)) (looking-at (concat "[^\r\n]*?" org-keyword-time-regexp "[^\r\n]*")) @@ -13924,7 +13923,7 @@ r Show entries matching a regular expression" ((equal ans ?T) (call-interactively 'org-tags-sparse-tree)) ((member ans '(?p ?P)) - (setq kwd (completing-read "Property: " + (setq kwd (completing-read "Property: " (mapcar 'list (org-buffer-property-keys)))) (setq value (completing-read "Value: " (mapcar 'list (org-property-values kwd)))) @@ -14143,7 +14142,9 @@ are included in the output." 'keymap org-agenda-keymap 'help-echo (format "mouse-2 or RET jump to org file %s" - (abbreviate-file-name buffer-file-name)))) + (abbreviate-file-name + (or (buffer-file-name (buffer-base-buffer)) + (buffer-name (buffer-base-buffer))))))) (case-fold-search nil) lspos tags tags-list tags-alist (llast 0) rtn level category i txt @@ -14256,7 +14257,7 @@ also TODO lines." (setq match (completing-read "Match: " 'org-tags-completion-function nil nil nil 'org-tags-history)))) - + ;; Parse the string and create a lisp form (let ((match0 match) (re (org-re "^&?\\([-+:]\\)?\\({[^}]+}\\|LEVEL=\\([0-9]+\\)\\|\\([[:alnum:]_]+\\)=\\({[^}]+}\\|\"[^\"]+\"\\)\\|[[:alnum:]_@]+\\)")) @@ -14419,12 +14420,12 @@ With prefix ARG, realign all tags in headings in the current buffer." (while (string-match "[-+&]+" tags) ;; No boolean logic, just a list (setq tags (replace-match ":" t t tags)))) - + (if (string-match "\\`[\t ]*\\'" tags) (setq tags "") (unless (string-match ":$" tags) (setq tags (concat tags ":"))) (unless (string-match "^:" tags) (setq tags (concat ":" tags)))) - + ;; Insert new tags at the correct column (beginning-of-line 1) (cond @@ -14691,9 +14692,9 @@ Returns the new tags string, or nil to not change the current settings." (setq current (delete tg current)) (loop for g in groups do (if (member tg g) - (mapcar (lambda (x) - (setq current (delete x current))) - g))) + (mapc (lambda (x) + (setq current (delete x current))) + g))) (push tg current)) (if exit-after-next (setq exit-after-next 'now)))) @@ -14743,7 +14744,7 @@ Returns the new tags string, or nil to not change the current settings." (let (tags) (save-excursion (goto-char (point-min)) - (while (re-search-forward + (while (re-search-forward (org-re "[ \t]:\\([[:alnum:]_@:]+\\):[ \t\r\n]") nil t) (when (equal (char-after (point-at-bol 0)) ?*) (mapc (lambda (x) (add-to-list 'tags x)) @@ -14896,7 +14897,7 @@ If WHICH is nil or `all', get all properties. If WHICH is (unless (member key excluded) (push (cons key (or value "")) props))))) (append sum-props (nreverse props))))))) - + (defun org-entry-get (pom property &optional inherit) "Get value of PROPERTY for entry at point-or-marker POM. If INHERIT is non-nil and the entry does not have the property, @@ -14979,7 +14980,7 @@ If the property is not present at all, nil is returned." (or (org-up-heading-safe) (throw 'ex nil))))) (or tmp (cdr (assoc property org-local-properties)) (cdr (assoc property org-global-properties)))))) - + (defun org-entry-put (pom property value) "Set PROPERTY to VALUE for entry at point-or-marker POM." (org-with-point-at pom @@ -15056,10 +15057,10 @@ internally: ARCHIVE, CATEGORY, SUMMARY, DESCRIPTION, LOCATION, and LOGGING." (when include-specials (setq rtn (append org-special-properties rtn))) - + (when include-defaults (mapc (lambda (x) (add-to-list 'rtn x)) org-default-properties)) - + (sort rtn (lambda (a b) (string< (upcase a) (upcase b)))))) (defun org-property-values (key) @@ -15134,7 +15135,7 @@ in the current file." (let* ((prop (completing-read "Property: " (org-entry-properties nil 'standard)))) (list prop))) - (message (concat "Property " property + (message (concat "Property " property (if (org-entry-delete nil property) " deleted" " was not present in the entry")))) @@ -15143,7 +15144,7 @@ in the current file." "Remove PROPERTY globally, from all entries." (interactive (let* ((prop (completing-read - "Globally remove property: " + "Globally remove property: " (mapcar 'list (org-buffer-property-keys))))) (list prop))) (save-excursion @@ -15180,7 +15181,7 @@ completion." (let (vals) (cond ((equal property "TODO") - (setq vals (org-with-point-at pom + (setq vals (org-with-point-at pom (append org-todo-keywords-1 '(""))))) ((equal property "PRIORITY") (let ((n org-lowest-priority)) @@ -15190,7 +15191,7 @@ completion." ((member property org-special-properties)) (t (setq vals (org-entry-get pom (concat property "_ALL") 'inherit)) - + (when (and vals (string-match "\\S-" vals)) (setq vals (car (read-from-string (concat "(" vals ")")))) (setq vals (mapcar (lambda (x) @@ -15284,6 +15285,7 @@ This is the compiled version of the format.") (org-defkey org-columns-map "e" 'org-columns-edit-value) (org-defkey org-columns-map "\C-c\C-t" 'org-columns-todo) (org-defkey org-columns-map "\C-c\C-c" 'org-columns-set-tags-or-toggle) +(org-defkey org-columns-map "\C-c\C-o" 'org-columns-open-link) (org-defkey org-columns-map "v" 'org-columns-show-value) (org-defkey org-columns-map "q" 'org-columns-quit) (org-defkey org-columns-map "r" 'org-columns-redo) @@ -15310,7 +15312,7 @@ This is the compiled version of the format.") ["Next allowed value" org-columns-next-allowed-value t] ["Previous allowed value" org-columns-previous-allowed-value t] ["Show full value" org-columns-show-value t] - ["Edit allowed" org-columns-edit-allowed t] + ["Edit allowed values" org-columns-edit-allowed t] "--" ["Edit column attributes" org-columns-edit-attributes t] ["Increase column width" org-columns-widen t] @@ -15325,6 +15327,8 @@ This is the compiled version of the format.") ["OVERVIEW" org-overview t] ["Refresh columns display" org-columns-redo t] "--" + ["Open link" org-columns-open-link t] + "--" ["Quit" org-columns-quit t])) (defun org-columns-new-overlay (beg end &optional string face) @@ -15344,7 +15348,7 @@ This is the compiled version of the format.") (beginning-of-line 1) (and (looking-at "\\(\\**\\)\\(\\* \\)") (org-get-level-face 2)))) - (color (list :foreground + (color (list :foreground (face-attribute (or level-face 'default) :foreground))) props pom property ass width f string ov column val modval) ;; Check if the entry is in another buffer. @@ -15464,7 +15468,7 @@ This is the compiled version of the format.") (and (match-end 3) (not (assoc "PRIORITY" fmt)) (concat " " (match-string 3 item))) " " (match-string 4 item) (and (match-end 5) (not (assoc "TAGS" fmt)) (concat " " (match-string 5 item))))))) - + (defun org-columns-show-value () "Show the full value of the property." (interactive) @@ -15560,7 +15564,7 @@ Where possible, use the standard interface for changing this line." (remove-text-properties (max (point-min) (1- bol)) eol '(read-only t)) (unwind-protect (progn - (setq org-columns-overlays + (setq org-columns-overlays (org-delete-all line-overlays org-columns-overlays)) (mapc 'org-delete-overlay line-overlays) (org-columns-eval eval)) @@ -15576,7 +15580,7 @@ Where possible, use the standard interface for changing this line." (let ((pre (buffer-substring (match-beginning 0) (match-beginning 3))) (txt (match-string 3)) (post "") - txt2) + txt2) (if (string-match (org-re "[ \t]+:[[:alnum:]:_@]+:[ \t]*$") txt) (setq post (match-string 0 txt) txt (substring txt 0 (match-beginning 0)))) @@ -15594,8 +15598,9 @@ 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.???? (setq nval (read-string "Allowed: " allowed)) - (org-entry-put + (org-entry-put (cond ((marker-position org-entry-property-inherited-from) org-entry-property-inherited-from) ((marker-position org-columns-top-level-marker) @@ -15606,6 +15611,7 @@ Where possible, use the standard interface for changing this line." (let (hidep) (save-excursion (beginning-of-line 1) + ;; `next-line' is needed here, because it skips invisible line. (condition-case nil (next-line 1) (error nil)) (setq hidep (org-on-heading-p 1))) (eval form) @@ -15654,7 +15660,7 @@ Where possible, use the standard interface for changing this line." (remove-text-properties (1- bol) eol '(read-only t)) (unwind-protect (progn - (setq org-columns-overlays + (setq org-columns-overlays (org-delete-all line-overlays org-columns-overlays)) (mapc 'org-delete-overlay line-overlays) (org-columns-eval '(org-entry-put pom key nval))) @@ -15670,15 +15676,21 @@ Where possible, use the standard interface for changing this line." (< emacs-major-version 22)) (error "Emacs 22 is required for the columns feature"))))) -;; FIXME: does not yet work -(defun org-columns-follow-link () +(defun org-columns-open-link (&optional arg) + (interactive "P") (let ((key (get-char-property (point) 'org-columns-key)) (value (get-char-property (point) 'org-columns-value))) - (if (or (string-match org-bracket-link-regexp value) - (string-match org-angle-link-re value) - (string-match org-plain-link-re value)) - (org-open-at-point) ; fixme - (error "No link in this value")))) + (org-open-link-from-string arg))) + +(defun org-open-link-from-string (s &optional arg) + "Open a link in the string S, as if it was in Org-mode." + (interactive) + (with-temp-buffer + (let ((org-inhibit-startup t)) + (org-mode) + (insert s) + (goto-char (point-min)) + (org-open-at-point arg)))) (defun org-columns-get-format-and-top-level () (let (fmt) @@ -15815,7 +15827,7 @@ Where possible, use the standard interface for changing this line." (error "Cannot shift this column further to the left")) (backward-char 1) (org-columns-move-right) - (backward-char 1))) + (backward-char 1))) (defun org-columns-store-format () "Store the text version of the current columns format in appropriate place. @@ -15922,7 +15934,7 @@ display, or in the #+COLUMNS line of the current buffer." (setq pos (org-overlay-start ov)) (goto-char pos) (when (setq val (cdr (assoc property - (get-text-property + (get-text-property (point-at-bol) 'org-summaries)))) (setq fmt (org-overlay-get ov 'org-columns-format)) (org-overlay-put ov 'org-columns-value val) @@ -15978,7 +15990,7 @@ display, or in the #+COLUMNS line of the current buffer." (if flag str val) format)))) (aset lflag level t)) ;; clear accumulators for deeper levels - (loop for l from (1+ level) to (1- lmax) do + (loop for l from (1+ level) to (1- lmax) do (aset lsum l 0) (aset lflag l nil))) ((>= level last-level) @@ -16187,12 +16199,12 @@ and tailing newline characters." "Create a dynamic block capturing a column view table." (interactive) (let ((defaults '(:name "columnview" :hlines 1)) - (id (completing-read + (id (completing-read "Capture columns (local, global, entry with :ID: property) [local]: " (append '(("global") ("local")) (mapcar 'list (org-property-values "ID")))))) (if (equal id "") (setq id 'local)) - (if (equal id "global") (setq id 'global)) + (if (equal id "global") (setq id 'global)) (setq defaults (append defaults (list :id id))) (org-create-dblock defaults) (org-update-dblock))) @@ -16323,6 +16335,7 @@ user." (if (equal with-time '(16)) 0 org-time-stamp-rounding-minutes)) (ct (org-current-time)) (def (or default-time ct)) + (defdecode (decode-time def)) (calendar-move-hook nil) (view-diary-entries-initially nil) (view-calendar-holidays-initially nil) @@ -16415,7 +16428,7 @@ user." minute (if (match-end 3) (string-to-number (match-string 3 ans)) 0) - pm (equal ?p + pm (equal ?p (string-to-char (downcase (match-string 4 ans))))) (if (and (= hour 12) (not pm)) (setq hour 0) @@ -16440,9 +16453,9 @@ user." (substring ans (match-end 7))))) (setq tl (parse-time-string ans) - year (or (nth 5 tl) (string-to-number (format-time-string "%Y" def))) - month (or (nth 4 tl) (string-to-number (format-time-string "%m" def))) day (or (nth 3 tl) (string-to-number (format-time-string "%d" def))) + month (or (nth 4 tl) (string-to-number (format-time-string "%m" def))) + year (or (nth 5 tl) (string-to-number (format-time-string "%Y" def))) hour (or (nth 2 tl) (string-to-number (format-time-string "%H" def))) minute (or (nth 1 tl) (string-to-number (format-time-string "%M" def))) second (or (nth 0 tl) 0) @@ -16471,11 +16484,25 @@ user." (format "%04d-%02d-%02d %02d:%02d" year month day hour minute) (format "%04d-%02d-%02d" year month day))))) +;(defun org-parse-for-shift (n1 n2 given-dec default-dec) +; (cond +; ((not (nth n1 given-dec)) +; (nth n1 default-dec)) +; ((or (> (nth n1 given-dec) (nth n1 (default-dec))) +; (not org-read-date-prefer-future)) +; (nth n1 given-dec)) +; (t (1+ +; (if (nth 3 given-dec) +; (nth 3 given-dec) +; (if (> (nth +; (setq given +; (if (and + (defvar parse-time-weekdays) (defun org-read-date-get-relative (s today default) "Check string S for special relative date string. -TODAY and DEFAULT are ionternal times, for today and for a default. +TODAY and DEFAULT are internal times, for today and for a default. Return shift list (N what def-flag) WHAT is \"d\", \"w\", \"m\", or \"y\" for day. week, month, year. N is the number if WHATs to shift @@ -16483,7 +16510,7 @@ DEF-FLAG is t when a double ++ or -- indicates shift relative to the DEFAULT date rather than TODAY." (when (string-match (concat - "\\`[ \t]*\\([-+]\\{1,2\\}\\)?" + "\\`[ \t]*\\([-+]\\{1,2\\}\\)" "\\([0-9]+\\)?" "\\([dwmy]\\|\\(" (mapconcat 'car parse-time-weekdays "\\|") "\\)\\)?" "\\([ \t]\\|$\\)") s) @@ -17101,7 +17128,7 @@ in the timestamp determines what will be changed." (setq ng 6 new (car (rassoc (+ n (cdr (assoc (match-string 6 s) idx))) idx)))) ((org-pos-in-match-range pos 5) (setq ng 5 new (format "%d" (max 1 (+ n (string-to-number (match-string 5 s)))))))) - + (when ng (setq s (concat (substring s 0 (match-beginning ng)) @@ -17180,19 +17207,19 @@ belonging to the category \"Work\"." (if (equal filter '(4)) (setq filter (read-from-minibuffer "Regexp filter: "))) (let* ((cnt 0) ; count added events - (today (org-date-to-gregorian + (today (org-date-to-gregorian (time-to-days (current-time)))) (files (org-agenda-files)) entries file) ;; Get all entries which may contain an appt (while (setq file (pop files)) - (setq entries - (append entries - (org-agenda-get-day-entries - file today + (setq entries + (append entries + (org-agenda-get-day-entries + file today :timestamp :scheduled :deadline)))) (setq entries (delq nil entries)) ;; Map thru entries and find if they pass thru the filter - (mapc + (mapc (lambda(x) (let* ((evt (org-trim (get-text-property 1 'txt x))) (cat (get-text-property 1 'org-category x)) @@ -17200,15 +17227,15 @@ belonging to the category \"Work\"." (ok (or (null filter) (and (stringp filter) (string-match filter evt)) (and (listp filter) - (or (string-match + (or (string-match (cadr (assoc 'category filter)) cat) - (string-match + (string-match (cadr (assoc 'headline filter)) evt)))))) ;; 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) - tod (when (string-match + tod (when (string-match "\\([0-9]\\{1,2\\}\\)\\([0-9]\\{2\\}\\)" tod) (concat (match-string 1 tod) ":" (match-string 2 tod)))) @@ -17690,7 +17717,7 @@ the returned times will be formatted strings." (setq total-time (+ (or total-time 0) org-clock-file-total-minutes))))))) (goto-char pos) - + (unless (eq scope 'agenda) (org-clock-sum ts te) (goto-char (point-min)) @@ -17735,7 +17762,7 @@ the returned times will be formatted strings." (insert-before-markers "|-\n|" (if (eq scope 'agenda) "|" "") - "|" + "|" "*Total time*| " (format "*%d:%02d*" h m) "|\n|-\n") @@ -18260,7 +18287,7 @@ Pressing `<' twice means to restrict to the current subtree or region (region-p (org-region-active-p)) (custom org-agenda-custom-commands) (selstring "") - restriction + restriction second-time c entry key type match prefixes rmheader header-end custom1 desc) (save-window-excursion (delete-other-windows) @@ -18298,7 +18325,7 @@ L Timeline for current buffer # List stuck projects (!=configure) (goto-char header-end) (delete-region (point) (point-max)) (while (setq entry (pop custom1)) - (setq key (car entry) desc (nth 1 entry) + (setq key (car entry) desc (nth 1 entry) type (nth 2 entry) match (nth 3 entry)) (if (> (length key) 1) (add-to-list 'prefixes (string-to-char key)) @@ -18339,9 +18366,12 @@ L Timeline for current buffer # List stuck projects (!=configure) "Prefix key")))) prefixes)) (goto-char (point-min)) - (if (and (fboundp 'fit-window-to-buffer) - (not (pos-visible-in-window-p (point-max)))) - (fit-window-to-buffer)) + (when (fboundp 'fit-window-to-buffer) + (if second-time + (if (not (pos-visible-in-window-p (point-max))) + (fit-window-to-buffer)) + (setq second-time t) + (fit-window-to-buffer))) (message "Press key for agenda command%s:" (if restrict-ok (if restriction @@ -20694,7 +20724,7 @@ With prefix ARG, go forward that many times the current span." (list (car org-agenda-last-arguments) sd nd t))) (org-agenda-redo) (org-agenda-find-same-or-today-or-agenda cnt)))) - + (defun org-agenda-earlier (arg) "Go backward in time by the current span. With prefix ARG, go backward that many times the current span." @@ -20988,11 +21018,19 @@ If this information is not given, the function uses the tree at point." (defun org-agenda-open-link () "Follow the link in the current line, if any." (interactive) + (org-agenda-copy-local-variable 'org-link-abbrev-alist-local) (save-excursion (save-restriction (narrow-to-region (point-at-bol) (point-at-eol)) (org-open-at-point)))) +(defun org-agenda-copy-local-variable (var) + "Get a variable from a referenced buffer and install it here." + (let ((m (get-text-property (point) 'org-marker))) + (when (and m (buffer-live-p (marker-buffer m))) + (org-set-local var (with-current-buffer (marker-buffer m) + (symbol-value var)))))) + (defun org-agenda-switch-to (&optional delete-other-windows) "Go to the Org-mode file which contains the item at point." (interactive) @@ -21405,7 +21443,7 @@ be used to request time specification in the time stamp." (save-excursion (org-back-to-heading t) (if (looking-at - (if no-tags + (if no-tags (org-re "\\*+[ \t]+\\([^\n\r]*?\\)\\([ \t]+:[[:alnum:]:_@]+:[ \t]*\\)?$") "\\*+[ \t]+\\([^\r\n]*\\)")) (match-string 1) ""))) @@ -22464,7 +22502,7 @@ translations. There is currently no way for users to extend this.") (setq fmt (pop formatters)) (when (car fmt) (goto-char (point-min)) - (while (re-search-forward (concat "^#\\+" (cadr fmt) + (while (re-search-forward (concat "^#\\+" (cadr fmt) ":[ \t]*\\(.*\\)") nil t) (replace-match "\\1" t) (add-text-properties @@ -22472,7 +22510,7 @@ translations. There is currently no way for users to extend this.") '(org-protected t)))) (goto-char (point-min)) (while (re-search-forward - (concat "^#\\+" + (concat "^#\\+" (caddr fmt) "\\>.*\\(\\(\n.*\\)*?\n\\)#\\+" (cadddr fmt) "\\>.*\n?") nil t) (if (car fmt) @@ -22623,7 +22661,7 @@ translations. There is currently no way for users to extend this.") (add-text-properties (point) (1+ (point-at-eol)) (list :org-license-to-kill t))))) title)) - + (defun org-solidify-link-text (s &optional alist) "Take link text and make a safe target out of it." (save-match-data @@ -22783,10 +22821,10 @@ underlined headlines. The default is 3." (fundamental-mode) ;; create local variables for all options, to make sure all called ;; functions get the correct information - (mapcar (lambda (x) - (set (make-local-variable (cdr x)) - (plist-get opt-plist (car x)))) - org-export-plist-vars) + (mapc (lambda (x) + (set (make-local-variable (cdr x)) + (plist-get opt-plist (car x)))) + org-export-plist-vars) (org-set-local 'org-odd-levels-only odd) (setq umax (if arg (prefix-numeric-value arg) org-export-headline-levels)) @@ -22818,55 +22856,55 @@ underlined headlines. The default is 3." (progn (push (concat (nth 3 lang-words) "\n") thetoc) (push (concat (make-string (length (nth 3 lang-words)) ?=) "\n") thetoc) - (mapcar '(lambda (line) - (if (string-match org-todo-line-regexp - line) - ;; This is a headline - (progn - (setq have-headings t) - (setq level (- (match-end 1) (match-beginning 1)) - level (org-tr-level level) - txt (match-string 3 line) - todo - (or (and org-export-mark-todo-in-toc - (match-beginning 2) - (not (member (match-string 2 line) - org-done-keywords))) + (mapc '(lambda (line) + (if (string-match org-todo-line-regexp + line) + ;; This is a headline + (progn + (setq have-headings t) + (setq level (- (match-end 1) (match-beginning 1)) + level (org-tr-level level) + txt (match-string 3 line) + todo + (or (and org-export-mark-todo-in-toc + (match-beginning 2) + (not (member (match-string 2 line) + org-done-keywords))) ; TODO, not DONE - (and org-export-mark-todo-in-toc - (= level umax-toc) - (org-search-todo-below - line lines level)))) - (setq txt (org-html-expand-for-ascii txt)) + (and org-export-mark-todo-in-toc + (= level umax-toc) + (org-search-todo-below + line lines level)))) + (setq txt (org-html-expand-for-ascii txt)) - (while (string-match org-bracket-link-regexp txt) - (setq txt - (replace-match - (match-string (if (match-end 2) 3 1) txt) - t t txt))) + (while (string-match org-bracket-link-regexp txt) + (setq txt + (replace-match + (match-string (if (match-end 2) 3 1) txt) + t t txt))) - (if (and (memq org-export-with-tags '(not-in-toc nil)) - (string-match - (org-re "[ \t]+:[[:alnum:]_@:]+:[ \t]*$") - txt)) - (setq txt (replace-match "" t t txt))) - (if (string-match quote-re0 txt) - (setq txt (replace-match "" t t txt))) + (if (and (memq org-export-with-tags '(not-in-toc nil)) + (string-match + (org-re "[ \t]+:[[:alnum:]_@:]+:[ \t]*$") + txt)) + (setq txt (replace-match "" t t txt))) + (if (string-match quote-re0 txt) + (setq txt (replace-match "" t t txt))) - (if org-export-with-section-numbers - (setq txt (concat (org-section-number level) - " " txt))) - (if (<= level umax-toc) - (progn - (push - (concat - (make-string - (* (max 0 (- level org-min-level)) 4) ?\ ) - (format (if todo "%s (*)\n" "%s\n") txt)) - thetoc) - (setq org-last-level level)) - )))) - lines) + (if org-export-with-section-numbers + (setq txt (concat (org-section-number level) + " " txt))) + (if (<= level umax-toc) + (progn + (push + (concat + (make-string + (* (max 0 (- level org-min-level)) 4) ?\ ) + (format (if todo "%s (*)\n" "%s\n") txt)) + thetoc) + (setq org-last-level level)) + )))) + lines) (setq thetoc (if have-headings (nreverse thetoc) nil)))) (org-init-section-numbers) @@ -23450,10 +23488,10 @@ the body tags themselves." (org-odd-levels-only odd)) ;; create local variables for all options, to make sure all called ;; functions get the correct information - (mapcar (lambda (x) - (set (make-local-variable (cdr x)) - (plist-get opt-plist (car x)))) - org-export-plist-vars) + (mapc (lambda (x) + (set (make-local-variable (cdr x)) + (plist-get opt-plist (car x)))) + org-export-plist-vars) (setq umax (if arg (prefix-numeric-value arg) org-export-headline-levels)) (setq umax-toc (if (integerp org-export-with-toc) @@ -23728,7 +23766,7 @@ lang=\"%s\" xml:lang=\"%s\"> (if (and (string-match org-todo-line-regexp line) (match-beginning 2)) - (setq line + (setq line (concat (substring line 0 (match-beginning 2)) " (delete-region beg end) (insert (format "%s" (make-string n ?x))))) - + (or to-buffer (save-buffer)) (goto-char (point-min)) (message "Exporting... done") @@ -24077,14 +24115,14 @@ lang=\"%s\" xml:lang=\"%s\"> (lambda (x) (setq gr (pop org-table-colgroup-info)) (format "%s%s" - (if (memq gr '(:start :startend)) + (if (memq gr '(:start :startend)) (prog1 (if colgropen "\n" "") (setq colgropen t)) "") (if (> (/ (float x) nlines) org-table-number-fraction) "right" "left") - (if (memq gr '(:end :startend)) + (if (memq gr '(:end :startend)) (progn (setq colgropen nil) "") ""))) fnum "") @@ -26412,6 +26450,21 @@ Respect keys that are already there." (push (cons k c) new)))) (nreverse new))) +;(defcustom org-read-date-prefer-future nil +; "Non-nil means, when reading an incomplete date from the user, assume future. +;This affects the following situations: +;1. The user give a day, but no month. +; In this case, if the day number if after today, the current month will +; be used, otherwise the next month. +;2. The user gives a month but not a year. +; In this case, the the given month is after the current month, the current +; year will be used. Otherwise the next year will be used.; +; +;When nil, always the current month and year will be used." +; :group 'org-time ;???? +; :type 'boolean) + + ;;;; Finish up (provide 'org) diff --git a/org.pdf b/org.pdf index 84c2c404b..54106946d 100644 Binary files a/org.pdf and b/org.pdf differ diff --git a/org.texi b/org.texi index 96a48cf8e..b34ace8ab 100644 --- a/org.texi +++ b/org.texi @@ -3,7 +3,7 @@ @setfilename ../info/org @settitle Org Mode Manual -@set VERSION 5.13 +@set VERSION 5.13e @set DATE October 2007 @dircategory Emacs @@ -3939,13 +3939,16 @@ Furthermore you can specify a relative date by giving, as the @emph{first} thing in the input: a plus/minus sign, a number and a letter [dwmy] to indicate change in days weeks, months, years. With a single plus or minus, the date is always relative to today. With a -double plus or minus, it is relative to the default date. E.g. +double plus or minus, it is relative to the default date. If instead of +a single letter, you use the abbreviation of day name, the date will be +the nth such day. E.g. @example +4d --> four days from today +4 --> same as above +2w --> two weeks from today ++5 --> five days from default date ++2tue --> second tuesday from now. @end example The function understands English month and weekday abbreviations. If diff --git a/orgcard.pdf b/orgcard.pdf index 8db74c372..e7be2d8dd 100644 Binary files a/orgcard.pdf and b/orgcard.pdf differ diff --git a/orgcard.tex b/orgcard.tex index 494940209..a5d07b528 100644 --- a/orgcard.tex +++ b/orgcard.tex @@ -1,5 +1,5 @@ % Reference Card for Org Mode -\def\orgversionnumber{5.13} +\def\orgversionnumber{5.13e} \def\versionyear{2007} % latest update \def\year{2007} % latest copyright year diff --git a/orgcard_letter.pdf b/orgcard_letter.pdf index 07e857437..84bf363cf 100644 Binary files a/orgcard_letter.pdf and b/orgcard_letter.pdf differ diff --git a/request-assign-future.txt b/request-assign-future.txt new file mode 100644 index 000000000..8ee77473f --- /dev/null +++ b/request-assign-future.txt @@ -0,0 +1,44 @@ +Please email the following information to assign@gnu.org, and we +will send you the assignment form for your past and future changes. + +Please use your full legal name (in ASCII characters) as the subject +line of the message. +---------------------------------------------------------------------- +REQUEST: SEND FORM FOR PAST AND FUTURE CHANGES + +[What is the name of the program or package you're contributing to?] + + Org-mode, which is part of Emacs + +[Did you copy any files or text written by someone else in these changes? +Even if that material is free software, we need to know about it.] + + +[Do you have an employer who might have a basis to claim to own +your changes? Do you attend a school which might make such a claim?] + + +[For the copyright registration, what country are you a citizen of?] + + +[What year were you born?] + + +[Please write your email address here.] + + +[Please write your postal address here.] + + + + + +[Which files have you changed so far, and which new files have you written +so far?] + + + + + + +