1. 10 Mar, 2011 3 commits
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/bytecomp.el: Use lexical-binding. · 9ace101c
      Stefan Monnier authored
      (byte-recompile-directory): Remove unused var `bytecomp-dest'.
      (byte-recompile-file): Use derived-mode-p.
      (byte-compile-from-buffer): Remove arg `bytecomp-filename'.
      Use byte-compile-current-file instead.
      (byte-compile-file): Adjust call accordingly.
      (bytecomp-outbuffer): Move declaration before first use.
      (for-effect): Declare dynamic.
      (byte-compile-file-form-defmumble): Use byte-compile-current-file.
      (byte-compile-top-level, byte-compile-out-toplevel, byte-compile-form):
      Move dyn-binding of for-effect from function argument to let binding.
      (byte-compile-out-toplevel): Don't both passing for-effect to
      byte-optimize-lapcode.
      (byte-compile-top-level-body, byte-compile-body):
      Rename for-effect -> for-effect-arg so it's lexical.
      * lisp/subr.el (functionp): Remove, now that it's in src/eval.c.
      9ace101c
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/byte-opt.el: Use lexical binding. · bba752f8
      Stefan Monnier authored
      (for-effectm byte-compile-tag-number): Declare dynamic.
      (byte-optimize-form-code-walker, byte-optimize-form): Move dynamic
      binding of for-effect from function argument to let binding.
      (byte-decompile-bytecode-1): Move dynamic binding of bytedecomp-bytes
      from function argument to let binding.
      bba752f8
    • Stefan Monnier's avatar
      Rewrite the cconv conversion algorithm, for clarity. · 6c075cd7
      Stefan Monnier authored
      * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Adjust check for
      new byte-code representation.
      * lisp/emacs-lisp/cconv.el (cconv--convert-function): Rename from
      cconv-closure-convert-function.
      (cconv-convert): Rename from cconv-closure-convert-rec.
      (cconv--analyse-use): Rename from cconv-analyse-use.
      (cconv--analyse-function): Rename from cconv-analyse-function.
      (cconv--analyse-use): Change some patterns to silence compiler.
      (cconv-convert, cconv--convert-function): Rewrite.
      * test/automated/lexbind-tests.el: New file.
      6c075cd7
  2. 06 Mar, 2011 36 commits
  3. 05 Mar, 2011 1 commit