diff options
author | Mattias EngdegÄrd <mattiase@acm.org> | 2022-06-14 12:08:15 +0200 |
---|---|---|
committer | Mattias EngdegÄrd <mattiase@acm.org> | 2022-06-14 12:14:47 +0200 |
commit | 9fb80aee176f6d5dc8fd33b63880b11a99a19657 (patch) | |
tree | 3432aaf4c527db81e6d325e0bd2027c1664f5091 /lisp | |
parent | 18a1c7de2e4278493a4ff6dff6add310869b5070 (diff) | |
download | emacs-9fb80aee176f6d5dc8fd33b63880b11a99a19657.tar.gz emacs-9fb80aee176f6d5dc8fd33b63880b11a99a19657.tar.bz2 emacs-9fb80aee176f6d5dc8fd33b63880b11a99a19657.zip |
; * lisp/emacs-lisp/cconv.el: Fix outdated comments.
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/emacs-lisp/cconv.el | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/lisp/emacs-lisp/cconv.el b/lisp/emacs-lisp/cconv.el index 4535f1aa6eb..1a501f50bfc 100644 --- a/lisp/emacs-lisp/cconv.el +++ b/lisp/emacs-lisp/cconv.el @@ -25,21 +25,20 @@ ;;; Commentary: ;; This takes a piece of Elisp code, and eliminates all free variables from -;; lambda expressions. The user entry points are cconv-closure-convert and -;; cconv-closure-convert-toplevel (for toplevel forms). +;; lambda expressions. The user entry point is `cconv-closure-convert'. ;; All macros should be expanded beforehand. ;; ;; Here is a brief explanation how this code works. -;; Firstly, we analyze the tree by calling cconv-analyze-form. +;; Firstly, we analyze the tree by calling `cconv-analyze-form'. ;; This function finds all mutated variables, all functions that are suitable ;; for lambda lifting and all variables captured by closure. It passes the tree ;; once, returning a list of three lists. ;; ;; Then we calculate the intersection of the first and third lists returned by -;; cconv-analyze form to find all mutated variables that are captured by +;; `cconv-analyze-form' to find all mutated variables that are captured by ;; closure. -;; Armed with this data, we call cconv-closure-convert-rec, that rewrites the +;; Armed with this data, we call `cconv-convert', that rewrites the ;; tree recursively, lifting lambdas where possible, building closures where it ;; is needed and eliminating mutable variables used in closure. ;; @@ -141,11 +140,9 @@ is less than this number.") ;;;###autoload (defun cconv-closure-convert (form) "Main entry point for closure conversion. --- FORM is a piece of Elisp code after macroexpansion. --- TOPLEVEL(optional) is a boolean variable, true if we are at the root of AST +FORM is a piece of Elisp code after macroexpansion. Returns a form where all lambdas don't have any free variables." - ;; (message "Entering cconv-closure-convert...") (let ((cconv-freevars-alist '()) (cconv-var-classification '())) ;; Analyze form - fill these variables with new information. |