Matthieu Moy <[email protected]> writes:

> Stephen Leake <[email protected]> writes:
>
>> Emacs 23.1 is released; I've switched to using it.
>>
>> The byte-compiler now warns about using the Common Lisp runtime.
>> Compiling DVC gets many warnings, mostly in xmtn.
>
> (I don't consider these very important, but it's good to follow the
> guidelines ...)

There is a bug in the xmtn code somewhere that causes a 'c' or 'C-c'
key event to be generated, intermittently. I suspect that is due to
the CL runtime; the bzr code doesn't exhibit the same bug, and the
main difference is the CL runtime (assuming the external process
running mtn isn't the problem!).

The reason the CL runtime is deprecated is that it has bugs. So we
should not use it.

I generally find fixing warnings to be a good thing. There are always
exceptions, so it would be nice if we could tell the byte compiler to
shut up in specific instances, like dir-compare in dvc-fileinfo, and
captured-values in dvc-lisp. In those cases, we could declare a global
variable, but that seems wrong.

>> I will work on eliminating CL runtime from the xmtn packages; that
>> will take a lot of work.
>
> Most of the 'cl things are actually macros, so first thing you can do
> it to replace
>
> (eval-and-compile (require 'cl))
>
> by just (eval-when-compile ...). Then, the warnings I get are :
>
> Warning: Function `gensym' from cl package called at runtime
> Warning: Function `subseq' from cl package called at runtime
> Warning: Function `gensym' from cl package called at runtime
> Warning: Function `some' from cl package called at runtime
>
> gensym => see `dvc-gensym', they should be similar.

Yes. They are the same, except dvc-gensym also declares the symbol,
apparently to satisfy 'lint'. 

Currently, dvc-gensym is only used in tla-tests.el. I gather
with-temp-buffer isn't used there because it let-binds a symbol
'temp-buffer' that might hide a symbol in the user-provided `forms'
argument? That seems unlikely, but it is certainly possible. Or maybe
the tla code was written before with-temp-buffer was available.

Otherwise, only xmtn uses gensym, but it uses gensym a lot. The xmtn
coding style makes things very hard to debug (which is partly why I
haven't found the 'c' bug above yet), so I'd like to simplify it
anyway.

-- 
-- Stephe

_______________________________________________
Dvc-dev mailing list
[email protected]
https://mail.gna.org/listinfo/dvc-dev

Reply via email to