Hi Dave, Dave Abrahams <d...@boostpro.com> writes:
> Sorry, but I don't want to spend the time on that. I'm trying to get > the rules changed so that it isn't so easy to corrupt an org file. The current rule is "Leave SCHEDULED: and DEADLINE: information where Org's `org-schedule' and `org-deadline' put it." Maybe I don't understand how do you want to change this rule. > I'm not much interested in building a tool to undo corruption. > >> FYI: Nicolas and I have been discussing about the issue you raised, and >> the integration of org-element.el will force us to be clearer about such >> cases, which is good. > > I sincerely hope that when you become clearer about such cases you pick > a liberal set of rules that isn't so error-prone. The ideas that I > can't just hit return after a headline and start typing a body, and that > I'll be nagged about misplaced SCHEDULED: lines, are both very > unappealing. I have just added this hack: "Check for misplaced SCHEDULED and DEADLINE cookies" http://orgmode.org/worg/org-hacks.html#sec-1-2-8 Here is the function: (defun org-check-misformatted-subtree () "Check misformatted entries in the current buffer." (interactive) (show-all) (org-map-entries (lambda () (move-beginning-of-line 2) (if (or (and (org-get-scheduled-time (point)) (not (looking-at (concat "^.*" org-scheduled-regexp)))) (and (org-get-deadline-time (point)) (not (looking-at (concat "^.*" org-deadline-regexp))))) (when (y-or-n-p "Fix this subtree? ") (message "Call the function again when you're done fixing this subtree.") (recursive-edit)) (message "All subtrees checked."))))) HTH, -- Bastien