From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Strey Subject: Re: Regression in `org-todo' Date: Mon, 2 Apr 2012 16:54:04 +0200 Message-ID: <20120402145403.GB1704@mischka.fritz.box> References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="45Z9DzgjV8m4Oswq" Return-path: Received: from eggs.gnu.org ([208.118.235.92]:55710) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SEie7-0001xv-1t for emacs-orgmode@gnu.org; Mon, 02 Apr 2012 10:54:21 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SEie1-0007gE-6N for emacs-orgmode@gnu.org; Mon, 02 Apr 2012 10:54:14 -0400 Received: from mx1.supremebox.com ([66.40.66.242]:60926) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SEie0-0007fY-TX for emacs-orgmode@gnu.org; Mon, 02 Apr 2012 10:54:09 -0400 Received: from [77.179.214.172] (helo=localhost) by mx1.supremebox.com with esmtpa (Exim 4.76) (envelope-from ) id 1SEidy-0006Do-1W for emacs-orgmode@gnu.org; Mon, 02 Apr 2012 15:54:06 +0100 Content-Disposition: inline In-Reply-To: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org --45Z9DzgjV8m4Oswq Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi Moritz & Bastien, This bug fix seems not to be complete. At least switching the todo state in repeated tasks and in conjunction with org-checklist didn't work for me as it used to before the last update. PFA a patch that solved the problem for me. ATTENTION: Please check this patch very carefully. This is my first contribution to org-mode and my first patch ever. My lisp knowledge is rudimentary and I do not really understand the code. Thanks to all developers for your work! Best regards Michael Strey On Sun, Apr 01, 2012 at 05:01:12PM +0200, Moritz Ulrich wrote: > Commit 6cbf1f417222321a47848a7368427ba8a22fe3a5 renames variable > `last-state' to `org-last-state' in org.el. This change isn't > reflected in function `org-todo'. > > That causes the following regression: Toggling a TODO state to DONE on > a headline via C-c C-t (`org-todo') results in: "Symbol's value as > variable is void: org-last-state". > This is reproducible in latest HEAD and even in tag 'release_7.8.07'. > > M-x emacs-version: GNU Emacs 24.0.94.1 (i386-apple-darwin11.3.0, NS > apple-appkit-1138.32) of 2012-03-12 on moritz-macbook.local > > The attached patch contains a simple (two line) fix. --45Z9DzgjV8m4Oswq Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="0001-s-state-org-state.patch" Content-Transfer-Encoding: quoted-printable =46rom 554b1ece898c9aaff47e729d6fa746ec21b5eefd Mon Sep 17 00:00:00 2001 =46rom: Michael Strey Date: Mon, 2 Apr 2012 16:21:34 +0200 Subject: [PATCH] s/state/org-state/ --- contrib/lisp/org-checklist.el | 2 +- lisp/org.el | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/contrib/lisp/org-checklist.el b/contrib/lisp/org-checklist.el index a974874..03c7547 100644 --- a/contrib/lisp/org-checklist.el +++ b/contrib/lisp/org-checklist.el @@ -129,7 +129,7 @@ of checkbox items" (a2ps-buffer))))))))) =20 (defun org-checklist () - (when (member state org-done-keywords) + (when (member org-state org-done-keywords) (org-make-checklist-export) (org-reset-checkbox-state-maybe))) =20 diff --git a/lisp/org.el b/lisp/org.el index 9183743..bf30497 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -2429,7 +2429,7 @@ When nil, only the date will be recorded." =20 (defcustom org-log-note-headings '((done . "CLOSING NOTE %t") - (state . "State %-12s from %-12S %t") + (org-state . "State %-12s from %-12S %t") (note . "Note taken on %t") (reschedule . "Rescheduled from %S on %t") (delschedule . "Not scheduled, was %S on %t") @@ -2458,7 +2458,7 @@ agenda log mode depends on the format of these entrie= s." (cons (const :tag "Heading when closing an item" done) string) (cons (const :tag "Heading when changing todo state (todo sequence only)" - state) string) + org-state) string) (cons (const :tag "Heading when just taking a note" note) string) (cons (const :tag "Heading when clocking out" clock-out) string) (cons (const :tag "Heading when an item is no longer scheduled" delsche= dule) string) @@ -11437,10 +11437,10 @@ For calling through lisp, arg is also interpreted= in the following way: ;; It is now done, and it was not done before (org-add-planning-info 'closed (org-current-effective-time)) (if (and (not dolog) (eq 'note org-log-done)) - (org-add-log-setup 'done state this 'findpos 'note))) + (org-add-log-setup 'done org-state this 'findpos 'note))) (when (and org-state dolog) ;; This is a non-nil state, and we need to log it - (org-add-log-setup 'state org-state this 'findpos dolog))) + (org-add-log-setup 'org-state org-state this 'findpos dolog))) ;; Fixup tag positioning (org-todo-trigger-tag-changes org-state) (and org-auto-align-tags (not org-setting-tags) (org-set-tags nil t)) @@ -11938,7 +11938,7 @@ This function is run automatically after each state= change to a DONE state." (org-todo-log-states nil) re type n what ts time to-state) (when repeat - (if (eq org-log-repeat t) (setq org-log-repeat 'state)) + (if (eq org-log-repeat t) (setq org-log-repeat 'org-state)) (setq to-state (or (org-entry-get nil "REPEAT_TO_STATE") org-todo-repeat-to-state)) (unless (and to-state (member to-state org-todo-keywords-1)) @@ -11955,7 +11955,7 @@ This function is run automatically after each state= change to a DONE state." ;; make sure we take a note, not only a time stamp (setq org-log-note-how 'note)) ;; Set up for taking a record - (org-add-log-setup 'state (or done-word (car org-done-keywords)) + (org-add-log-setup 'org-state (or done-word (car org-done-keywords)) org-last-state 'findpos org-log-repeat))) (org-back-to-heading t) @@ -12377,7 +12377,7 @@ EXTRA is additional text that will be inserted into= the notes buffer." (cond ((eq org-log-note-purpose 'clock-out) "stopped clock") ((eq org-log-note-purpose 'done) "closed todo item") - ((eq org-log-note-purpose 'state) + ((eq org-log-note-purpose 'org-state) (format "state change from \"%s\" to \"%s\"" (or org-log-note-previous-state "") (or org-log-note-state ""))) --=20 1.7.9.4 --45Z9DzgjV8m4Oswq--