|
@@ -1488,6 +1488,18 @@ the lower-case version of all tags."
|
|
|
(require 'cl))
|
|
|
(require 'org)
|
|
|
|
|
|
+(defmacro org-agenda-with-point-at-orig-entry (string &rest body)
|
|
|
+ "Execute BODY with point at location given by `org-hd-marker' property.
|
|
|
+If STRING is non-nil, the text property will be fetched from position 0
|
|
|
+in that string. If STRING is nil, it will be fetched from the beginning
|
|
|
+of the current line."
|
|
|
+ `(let ((marker (get-text-property (if string 0 (point-at-bol))
|
|
|
+ 'org-hd-marker string)))
|
|
|
+ (with-current-buffer (marker-buffer marker)
|
|
|
+ (save-excursion
|
|
|
+ (goto-char marker)
|
|
|
+ ,@body))))
|
|
|
+
|
|
|
(defun org-add-agenda-custom-command (entry)
|
|
|
"Replace or add a command in `org-agenda-custom-commands'.
|
|
|
This is mostly for hacking and trying a new command - once the command
|