1. 16 Mar, 2011 1 commit
    • Stefan Monnier's avatar
      Remove bytecomp- prefix, plus misc changes. · ca105506
      Stefan Monnier authored
      * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Make it work to
      inline lexbind interpreted functions into lexbind code.
      (bytedecomp-bytes): Not a dynamic var any more.
      (disassemble-offset): Get the bytes via an argument instead.
      (byte-decompile-bytecode-1): Use push.
      * lisp/emacs-lisp/bytecomp.el: Remove the bytecomp- prefix now that we use
      (byte-compile-outbuffer): Rename from bytecomp-outbuffer.
      * lisp/emacs-lisp/cl-macs.el (load-time-value):
      * lisp/emacs-lisp/cl.el (cl-compiling-file): Adjust to new name.
      * lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates):
      Add byte-code-function-p.
      (pcase--u1): Remove left-over code from early development.
      Fix case of variable shadowing in guards and predicates.
      (pcase--u1): Add a new `let' pattern.
      * src/image.c (parse_image_spec): Use Ffunctionp.
      * src/lisp.h: Declare Ffunctionp.
  2. 15 Mar, 2011 1 commit
  3. 13 Mar, 2011 1 commit
    • Stefan Monnier's avatar
      * src/eval.c (Ffunction): Use simpler format for closures. · 23aba0ea
      Stefan Monnier authored
      (Fcommandp, funcall_lambda):
      * src/doc.c (Fdocumentation, store_function_docstring):
      * src/data.c (Finteractive_form):
      * lisp/help-fns.el (help-function-arglist):
      * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
      * lisp/subr.el (apply-partially): Adjust to new closure format.
      * lisp/emacs-lisp/disass.el (disassemble-internal): Catch closures.
  4. 12 Mar, 2011 1 commit
    • Stefan Monnier's avatar
      Try and fix w32 build; misc cleanup. · 2ec42da9
      Stefan Monnier authored
      * lisp/subr.el (apply-partially): Move from subr.el; don't use lexical-let.
      (eval-after-load): Obey lexical-binding.
      * lisp/simple.el (apply-partially): Move to subr.el.
      * lisp/makefile.w32-in: Match changes in Makefile.in.
      (.el.elc, compile-CMD, compile-SH, compile-always-CMD)
      (compile-always-SH, compile-calc-CMD, compile-calc-SH): Use them.
      (COMPILE_FIRST): Add pcase, macroexp, and cconv.
      * lisp/emacs-lisp/macroexp.el (macroexpand-all-1): Silence warning about
      calling CL's `compiler-macroexpand'.
      * lisp/emacs-lisp/bytecomp.el (byte-compile-preprocess): New function.
      (byte-compile-toplevel-file-form, byte-compile, byte-compile-sexp): Use it.
      (byte-compile-eval, byte-compile-eval-before-compile): Obey lexical-binding.
      (byte-compile--for-effect): Rename from `for-effect'.
      (display-call-tree): Use case.
      * lisp/emacs-lisp/byte-opt.el (for-effect): Don't declare as dynamic.
      (byte-optimize-form-code-walker, byte-optimize-form):
      Revert to old arg name.
      * lisp/Makefile.in (BYTE_COMPILE_FLAGS): New var.
      (compile-onefile, .el.elc, compile-calc, recompile): Use it.
  5. 11 Mar, 2011 1 commit
    • Stefan Monnier's avatar
      Misc fixes, and use lexical-binding in more files. · ba83908c
      Stefan Monnier authored
      * lisp/subr.el (letrec): New macro.
      (with-wrapper-hook): Move from lisp/simple.el and don't use CL.
      * simple.el (with-wrapper-hook): Move with-wrapper-hook to subr.el.
      * lisp/help-fns.el (help-function-arglist): Handle subroutines as well.
      (describe-variable): Use special-variable-p to filter completions.
      * lisp/emacs-lisp/macroexp.el (macroexpand-all-1): Don't expand `declare'
      in defmacros.
      * lisp/emacs-lisp/cconv.el (cconv-convert, cconv-analyse-form):
      Handle `declare'.
      * lisp/emacs-lisp/cl.el (pushnew): Silence unfixable warning.
      * lisp/emacs-lisp/cl-macs.el (defstruct, define-compiler-macro):
      Mark unused arg as unused.
      * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): Use memq.
      * lisp/emacs-lisp/autoload.el (make-autoload): Don't assume the macro's
      first sexp is a list.
      (autoload-generate-file-autoloads): Improve error message.
      * lisp/emacs-lisp/advice.el (ad-arglist): Use help-function-arglist
      to understand the new byte-code arg format.
      * lisp/vc/smerge-mode.el:
      * lisp/vc/log-view.el:
      * lisp/vc/log-edit.el:
      * lisp/vc/cvs-status.el:
      * lisp/uniquify.el:
      * lisp/textmodes/css-mode.el:
      * lisp/textmodes/bibtex-style.el:
      * lisp/reveal.el:
      * lisp/newcomment.el:
      * lisp/emacs-lisp/smie.el:
      * lisp/abbrev.el: Use lexical-binding.
      * src/eval.c (Fprog1, Fprog2): Simplify and use XCDR/XCAR.
      (Fdefvar): Remove redundant SYMBOLP check.
      (Ffunctionp): Don't signal an error for undefined aliases.
      * doc/lispref/variables.texi (Converting to Lexical Binding): New node.
  6. 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-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.
    • 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.
    • 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-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.
  7. 06 Mar, 2011 15 commits
    • Chong Yidong's avatar
      Bind C-y in Isearch to isearch-yank-kill. · 892777ba
      Chong Yidong authored
      * lisp/isearch.el (isearch-mode-map): Bind C-y to isearch-yank-kill,
      and move isearch-yank-line to M-s C-e.
      * doc/emacs/search.texi (Isearch Yank): C-y now bound to isearch-yank-kill.
    • Alan Mackenzie's avatar
      (c-guess-basic-syntax): Move CASE 19 to a different place, correctly to · 804a116c
      Alan Mackenzie authored
      process template-args-cont lines.
    • Alan Mackenzie's avatar
    • Stefan Monnier's avatar
      Fix pcase memoizing; change lexbound byte-code marker. · e2abe5a1
      Stefan Monnier authored
      * src/bytecode.c (exec_byte_code): Remove old lexical binding slot handling
      and replace it with the a integer args-desc handling.
      * eval.c (funcall_lambda): Adjust arglist test accordingly.
      * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-signature):
      Handle integer arglist descriptor.
      (byte-compile-make-args-desc): Make integer arglist descriptor.
      (byte-compile-lambda): Use integer arglist descriptor to mark lexical
      byte-coded functions instead of an extra slot.
      * lisp/help-fns.el (help-add-fundoc-usage): Don't add a dummy doc.
      (help-split-fundoc): Return a nil doc if there was no actual doc.
      (help-function-arglist): Generate an arglist from an integer arg-desc.
      * lisp/emacs-lisp/pcase.el (pcase--memoize): Rename from pcase-memoize;
      Make only the key weak.
      (pcase): Change the key used in the memoization table, so it does not
      always get GC'd away.
      * lisp/emacs-lisp/macroexp.el (macroexpand-all-1): Slight change to the
      pcase pattern to generate slightly better code.
    • Jay Belanger's avatar
      * calc/calc-units.el (math-midi-round, math-freqp, math-midip) · 05a29101
      Jay Belanger authored
        (math-spnp, math-spn-to-midi, math-midi-to-spn, math-freq-to-spn)
        (math-midi-to-freq, math-spn-to-freq, calcFunc-spn, calcFunc-midi)
        (calcFunc-freq, calc-freq, calc-midi, calc-spn): New functions.
        (math-notes): New variable.
      * calc/calc.el (calc-note-threshold): New variable.
      * calc/calc-ext.el (calc-init-extensions): Add keybindings for
        calc-spn, calc-midi, calc-freq.  Add autoloads for calcFunc-spn,
        calcFunc-midi, calcFunc-freq, calc-spn, calc-midi and calc-freq.
      * doc/misc/calc.tex (Musical Notes): New section.
        (Customizing Calc): Mention calc-note-threshold.
    • Jay Belanger's avatar
      * doc/misc/calc.texi (Logarithmic Units): Rename calc-logunits-dblevel · 479a2c9b
      Jay Belanger authored
        and calc-logunits-nplevel to calc-dblevel and calc-nplevel,
      * calc/calc-ext.el (calc-init-extensions): Rename calc-logunits-dblevel
        and calc-logunits-nplevel to calc-dblevel and calc-nplevel,
      * calc/calc-units.el (calc-dblevel): Rename from calc-logunits-dblevel.
        (calc-nplevel): Rename from calc-logunits-nplevel.
    • Chong Yidong's avatar
      Allow specifying local ELPA mirrors in package-archives. · f561e49a
      Chong Yidong authored
      * emacs-lisp/package.el (package-archives): Accept either ordinary
      directory names, in addition to HTTP URLs.
      (package--with-work-buffer): New macro.   Handle normal directories.
      (package-handle-response): Don't display the failing buffer.
      (package-download-single, package-download-tar)
      (package--download-one-archive): Use package--with-work-buffer.
      (package-archive-base): Rename from package-archive-url.
    • Glenn Morris's avatar
      generic-x trivia. · 79a0fb58
      Glenn Morris authored
      * lisp/generic-x.el (generic-unix-modes): Add xmodmap-generic-mode.
      (xmodmap-generic-mode): Respect generic-extras-enable-list.
    • Daniel Clemente's avatar
    • Juanma Barranquero's avatar
      Fix typos. · 01c35094
      Juanma Barranquero authored
      * etc/srecode/el.srt: Fix typo.
      * lisp/allout.el (allout-init, allout-prefixed-keybindings)
      * lisp/progmodes/prolog.el (prolog-find-term):
        Fix typos in docstrings.
      * lisp/org/org.el (org-blank-before-new-entry, org-context-in-file-links)
        (org-refile-targets, org-log-repeat, org-insert-link)
        (org-speed-command-default-hook, org-speed-command-hook)
        (org-in-regexps-block-p, org-yank-generic, org-goto-first-child):
        Fix typos in docstrings.
        (org-toggle-pretty-entities): Fix typo in message.
    • Nikolaj Schumacher's avatar
    • Kevin Ryde's avatar
    • Michael Shields's avatar
      Doc fixes for bug#5567 (tiny change) · aa248733
      Michael Shields authored
      * lisp/window.el (one-window-p, walk-windows, display-buffer): Doc fixes.
      * src/window.c (Fnext_window): Doc (and comment) fixes.
    • Jay Belanger's avatar
      * cus-edit.el (custom-prompt-variable): Use the `custom-get' property · da0275f8
      Jay Belanger authored
        of the variable if it exists.
    • Juanma Barranquero's avatar
      * lisp/bookmark.el: · 845fc5e5
      Juanma Barranquero authored
      * lisp/desktop.el:
      * lisp/emacs-lock.el:
      * lisp/ps-print.el:
      * lisp/saveplace.el:
      * lisp/net/tramp-cache.el:
      * lisp/textmodes/reftex.el:
      * lisp/org/org-id.el: Don't set `kill-emacs-hook' on noninteractive sessions.
      Fixes: debbugs:8137
  8. 05 Mar, 2011 14 commits
    • Chong Yidong's avatar
    • Antoine Levitt's avatar
      Replace many instances of read-file-name with read-directory-name. · 7e27ce9c
      Antoine Levitt authored
      * lisp/files.el (delete-directory, copy-directory, list-directory): Use
      * lisp/find-file.el (ff-find-the-other-file):
      * lisp/net/ange-ftp.el (ange-ftp-make-directory):
      * lisp/printing.el (pr-interactive-dir):
      * lisp/progmodes/ada-prj.el (ada-prj-load-directory):
      * lisp/progmodes/ebnf2ps.el (ebnf-print-directory)
      (ebnf-spool-directory, ebnf-eps-directory)
      * lisp/shell.el (shell):
      * lisp/speedbar.el (speedbar-create-directory):
      * lisp/vc/emerge.el (emerge-merge-directories):
      * lisp/vc/vc-dir.el (vc-dir):
      * lisp/vc/vc.el (vc-create-tag, vc-retrieve-tag): Likewise.
      * lisp/gnus.el (gnus-interactive): Use read-directory-name.
      * lisp/gnus-uu.el (gnus-uu-decode-uu-and-save)
      (gnus-uu-decode-unshar-and-save, gnus-uu-decode-save)
      (gnus-uu-decode-binhex, gnus-uu-decode-yenc)
      (gnus-uu-decode-save-view, gnus-uu-decode-postscript-and-save):
      * lisp/mh-funcs.el (mh-store-msg, mh-store-buffer):
      * lisp/mh-mime.el (mh-mime-save-parts): Use read-directory-name.
      * lisp/dired.el: Clarify comment.
    • Chong Yidong's avatar
      Fix to help-buffer to ensure it returns a valid buffer (Bug#8147). · d23ae2b0
      Chong Yidong authored
      * lisp/help-mode.el (help-buffer): If we are to return the current
      buffer, signal an error if it's not in Help mode.
    • Glenn Morris's avatar
      Add ChangeLog bug ref. · cb6fa1ad
      Glenn Morris authored
    • Reuben Thomas's avatar
      Handle git-style backup names in file-name-version-regexp (Bug#8159). · 2de9cc1a
      Reuben Thomas authored
      * files.el (file-name-version-regexp): Handle backup files of the
      form `foo.js.~HEAD~1~' (Bug#8159).
    • Glenn Morris's avatar
      Move eshell's self-tests to the test/ directory. · 81fb60b2
      Glenn Morris authored
      * lisp/eshell/esh-var.el: Don't require esh-test when compiling.
      * lisp/eshell/em-banner.el, lisp/eshell/esh-cmd.el, lisp/eshell/esh-mode.el:
      * lisp/eshell/esh-var.el, lisp/eshell/eshell.el: Move tests to esh-test.
      * lisp/eshell/esh-test.el: Move to ../../test/eshell.el
      * test/eshell.el: Move here from lisp/eshell/esh-test.el.
    • David Engster's avatar
      Make save-some-buffers message more informative (Bug#8134). · c5f09daf
      David Engster authored
      * files.el (save-some-buffers): Report the names of buffers saved
      automatically due to buffer-save-without-query.
    • Deniz Dogan's avatar
      * lisp/net/rcirc.el: Add QuakeNet authentication support. · 77f63d30
      Deniz Dogan authored
      (rcirc-authinfo, rcirc-check-auth-status)
      (rcirc-authenticate): Support QuakeNet.
    • Deniz Dogan's avatar
      * lisp/net/rcirc.el: Add functionality to authenticate before autojoining channels. · 72d2c2e3
      Deniz Dogan authored
      (rcirc-authenticate-before-join): New option.
      (rcirc-authenticated-hook): New variable.
      (rcirc-connect): Make local variable rcirc-user-authenticated.
      (rcirc-handler-001): Respect rcirc-authenticate-before-join.
      (rcirc-check-auth-status, rcirc-join-channels-post-auth): New
      (rcirc-handler-PRIVMSG, rcirc-handler-NOTICE): Call
    • Michael Albinus's avatar
      Add package name. Fix author email address. · d733e817
      Michael Albinus authored
      * net/soap-client.el (soap-namespace-put-link): Check if the target
      name is fully qualified -- use only the name part.
      (soap-parse-complex-type, soap-parse-sequence): Recognize xsd:all
      types, treated the same as xsd:sequence.  (Bug#8166)
    • Eli Zaretskii's avatar
      Fix bug #8177 with re-visiting image files. · 3ae59fff
      Eli Zaretskii authored
       files.el (find-file-noselect): Don't ask about re-visiting
       non-literally if the file is already visited in image-mode.
    • Glenn Morris's avatar
      Default all eshell hooks to nil (bug#5375) · d783d303
      Glenn Morris authored
      * eshell/esh-mode.el (eshell-kill-buffer-function): New function.
      (eshell-mode): Use eshell-kill-buffer-function.
      Run the -initialize functions independently of the -load-hooks.
      * eshell/esh-proc.el (eshell-kill-process-function): New function.
      (eshell-gather-process-output, eshell-sentinel)
      (eshell-interrupt-process, eshell-kill-process, eshell-quit-process):
      Use eshell-kill-process-function.
      * eshell/em-alias.el (eshell-alias-load-hook):
      * eshell/em-banner.el (eshell-banner-load-hook):
      * eshell/em-cmpl.el (eshell-cmpl-load-hook):
      * eshell/em-dirs.el (eshell-dirs-load-hook):
      * eshell/em-glob.el (eshell-glob-load-hook):
      * eshell/em-hist.el (eshell-hist-load-hook):
      * eshell/em-pred.el (eshell-pred-load-hook):
      * eshell/em-prompt.el (eshell-prompt-load-hook):
      * eshell/em-rebind.el (eshell-rebind-load-hook):
      * eshell/em-script.el (eshell-script-load-hook):
      * eshell/em-smart.el (eshell-smart-load-hook):
      * eshell/em-term.el (eshell-term-load-hook):
      * eshell/em-unix.el (eshell-unix-load-hook):
      * eshell/esh-arg.el (eshell-arg-load-hook):
      * eshell/esh-cmd.el (eshell-cmd-load-hook):
      * eshell/esh-ext.el (eshell-ext-load-hook):
      * eshell/esh-io.el (eshell-io-load-hook):
      * eshell/esh-mode.el (eshell-exit-hook):
      * eshell/esh-proc.el (eshell-proc-load-hook, eshell-kill-hook):
      * eshell/esh-var.el (eshell-var-load-hook):
      Set default hook values to nil.  (Bug#5375)
    • Glenn Morris's avatar
      esh-module doc fixes. · 4a0f18a8
      Glenn Morris authored
      * lisp/eshell/esh-module.el (eshell-module-unload-hook)
      (eshell-modules-list): Remove leading * from defcustom docs.
    • Glenn Morris's avatar
      Make eshell-for obsolete (replaced by dolist) · a9eeff78
      Glenn Morris authored
      * eshell/esh-util.el (eshell-for): Make it obsolete.
      * eshell/em-alias.el (eshell/alias, eshell-alias-completions):
      * eshell/em-dirs.el (eshell-save-some-last-dir):
      * eshell/em-hist.el (eshell-save-some-history, eshell-hist-parse-modifier):
      * eshell/em-ls.el (eshell-ls-dir, eshell-ls-files, eshell-ls-entries):
      * eshell/em-unix.el (eshell/cat, eshell/du, eshell/su):
      * eshell/esh-cmd.el (eshell-invoke-directly, eshell-do-eval, eshell/which):
      * eshell/esh-ext.el (eshell-find-interpreter):
      * eshell/esh-mode.el (eshell-mode):
      * eshell/esh-module.el (eshell-unload-extension-modules):
      * eshell/esh-proc.el (eshell-process-interact):
      * eshell/esh-test.el (eshell-test):
      * eshell/esh-util.el (eshell-flatten-list, eshell-winnow-list):
      * eshell/esh-var.el (eshell/env, eshell-environment-variables)
      * eshell/eshell.el (eshell-unload-all-modules):
      Replace eshell-for with dolist.
  9. 04 Mar, 2011 3 commits