emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Michael Strey <mstrey@strey.biz>
To: emacs-orgmode@gnu.org
Subject: Re: Regression in `org-todo'
Date: Mon, 2 Apr 2012 16:54:04 +0200	[thread overview]
Message-ID: <20120402145403.GB1704@mischka.fritz.box> (raw)
In-Reply-To: <CALw-MDpYXMgo_K8VqSq=G8VTgVNbFsHmKeL+sybyhURD=v0VQw@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1197 bytes --]

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.

[-- Attachment #2: 0001-s-state-org-state.patch --]
[-- Type: text/plain, Size: 3998 bytes --]

From 554b1ece898c9aaff47e729d6fa746ec21b5eefd Mon Sep 17 00:00:00 2001
From: Michael Strey <mstrey@strey.biz>
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)))))))))
 
 (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)))
 
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."
 
 (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 entries."
 	  (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" delschedule) 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 "")))
-- 
1.7.9.4


  parent reply	other threads:[~2012-04-02 14:54 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-01 15:01 Regression in `org-todo' Moritz Ulrich
2012-04-01 18:35 ` [URGENT] " Moritz Ulrich
2012-04-01 20:29   ` Bastien
2012-04-01 20:37     ` Bastien
2012-04-02 14:54 ` Michael Strey [this message]
2012-04-02 15:03   ` Bastien
2012-04-02 20:44     ` Michael Strey
2012-04-02 21:07       ` Bastien
2012-04-02 21:43         ` Nick Dokos
     [not found]       ` <mstrey@strey.biz>
2012-04-02 21:40         ` Nick Dokos
2012-04-02 22:40           ` Bastien
2012-04-02 23:18             ` Bernt Hansen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120402145403.GB1704@mischka.fritz.box \
    --to=mstrey@strey.biz \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).