[Top][All Lists]
[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 ----
- [Emacs-diffs] Changes to emacs/src/ChangeLog [lexbind], (continued)
- [Emacs-diffs] Changes to emacs/src/ChangeLog [lexbind], Miles Bader, 2004/07/06
- [Emacs-diffs] Changes to emacs/src/ChangeLog [lexbind], Miles Bader, 2004/07/06
- [Emacs-diffs] Changes to emacs/src/ChangeLog [lexbind], Miles Bader, 2004/07/06
- [Emacs-diffs] Changes to emacs/src/ChangeLog [lexbind], Miles Bader, 2004/07/06
- [Emacs-diffs] Changes to emacs/src/ChangeLog [lexbind], Miles Bader, 2004/07/06
- [Emacs-diffs] Changes to emacs/src/ChangeLog [lexbind], Miles Bader, 2004/07/06
- [Emacs-diffs] Changes to emacs/src/ChangeLog [lexbind], Miles Bader, 2004/07/06
- [Emacs-diffs] Changes to emacs/src/ChangeLog [lexbind], Miles Bader, 2004/07/06
- [Emacs-diffs] Changes to emacs/src/ChangeLog [lexbind], Miles Bader, 2004/07/06
- [Emacs-diffs] Changes to emacs/src/ChangeLog [lexbind], Miles Bader, 2004/07/06
- [Emacs-diffs] Changes to emacs/src/ChangeLog [lexbind],
Miles Bader <=
- [Emacs-diffs] Changes to emacs/src/ChangeLog [lexbind], Miles Bader, 2004/07/08
- [Emacs-diffs] Changes to emacs/src/ChangeLog [lexbind], Miles Bader, 2004/07/16
- [Emacs-diffs] Changes to emacs/src/ChangeLog [lexbind], Miles Bader, 2004/07/16
- [Emacs-diffs] Changes to emacs/src/ChangeLog [lexbind], Miles Bader, 2004/07/23