[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Orgmode] [misc-new-features 2/5] Bugfixes, documentation and custom
From: |
Bastien |
Subject: |
Re: [Orgmode] [misc-new-features 2/5] Bugfixes, documentation and custom options for org-checklist. |
Date: |
Tue, 14 Jul 2009 14:09:12 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (gnu/linux) |
I will apply this one tomorrow. Note that your changelog announces
changes to org.texi that your patch don't contain.
Thanks!
James TD Smith <address@hidden> writes:
> * contrib/lisp/org-checklist.el
> - Fix some problems with the print/export feature in org-checklist.
> - Add custom options for this module
> - Fix some interaction with a2ps
> - Only reset checkboxes if TODO state is done.
>
> * doc/org.texi
> - Add documentation for org-checklist
>
> * lisp/org.el
> - Add org-checklist to org-modules
> ---
> contrib/ChangeLog | 16 ++++++++++
> contrib/lisp/org-checklist.el | 67 +++++++++++++++++++++++++++++++---------
> lisp/org.el | 1 +
> 3 files changed, 69 insertions(+), 15 deletions(-)
>
> diff --git a/contrib/ChangeLog b/contrib/ChangeLog
> index 7e62df0..6a5c2a2 100644
> --- a/contrib/ChangeLog
> +++ b/contrib/ChangeLog
> @@ -1,3 +1,19 @@
> +2009-07-12 James TD Smith <address@hidden>
> +
> + * lisp/org-checklist.el (org-checklist): Add a custom group for
> + org-checklist. The options are all for the unchecked items export
> + function.
> + (org-checklist-export-time-format): Allow customising the
> + timestamp appended to the saved unchecked items list
> + (org-checklist-export-function): Allow customising the output
> + format for the unchecked items list.
> + (org-checklist-export-params): Options for the exporter.
> + (org-checklist-a2ps-params): Printing options.
> + (org-make-checklist-export): Use values from custom vars. Printing
> + is now controlled by the PRINT_EXPORT property in the entry, and
> + the user is only asked if it is missing. Pass the switches to
> + a2ps-buffer properly.
> +
> 2009-06-20 Carsten Dominik <address@hidden>
>
> * README: List new file org-export-generic.el
> diff --git a/contrib/lisp/org-checklist.el b/contrib/lisp/org-checklist.el
> index 26d228f..4ebf91b 100644
> --- a/contrib/lisp/org-checklist.el
> +++ b/contrib/lisp/org-checklist.el
> @@ -42,11 +42,37 @@
> ;;
> ;;; Code:
> (require 'org)
> +(load "a2ps-print")
>
> -(defvar export-time-format "%Y%m%d%H%M"
> - "format of timestamp appended to export file")
> -(defvar export-function 'org-export-as-ascii
> - "function used to prepare the export file for printing")
> +(defgroup org-checklist nil
> + "Extended checklist handling for org"
> + :tag "Org-checklist"
> + :group 'org)
> +
> +(defcustom org-checklist-export-time-format "%Y%m%d%H%M"
> + "The format of timestamp appended to LIST_EXPORT_BASENAME to
> + make the name of the export file."
> + :link '(function-link format-time-string)
> + :group 'org-checklist
> + :type 'string)
> +
> +(defcustom org-checklist-export-function 'org-export-as-ascii
> + "function used to prepare the export file for printing"
> + :group 'org-checklist
> + :type '(radio (function-item :tag "ascii text" org-export-as-ascii)
> + (function-item :tag "HTML" org-export-as-html)
> + (function-item :tag "LaTeX" :value org-export-as-latex)
> + (function-item :tag "XOXO" :value org-export-as-xoxo)))
> +
> +(defcustom org-checklist-export-params nil
> + "options for the export function file for printing"
> + :group 'org-checklist
> + :type '(repeat string))
> +
> +(defcustom org-checklist-a2ps-params nil
> + "options for a2ps for printing"
> + :group 'org-checklist
> + :type '(repeat string))
>
> (defun org-reset-checkbox-state-maybe ()
> "Reset all checkboxes in an entry if the `RESET_CHECK_BOXES' property is
> set"
> @@ -54,23 +80,30 @@
> (if (org-entry-get (point) "RESET_CHECK_BOXES")
> (org-reset-checkbox-state-subtree)))
>
> +
> (defun org-make-checklist-export ()
> "Produce a checklist containing all unchecked items from a list
> of checkbox items"
> (interactive "*")
> (if (org-entry-get (point) "LIST_EXPORT_BASENAME")
> - (let* ((export-file (concat (org-entry-get (point)
> "LIST_EXPORT_BASENAME")
> - "-" (format-time-string export-time-format)
> + (let* ((export-file (concat (org-entry-get (point)
> "LIST_EXPORT_BASENAME" nil)
> + "-" (format-time-string
> + org-checklist-export-time-format)
> ".org"))
> + (print (case (org-entry-get (point) "PRINT_EXPORT" nil)
> + (("" "nil" nil) nil)
> + (t t)
> + (nil (y-or-n-p "Print list? "))))
> exported-lines
> - title)
> + title "Checklist export")
> (save-restriction
> (save-excursion
> (org-narrow-to-subtree)
> + (org-update-checkbox-count-maybe)
> (org-show-subtree)
> (goto-char (point-min))
> - (if (looking-at org-complex-heading-regexp)
> - (setq title (match-string 4)))
> + (when (looking-at org-complex-heading-regexp)
> + (setq title (match-string 4)))
> (goto-char (point-min))
> (let ((end (point-max)))
> (while (< (point) end)
> @@ -85,14 +118,18 @@ of checkbox items"
> (dolist (entry exported-lines) (insert entry))
> (org-update-checkbox-count-maybe)
> (write-file export-file)
> - (if (y-or-n-p "Print list? ")
> - ((funcall export-function)
> - (a2ps-buffer))))))))
> + (if (print)
> + (progn (funcall org-checklist-export-function
> + org-checklist-export-params)
> + (let* ((current-a2ps-switches a2ps-switches)
> + (a2ps-switches (append current-a2ps-switches
> +
> org-checklist-a2ps-params)))
> + (a2ps-buffer)))))))))
>
> (defun org-checklist ()
> - (if (member state org-done-keywords)
> - (org-make-checklist-export))
> - (org-reset-checkbox-state-maybe))
> + (when (member state org-done-keywords)
> + (org-make-checklist-export)
> + (org-reset-checkbox-state-maybe)))
>
> (add-hook 'org-after-todo-state-change-hook 'org-checklist)
>
> diff --git a/lisp/org.el b/lisp/org.el
> index 8843486..d08155a 100644
> --- a/lisp/org.el
> +++ b/lisp/org.el
> @@ -184,6 +184,7 @@ to add the symbol `xyz', and the package must have a call
> to
> (const :tag "C annotation-helper: Call Remember directly from Browser
> (OBSOLETE, use org-protocol)" org-annotation-helper)
> (const :tag "C bookmark: Org links to bookmarks" org-bookmark)
> (const :tag "C browser-url: Store link, directly from Browser
> (OBSOLETE, use org-protocol)" org-browser-url)
> + (const :tag "C checklist: Extra functions for checklists in
> repeated tasks" org-checklist)
> (const :tag "C choose: Use TODO keywords to mark decisions
> states" org-choose)
> (const :tag "C collector: Collect properties into tables"
> org-collector)
> (const :tag "C depend: TODO dependencies for Org-mode
> (PARTIALLY OBSOLETE, see built-in dependency support))" org-depend)
--
Bastien
- Re: [Orgmode] [misc-new-features 5/5] Fix a problem I was having with plots using a script. Org-plot was deleting the data file before gnuplot read it in. I've moved the deletion of the temporary data file to an idle timer, which has fixed the problem., (continued)
- Re: [Orgmode] [misc-new-features 5/5] Fix a problem I was having with plots using a script. Org-plot was deleting the data file before gnuplot read it in. I've moved the deletion of the temporary data file to an idle timer, which has fixed the problem., Bastien, 2009/07/17
- [Orgmode] Re: [misc-new-features 4/5] Allow org-insert-link to check the X clipboard and the Emacs kill-ring for links, as well as the stored links. This makes getting URLs into org from a browser much easier, as you don't have to paste the URL into the minibuffer to insert a link., Bernt Hansen, 2009/07/13
- [Orgmode] Re: [misc-new-features 4/5] extra long subject lines, James TD Smith, 2009/07/13
- [Orgmode] Re: [misc-new-features 4/5] extra long subject lines, Bernt Hansen, 2009/07/13
- Re: [Orgmode] [misc-new-features 4/5] Allow org-insert-link to check the X clipboard and the Emacs kill-ring for links, as well as the stored links. This makes getting URLs into org from a browser much easier, as you don't have to paste the URL into the minibuffer to insert a link., Bastien, 2009/07/14
- Re: [Orgmode] [misc-new-features 4/5] Allow org-insert-link to check the X clipboard and the Emacs kill-ring for links, as well as the stored links. This makes getting URLs into org from a browser much easier, as you don't have to paste the URL into the minibuffer to insert a link., Bastien, 2009/07/17
- Re: [Orgmode] [misc-new-features 3/5] Add an option to sort tags automatically., Bastien, 2009/07/14
- Re: [Orgmode] [misc-new-features 3/5] Add an option to sort tags automatically., James TD Smith, 2009/07/14
- Re: [Orgmode] [misc-new-features 3/5] Add an option to sort tags automatically., Bastien, 2009/07/17
- Re: [Orgmode] [misc-new-features 3/5] Add an option to sort tags automatically., Bastien, 2009/07/17
- Re: [Orgmode] [misc-new-features 2/5] Bugfixes, documentation and custom options for org-checklist.,
Bastien <=
- Re: [Orgmode] [misc-new-features 2/5] Bugfixes, documentation and custom options for org-checklist., James TD Smith, 2009/07/14
- Re: [Orgmode] [misc-new-features 1/5] Add two new special properties, SINCE and SINCE_IA., Bastien, 2009/07/14
- Re: [Orgmode] [misc-new-features 1/5] Add two new special properties, SINCE and SINCE_IA., Bastien, 2009/07/17