1. 12 Feb, 2011 1 commit
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/byte-lexbind.el: Delete. · ce5b520a
      Stefan Monnier authored
      * lisp/emacs-lisp/bytecomp.el (byte-compile-current-heap-environment)
      (byte-compile-current-num-closures): Remove vars.
      (byte-vec-ref, byte-vec-set): Remove byte codes.
      (byte-compile-arglist-vars, byte-compile-make-lambda-lexenv): Move from
      byte-lexbind.el.
      (byte-compile-lambda): Never build a closure.
      (byte-compile-closure-code-p, byte-compile-make-closure): Remove.
      (byte-compile-closure): Simplify.
      (byte-compile-top-level): Don't mess with heap environments.
      (byte-compile-dynamic-variable-bind): Always maintain
      byte-compile-bound-variables.
      (byte-compile-variable-ref, byte-compile-variable-set): Always just use
      the stack for lexical vars.
      (byte-compile-push-binding-init): Simplify.
      (byte-compile-not-lexical-var-p): New function, moved from cconv.el.
      (byte-compile-bind, byte-compile-unbind): New functions, moved and
      simplified from byte-lexbind.el.
      (byte-compile-let, byte-compile-let*): Simplify.
      (byte-compile-condition-case): Don't add :fun-body to the bound vars.
      (byte-compile-defmacro): Simplify.
      * lisp/emacs-lisp/byte-opt.el (byte-compile-side-effect-free-ops)
      (byte-optimize-lapcode): Remove byte-vec-ref and byte-vec-set.
      * lisp/emacs-lisp/cconv.el (cconv-not-lexical-var-p): Remove.
      (cconv-freevars, cconv-analyse-function, cconv-analyse-form):
      Use byte-compile-not-lexical-var-p instead.
      * src/bytecode.c (Bvec_ref, Bvec_set): Remove.
      (exec_byte_code): Don't handle them.
      * lisp/help-fns.el (describe-function-1): Fix paren typo.
      ce5b520a
  2. 11 Feb, 2011 5 commits
    • Stefan Monnier's avatar
      Let cconv use :fun-body in special forms that need it. · 295fb2ac
      Stefan Monnier authored
      * lisp/emacs-lisp/cconv.el (cconv-closure-convert): Drop `toplevel' arg.
      (cconv-closure-convert-toplevel): Remove.
      (cconv-lookup-let): New fun.
      (cconv-closure-convert-rec): Don't bother with defs-are-legal.
      Use :fun-body to handle special forms that require closing their forms.
      * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form, byte-compile):
      Use cconv-closure-convert instead of cconv-closure-convert-toplevel.
      (byte-compile-lambda, byte-compile-make-closure):
      * lisp/emacs-lisp/byte-lexbind.el (byte-compile-maybe-push-heap-environment):
      Make sure cconv did its job.
      * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): Check stack-depth
      before using it.
      * lisp/dired.el (dired-desktop-buffer-misc-data): Don't use a dynamic var as
      function argument.
      295fb2ac
    • Stefan Monnier's avatar
      Make cconv-analyse understand the need for closures. · 43e67019
      Stefan Monnier authored
      * lisp/emacs-lisp/byte-lexbind.el (byte-compile-lforminfo-analyze):
      Understand the :fun-body case for catch, save-window-excursion, and
      condition-case.
      (byte-compile-maybe-push-heap-environment): No need when nclosures is
      zero and byte-compile-current-num-closures is -1.
      
      * lisp/emacs-lisp/bytecomp.el (byte-compile-lambda): Fix `fun' that was not
      renamed to `bytecomp-fun'.
      
      * lisp/emacs-lisp/cconv.el (cconv-not-lexical-var-p): New function.
      (cconv-freevars): Use it.
      (cconv-closure-convert-rec): Avoid `position'.
      (cconv-analyse-function): New function.
      (cconv-analyse-form): Use it.  `inclosure' can't be nil any more.
      Check lexical vars at let-binding time rather than when referenced.
      For defuns to be in an empty environment and lambdas to take lexical args.
      Pay attention to the need to build closures in catch, unwind-protect,
      save-window-excursion, condition-case, and track-mouse.
      Fix defconst/defvar handling.
      43e67019
    • Deniz Dogan's avatar
    • Glenn Morris's avatar
    • Juanma Barranquero's avatar
  3. 10 Feb, 2011 10 commits
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/bytecomp.el (byte-compile-catch) · d779e73c
      Stefan Monnier authored
      (byte-compile-unwind-protect, byte-compile-track-mouse)
      (byte-compile-condition-case, byte-compile-save-window-excursion):
      Provide a :fun-body alternative, so that info can be propagated from the
      surrounding context, as is the case for lexical scoping.
      
      * lisp/emacs-lisp/cconv.el (cconv-mutated, cconv-captured)
      (cconv-captured+mutated, cconv-lambda-candidates): Fix up declaration.
      (cconv-freevars): Minor cleanup.  Fix handling of the error var in
      condition-case.
      d779e73c
    • Stefan Monnier's avatar
      59003be9
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/smie.el (smie-blink-matching-open): Don't use `pos' in two · 9517f8af
      Stefan Monnier authored
      conflicting ways.
      (smie-indent--parent): Extend to "parent of arg".
      (smie-indent-inside-string): New function.
      (smie-indent-functions): Use it.
      9517f8af
    • Stefan Monnier's avatar
      * lisp/vc/vc-dir.el (vc-dir-refresh): Reorder operations to try and avoid · cf77dd27
      Stefan Monnier authored
      bzr locking race condition.
      cf77dd27
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/edebug.el (edebug-instrument-function): Check a marker is · 49ffc078
      Stefan Monnier authored
      still valid before using it.
      49ffc078
    • Stefan Monnier's avatar
      * lisp/progmodes/grep.el (grep-mode-font-lock-keywords): Adjust to · 1a0a6cef
      Stefan Monnier authored
      `message' -> `compilation-message' rename.
      
      Fixes: debbugs:8004
      1a0a6cef
    • Igor Kuzmin's avatar
      * lisp/emacs-lisp/cconv.el: New file. · 94d11cb5
      Igor Kuzmin authored
      * lisp/emacs-lisp/bytecomp.el: Use cconv.
      (byte-compile-file-form, byte-compile):
      Call cconv-closure-convert-toplevel when requested.
      * lisp/server.el:
      * lisp/mpc.el:
      * lisp/emacs-lisp/pcase.el:
      * lisp/doc-view.el:
      * lisp/dired.el: Use lexical-binding.
      94d11cb5
    • Stefan Monnier's avatar
      Move keymap initialization into declaration. · b016851c
      Stefan Monnier authored
      * lisp/textmodes/enriched.el (enriched-mode-map):
      * lisp/textmodes/bib-mode.el (bib-mode-map):
      * lisp/term/lk201.el (lk201-function-map):
      * lisp/tar-mode.el (tar-mode-map):
      * lisp/replace.el (occur-mode-map):
      * lisp/progmodes/idlwave.el (idlwave-rinfo-mouse-map, idlwave-rinfo-map):
      * lisp/progmodes/idlw-help.el (idlwave-help-mode-map):
      * lisp/progmodes/gdb-mi.el (gdb-memory-format-menu, gdb-memory-unit-menu):
      * lisp/play/solitaire.el (solitaire-mode-map):
      * lisp/play/snake.el (snake-mode-map, snake-null-map):
      * lisp/play/pong.el (pong-mode-map):
      * lisp/play/handwrite.el (menu-bar-handwrite-map):
      * lisp/play/gametree.el (gametree-mode-map):
      * lisp/net/rcirc.el (rcirc-mode-map, rcirc-browse-url-map
      (rcirc-multiline-minor-mode-map, rcirc-track-minor-mode-map):
      * lisp/net/newst-plainview.el (newsticker-menu, newsticker-mode-map)
      (newsticker--url-keymap):
      * lisp/net/net-utils.el (nslookup-mode-map, ftp-mode-map):
      * lisp/menu-bar.el (menu-bar-file-menu, menu-bar-i-search-menu)
      (menu-bar-search-menu, menu-bar-replace-menu, menu-bar-goto-menu)
      (menu-bar-edit-menu, menu-bar-custom-menu)
      (menu-bar-showhide-fringe-ind-menu, menu-bar-showhide-fringe-menu)
      (menu-bar-showhide-scroll-bar-menu, menu-bar-showhide-menu)
      (menu-bar-line-wrapping-menu, menu-bar-options-menu)
      (menu-bar-games-menu, menu-bar-encryption-decryption-menu)
      (menu-bar-tools-menu, menu-bar-describe-menu)
      (menu-bar-search-documentation-menu, menu-bar-manuals-menu)
      (menu-bar-help-menu):
      * lisp/mail/rmailsum.el (rmail-summary-mode-map):
      * lisp/kmacro.el (kmacro-step-edit-map):
      * lisp/ibuffer.el (ibuffer-mode-groups-popup, ibuffer-mode-map)
      (ibuffer-mode-operate-map):
      * lisp/hi-lock.el (hi-lock-menu, hi-lock-map):
      * lisp/emulation/vip.el (vip-mode-map):
      * lisp/emacs-lisp/re-builder.el (reb-lisp-mode-map):
      * lisp/bookmark.el (bookmark-bmenu-mode-map):
      * lisp/help-mode.el (help-mode-map):
      * lisp/erc/erc-list.el (erc-list-menu-mode-map):
      * lisp/org/org-remember.el (org-remember-mode-map):
      * lisp/org/org-src.el (org-src-mode-map): Move initialization into declaration.
      b016851c
    • Deniz Dogan's avatar
      * lisp/net/rcirc.el: Add PRIVMSG and CTCP functions. · 1be1d1e9
      Deniz Dogan authored
      (rcirc-send-privmsg, rcirc-send-ctcp): New functions.
      (rcirc-keepalive, rcirc-cmd-ctcp, rcirc-ctcp-sender-PING)
      (rcirc-cmd-me, rcirc-authenticate): Use them.
      1be1d1e9
    • Ken Manheimer's avatar
      * allout.el: Synopsis: Change allout user configuration so auto-activation · 26d2a9bd
      Ken Manheimer authored
      is controlled solely by customization `allout-auto-activation'.
      26d2a9bd
  4. 09 Feb, 2011 3 commits
  5. 08 Feb, 2011 1 commit
  6. 07 Feb, 2011 6 commits
  7. 06 Feb, 2011 2 commits
  8. 05 Feb, 2011 6 commits
  9. 04 Feb, 2011 5 commits
  10. 03 Feb, 2011 1 commit