emacs-devel
[Top][All Lists]
Advanced

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

Re: Anaphoric lambda macro doesn't work anymore?


From: Constantin Kulikov
Subject: Re: Anaphoric lambda macro doesn't work anymore?
Date: Mon, 18 Jan 2016 10:36:40 +0300

> your question should go to Roland Walker at GitHub

I don't think so, I used that link to show that this(anaphoric lambda with labels) pattern is used by someone other than me(actually it came from common lisp of course https://en.wikipedia.org/wiki/Anaphoric_macro).
And it was working. Now it's broken. It happened because of changes in emacs, so Roland Walker unlikely will be able to do something about it.
It's breaking change in emacs.

If someone interested -- here is the more/less working version that I use now:

(when (version< emacs-version "24.4")
  (unless (fboundp 'self)
    (fset 'self nil)))
(defmacro alambda (args &rest body)
  "Anaphoric lambda."
  (declare (indent defun))
  `(lexical-let ((self))
     (setq self #'(lambda ,args
                    (cl-letf (((symbol-function 'self) self))
                      ,@body)))
     self))



reply via email to

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