[O] [PATCH] org-capture, removing whitespace from new captures

2011-09-14 Thread paulusm
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]

2010-08-24 Thread paulusm
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