emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] var `date' lacks a prefix warnings


From: Martyn Jago
Subject: Re: [O] var `date' lacks a prefix warnings
Date: Fri, 27 Apr 2012 21:17:40 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.94 (darwin)

Hi Achim

Achim Gratz <address@hidden> writes:

> Martyn Jago writes:
>> Regarding the remaining Org-mode `lacks a prefix' warnings and
>> particularly in light of the recent message on emacs.devel [1] would it
>> not be sufficient to simply alias date and entry locally:
>>
>> (defvaralias 'org--date 'date)
>> (defvaralias 'org--entry 'entry)
>
> That doesn't work, AFAIK: defvaralias binds the symbol (it looks up
> what is behind the symbol and creates another symbol for it), but
> dynamic scoping does not (you look up what's behind the symbol each time
> you use it).  The problem is that when a symbol gets dynamically scoped
> it cannot be used as a lexical symbol after that, so any code that uses
> "date" and "entry" after the defvar doesn't get a lexcial binding.  You
> would need a language construct that would let you capture a symbol
> dynamically, internalize it (in essence it would be renaming that symbol
> in some scope) and then erase all traces of that symbol having been
> symbolically scoped so that it can be used lexically again.  I don't
> think anything like that currently exists.

I appreciate `defvaralias' doesn't work nicely with lexical variables,
but I am assuming somewhat that we are talking about dynamic variables
here?

If the global date / entry are dynamic then the dynamic `defvaralias'
alias will also be dynamic, and any prior use of the dynamic variable
will surely be a dynamic binding? I'm going to do some further testing
anyway, since I'm interested, but so far things appear to work.

>> p.s. I should point out that my personal view is that a serious well
>> maintained Emacs library such as Org-mode should have a zero warning
>> policy for official releases.
>
> Here's a problem that originates outside of our control.  At the very
> least, we can't fix it just in org.

I agree we can't fix the source of the problem but IF we can fix the
warning by removing `lack of prefixes' in Org-mode, then we have
demonstrated that we acknowledge the warning and have dealt with it.

In other words, if we can fix the problem within Org-mode we are not
propagating the problem. If we don't, then perhaps we didn't fix the
warning because we don't fix warnings.

However, it may indeed be impossible to fix as you pointed out!

Best, Martyn





reply via email to

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