unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@IRO.UMontreal.CA>
To: Thierry Volpiatto <thierry.volpiatto@gmail.com>
Cc: 12124@debbugs.gnu.org
Subject: bug#12124: 24.1.50; warning pollution
Date: Fri, 03 Aug 2012 19:20:11 -0400	[thread overview]
Message-ID: <jwvipczzi2j.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <87fw849s81.fsf@gmail.com> (Thierry Volpiatto's message of "Fri,  03 Aug 2012 12:37:18 +0200")

>>> 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





  reply	other threads:[~2012-08-03 23:20 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-02 17:26 bug#12124: 24.1.50; warning pollution Ivan Kanis
2012-08-02 17:50 ` Thierry Volpiatto
2012-08-03  9:52   ` Stefan Monnier
2012-08-03 10:37     ` Thierry Volpiatto
2012-08-03 23:20       ` Stefan Monnier [this message]
2012-08-04  4:15         ` Thierry Volpiatto
2012-08-05  8:26     ` Ivan Kanis
2012-08-06 10:35       ` Stefan Monnier
2012-08-11 14:31         ` Ivan Kanis
2012-08-11 15:29           ` Stefan Monnier
2012-08-11 14:32         ` Ivan Kanis
2012-08-11 15:30           ` Stefan Monnier
2012-08-12  8:26             ` Ivan Kanis
2012-08-12 16:44               ` Stefan Monnier
2012-08-13 18:17                 ` Ivan Kanis
2021-12-06 23:36         ` bug#12124: *Compile Log* pops up for compile warnings from programatic calls to byte-compile Stefan Kangas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=jwvipczzi2j.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=12124@debbugs.gnu.org \
    --cc=thierry.volpiatto@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).