emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/src/ChangeLog [lexbind]


From: Miles Bader
Subject: [Emacs-diffs] Changes to emacs/src/ChangeLog [lexbind]
Date: Thu, 08 Jul 2004 04:14:54 -0400

Index: emacs/src/ChangeLog
diff -c emacs/src/ChangeLog:1.2701.2.43 emacs/src/ChangeLog:1.2701.2.44
*** emacs/src/ChangeLog:1.2701.2.43     Tue Jul  6 10:26:58 2004
--- emacs/src/ChangeLog Thu Jul  8 08:12:30 2004
***************
*** 1,72 ****
- 2004-04-10  Miles Bader  <address@hidden>
- 
-       * eval.c (Fspecialp): New function.
-       (syms_of_eval): Initialize it.
- 
- 2004-04-03  Miles Bader  <address@hidden>
- 
-       * eval.c (Feval): If a variable isn't bound lexically, fall back
-       to looking it up dynamically even if it isn't declared special.
- 
- 2002-08-26  Miles Bader  <address@hidden>
- 
-       * bytecode.c (Fbyte_code): Fsub1 can GC, so protect it.
- 
- 2002-06-12  Miles Bader  <address@hidden>
- 
-       Lexical binding changes to the byte-code interpreter:
- 
-       * bytecode.c (Bstack_ref, Bstack_set, Bstack_set2, Bvec_ref, Bvec_set)
-       (BdiscardN): New constants. 
-       (exec_byte_code): Renamed from `Fbyte_code'.
-       Implement above new bytecodes.
-       Add ARGS-TEMPLATE, NARGS and ARGS parameters, and optionally use
-       them push initial args on the stack.
-       (Fbyte_code): New function, just call `exec_byte_code'.
-       Add additional optional arguments for `exec_byte_code'.
-       (Qand_optional, Qand_rest): New extern declarations.
-       * eval.c (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.
-       * lisp.h (Fbyte_code): Declare max-args as MANY.
-       (exec_byte_code): New declaration.
- 
-       Lexical binding changes to the lisp interpreter:
- 
-       * lisp.h (struct Lisp_Symbol): Add `declared_special' field.
-       (apply_lambda): Add new 3rd arg to decl.
-       * alloc.c (Fmake_symbol): Initialize `declared_special' field.
-       * eval.c (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.
-       * lread.c (defvar_bool, defvar_lisp_nopro, defvar_per_buffer) 
-       (defvar_kboard, defvar_int): Mark the variable as special.
-       (Vlexical_binding, Qlexical_binding): New variables.
-       (syms_of_lread): Initialize them.
-       (Fload): Bind `lexically-bound' to nil unless specified otherwise
-       in the file header.
-       (lisp_file_lexically_bound_p): New function.
-       (Qinternal_interpreter_environment): New variable.
-       * doc.c (Qclosure): New extern declaration.
-       (Fdocumentation, store_function_docstring): Handle interpreted
-       closures.
- 
  2004-07-06  John Paul Wallington  <address@hidden>
  
        * eval.c (Fdefmacro): Signal an error if NAME is not a symbol.
--- 1,3 ----




reply via email to

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