[O] [PATCH] org-capture, removing whitespace from new captures
I found myself manually cleaning most CAPTURE buffers of whitespace prior to committing them with C-c C-c. The attached patch adds a new property :whitespace-cleanup to the org-capture-templates. -- Paul. diff --git a/lisp/org-capture.el b/lisp/org-capture.el index a7dc92b..ae5af6d 100644 --- a/lisp/org-capture.el +++ b/lisp/org-capture.el @@ -205,6 +205,9 @@ properties are: capture was invoked, kill the buffer again after capture is finalized. + :whitespace-cleanup When set, call `whitespace-cleanup' prior to + widening the buffer. + The template defines the text to be inserted. Often this is an org-mode entry (so the first line should start with a star) that will be filed as a child of the target headline. It can also be @@ -329,7 +332,8 @@ calendar| %:type %:date ((const :format %v :clock-keep) (const t)) ((const :format %v :clock-resume) (const t)) ((const :format %v :unnarrowed) (const t)) - ((const :format %v :kill-buffer) (const t + ((const :format %v :kill-buffer) (const t)) + ((const :format %v :whitespace-cleanup) (const t (defcustom org-capture-before-finalize-hook nil Hook that is run right before a capture process is finalized. @@ -544,6 +548,9 @@ captured item after finalizing. (org-clock-in))) (message Interrupted clock has been resumed))) + (when (org-capture-get :whitespace-cleanup 'local) +(whitespace-cleanup)) + (let ((beg (point-min)) (end (point-max)) (abort-note nil))
[Orgmode] Bug: habit: better error handling required [TAG=7.01g]
Hi org-mode people, Whilst playing with the shaving example from http://orgmode.org/manual/Tracking-your-habits.html I accidentally put a bad character in the SCHEDULED timestamp. Instead of: SCHEDULED: 2010-08-26 Thu .+2d/4d I had: SCHEDULED: 2010-08-26 Thu .+2nd/4d When trying to view my agenda, I was presented with a blank agenda and Emacs very quietly reported: org-habit-duration-to-days: Wrong type argument: stringp, nil which is not really helpful. Removing the bad character fixes the issue, and I can duplicate the error condition as described above. Perhaps some better error trapping could be done? Regards, Paul. Emacs : GNU Emacs 23.2.1 (i486-pc-linux-gnu, GTK+ Version 2.20.0) of 2010-05-16 on raven, modified by Debian Package: Org-mode version TAG=7.01g current state: == (setq org-log-done 'time org-export-latex-after-initial-vars-hook '(org-beamer-after-initial-vars) org-agenda-files '(~/emacs/GTD/birthdays.org ~/emacs/GTD/gtd.org ~/emacs/GTD/various-org-mode-demos.org) org-agenda-include-diary t org-babel-load-languages '((python . t) (emacs-lisp . t)) org-metaup-hook '(org-babel-load-in-session-maybe) org-after-todo-state-change-hook '(org-clock-out-if-current) org-babel-tangle-lang-exts '((python . py) (emacs-lisp . el)) org-export-blocks-postblock-hook '(org-exp-res/src-name-cleanup) org-export-latex-format-toc-function 'org-export-latex-format-toc-default org-export-preprocess-hook '(org-export-blocks-preprocess) org-agenda-diary-file ~/emacs/GTD/gtd.org org-tab-first-hook '(org-hide-block-toggle-maybe org-babel-hide-result-toggle-maybe) org-src-mode-hook '(org-src-mode-configure-edit-buffer) org-confirm-shell-link-function 'yes-or-no-p org-export-first-hook '(org-beamer-initialize-open-trackers) org-agenda-before-write-hook '(org-agenda-add-entry-text) org-default-notes-file ~/emacs/GTD/notes.org org-directory ~/emacs/GTD/ org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers org-cycle-show-empty-lines org-optimize-window-after-visibility-change) org-export-preprocess-before-normalizing-links-hook '(org-remove-file-link-modifiers) org-mode-hook '(#[nil \300\301\302\303\304$\207 [org-add-hook change-major-mode-hook org-show-block-all append local] 5] #[nil \300\301\302\303\304$\207 [org-add-hook change-major-mode-hook org-babel-show-result-all append local] 5] org-babel-result-hide-spec org-babel-hide-all-hashes) org-agenda-ndays 1 org-refile-targets '((gtd.org :level . 1)) org-ctrl-c-ctrl-c-hook '(org-babel-lob-execute-maybe org-babel-hash-at-point org-babel-execute-src-block-maybe) org-confirm-elisp-link-function 'yes-or-no-p org-export-interblocks '((lob org-babel-exp-lob-one-liners) (src org-babel-exp-inline-src-blocks)) org-occur-hook '(org-first-headline-recenter) org-from-is-user-regexp \\Paul\\ org-export-preprocess-before-selecting-backend-code-hook '(org-beamer-select-beamer-code) org-modules '(org-bbdb org-bibtex org-docview org-gnus org-info org-jsinfo org-habit org-irc org-mew org-mhe org-protocol org-rmail org-vm org-wl org-w3m) org-export-latex-final-hook '(org-beamer-amend-header org-beamer-fix-toc org-beamer-auto-fragile-frames org-beamer-place-default-actions-for-lists) org-metadown-hook '(org-babel-pop-to-session-maybe) org-export-blocks '((src org-babel-exp-src-blocks nil) (comment org-export-blocks-format-comment t) (ditaa org-export-blocks-format-ditaa nil) (dot org-export-blocks-format-dot nil)) ) ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode