emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Problems with (defvar foo) and Emacs 23


From: Bastien
Subject: Re: [O] Problems with (defvar foo) and Emacs 23
Date: Mon, 02 Apr 2012 08:27:36 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.94 (gnu/linux)

Achim Gratz <address@hidden> 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]