emacs-diffs
[Top][All Lists]
Advanced

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

master 43a6b3f5231: * list/emacs-lisp/cconv.el (cconv-make-interpreted-c


From: Stefan Monnier
Subject: master 43a6b3f5231: * list/emacs-lisp/cconv.el (cconv-make-interpreted-closure): Tweak docstring
Date: Mon, 20 Feb 2023 17:11:17 -0500 (EST)

branch: master
commit 43a6b3f52315ed1c9e339010ef7aa64c8bf0dc64
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Commit: Stefan Monnier <monnier@iro.umontreal.ca>

    * list/emacs-lisp/cconv.el (cconv-make-interpreted-closure): Tweak docstring
---
 lisp/emacs-lisp/cconv.el | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/lisp/emacs-lisp/cconv.el b/lisp/emacs-lisp/cconv.el
index 940a1045625..ad9d8ab0a51 100644
--- a/lisp/emacs-lisp/cconv.el
+++ b/lisp/emacs-lisp/cconv.el
@@ -463,7 +463,7 @@ places where they originally did not directly appear."
                                   ; first element is lambda expression
     (`(,(and `(lambda . ,_) fun) . ,args)
      ;; FIXME: it's silly to create a closure just to call it.
-     ;; Running byte-optimize-form earlier will resolve this.
+     ;; Running byte-optimize-form earlier would resolve this.
      `(funcall
        ,(cconv-convert `(function ,fun) env extend)
        ,@(mapcar (lambda (form)
@@ -878,14 +878,14 @@ lexically and dynamically bound symbols actually used by 
FORM."
         (cons fvs dyns)))))
 
 (defun cconv-make-interpreted-closure (fun env)
-  ;; FIXME: I don't know what "This function is evaluated both at
-  ;; compile time and run time" is intended to mean here.
   "Make a closure for the interpreter.
-This function is evaluated both at compile time and run time.
-FUN, the closure's function, must be a lambda form.
-ENV, the closure's environment, is a mixture of lexical bindings of the form
-\(SYMBOL . VALUE) and symbols which indicate dynamic bindings of those
-symbols."
+This is intended to be called at runtime by the ELisp interpreter (when
+the code has not been compiled).
+FUN is the closure's source code, must be a lambda form.
+ENV is the runtime representation of the lexical environment,
+i.e. a list whose elements can be either plain symbols (which indicate
+that this symbol should use dynamic scoping) or pairs (SYMBOL . VALUE)
+for the lexical bindings."
   (cl-assert (eq (car-safe fun) 'lambda))
   (let ((lexvars (delq nil (mapcar #'car-safe env))))
     (if (or (null lexvars)



reply via email to

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