Achim Gratz <strom...@nexgo.de> writes: > Bastien writes: >> Well -- I'll be pretty busy next week, so hopefully we can fix this >> soon... any help welcome! :) > > Ditto, but you do realize this will be horribly broken in Emacs 24?
http://orgmode.org/w/?p=org-mode.git;a=commitdiff;h=08d9b466225fad7e4cacd593f5ec7d2a4cd878ff http://orgmode.org/w/?p=org-mode.git;a=commitdiff;h=c24fa194a62cbbc45fa1b58e39dac293a006a0c9 http://orgmode.org/w/?p=org-mode.git;a=commitdiff;h=fcf13e02aa4bd056316cb7476b94aecf80738b47 http://orgmode.org/w/?p=org-mode.git;a=commitdiff;h=9054ba39d085dc2910285a194ed2206b36875289 http://orgmode.org/w/?p=org-mode.git;a=commitdiff;h=b689cbfb6c4d287d839ac3b0727497e5114995d8 are fine. http://orgmode.org/w/?p=org-mode.git;a=commitdiff;h=b46fa17a97ee050b5aeccffaa7323201fe491371 was problematic, as reported by Bernt, and I think I fixed it. It leaves us with http://orgmode.org/w/?p=org-mode.git;a=commitdiff;h=6cbf1f417222321a47848a7368427ba8a22fe3a5 which should be carefully reviewed/tested/amended. > Anyway, for that single dynamic "state" variable: it is let-bound in > org.el/org-todo and then dynamically scoped in many, many places: > > contrib/lisp/{org-{checklist,choose},org2rem}.el > > /lisp/{org-{agenda,clock,icalendar,mouse,taskjuggler},org}.el The `state' dynamically scoped in these files is not necessarily the same `state' that is dynamically scoped in `org-todo'. For example in org-agenda.el there is `state' in `org-agenda-log-mode', but this is dynamically scoped in another function org-agenda.el that does not depend on org.el's definition for `state'... > So the correct prefixed name should probably be org-todo-state (there > are other such "state"s in other places, don't know yet if they are also > dynamically scoped into other functions). You need to also keep track > of which functions use "state" as a formal parameter name, since these > shadow the dynamic variable from the outside, but provide another > "state" for calls on the inside⦠Yep -- I guess we're good for a fun ride. > Haven't yet checked any of the other definitions that had their name > changed, gotta fetch some sleep before work. Please do! Let's do some heavy testing against current HEAD and let's carefully review code. But let's not panic -- Emacs is still in pretest, that's the whole purpose of a pretest. Thanks all for your help, -- Bastien