GNU bug report logs - #12124
*Compile Log* pops up for compile warnings from programatic calls to byte-compile

Previous Next

Package: emacs;

Reported by: Ivan Kanis <ivan.kanis <at> googlemail.com>

Date: Thu, 2 Aug 2012 17:36:01 UTC

Severity: minor

Tags: confirmed, wontfix

Found in version 24.1.50

Done: Stefan Kangas <stefan <at> marxist.se>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
To: Thierry Volpiatto <thierry.volpiatto <at> gmail.com>
Cc: 12124 <at> debbugs.gnu.org
Subject: bug#12124: 24.1.50; warning pollution
Date: Fri, 03 Aug 2012 19:20:11 -0400
>>> Why instead of keeping old definitions of labels and flet don't we use
>>> aliases for cl-flet/labels (among others)?
>> Because they do not do the same (almost, but not quite).
> But the warnings say to use cl-flet/labels instead, so it should works
> as expected, what is the difference?

Warnings about obsolete features just point to the replacement feature,
but in many/most cases a human needs to adjust the code accordingly.

Some of the differences are that `labels' defines lexically-scoped vars
which can be captured in closures using the lexical-let machinery,
whereas `cl-labels' relies on lexical-binding to get the same effect, so
the vars won't get captured if the file doesn't use lexical-binding.

`flet' does something vaguely related to common-lisp's `flet' but in
a very different way (basically with dynamic scoping rather than
lexical scoping).  `cl-flet' works like common-lisp's `flet'.  As you
know, lexical and dynamic scoping often can be used interchangeably, but
not always.

> You can try with helm:
> install it and byte compile it.
> Do M-x helm-M-x and type some commands.
> You should have completion on your command.

> Now switch to another emacs and run the same command:
> It is not working, no completion.
> So it is not the flet itself that doesn't work but the function that is
> called inside this flet clause.
> recompile with this emacs and restart emacs.
> It is working.

Please make a separate bug-report for that.  And please give a more
detailed recipe (especially regarding the "install it, byte compile it
and do M-x ..." where it's not clear where and how "emacs" is started).


        Stefan




This bug report was last modified 3 years and 162 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.