[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-commit] emacs/src eval.c
From: |
Miles Bader |
Subject: |
[Emacs-commit] emacs/src eval.c |
Date: |
Tue, 11 Jun 2002 21:50:05 -0400 |
CVSROOT: /cvsroot/emacs
Module name: emacs
Branch: lexbind
Changes by: Miles Bader <address@hidden> 02/06/11 21:50:05
Modified files:
src : eval.c
Log message:
(Fcurry, Ffunctionp): New functions.
(syms_of_eval): Initialize them.
(funcall_lambda): Call `exec_byte_code' instead of Fbyte_code.
If a compiled-function object has a `push-args' slot, call the
byte-code interpreter without binding any arguments.
(Ffuncall): Add support for curried functions.
(Vinterpreter_lexical_environment): New variable.
(syms_of_eval): Initialize it.
(Fsetq): Modify SYM's lexical binding if appropriate.
(Ffunction): Return a closure if within a lexical environment.
(Flet, FletX): Lexically bind non-defvar'd variables if inside a
lexical environment.
(Feval): Return lexical binding of variables, if they have one.
Pass current lexical environment to embedded lambdas. Handle closures.
(Ffuncall): Pass nil lexical environment to lambdas. Handle closures.
(funcall_lambda): Add new LEXENV argument, and lexically bind
arguments if it's non-nil. Bind `interpreter-lexenv' if it changed.
(apply_lambda): Add new LEXENV argument and pass it to funcall_lambda.
(Fdefvaralias, Fdefvar, Fdefconst): Mark the variable as special.
(Qinternal_interpreter_environment, Qclosure): New constants.
(syms_of_eval): Initialize them.
(Fdefun, Fdefmacro): Use a closure if lexical binding is active.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/emacs/emacs/src/eval.c.diff?only_with_tag=lexbind&tr1=1.189&tr2=1.189.2.1&r1=text&r2=text
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-commit] emacs/src eval.c,
Miles Bader <=