diff options
author | Carsten Dominik <carsten.dominik@gmail.com> | 2010-08-16 17:21:18 +0200 |
---|---|---|
committer | Carsten Dominik <carsten.dominik@gmail.com> | 2010-08-16 17:21:18 +0200 |
commit | ea16ef95358f4e8788661f6037df213c9f7ae577 (patch) | |
tree | 77c5a726ec72ed24b824eca7b36e6ece92652145 | |
parent | ef56c6f361c943f18b817044dc8c64627712b18a (diff) | |
parent | 4a523e0cf0fba620b0296d376c6efb617c31e7a4 (diff) | |
download | org-mode-ea16ef95358f4e8788661f6037df213c9f7ae577.tar.gz |
Merge branch 'master' of git+ssh://repo.or.cz/srv/git/org-mode
Conflicts:
UTILITIES/pw
-rwxr-xr-x | UTILITIES/pw | 3 | ||||
-rw-r--r-- | lisp/org-agenda.el | 24 | ||||
-rw-r--r-- | lisp/org-latex.el | 10 |
3 files changed, 32 insertions, 5 deletions
diff --git a/UTILITIES/pw b/UTILITIES/pw index 0d171a9..0cf4bfa 100755 --- a/UTILITIES/pw +++ b/UTILITIES/pw @@ -472,7 +472,8 @@ def merge_with(patch_id, rpc, delegate_str, comment_str): # If it succeeded this far, mark the patch as "Accepted" by the invoking # user. action_update_patch(rpc, patch_id, state = 'Accepted', commit = sha, - delegate_str = delegate_str, archived = True) + delegate_str = delegate_str, comment_str = comment_str, + archived = True) print sha diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el index 670ac82..194f392 100644 --- a/lisp/org-agenda.el +++ b/lisp/org-agenda.el @@ -5198,12 +5198,34 @@ HH:MM." (int-to-string t0)))) (if string (concat (substring t1 -4 -2) ":" (substring t1 -2)) t0))))) +(defvar org-agenda-before-sorting-filter-function nil + "Function to be applied to agenda items prior to sorting. +Prior to sorting also means just before they are inserted into the agenda. + +To aid sorting, you may revisit the original entries and add more text +properties which will later be used by the sorting functions. + +The function should take a string argument, an agenda line. +It has access to the text properties in that line, which contain among +other things, the property `org-hd-marker' that points to the entry +where the line comes from. Note that not all lines going into the agenda +have this property, only most. + +The function should return the modified string. It is probably best +to ONLY change text properties. + +You can also use this function as a filter, by returning nil for lines +you don't want to have in the agenda at all. For this application, you +could bind the variable in the options section of a custom command.") + (defun org-finalize-agenda-entries (list &optional nosort) "Sort and concatenate the agenda items." (setq list (mapcar 'org-agenda-highlight-todo list)) (if nosort list - (mapconcat 'identity (sort list 'org-entries-lessp) "\n"))) + (when org-agenda-before-sorting-filter-function + (setq list (mapcar org-agenda-before-sorting-filter-function list))) + (delq nil (mapconcat 'identity (sort list 'org-entries-lessp) "\n")))) (defun org-agenda-highlight-todo (x) (let ((org-done-keywords org-done-keywords-for-agenda) diff --git a/lisp/org-latex.el b/lisp/org-latex.el index 9142747..4f27f42 100644 --- a/lisp/org-latex.el +++ b/lisp/org-latex.el @@ -1257,9 +1257,13 @@ If END is non-nil, it is the end of the region." '(:org-license-to-kill t)) (save-excursion (goto-char pt) - (while (re-search-forward "^[ \t]*#+.*\n?" limit t) - (remove-text-properties (match-beginning 0) (match-end 0) - '(:org-license-to-kill t)))))))))) + (while (re-search-forward "^[ \t]*#\\+.*\n?" limit t) + (let ((case-fold-search t)) + (unless (org-string-match-p + "^[ \t]*#\\+\\(attr_\\|caption\\>\\|label\\>\\)" + (match-string 0)) + (remove-text-properties (match-beginning 0) (match-end 0) + '(:org-license-to-kill t)))))))))))) (defvar org-export-latex-header-defs nil |