-2011-03-30 Stefan Monnier <monnier@iro.umontreal.ca>
-
- * subr.el (apply-partially): Use a non-nil static environment.
- (--dolist-tail--, --dotimes-limit--): Don't declare dynamically bound.
- (dolist): Use a more efficient form for lexical-binding.
- (dotimes): Use a cleaner semantics for lexical-binding.
-
- * emacs-lisp/edebug.el (edebug-eval-top-level-form):
- Use eval-sexp-add-defvars.
-
-2011-03-30 Juanma Barranquero <lekktu@gmail.com>
-
- * makefile.w32-in (COMPILE_FIRST): Remove pcase.
-
-2011-03-30 Stefan Monnier <monnier@iro.umontreal.ca>
-
- * subr.el (with-output-to-temp-buffer): Don't change current-buffer to
- standard-output while running the body.
-
- * startup.el: Fix up warnings, move lambda expressions
- outside of quote.
-
- * Makefile.in (COMPILE_FIRST): Remove pcase; it's not so important.
-
-2011-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
-
- * startup.el: Convert to lexical-binding. Mark unused arguments.
- (command-line-1): Get rid of the "cl1-" prefix now that we use lexical
- scoping instead.
- * emacs-lisp/float-sup.el (pi): Leave it lexically scoped.
- * emacs-lisp/lisp-mode.el (eval-sexp-add-defvars): New fun.
- (eval-last-sexp-1): Use eval-sexp-add-defvars.
- * emacs-lisp/edebug.el (edebug-eval-defun): Use eval-sexp-add-defvars.
- * emacs-lisp/cconv.el (cconv--analyse-function):
- Fix `report-error/log-warning' mixup.
-
-2011-03-23 Stefan Monnier <monnier@iro.umontreal.ca>
-
- * emacs-lisp/bytecomp.el (byte-compile-file-form-defmumble):
- byte-compile-lambda now always returns a byte-code-function.
- (byte-compile-byte-code-maker, byte-compile-byte-code-unmake)
- (byte-compile-closure): Remove.
- (byte-compile-lambda): Always return a byte-code-function.
- (byte-compile-top-level): Don't handle `byte-code' forms specially.
- (byte-compile-inline-lapcode): New function, taken from byte-opt.el.
- (byte-compile-unfold-bcf): New function.
- (byte-compile-form): Use it to optimize inline byte-code-functions.
- (byte-compile-function-form, byte-compile-defun): Simplify.
- (byte-compile-defmacro): Don't bother calling
- byte-compile-byte-code-maker.
- * emacs-lisp/byte-opt.el (byte-inline-lapcode): Move to bytecomp.el.
- (byte-compile-inline-expand): Inline all bytecompiled functions.
- Unify the inlining code of the lexbind and dynbind interpreted
- functions.
- (byte-compile-unfold-lambda): Don't handle byte-compiled functions
- at all.
- (byte-optimize-form-code-walker): Don't optimize byte-compiled inlined
- functions here.
- (byte-compile-splice-in-already-compiled-code): Remove.
- (byte-code): Don't optimize it any more.
- (byte-decompile-bytecode-1): Remove unused bytedecomp-bytes.
- Leave `byte-return's even for `make-spliceable'.
-
-2011-03-20 Christian Ohler <ohler@gnu.org>
-
- * emacs-lisp/cl-macs.el (cl-block-wrapper): Fix typo that broke CL
- blocks.
-
-2011-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
-
- * emacs-lisp/debug.el (debugger-setup-buffer): Revert local change to
- print depth and length.
-
-2011-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
-
- * emacs-lisp/cl-macs.el (cl-byte-compile-block, cl-block-wrapper)
- (cl-block-throw, cl-byte-compile-throw): Use a compiler-macro rather
- than a `byte-compile' hook to optimize away unused CL blocks, so that
- also works for lexbind code.
- Move the code after define-compiler-macro.
-
-2011-03-16 Stefan Monnier <monnier@iro.umontreal.ca>
-
- * 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.
-
- * emacs-lisp/bytecomp.el: Remove the bytecomp- prefix now that we use
- lexical-binding.
- (byte-compile-outbuffer): Rename from bytecomp-outbuffer.
- * emacs-lisp/cl-macs.el (load-time-value):
- * emacs-lisp/cl.el (cl-compiling-file): Adjust to new name.
-
- * 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.
-
-2011-03-15 Stefan Monnier <monnier@iro.umontreal.ca>
-
- * makefile.w32-in (COMPILE_FIRST): Fix up last change.
- * ldefs-boot.el: Revert to upstream's version.
-
-2011-03-13 Stefan Monnier <monnier@iro.umontreal.ca>
-
- * help-fns.el (help-function-arglist):
- * emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
- * subr.el (apply-partially): Adjust to new format.
- * emacs-lisp/disass.el (disassemble-internal): Catch closures.
-
-2011-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
-
- * subr.el (apply-partially): Move from subr.el; don't use lexical-let.
- (eval-after-load): Obey lexical-binding.
- * simple.el (apply-partially): Move to subr.el.
- * makefile.w32-in: Match changes in Makefile.in.
- (BIG_STACK_DEPTH, BIG_STACK_OPTS, BYTE_COMPILE_FLAGS): New vars.
- (.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.
- * emacs-lisp/macroexp.el (macroexpand-all-1): Silence warning about
- calling CL's `compiler-macroexpand'.
- * emacs-lisp/bytecomp.el (byte-compile-preprocess): New function.
- (byte-compile-initial-macro-environment)
- (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.
- * 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.
- * Makefile.in (BYTE_COMPILE_FLAGS): New var.
- (compile-onefile, .el.elc, compile-calc, recompile): Use it.
-
-2011-03-11 Stefan Monnier <monnier@iro.umontreal.ca>
-
- * subr.el (letrec): New macro.
- (with-wrapper-hook): Move from simple.el and don't use CL.
- * simple.el (with-wrapper-hook): Move with-wrapper-hook to subr.el.
- * help-fns.el (help-function-arglist): Handle subroutines as well.
- (describe-variable): Use special-variable-p to filter completions.
- * emacs-lisp/macroexp.el (macroexpand-all-1): Don't expand `declare'
- in defmacros.
- * emacs-lisp/cconv.el (cconv-convert, cconv-analyse-form):
- Handle `declare'.
- * emacs-lisp/cl.el (pushnew): Silence unfixable warning.
- * emacs-lisp/cl-macs.el (defstruct, define-compiler-macro):
- Mark unused arg as unused.
- * emacs-lisp/byte-opt.el (byte-optimize-lapcode): Use memq.
- * emacs-lisp/autoload.el (make-autoload): Don't assume the macro's
- first sexp is a list.
- (autoload-generate-file-autoloads): Improve error message.
- * emacs-lisp/advice.el (ad-arglist): Use help-function-arglist
- to understand the new byte-code arg format.
- * vc/smerge-mode.el:
- * vc/log-view.el:
- * vc/log-edit.el:
- * vc/cvs-status.el:
- * uniquify.el:
- * textmodes/css-mode.el:
- * textmodes/bibtex-style.el:
- * reveal.el:
- * newcomment.el:
- * emacs-lisp/smie.el:
- * abbrev.el: Use lexical-binding.
-
-2011-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
-
- * emacs-lisp/bytecomp.el: Use lexical-binding.
- (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.
-
- * subr.el (functionp): Remove, now that it's in src/eval.c.
-
- * emacs-lisp/byte-opt.el: Use lexical-binding.
- (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.
-
- * 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.
- * emacs-lisp/byte-opt.el (byte-compile-inline-expand): Adjust check for
- new byte-code representation.
-
-2011-03-06 Stefan Monnier <monnier@iro.umontreal.ca>
-
- * 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.
- * 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.
- * 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.
- * emacs-lisp/macroexp.el (macroexpand-all-1): Slight change to the
- pcase pattern to generate slightly better code.
-
-2011-03-01 Stefan Monnier <monnier@iro.umontreal.ca>
-
- * emacs-lisp/cconv.el (cconv-liftwhen): Increase threshold.
- (cconv-closure-convert-rec): Convert interactive spec in empty lexenv.
- (cconv-analyse-use): Improve unused vars warnings.
- (cconv-analyse-form): Analyze interactive spec in empty lexenv.
- * emacs-lisp/bytecomp.el (byte-compile-lambda): Always byte-compile
- the interactive spec in lexical-binding mode.
- (byte-compile-refresh-preloaded): Don't reload byte-compiler files.
- * custom.el (custom-initialize-default): Use defvar.
- (custom-declare-variable): Set the special-variable-p flag.
- * help-fns.el (help-make-usage): Drop leading underscores.
- * dired.el (dired-revert, dired-make-relative): Mark unused args.
- (dired-unmark-all-files): Remove unused var `query'.
- (dired-overwrite-confirmed): Declare.
- (dired-restore-desktop-buffer): Don't use dynamically scoped arg names.
- * mpc.el: Mark unused args.
- (mpc--faster-toggle): Remove unused var `songnb'.
- * server.el (server-kill-buffer-running): Move before first use.
- * minibuffer.el: Mark unused args.
-
-2011-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
-
- * emacs-lisp/cconv.el (cconv-closure-convert-rec): Fix last change for
- λ-lift candidates that end up not λ-lifted.
-
- * emacs-lisp/cconv.el: Compute freevars in cconv-analyse.
- (cconv-mutated, cconv-captured): Remove.
- (cconv-captured+mutated, cconv-lambda-candidates): Don't give them
- a global value.
- (cconv-freevars-alist): New var.
- (cconv-freevars): Remove.
- (cconv--lookup-let): Remove.
- (cconv-closure-convert-function): Extract from cconv-closure-convert-rec.
- (cconv-closure-convert-rec): Adjust to above changes.
- (fboundp): New function.
- (cconv-analyse-function, form): Rewrite.
- * emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment):
- Handle declare-function here.
- (byte-compile-obsolete): Remove.
- (byte-compile-arglist-warn): Check late defsubst here.
- (byte-compile-file-form): Simplify.
- (byte-compile-file-form-defsubst): Remove.
- (byte-compile-macroexpand-declare-function): Rename from
- byte-compile-declare-function, turn it into a macro-expander.
- (byte-compile-normal-call): Check obsolescence.
- (byte-compile-quote-form): Remove.
- (byte-compile-defmacro): Revert to trunk's definition which seems to
- work just as well and handles `declare'.
- * emacs-lisp/byte-run.el (make-obsolete): Don't modify byte-compile.
- * Makefile.in (BIG_STACK_DEPTH): Increase to 1200.
- (compile-onefile): Pass $(BIG_STACK_OPTS) before "-l bytecomp".
- * emacs-lisp/macroexp.el: Use lexbind.
- (macroexpand-all-1): Check macro obsolescence.
- * vc/diff-mode.el: Use lexbind.
- * follow.el (follow-calc-win-end): Simplify.
-
-2011-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
-
- * emacs-lisp/bytecomp.el (byte-compile-lapcode): Handle new form of
- `byte-constant'.
- (byte-compile-close-variables, displaying-byte-compile-warnings):
- Add edebug spec.
- (byte-compile-toplevel-file-form): New fun, split out of
- byte-compile-file-form.
- (byte-compile-from-buffer): Use it to avoid applying cconv
- multiple times.
- (byte-compile): Only strip `function' if it's present.
- (byte-compile-lambda): Add `reserved-csts' argument.
- Use new lexenv arg of byte-compile-top-level.
- (byte-compile-reserved-constants): New var.
- (byte-compile-constants-vector): Obey it.
- (byte-compile-constants-vector): Handle new `byte-constant' form.
- (byte-compile-top-level): Add args `lexenv' and `reserved-csts'.
- (byte-compile-form): Don't check callargs here.
- (byte-compile-normal-call): Do it here instead.
- (byte-compile-push-unknown-constant)
- (byte-compile-resolve-unknown-constant): Remove, unused.
- (byte-compile-make-closure): Use `make-byte-code' rather than `curry',
- putting the environment into the "constant" pool.
- (byte-compile-get-closed-var): Use special byte-constant.
- * emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Handle new
- intermediate special form `internal-make-vector'.
- (byte-optimize-lapcode): Handle new form of `byte-constant'.
- * help-fns.el (describe-function-1): Don't handle funvecs.
- * emacs-lisp/macroexp.el (macroexpand-all-1): Only convert quote to
- function if the content is a lambda expression, not if it's a closure.
- * emacs-lisp/eieio-come.el: Remove.
- * emacs-lisp/eieio.el: Don't require eieio-comp.
- (defmethod): Do a bit more work to find the body and wrap it into
- a function before passing it to eieio-defmethod.
- (eieio-defmethod): New arg `code' for it.
- * emacs-lisp/debug.el (debugger-setup-buffer): Don't hide things in
- debugger backtrace.
- * emacs-lisp/cl-extra.el (cl-macroexpand-all): Use backquotes, and be
- more careful when quoting a function value.
- * emacs-lisp/cconv.el (cconv-freevars): Accept defvar/defconst.
- (cconv-closure-convert-rec): Catch stray `internal-make-closure'.
- * Makefile.in (COMPILE_FIRST): Compile pcase and cconv early.
-
-2011-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
-
- * emacs-lisp/cconv.el (cconv-closure-convert-rec): Let the byte
- compiler choose the representation of closures.
- (cconv--env-var): Remove.
- * emacs-lisp/bytecomp.el (byte-compile--env-var): New var.
- (byte-compile-make-closure, byte-compile-get-closed-var):
- New functions.
-
-2011-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
-
- * subr.el (with-output-to-temp-buffer): New macro.
-
- * simple.el (count-words-region): Don't use interactive-p.
-
- * minibuffer.el: Use lexical-binding. Replace all uses of lexical-let.
-
- * emacs-lisp/eieio.el (eieio-defgeneric-form-primary-only-one):
- Call byte-compile rather than byte-compile-lambda.
-
- * emacs-lisp/eieio-comp.el (eieio-byte-compile-file-form-defmethod):
- Rename from byte-compile-file-form-defmethod.
- Don't byte-compile-lambda.
- (eieio-byte-compile-defmethod-param-convert): Rename from
- byte-compile-defmethod-param-convert.
-
- * emacs-lisp/cl-extra.el (cl-macroexpand-all): Don't assume that the
- value of (function (lambda ...)) is self-quoting.
-
- * emacs-lisp/cconv.el: Use lexical-binding.
- (cconv--lookup-let): Rename from cconv-lookup-let.
- (cconv-closure-convert-rec): Fix handling of captured+mutated
- arguments in defun/defmacro.
-
- * emacs-lisp/bytecomp.el (byte-compile-lapcode):
- Turn stack-ref-0 into dup.
- (byte-compile-form): Don't indirect-function since it can signal
- errors.
- (byte-compile-stack-ref, byte-compile-stack-set): Adjust to stack-refs
- being relative to top rather than to bottom in the byte-code.
- (with-output-to-temp-buffer): Remove.
- (byte-compile-with-output-to-temp-buffer): Remove.
-
- * emacs-lisp/byte-opt.el (byte-compile-side-effect-and-error-free-ops):
- Remove interactive-p.
- (byte-optimize-lapcode): Update optimizations now that stack-refs are
- relative to the top rather than to the bottom.
-
-2011-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
-
- * subr.el (save-window-excursion): New macro, moved from C.
- * emacs-lisp/lisp-mode.el (save-window-excursion): Don't touch.
- * emacs-lisp/cconv.el (cconv-closure-convert-rec, cconv-analyse-form):
- Don't handle save-window-excursion any more.
- * emacs-lisp/bytecomp.el (interactive-p, save-window-excursion):
- Don't use the byte-code any more.
- (byte-compile-form): Check macro expansion was done.
- (byte-compile-save-window-excursion): Remove.
- * emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
- Ignore save-window-excursion. Don't macroepand any more.
-
-2011-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
-
- * emacs-lisp/pcase.el (pcase--expand, pcase--u, pcase--u1, pcase--q1):
- Avoid destructuring-bind which results in poorer code.
-
-2011-02-17 Stefan Monnier <monnier@iro.umontreal.ca>
-
- * files.el (lexical-binding): Add a safe-local-variable property.
-
- * emacs-lisp/cl-macs.el (cl-byte-compile-block): Disable optimization
- in lexbind, because it needs a different implementation.
-
- * emacs-lisp/cconv.el (cconv--set-diff, cconv--set-diff-map)
- (cconv--map-diff, cconv--map-diff-elem, cconv--map-diff-set): New funs.
- (cconv--env-var): New constant.
- (cconv-closure-convert-rec): Use it and use them. Fix a typo that
- ended up forgetting to remove entries from lmenvs in `let'.
- For `lambda' use the outer `fvrs' when building the closure and don't
- forget to remove `vars' from the `emvrs' and `lmenvs' of the body.
-
- * emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
- Correctly extract arglist from `closure's.
- (byte-compile-cl-warn): Compiler-macros are run earlier now.
- (byte-compile-top-level): Bind byte-compile-lexical-environment to nil,
- except for lambdas.
- (byte-compile-form): Don't run the compiler-macro expander here.
- (byte-compile-let): Merge with byte-compile-let*.
- Don't preserve-body-value if the body's value was discarded.
-
- * emacs-lisp/byte-opt.el (byte-inline-lapcode): Check how many elements
- are added to the stack.
- (byte-compile-splice-in-already-compiled-code): Don't touch lexical nor
- byte-compile-depth now that byte-inline-lapcode does it for us.
- (byte-compile-inline-expand): Don't inline dynbind byte code into
- lexbind code, since it has to be done differently.
-
-2011-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
-
- * emacs-lisp/byte-lexbind.el: Delete.
-
- * 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.
-
- * 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.
-
- * help-fns.el (describe-function-1): Fix paren typo.
-
- * emacs-lisp/byte-opt.el (byte-compile-side-effect-free-ops)
- (byte-optimize-lapcode): Remove byte-vec-ref and byte-vec-set.
-
-2011-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
-
- * 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.
-
- * 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):
- * emacs-lisp/byte-lexbind.el (byte-compile-maybe-push-heap-environment):
- Make sure cconv did its job.
-
- * emacs-lisp/byte-opt.el (byte-optimize-lapcode): Check stack-depth
- before using it.
-
- * dired.el (dired-desktop-buffer-misc-data): Don't use a dynamic var as
- function argument.
-
-2011-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
-
- * emacs-lisp/bytecomp.el (byte-compile-lambda): Fix `fun' that was not
- renamed to `bytecomp-fun'.
-
- * 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.
-
- * 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.
-
-2011-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
-
- * 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.
-
- * emacs-lisp/bytecomp.el (byte-compile-catch)
- (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.
-
-2011-02-10 Igor Kuzmin <kuzminig@iro.umontreal.ca>
-
- * emacs-lisp/cconv.el: New file.
- * emacs-lisp/bytecomp.el: Use cconv.
- (byte-compile-file-form, byte-compile):
- Call cconv-closure-convert-toplevel when requested.
- * server.el:
- * mpc.el:
- * emacs-lisp/pcase.el:
- * doc-view.el:
- * dired.el: Use lexical-binding.
-
-2010-12-27 Stefan Monnier <monnier@iro.umontreal.ca>
-
- * emacs-lisp/bytecomp.el (byte-compile-track-mouse): Don't use #'.
-
-2010-12-15 Stefan Monnier <monnier@iro.umontreal.ca>
-
- * emacs-lisp/edebug.el (edebug-eval-defun, edebug-eval):
- * emacs-lisp/lisp-mode.el (eval-last-sexp-1, eval-defun-1):
- * ielm.el (ielm-eval-input):
- * simple.el (eval-expression): Use new eval arg to obey lexical-binding.
-
-2010-12-14 Stefan Monnier <monnier@iro.umontreal.ca>
-
- * emacs-lisp/bytecomp.el (byte-compile-condition-case): Use push.
-
-2010-12-13 Stefan Monnier <monnier@iro.umontreal.ca>
-
- * subr.el (with-lexical-binding): Remove.
-
-2010-06-18 Stefan Monnier <monnier@iro.umontreal.ca>
-
- * emacs-lisp/byte-lexbind.el (byte-compile-compute-lforminfo):
- specialp -> special-variable-p.
-
-2010-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
-
- * emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment):
- Don't macroexpand before evaluating in eval-and-compile, in case
- `body's macro expansion uses macros and functions defined in itself.
-
-2010-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
-
- * emacs-lisp/bytecomp.el (byte-compile-check-variable):
- Update byte-compile-not-obsolete-var to byte-compile-not-obsolete-vars.
-
- * Makefile.in (.el.elc): Increase max-lisp-eval-depth.
-
-2006-12-04 Miles Bader <miles@gnu.org>
-
- * Makefile.in (COMPILE_FIRST_STACK_DEPTH): New variable.
- (compile, compile-always): Use it.
-
-2005-10-24 Miles Bader <miles@gnu.org>
-
- * subr.el (functionp): Re-remove.
-
- * emacs-lisp/bytecomp.el (byte-compile-closure): Add optional
- ADD-LAMBDA argument, which we just pass to `byte-compile-lambda'.
- (byte-compile-defun): Use ADD-LAMBDA arg to `byte-compile-closure'
- instead of adding lambda ourselves.
-
-2004-08-09 Miles Bader <miles@gnu.org>
-
- Changes from merging the funvec patch:
-
- * emacs-lisp/bytecomp.el (byte-compile-make-closure): Use `curry'
- instead of `vector' to create compiled closures.
-
- Merge funvec patch.
-
-2004-05-20 Miles Bader <miles@gnu.org>
-
- * subr.el (functionp): Use `funvecp' instead of
- `byte-compiled-function-p'.
- * help-fns.el (describe-function-1): Describe curried functions
- and other funvecs as such.
- (help-highlight-arguments): Only format things that look like a
- function.
-
-2004-04-29 Miles Bader <miles@gnu.org>
-
- * emacs-lisp/bytecomp.el (byte-compile-top-level): Add new entries
- to `byte-compile-lexical-environment' at the start, not end.
- (byte-compile-delay-out): Correctly default STACK-ADJUST to zero.
-
- * emacs-lisp/byte-opt.el (byte-opt-update-stack-params):
- Don't crash on no-op lapcode entries (car is nil).
-
- * emacs-lisp/byte-lexbind.el (byte-compile-make-lambda-lexenv):
- Push a lexvar onto lexenv, not a vinfo!
-
-2004-04-11 Miles Bader <miles@gnu.org>
-
- * emacs-lisp/bytecomp.el (byte-compile-top-level):
- Correctly analyze lexically-bound arguments.
-
- * emacs-lisp/byte-lexbind.el (byte-compile-lforminfo-analyze):
- Use `append' instead of `nconc'.
-
- * emacs-lisp/byte-lexbind.el (byte-compile-make-lvarinfo):
- Don't use backquote to make a mutable data-structure.
- (byte-compile-lvarinfo-num-refs, byte-compile-lvarinfo-num-sets):
- Rename to use `num-' instead of `num'.
- (byte-compile-make-lambda-lexenv): Adjust accordingly.
-
-2004-04-10 Miles Bader <miles@gnu.org>
-
- * emacs-lisp/byte-lexbind.el (byte-compile-compute-lforminfo):
- Look at variable's global specialp state too.
-
-2004-04-09 Miles Bader <miles@gnu.org>
-
- * emacs-lisp/byte-opt.el (byte-optimize-lapcode):
- Default initial-stack-depth to 0.
- (byte-optimize-lapcode): Discard the right number of values in
- the stack-set+discard-->discard optimization.
-
-2004-04-02 Miles Bader <miles@gnu.org>
-
- * emacs-lisp/lisp-mode.el (eval-last-sexp-1): Setup the lexical
- environment if lexical-binding is enabled.
-
-2003-10-14 Miles Bader <miles@gnu.org>
-
- * emacs-lisp/macroexp.el (macroexpand-all-1): Special-case
- `backquote-list*' to avoid stack overflows.
-
-2003-04-04 Miles Bader <miles@gnu.org>
-
- * help-fns.el (help-function-arglist): Handle interpreted closures.
-
-2002-11-20 Miles Bader <miles@gnu.org>
-
- * emacs-lisp/bytecomp.el (byte-compile-stack-adjustment):
- Correctly handle discardN* operators.
- * emacs-lisp/byte-opt.el (byte-optimize-lapcode): Fix stack-depth
- tracking errors.
-
-2002-08-26 Miles Bader <miles@gnu.org>
-
- * international/mule.el (make-char): Macroexpand call to
- charset-id constructed by `byte-compile' hook.
-
- * emacs-lisp/macroexp.el (macroexpand-all-1): Expand defconst value.
-
- * emacs-lisp/byte-opt.el (byte-opt-update-stack-params): New macro.
- (byte-optimize-lapcode): Keep track of stack-depth in final pass too.
- Add more optimizations for lexical binding.
- (byte-compile-inline-expand): Macroexpand result of inlining.
-
- * emacs-lisp/bytecomp.el (byte-compile-lambda): Update call to
- byte-compile-closure-initial-lexenv-p.
- (byte-discardN-preserve-tos): Alias to byte-discardN.
- (byte-compile-push-binding-init): Don't push unused variables on
- init-lexenv.
- (byte-compile-push-binding-init): Don't use LFORMINFO if it's nil.
- (byte-compile-lambda): Don't look at lexical environment unless
- we're using lexical binding.
- (byte-compile-defmacro): Correctly generate macros.
-
- * emacs-lisp/byte-lexbind.el (byte-compile-unbind): Optimize the
- dynamic-bindings-only case.
- (byte-compile-bind): Don't special-case unused lexical variables.
-
- * emacs-lisp/disass.el (disassemble-1): Print arg for discardN ops.
-
-2002-08-19 Miles Bader <miles@gnu.org>
-
- * emacs-lisp/byte-opt.el (byte-decompile-bytecode-1):
- Handle `byte-discardN-preserve-tos' pseudo-op.
- (byte-compile-side-effect-and-error-free-ops): Add `byte-stack-ref'.
- (byte-compile-side-effect-free-ops): Add `byte-vec-ref'.
- (byte-optimize-lapcode): Add some cases for stack-set/ref ops.
- Add tracking of stack-depth. Unfinished code to collapse
- lexical-unbinding sequences.
-
- * emacs-lisp/bytecomp.el (byte-compile-lapcode):
- Handle `byte-discardN-preserve-tos' pseudo-op.
- (byte-compile-top-level): If there are lexical args, output a TAG
- op to record the initial stack-depth for the optimizer.
-
-2002-08-17 Miles Bader <miles@gnu.org>
-
- * emacs-lisp/bytecomp.el (byte-discardN): Add byte-defop.
- (byte-compile-lapcode): Include byte-discardN.
- (byte-compile-lambda): Fixup closure detection.
- (byte-compile-top-level): Handle arguments for a lexical lambda.
- (byte-compile-lexical-variable-ref, byte-compile-variable-ref)
- (byte-compile-variable-set): Use byte-compile-stack-set/ref.
- (byte-compile-discard): Add new parameters NUM and PRESERVE-TOS.
- (byte-compile-stack-ref, byte-compile-stack-set): New functions.
- (byte-compile-push-binding-init): Get the variable list properly
- from LFORMINFO.
-
- * emacs-lisp/byte-lexbind.el (byte-compile-lforminfo-analyze):
- Ignore setq'd variables we're not interested in.
- (byte-compile-make-lambda-lexenv): Add assertion that closed-over
- variables be heap allocated.
- (byte-compile-closure-initial-lexenv-p): Rename from
- byte-compile-closure-lexenv-p.
- (byte-compile-non-stack-bindings-p): Get the variable list
- properly from LFORMINFO.
- (byte-compile-maybe-push-heap-environment): Handle the
- no-closed-over-variables case correctly.
- (byte-compile-bind): Use byte-compile-stack-set/ref.
- Don't bother modifying INIT-LEXENV as no one will see the changes.
- (byte-compile-unbind): Call `byte-compile-discard' to handle
- unbinding lexical bindings.
-
- * emacs-lisp/disass.el (disassemble-internal): Handle closures.
- (disassemble-1): Handle new bytecodes.
- * emacs-lisp/byte-opt.el (disassemble-offset): Handle new bytecodes.
-
-2002-06-16 Miles Bader <miles@gnu.org>
-
- * emacs-lisp/macroexp.el (macroexp-accumulate): New macro.
- (macroexpand-all-forms, macroexpand-all-clauses): Use it.
- * Makefile.in (compile): Undo previous change.
-
-2002-06-14 Miles Bader <miles@gnu.org>
-
- * Makefile.in (COMPILE_FIRST): Add `emacs-lisp/macroexp.el'.
- (compile): Add a special case that compiles `emacs-lisp/macroexp.el'
- with an increased max-lisp-eval-depth.
-
- * emacs-lisp/bytecomp.el: Provide `bytecomp-preload', at the
- beginning of the file. Require `byte-lexbind' at compile time.
- Add a few doc string.
- (byte-compile-push-bytecodes)
- (byte-compile-push-bytecode-const2): New macros.
- (byte-compile-lapcode): Use them. Do general code cleanup.
- (byte-compile-initial-macro-environment): Expand macros in
- byte-compile-eval before passing to byte-compile-top-level.
- (byte-compile): Use the `byte-compile-initial-macro-environment'.
-
- * emacs-lisp/byte-lexbind.el: Require `bytecomp-preload' instead of
- `bytecomp'.
- (byte-compile-bind): Use `byte-compile-dynamic-variable-bind' to bind
- dynamic variables.
- (byte-compile-maybe-push-heap-environment): Fix function name typo.
-
-2002-06-13 Miles Bader <miles@gnu.org>
-
- Byte compiler lexical binding support (not finished yet):
- * emacs-lisp/bytecomp.el: Require `macroexp'.
- (byte-compile-lexical-environment)
- (byte-compile-current-heap-environment)
- (byte-compile-current-num-closures): New variables.
- (0, 178, 179, 180, 181): New byte-opcodes.
- (byte-compile-lapcode): Handle stack-ref/set opcodes. Signal an
- error if a delay-output placeholder is not filled in yet.
- (byte-compile-file-form, byte-compile): Expand all macros with
- `macroexpand-all'.
- (byte-compile-file-form-defsubst, byte-compile-form): Don't expand
- macros here.
- (byte-compile-make-lambda-lexenv): Autoload.
- (byte-compile-lambda): Initial code for handling lexically-bound
- arguments and closures; doesn't work yet.
- (byte-compile-closure-code-p, byte-compile-make-closure)
- (byte-compile-closure): New functions.
- (byte-compile-check-variable, byte-compile-dynamic-variable-op)
- (byte-compile-dynamic-variable-bind)
- (byte-compile-lexical-variable-ref, byte-compile-variable-set):
- New functions.
- (byte-compile-variable-ref): Remove second argument. Now only
- handles real variable references (not setting or binding).
- (byte-compile-push-unknown-constant)
- (byte-compile-resolve-unknown-constant): New functions.
- (byte-compile-funarg, byte-compile-funarg-2): Functions removed.
- (byte-compile-function-form): Use either `byte-compile-constant'
- or `byte-compile-closure'.
- (byte-compile-setq): Use `byte-compile-variable-set' instead of
- `byte-compile-variable-ref'.
- (apply, mapcar, mapatoms, mapconcat, mapc, sort):
- `byte-defop-compiler-1's removed.
- (byte-compile-while): Make sure lexically-bound variables inside
- the loop don't get stored in an environment outside the loop.
- (byte-compile-compute-lforminfo): Autoload.
- (byte-compile-push-binding-init): New function.
- (byte-compile-let, byte-compile-let*): Handle lexical binding.
- (byte-compile-defun): Use `byte-compile-closure' to do the work.
- (byte-compile-defmacro): Use `byte-compile-make-closure'.
- (byte-compile-defvar): Expand the generated call to `push' since
- we're past macroexpansion already.
- (byte-compile-stack-adjustment): New function.
- (byte-compile-out): Make second arg optional. Rewrite for clarity.
- (byte-compile-delay-out, byte-compile-delayed-out): New functions.
-
- * emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
- Don't expand macros here.
-
- * emacs-lisp/macroexp.el (macroexpand-all-1): Expand defmacro forms.
-
- * emacs-lisp/byte-lexbind.el (byte-compile-make-lvarinfo)
- (byte-compile-lforminfo-add-var)
- (byte-compile-lforminfo-note-closure)
- (byte-compile-compute-lforminfo)
- (byte-compile-lforminfo-from-lambda)
- (byte-compile-lforminfo-analyze)
- (byte-compile-heapenv-add-accessible-env)
- (byte-compile-heapenv-ensure-access)
- (byte-compile-rearrange-let-clauses, byte-compile-bind)
- (byte-compile-unbind): Fix a bunch of typos.
-
-2002-06-12 Miles Bader <miles@gnu.org>
-
- * emacs-lisp/byte-lexbind.el, emacs-lisp/macroexp.el: New files.
-
- * subr.el (functionp): Function removed (now a subr).
- * help-fns.el (describe-function-1): Handle interpreted closures.
-
-;; arch-tag: bd1b5b8b-fdb2-425d-9ac2-20689fb0ee70
+2011-04-09 Paul Eggert <eggert@cs.ucla.edu>
+
+ Remove the doprnt implementation, as Emacs now uses vsnprintf.
+ * emacs-lisp/find-gc.el (find-gc-source-files): Remove doprnt.c.
+
+2011-04-08 Sho Nakatani <lay.sakura@gmail.com>
+
+ * doc-view.el (doc-view-fit-width-to-window)
+ (doc-view-fit-height-to-window, doc-view-fit-page-to-window): New
+ functions for fitting the shown image to the Emacs window size.
+ (doc-view-mode-map): Add bindings for the new functions.
+
+2011-03-24 Juanma Barranquero <lekktu@gmail.com>
+
+ * vc-annotate.el (vc-annotate-show-log-revision-at-line):
+ Fix typo in docstring.
+
+2011-04-08 Eli Zaretskii <eliz@gnu.org>
+
+ * files.el (file-size-human-readable): Produce one digit after
+ decimal, like "ls -lh" does.
+
+ * ls-lisp.el (ls-lisp-format-file-size): Allow for 7 characters in
+ the file size representation.
+
+ * simple.el (list-processes): If async subprocesses are not
+ available, error out with a clear error message.
+
+2011-04-08 Chong Yidong <cyd@stupidchicken.com>
+
+ * help.el (help-form-show): New function, to be called from C.
+ Put help-form output in a buffer named differently than *Help*.
+
+2011-04-08 Eli Zaretskii <eliz@gnu.org>
+
+ * files.el (file-size-human-readable): New function.
+
+ * ls-lisp.el (ls-lisp-format-file-size): Use it, instead of
+ computing the representation inline. Don't require `cl'.
+
+2011-04-08 Glenn Morris <rgm@gnu.org>
+
+ * man.el (Man-page-header-regexp): Solaris < 2.6 no longer supported.
+
+ * net/browse-url.el (browse-url-firefox):
+ Test system-type, not system-configuration.
+
+ * vc/log-edit.el (log-edit-empty-buffer-p): New function.
+ (log-edit-insert-cvs-template, log-edit-insert-cvs-rcstemplate):
+ Use log-edit-empty-buffer-p. (Bug#7598)
+
+ * net/rlogin.el (rlogin-process-connection-type): Simplify.
+ (rlogin-mode-map): Initialize in the defvar.
+ (rlogin): Use ignore-errors.
+
+ * replace.el (occur-mode-map): Some fixes for menu items.
+
+2011-04-07 Aaron S. Hawley <aaron.s.hawley@gmail.com>
+
+ * play/morse.el (denato-region): Handle varying case. (Bug#8386)
+
+2011-04-06 Chong Yidong <cyd@stupidchicken.com>
+
+ * emacs-lisp/cconv.el (cconv--analyse-use): Ignore "ignored" when
+ issuing unused warnings.
+
+ * emacs-lisp/tabulated-list.el (tabulated-list-print): Use lambda
+ macro directly.
+
+ * simple.el: Lisp reimplement of list-processes. Based on an
+ earlier reimplementation by Leo Liu, but using tabulated-list.el.
+ (process-menu-mode): New major mode.
+ (list-processes--refresh, list-processes):
+ (process-menu-visit-buffer): New functions.
+
+ * files.el (save-buffers-kill-emacs): Don't assume any return
+ value of list-processes, which is undocumented anyway.
+
+2011-04-06 Chong Yidong <cyd@stupidchicken.com>
+
+ * emacs-lisp/tabulated-list.el: New file.
+
+ * emacs-lisp/package.el: Use Tabulated List mode.
+ (package-menu-mode-map): Inherit from tabulated-list-mode-map.
+ (package-menu-mode): Derive from tabulated-list-mode. Set up the
+ table format using Tabulated List mode variables.
+ (package--push): New macro, replacing package-list-maybe-add.
+ (package-menu--generate): Use package--push. Renamed from
+ package--generate-package-list.
+ (package-menu-refresh, list-packages): Use it.
+ (package-menu--print-info): Renamed from package-print-package.
+ Return insertion data instead of inserting it directly.
+ (package-menu-describe-package, package-menu-execute): Use
+ tabulated-list-get-id.
+ (package-menu-mark-delete, package-menu-mark-install)
+ (package-menu-mark-unmark, package-menu-backup-unmark)
+ (package-menu-mark-obsolete-for-deletion): Use
+ tabulated-list-put-tag.
+ (package--list-packages, package-menu-revert)
+ (package-menu-get-package, package-menu-get-version)
+ (package-menu-sort-by-column): Functions deleted.
+ (package-menu-package-list, package-menu-sort-key): Vars deleted.
+ (package-menu--status-predicate, package-menu--version-predicate)
+ (package-menu--name-predicate)
+ (package-menu--description-predicate): Handle arguments in the
+ Tabulated List format.
+ (package-list-packages-no-fetch): Call list-packages.
+
+2011-04-06 Juanma Barranquero <lekktu@gmail.com>
+
+ * files.el (after-find-file-from-revert-buffer): Remove variable.
+ (after-find-file): Dont' bind it.
+ (revert-buffer-in-progress-p): New variable.
+ (revert-buffer): Bind it.
+ Pass nil for `after-find-file-from-revert-buffer'.
+
+ * saveplace.el (save-place-find-file-hook): Use new variable
+ `rever-buffer-in-progress-p', not `after-find-file-from-revert-buffer'.
+
+2011-04-06 Glenn Morris <rgm@gnu.org>
+
+ * Makefile.in (AUTOGEN_VCS): New variable.
+ (autoloads): Use $AUTOGEN_VCS.
+
+ * calendar/cal-move.el (calendar-scroll-toolkit-scroll): New function.
+ * calendar/calendar.el (calendar-mode-map):
+ Check for toolkit scroll bars. (Bug#8305)
+
+2011-04-05 Chong Yidong <cyd@stupidchicken.com>
+
+ * minibuffer.el (completion-in-region--postch)
+ (completion-in-region-mode): Remove unnecessary messages.
+
+2011-04-05 Juanma Barranquero <lekktu@gmail.com>
+
+ * font-lock.el (font-lock-refresh-defaults):
+ Don't bind `hi-lock--inhibit-font-lock-hook', removed in
+ 2010-10-09T04:09:19Z!cyd@stupidchicken.com and 2010-10-11T23:57:49Z!lekktu@gmail.com (2010-10-12).
+
+ * info.el (Info-directory-list, Info-read-node-name-2)
+ (Info-split-parameter-string): Doc fixes.
+ (Info-virtual-nodes): Reflow docstring.
+ (Info-find-file, Info-directory-toc-nodes, Info-history-toc-nodes)
+ (Info-apropos-toc-nodes, info-finder, Info-get-token)
+ (Info-find-emacs-command-nodes, Info-speedbar-key-map):
+ Fix typos in docstrings.
+ (Info-revert-buffer-function, Info-search, Info-isearch-pop-state)
+ (Info-speedbar-hierarchy-buttons, Info-speedbar-goto-node)
+ (Info-speedbar-buttons, Info-desktop-buffer-misc-data)
+ (Info-restore-desktop-buffer): Mark unused parameters.
+ (Info-directory-find-file, Info-directory-find-node)
+ (Info-history-find-file, Info-history-find-node, Info-toc-find-node)
+ (Info-virtual-index-find-node, Info-apropos-find-file)
+ (Info-apropos-find-node, Info-finder-find-file, Info-finder-find-node):
+ Mark unused parameters; fix typos in docstrings.
+ (Info-virtual-index): Remove unused local variable `nodename'.
+
+2011-04-05 Deniz Dogan <deniz@dogan.se>
+
+ * net/rcirc.el: Update my e-mail address.
+ (rcirc-mode-map): Remove M-o binding.
+
+2011-04-05 Chong Yidong <cyd@stupidchicken.com>
+
+ * startup.el (command-line): Save the cursor's theme-face
+ directly, instead of using face-override-spec.
+
+ * custom.el (load-theme): Minor optimization in assigning faces.
+
+2011-04-04 Juanma Barranquero <lekktu@gmail.com>
+
+ * help-fns.el (describe-variable): Complete all variables having
+ documentation, including keywords.
+ http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00112.html
+
+2011-04-04 Juanma Barranquero <lekktu@gmail.com>
+
+ Convert to lexical-binding.
+
+ * bs.el (bs-refresh, bs-sort-buffer-interns-are-last)
+ (bs--get-marked-string, bs--get-modified-string)
+ (bs--get-readonly-string, bs--get-size-string, bs--get-name)
+ (bs--get-mode-name, bs--get-file-name): Mark unused arguments.
+ (bs--configuration-name-for-prefix-arg): Rename argument PREFIX-ARG.
+
+ * ehelp.el (electric-help-execute-extended)
+ (electric-help-ctrl-x-prefix):
+ * hexl.el (hexl-revert-buffer-function):
+ * linum.el (linum-after-change, linum-after-scroll):
+ * emacs-lisp/re-builder.el (reb-auto-update): Mark unused arguments.
+
+ * help-fns.el (help-describe-category-set): Remove unused ERR variable.
+
+2011-04-04 Daiki Ueno <ueno@unixuser.org>
+
+ * epa-dired.el:
+ * epa-mail.el:
+ * epa-hook.el:
+ * epa-file.el:
+ * epa.el:
+ * epg.el: Use lexical binding.
+
+2011-04-03 Chong Yidong <cyd@stupidchicken.com>
+
+ * dired-aux.el (dired-create-files): Add docstring (Bug#7970).
+
+ * textmodes/flyspell.el (flyspell-word): Recognize default
+ dictionary case for flyspell-mark-duplications-exceptions. Use
+ regexp matching for languages.
+ (flyspell-mark-duplications-exceptions): Add "that" and "had" for
+ default dictionary (Bug#7926).
+
+2011-04-02 Chong Yidong <cyd@stupidchicken.com>
+
+ * emacs-lisp/package.el (package--with-work-buffer): Recognize
+ https URLs.
+
+ * net/network-stream.el: Move from gnus/proto-stream.el. Change
+ prefix to network-stream throughout.
+ (open-protocol-stream): Merge into open-network-stream, leaving
+ open-protocol-stream as an alias. Handle nil BUFFER args.
+
+ * subr.el (open-network-stream): Move to net/network-stream.el.
+
+2011-04-02 Glenn Morris <rgm@gnu.org>
+
+ * find-dired.el (find-exec-terminator): New option.
+ (find-ls-option): Test for -ls support.
+ (find-ls-subdir-switches): Test for -b in find-ls-option.
+ (find-dired, find-grep-dired): Doc fixes.
+ (find-dired): Use find-exec-terminator.
+
+ * find-dired.el (find-ls-option, find-ls-subdir-switches)
+ (find-grep-options): Do not autoload these defcustoms, remove purecopy.
+ (find-name-arg): Remove purecopy.
+
+ * progmodes/grep.el (grep-find-use-xargs): Doc fix.
+ (grep-compute-defaults): Check for `-exec COMMAND +' support.
+ Set grep-find-use-xargs, grep-find-command, and grep-find-template
+ accordingly. Don't add the null-device if not needed.
+
+ * files.el (save-some-buffers): Doc fix.
+
+2011-04-02 Eli Zaretskii <eliz@gnu.org>
+
+ * makefile.w32-in (EMACS): Default to ../src/$(BLD)/emacs.exe.
+
+2011-04-01 Juanma Barranquero <lekktu@gmail.com>
+
+ * progmodes/idlwave.el (idlwave-one-key-select, idlwave-list-abbrevs):
+ Use `dolist' rather than `mapcar'.
+
+2011-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ Add lexical binding.
+
+ * subr.el (apply-partially): Use new closures rather than CL.
+ (--dolist-tail--, --dotimes-limit--): Don't declare dynamic.
+ (dolist, dotimes): Use slightly different expansion for lexical code.
+ (functionp): Move to C.
+ (letrec): New macro.
+ (with-wrapper-hook): Use it and apply-partially instead of CL.
+ (eval-after-load): Preserve lexical-binding.
+ (save-window-excursion, with-output-to-temp-buffer): Turn them
+ into macros.
+
+ * simple.el (with-wrapper-hook, apply-partially): Move to subr.el.
+
+ * help-fns.el (help-split-fundoc): Return nil if there's nothing else
+ than the arglist.
+ (help-add-fundoc-usage): Don't add `Not documented'.
+ (help-function-arglist): Handle closures, subroutines, and new
+ byte-code-functions.
+ (help-make-usage): Remove leading underscores.
+ (describe-function-1): Handle closures.
+ (describe-variable): Use special-variable-p for completion.
+
+ * files.el (lexical-binding): Declare safe.
+
+ * emacs-lisp/pcase.el: Don't use destructuring-bind.
+ (pcase--memoize): Rename from pcase-memoize. Change weakness.
+ (pcase): Add `let' pattern.
+ Change memoization so it actually works.
+ (pcase-mutually-exclusive-predicates): Add byte-code-function-p.
+ (pcase--u1) <guard, pred>: Fix possible shadowing problem.
+ <let>: New case.
+
+ * emacs-lisp/macroexp.el: Use lexical binding.
+ (macroexpand-all-1): Check obsolete macros. Expand compiler-macros.
+ Don't convert ' to #' without checking that it's indeed quoting
+ a lambda.
+
+ * emacs-lisp/lisp-mode.el (eval-last-sexp-1):
+ Use eval-sexp-add-defvars.
+ (eval-sexp-add-defvars): New fun.
+
+ * emacs-lisp/float-sup.el (pi): Don't declare as dynamically bound.
+
+ * emacs-lisp/eieio.el (byte-compile-file-form-defmethod):
+ Don't autoload.
+ (eieio-defgeneric-form-primary-only-one): Use `byte-compile' rather
+ than the internal `byte-compile-lambda'.
+ (defmethod): Don't hide code under quotes.
+ (eieio-defmethod): New `code' argument.
+
+ * emacs-lisp/eieio-comp.el: Remove.
+
+ * emacs-lisp/edebug.el (edebug-eval-defun)
+ (edebug-eval-top-level-form): Use eval-sexp-add-defvars.
+ (edebug-toggle): Avoid `eval'.
+
+ * emacs-lisp/disass.el (disassemble-internal): Handle new
+ `closure' objects.
+ (disassemble-1): Handle new byte codes.
+
+ * emacs-lisp/cl.el (pushnew): Silence warning.
+
+ * emacs-lisp/cl-macs.el (cl-byte-compile-block)
+ (cl-byte-compile-throw): Remove.
+ (cl-block-wrapper, cl-block-throw): Use compiler-macros instead.
+
+ * emacs-lisp/cl-extra.el (cl-macroexpand-all): Properly quote CL
+ closures.
+
+ * emacs-lisp/cconv.el: New file.
+
+ * emacs-lisp/bytecomp.el: Use lexical binding instead of
+ a "bytecomp-" prefix. Macroexpand everything as a separate phase.
+ (byte-compile-initial-macro-environment):
+ Handle declare-function here.
+ (byte-compile--lexical-environment): New var.
+ (byte-stack-ref, byte-stack-set, byte-discardN)
+ (byte-discardN-preserve-tos): New lap codes.
+ (byte-interactive-p): Don't use any more.
+ (byte-compile-push-bytecodes, byte-compile-push-bytecode-const2):
+ New macros.
+ (byte-compile-lapcode): Use them and handle new lap codes.
+ (byte-compile-obsolete): Remove.
+ (byte-compile-arglist-signature): Handle new byte-code arg"lists".
+ (byte-compile-arglist-warn): Check late def of inlinable funs.
+ (byte-compile-cl-warn): Don't silence warnings for compiler-macros
+ since they should have been expanded by now.
+ (byte-compile--outbuffer): Rename from bytecomp-outbuffer.
+ (byte-compile-from-buffer): Remove unused second arg.
+ (byte-compile-preprocess): New function.
+ (byte-compile-toplevel-file-form): New function to distinguish
+ file-form calls from outside from file-form calls from hunk-handlers.
+ (byte-compile-file-form): Simplify.
+ (byte-compile-file-form-defsubst): Remove.
+ (byte-compile-file-form-defmumble): Simplify now that
+ byte-compile-lambda always returns a byte-code-function.
+ (byte-compile): Preprocess.
+ (byte-compile-byte-code-maker, byte-compile-byte-code-unmake):
+ Remove, not used any more.
+ (byte-compile-arglist-vars, byte-compile-make-lambda-lexenv)
+ (byte-compile-make-args-desc): New funs.
+ (byte-compile-lambda): Handle lexical functions. Always return
+ a byte-code-function.
+ (byte-compile-reserved-constants): New var, to make up room for
+ closed-over variables.
+ (byte-compile-constants-vector): Obey it.
+ (byte-compile-top-level): New args `lexenv' and `reserved-csts'.
+ (byte-compile-macroexpand-declare-function): New function.
+ (byte-compile-form): Call byte-compile-unfold-bcf to inline immediate
+ byte-code-functions.
+ (byte-compile-form): Check obsolescence here.
+ (byte-compile-inline-lapcode, byte-compile-unfold-bcf): New functions.
+ (byte-compile-variable-ref): Remove.
+ (byte-compile-dynamic-variable-op): New fun.
+ (byte-compile-dynamic-variable-bind, byte-compile-variable-ref)
+ (byte-compile-variable-set): New funs.
+ (byte-compile-discard): Add 2 args.
+ (byte-compile-stack-ref, byte-compile-stack-set)
+ (byte-compile-make-closure, byte-compile-get-closed-var): New funs.
+ (byte-compile-funarg, byte-compile-funarg-2): Remove, handled in
+ macroexpand-all instead.
+ (byte-compile-quote-form): Remove.
+ (byte-compile-push-binding-init, byte-compile-not-lexical-var-p)
+ (byte-compile-bind, byte-compile-unbind): New funs.
+ (byte-compile-let): Handle let* and lexical binding.
+ (byte-compile-let*): Remove.
+ (byte-compile-catch, byte-compile-unwind-protect)
+ (byte-compile-track-mouse, byte-compile-condition-case):
+ Handle a new :fun-body form, used for lexical scoping.
+ (byte-compile-save-window-excursion)
+ (byte-compile-with-output-to-temp-buffer): Remove.
+ (byte-compile-defun): Simplify.
+ (byte-compile-stack-adjustment): New fun.
+ (byte-compile-out): Use it.
+ (byte-compile-refresh-preloaded): Don't reload byte-compiler files.
+
+ * emacs-lisp/byte-run.el (make-obsolete): Don't set the `byte-compile'
+ handler any more.
+
+ * emacs-lisp/byte-opt.el: Use lexical binding.
+ (byte-inline-lapcode): Remove (to bytecomp).
+ (byte-compile-inline-expand): Pay attention to inlining to/from
+ lexically bound code.
+ (byte-compile-unfold-lambda): Don't handle byte-code-functions
+ any more.
+ (byte-optimize-form-code-walker): Don't handle save-window-excursion
+ any more and don't call compiler-macros.
+ (byte-compile-splice-in-already-compiled-code): Remove.
+ (byte-code): Don't inline any more.
+ (disassemble-offset): Receive `bytes' as argument rather than via
+ dynamic scoping.
+ (byte-compile-tag-number): Declare before first use.
+ (byte-decompile-bytecode-1): Handle new byte-codes, don't change
+ `return' even if make-spliceable.
+ (byte-compile-side-effect-and-error-free-ops): Add stack-ref, remove
+ obsolete interactive-p.
+ (byte-optimize-lapcode): Optimize new lap-codes.
+ Don't trip up on new form of `byte-constant' lap code.
+
+ * emacs-lisp/autoload.el (make-autoload): Don't burp on trivial macros.
+
+ * emacs-lisp/advice.el (ad-arglist): Use help-function-arglist.
+
+ * custom.el (custom-initialize-default, custom-declare-variable):
+ Use `defvar'.
+
+ * Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS, BYTE_COMPILE_FLAGS):
+ New variables.
+ (compile-onefile, .el.elc, compile-calc, recompile): Use them.
+ (COMPILE_FIRST): Add macroexp and cconv.
+ * makefile.w32-in: Mirror changes in Makefile.in.
+
+ * vc/cvs-status.el:
+ * vc/diff-mode.el:
+ * vc/log-edit.el:
+ * vc/log-view.el:
+ * vc/smerge-mode.el:
+ * textmodes/bibtex-style.el:
+ * textmodes/css.el:
+ * startup.el:
+ * uniquify.el:
+ * minibuffer.el:
+ * newcomment.el:
+ * reveal.el:
+ * server.el:
+ * mpc.el:
+ * emacs-lisp/smie.el:
+ * doc-view.el:
+ * dired.el:
+ * abbrev.el: Use lexical binding.
+
+2011-04-01 Eli Zaretskii <eliz@gnu.org>
+
+ * info.el (info-display-manual): New function.
+
+2011-03-31 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * loadup.el: Load minibuffer after loaddefs, to use define-minor-mode.
+
+2011-03-31 Tassilo Horn <tassilo@member.fsf.org>
+
+ * net/rcirc.el (rcirc-handler-001): Only authenticate, if there's
+ an entry for that server in rcirc-authinfo. (Bug#8385)
+
+2011-03-31 Glenn Morris <rgm@gnu.org>
+
+ * progmodes/f90.el (f90-find-tag-default): Handle multiple `%'.
+
+ * generic-x.el (etc-fstab-generic-mode): Add ext4, sysfs keywords.
+
+2011-03-30 Christoph Scholtes <cschol2112@googlemail.com>
+
+ * progmodes/python.el (python-default-interpreter)
+ (python-python-command-args, python-jython-command-args)
+ (python-which-shell, python-which-args, python-which-bufname)
+ (python-file-queue, python-comint-output-filter-function)
+ (python-toggle-shells, python-shell): Remove obsolete defcustoms,
+ variables and functions.
+
+2011-03-30 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * minibuffer.el (completion-table-dynamic): Optimize `boundaries'.
+ (completion-in-region-mode): New minor mode.
+ (completion-in-region): Use it.
+ (completion-in-region--data, completion-in-region-mode-map): New vars.
+ (completion-in-region--postch): New function.
+ (completion--capf-misbehave-funs, completion--capf-safe-funs):
+ New vars.
+ (completion--capf-wrapper): New function.
+ (completion-at-point): Use it to track well-behavedness of
+ hook functions.
+ (completion-help-at-point): New command.
+
+2011-03-30 Jason Merrill <jason@redhat.com> (tiny change)
+
+ * vc/add-log.el (add-change-log-entry): Don't use whitespace
+ syntax class to search for whitespace on a single line
+ (Message-ID: <4D938140.4030905@redhat.com>).
+
+2011-03-30 Leo Liu <sdl.web@gmail.com>
+
+ * abbrev.el (abbrev-edit-save-to-file, abbrev-edit-save-buffer):
+ New commands.
+ (edit-abbrevs-map): Bind them here.
+ (write-abbrev-file): New optinal arg VERBOSE. (Bug#5937)
+
+2011-03-29 Ken Manheimer <ken.manheimer@gmail.com>
+
+ * allout.el (allout-hide-by-annotation, allout-flag-region):
+ Reduce possibility of overlay leakage by making them volatile.
+
+ * allout-widgets.el (allout-widgets-tally): Define as nil so the
+ hash is not shared between buffers. Mode initialization is
+ responsible for giving it a useful starting value.
+ (allout-item-span): Reduce possibility of overlay leakage by
+ making them volatile.
+ (allout-widgets-count-buttons-in-region): Add diagnostic function
+ for tracking down button overlay leaks.
+
+2011-03-29 Leo Liu <sdl.web@gmail.com>
+
+ * ido.el (ido-read-internal): Use the default history var
+ minibuffer-history if no HISTORY is specified.
+
+2011-03-28 Brian T. Sniffen <bsniffen@akamai.com> (tiny change)
+
+ * net/imap.el (imap-shell-open, imap-process-connection-type):
+ Use imap-process-connection-type for 'shell' streams as well as
+ Kerberos, SSL, other subprocesses.
+
+2011-03-28 Leo Liu <sdl.web@gmail.com>
+
+ * abbrev.el (abbrev-table-empty-p): New function.
+ (prepare-abbrev-list-buffer): Place empty abbrev tables after
+ nonempty ones. (Bug#5937)
+
+2011-03-27 Jan Djärv <jan.h.d@swipnet.se>
+
+ * cus-start.el (all): Add boolean ns-auto-hide-menu-bar.
+
+2011-03-27 Leo Liu <sdl.web@gmail.com>
+
+ * ansi-color.el (ansi-color-names-vector): Allow cons cell value
+ for foreground and background colors.
+ (ansi-color-make-color-map): Adapt.
+
+2011-03-25 Leo Liu <sdl.web@gmail.com>
+
+ * midnight.el (midnight-time-float): Remove. Note it calculates
+ the microsecond component incorrectly and seconds-to-time does the
+ same job.
+ Remove redundant (require 'timer).
+
+ * ido.el (ido-read-internal): Simplify with read-from-minibuffer.
+ (ido-completions): Remove unused arguments. (Bug#8329)
+
+2011-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * minibuffer.el (completion--flush-all-sorted-completions):
+ Remove itself from hook.
+ (completion-at-point): Let the functions perform the completion
+ immediately and return nil or t.
+ * comint.el (comint-dynamic-complete-functions): Now identical to
+ completion-at-point-functions.
+ (comint-dynamic-list-input-ring): Remove unused var `index'.
+ (comint--match-partial-filename, comint--unquote&expand-filename):
+ New funs, split from comint-match-partial-filename.
+ (comint-dynamic-complete): Use completion-at-point.
+ (comint-dynamic-complete-filename): Use comint--match-partial-filename.
+
+2011-03-24 Drew Adams <drew.adams@oracle.com>
+
+ * thingatpt.el: Support `defun'.
+
+2011-03-23 Leo Liu <sdl.web@gmail.com>
+
+ * abbrevlist.el: Move to obsolete/abbrevlist.el.
+
+ * help-mode.el (help-mode-finish): Tweak regexp.
+
+2011-03-23 Glenn Morris <rgm@gnu.org>
+
+ * eshell/esh-opt.el (eshell-eval-using-options):
+ Do not bind unused local variable `eshell-option-stub'.
+
+ * progmodes/gdb-mi.el (gdb): Fix typo in previous change.
+
+2011-03-22 Juanma Barranquero <lekktu@gmail.com>
+
+ * emacs-lisp/derived.el (define-derived-mode): Wrap declaration of
+ keymap variable in `with-no-warnings' to avoid a warning when the
+ keymap has been already `defconst'ed.
+
+2011-03-22 Leo Liu <sdl.web@gmail.com>
+
+ * abbrev.el (write-abbrev-file): Use utf-8 for writing if it can
+ encode all chars in abbrevs; otherwise use emacs-mule or
+ utf-8-emacs. (Bug#8308)
+
+2011-03-22 Juanma Barranquero <lekktu@gmail.com>
+
+ * simple.el (backward-delete-char-untabify):
+ Avoid warning about using `delete-backward-char'.
+
+ * image.el (image-type-file-name-regexps): Make it variable.
+ `imagemagick-register-types' modifies it, and the user may want
+ to add new extensions for known image types.
+ (imagemagick-register-types): Throw error if not using ImageMagick.
+
+2011-03-22 Leo Liu <sdl.web@gmail.com>
+
+ * net/rcirc.el (rcirc-completion-at-point): Return nil if point is
+ located before rcirc-prompt-end-marker.
+ (rcirc-complete): Error if point is not after rcirc prompt.
+ Handle the case when table is nil.
+ (rcirc-user-authenticated): Define to fix compiler warning.
+
+2011-03-22 Chong Yidong <cyd@stupidchicken.com>
+
+ * custom.el (custom--inhibit-theme-enable): Make it affect only
+ custom-theme-set-variables and custom-theme-set-faces.
+ (provide-theme): Ignore custom--inhibit-theme-enable.
+ (load-theme): Enable the theme explicitly if NO-ENABLE is non-nil.
+ (custom-enabling-themes): Delete variable.
+ (enable-theme): Accept only loaded themes as arguments.
+ Ignore the special custom-enabled-themes variable.
+ (custom-enabled-themes): Forbid themes from setting this.
+ Eliminate use of custom-enabling-themes.
+ (custom-push-theme): Quote "changed" custom var entry.
+
+2011-03-21 Leo Liu <sdl.web@gmail.com>
+
+ * ido.el (ido-read-internal): Add ido-selected to history instead
+ of user input.
+
+2011-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * subr.el (deferred-action-list, deferred-action-function):
+ Mark obsolete.
+
+2011-03-21 Leo Liu <sdl.web@gmail.com>
+
+ * vc/log-view.el: Remove (require 'wid-edit), not needed after the
+ change on 2011-02-13 (bug#8309).
+
+ * minibuffer.el (read-file-name-function): Change default value.
+ (read-file-name--defaults): Rename from read-file-name-defaults.
+ (read-file-name-default): Rename from read-file-name.
+ (read-file-name): Call read-file-name-function.
+
+2011-03-21 Glenn Morris <rgm@gnu.org>
+
+ * eshell/esh-opt.el (eshell-eval-using-options, eshell-process-args):
+ Doc fixes.
+
+2011-03-21 Chong Yidong <cyd@stupidchicken.com>
+
+ * cus-theme.el: Add missing provide statement.
+ (customize-create-theme): Extract theme value correctly.
+ (custom-theme-visit-theme): Autoload.
+ (customize-create-theme): Prompt before inserting default faces.
+
+2011-03-20 Jay Belanger <jay.p.belanger@gmail.com>
+
+ * calc/calc-menu.el (calc-units-menu): Add entries for logarithmic
+ units and musical notes.
+
+2011-03-20 Leo <sdl.web@gmail.com>
+
+ * ido.el (ido-read-internal): Use completing-read-default.
+ (ido-completing-read): Fix compatibility with completing-read.
+
+2011-03-20 Christian Ohler <ohler@gnu.org>
+
+ * emacs-lisp/ert.el (ert-run-tests-batch): Remove unused variable.
+ (ert-delete-all-tests): Use `called-interactively-p' rather than
+ `interactive-p'.
+ (ert--make-xrefs-region): Respect END.
+
+2011-03-19 Chong Yidong <cyd@stupidchicken.com>
+
+ * dired-aux.el (dired-create-directory): Signal an error if the
+ directory already exists (Bug#8246).
+
+ * facemenu.el (list-colors-display): Call list-faces-display
+ inside with-help-window.
+ (list-colors-print): Use display property to align the final
+ column, instead of checking window-width.
+
+2011-03-19 Eli Zaretskii <eliz@gnu.org>
+
+ * emerge.el (emerge-metachars): Separate value for ms-dos and
+ windows-nt systems.
+ (emerge-protect-metachars): Quote correctly for ms-dos and
+ windows-nt systems.
+
+2011-03-19 Ralph Schleicher <rs@ralph-schleicher.de> (tiny change)
+
+ * info.el (info-initialize): Replace all uses of `:' with
+ path-separator for compatibility with non-Unix systems.
+ Cache quoting of path-separator. (Bug#8258)
+
+2011-03-19 Juanma Barranquero <lekktu@gmail.com>
+
+ * avoid.el (mouse-avoidance-mode, mouse-avoidance-nudge-dist)
+ (mouse-avoidance-threshold, mouse-avoidance-banish-destination)
+ (mouse-avoidance-mode): Fix typos in docstrings.
+
+2011-03-19 Chong Yidong <cyd@stupidchicken.com>
+
+ * startup.el (package-subdirectory-regexp): Move from package.el.
+ Omit \\` and \\', and let callers add them.
+
+ * emacs-lisp/package.el (package-strip-version)
+ (package-load-all-descriptors): Add \\` and \\' to
+ package-subdirectory-regexp before using it.
+ (package-untar-buffer): New arg DIR; ensure that file untars only
+ into this expected directory. Remove superfluous delete-region.
+ (package-unpack): Caller changed.
+ (package-tar-file-info): Use package-subdirectory-regexp.
+
+2011-03-18 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * vc/diff-mode.el (diff-mode-map): Shadow problematic bindings from
+ diff-mode-shared-map (bug#8284).
+ (diff-mode-shared-map): Re-introduce some bindings that were problematic.
+
+2011-03-17 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * calendar/time-date.el (format-seconds): Use assoc instead of
+ assoc-string, since assoc-string doesn't exist in XEmacs.
+
+2011-03-17 Juanma Barranquero <lekktu@gmail.com>
+
+ * custom.el (custom-known-themes): Reflow docstring.
+ (custom-theme-load-path): Fix typo in docstring.
+ (load-theme): Fix typo in error message.
+ (custom-available-themes, custom-variable-theme-value):
+ Use `let', not `let*'.
+
+2011-03-17 Jay Belanger <jay.p.belanger@gmail.com>
+
+ * calc/README: Mention inclusion of musical notes.
+
+ * calc/calc-units.el (calc-lu-quant): Rename from
+ `calc-logunits-quantity'.
+ (calcFunc-lupquant): Rename from `calcFunc-powerquant'.
+ (calcFunc-lufquant): Rename from `calcFunc-fieldquant'.
+ (calc-db): Rename from `calc-dblevel'.
+ (calcFunc-dbpower): Rename from `calcFunc-dbpowerlevel'.
+ (calcFunc-dbfield): Rename from `calcFunc-dbfieldlevel'.
+ (calc-np): Rename from `calc-nplevel'.
+ (calcFunc-nppower): Rename from `calcFunc-nppowerlevel'.
+ (calcFunc-npfield): Rename from `calcFunc-npfieldlevel'.
+ (calc-lu-plus): Rename from `calc-logunits-add'.
+ (calcFunc-lupadd): Rename from `calcFunc-lupoweradd'.
+ (calcFunc-lufadd): Rename from `calcFunc-lufieldadd'.
+ (calc-lu-minus): Rename from `calc-logunits-sub'.
+ (calcFunc-lupsub): Rename from `calcFunc-lupowersub'.
+ (calcFunc-lufsub): Rename from `calcFunc-lufieldsub'.
+ (calc-lu-times): Rename from `calc-logunits-mul'.
+ (calcFunc-lupmul): Rename from `calcFunc-lupowermul'.
+ (calcFunc-lufmul): Rename from `calcFunc-lufieldmul'.
+ (calc-lu-divide): Rename from `calc-logunits-div'.
+ (calcFunc-lupdiv): Rename from `calcFunc-lupowerdiv'.
+ (calcFunc-lufdiv): Rename from `calcFunc-lufielddiv'.
+
+ * calc/calc-ext.el (calc-init-extensions): Update the names of the
+ functions being autoloaded.
+
+ * calc/calc.el (calc-lu-power-reference): Rename from
+ `calc-logunits-power-reference'.
+ (calc-lu-field-reference): Rename from
+ `calc-logunits-field-reference'.
+
+ * calc/calc-help (calc-l-prefix-help): Mention musical note functions.
+
+2011-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * minibuffer.el (completion-all-sorted-completions):
+ Use :completion-cycle-penalty text property if present.
+
+2011-03-16 Ken Manheimer <ken.manheimer@gmail.com>
+
+ * allout.el (allout-yank-processing): Adjust for new rebulleting
+ regime so bullet being yanked is used without prompting the user
+ for a choice.
+
+2011-03-16 Juanma Barranquero <lekktu@gmail.com>
+
+ * startup.el (command-line): Warn the user that _emacs is deprecated.
+
+2011-03-16 Juanma Barranquero <lekktu@gmail.com>
+
+ * progmodes/delphi.el (delphi-search-path, delphi-indent-level)
+ (delphi-verbose, delphi-comment-face, delphi-string-face)
+ (delphi-keyword-face, delphi-ignore-changes, delphi-indent-line)
+ (delphi-mode-abbrev-table, delphi-debug-buffer, delphi-tab)
+ (delphi-find-unit, delphi-find-current-xdef, delphi-fill-comment)
+ (delphi-new-comment-line, delphi-font-lock-defaults)
+ (delphi-debug-mode-map, delphi-mode-syntax-table, delphi-mode):
+ Fix typos in docstrings.
+
+2011-03-15 Ken Manheimer <ken.manheimer@gmail.com>
+
+ * allout.el (allout-make-topic-prefix, allout-rebullet-heading):
+ Invert the roles of character and string values for INSTEAD, so a
+ string is used for the more common case of a defaulting prompt.
+
+2011-03-15 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/ruby-mode.el (ruby-backward-sexp):
+ * progmodes/ebrowse.el (ebrowse-draw-file-member-info):
+ * play/gamegrid.el (gamegrid-make-face):
+ * play/bubbles.el (bubbles--grid-width, bubbles--grid-height)
+ (bubbles--colors, bubbles--shift-mode, bubbles--initialize-images):
+ * notifications.el (notifications-notify):
+ * net/xesam.el (xesam-search-engines):
+ * net/quickurl.el (quickurl-list-insert):
+ * vc/vc-hg.el (vc-hg-dir-printer): Fix use of case.
+
+2011-03-15 Chong Yidong <cyd@stupidchicken.com>
+
+ * startup.el (command-line): Update package subdirectory regexp.
+
+2011-03-15 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * allout.el (allout-abbreviate-flattened-numbering)
+ (allout-mode-deactivate-hook): Fix up obsolescence "date".
+
+ * subr.el (read-char-choice): Only show the cursor after the prompt,
+ not after the answer.
+
+2011-03-15 Kevin Ryde <user42@zip.com.au>
+
+ * help-fns.el (variable-at-point): Skip leading quotes, if any
+ (bug#8253).
+
+2011-03-15 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/bytecomp.el (byte-compile-save-excursion): Change the
+ warning message.
+
+2011-03-14 Michael Albinus <michael.albinus@gmx.de>
+
+ * shell.el (shell): When called interactively, offer to change the
+ shell file name on remote hosts.
+
+2011-03-13 Teodor Zlatanov <tzz@lifelogs.com>
+
+ * net/ldap.el (ldap-search-internal): Add `auth-source-search'
+ integration for LDAP parameters. The host, base, user or binddn,
+ and secret tokens can be specified in a netrc file, for instance.
+ This is optional because an `auth-source' parameter must be
+ specified in the search attributes.
+
+2011-03-13 Juanma Barranquero <lekktu@gmail.com>
+
+ * help.el (describe-mode): Link to the mode's definition (bug#8185).
+
+2011-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * ebuff-menu.el (electric-buffer-menu-mode-map): Move initialization
+ into declaration. Remove redundant and harmful binding.
+
+2011-03-12 Eli Zaretskii <eliz@gnu.org>
+
+ * files.el (file-ownership-preserved-p): Pass `integer' as an
+ explicit 2nd argument to `file-attributes'. If the file's owner
+ is the Administrators group on Windows, and the current user is
+ Administrator, consider that a match.
+
+ * server.el (server-ensure-safe-dir): Consider server directory
+ safe on MS-Windows if its owner is the Administrators group while
+ the current Emacs user is Administrator. Use `=' to compare
+ numerical UIDs, since they could be integers or floats.
+
+2011-03-12 Juanma Barranquero <lekktu@gmail.com>
+
+ * vc/vc-bzr.el (vc-bzr-state): Handle bzr 2.3.0 (follow-up to bug#8170).
+
+2011-03-12 Michael Albinus <michael.albinus@gmx.de>
+
+ Sync with Tramp 2.2.1.
+
+ * net/tramp-sh.el (tramp-methods): Exchange "%k" marker with options.
+
+ * net/trampver.el: Update release number.
+
+2011-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/compile.el (compilation--previous-directory): Fix up
+ various nil/dead-marker mismatches (bug#8014).
+ (compilation-directory-properties, compilation-error-properties):
+ Don't call it at a position past the one we're about to change.
+
+ * emacs-lisp/bytecomp.el (byte-compile-make-obsolete-variable):
+ Disable obsolescence warnings in the file that declares it.
+
+2011-03-11 Ken Manheimer <ken.manheimer@gmail.com>
+
+ * allout-widgets.el (allout-widgets-tally): Initialize
+ allout-widgets-tally as a hash table rather than nil to prevent
+ mode-line redisplay warnings.
+ Also, clarify the module description and fix a comment typo.
+
+2011-03-11 Juanma Barranquero <lekktu@gmail.com>
+
+ * help-fns.el (describe-variable): Don't complete keywords.
+ Suggested by Teodor Zlatanov <tzz@lifelogs.com>.
+
+2011-03-10 Chong Yidong <cyd@stupidchicken.com>
+
+ * emacs-lisp/package.el (package-version-join): Impose a standard
+ string representation for pre/alpha/beta version lists.
+ (package-unpack-single): Standardize the directory name by passing
+ it through package-version-join.
+ (package-strip-rcs-id): Accept any version string that does not
+ signal an error in version-to-list.
+
+2011-03-10 Michael Albinus <michael.albinus@gmx.de>
+
+ * simple.el (delete-trailing-whitespace): Return nil for the
+ benefit of `write-file-functions'.
+
+2011-03-10 Glenn Morris <rgm@gnu.org>
+
+ * vc/vc-hg.el (vc-hg-pull, vc-hg-merge-branch): Use vc-hg-program.
+
+ * vc/vc-git.el (vc-git-program): New option.
+ (vc-git-branches, vc-git-pull, vc-git-merge-branch, vc-git-command)
+ (vc-git--call): Use it.
+
+ * eshell/esh-util.el (eshell-condition-case): Doc fix.
+
+ * cus-edit.el (Custom-newline): If no button at point, look
+ for a subgroup button at start-of-line. (Bug#2298)
+
+ * mail/rmail.el (rmail-msgend, rmail-msgbeg): Doc fixes.
+
+2011-03-10 Julien Danjou <julien@danjou.info>
+
+ * avoid.el (mouse-avoidance-ignore-p): Do not move the cursor if
+ `cursor-type' is nil.
+
+2011-03-09 Jay Belanger <jay.p.belanger@gmail.com>
+
+ * calc/calc.el (calc-mode-map): Don't bind "C-_" to `calc-missing-key'.
+
+2011-03-09 Ken Manheimer <ken.manheimer@gmail.com>
+
+ * allout.el Summary: Change so yank of distinctive-bullet items
+ preserves the existing header prefix, rebulleting it if necessary,
+ rather than replacing it. This is necessary for proper operation
+ of cooperative addons like allout-widgets.
+ (allout-make-topic-prefix, allout-rebullet-heading): Change
+ SOLICIT arg to INSTEAD, and interpret additionally a string value
+ as alternate bullet to be used, instead of prompting the user for
+ a bullet character.
+
+2011-03-09 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
+ Do not use `tramp-file-name-port', because this returns also
+ `tramp-default-port'.
+
+2011-03-09 Deniz Dogan <deniz.a.m.dogan@gmail.com>
+
+ * net/rcirc.el (rcirc-handler-001): Remove useless
+ with-rcirc-process-buffer.
+ (rcirc-check-auth-status): Swap arguments to string-match.
+
+2011-03-09 Glenn Morris <rgm@gnu.org>
+
+ * shell.el (shell-mode):
+ Set comint-input-ring-size from HISTSIZE. (Bug#7889)
+
+ * progmodes/gdb-mi.el (gdb): Improve 2010-12-08 change.
+ Check for GDBHISTFILE, HISTSIZE, etc. (Bug#7889)
+
+2011-03-08 Chong Yidong <cyd@stupidchicken.com>
+
+ * emacs-lisp/package.el (package-refresh-contents)
+ (package-menu-execute): Use condition-case-no-debug.
+
+2011-03-08 Michael Albinus <michael.albinus@gmx.de>
+
+ * simple.el (shell-command-to-string): Use `process-file'.
+
+ * emacs-lisp/package.el (package-tar-file-info): Handle also
+ remote files.
+
+ * emacs-lisp/package-x.el (package-upload-buffer-internal):
+ Use `equal' for upload base check.
+
+2011-03-08 Arni Magnusson <arnima@hafro.is> (tiny change)
+
+ * textmodes/texinfo.el (texinfo-environments):
+ Add deftypecv, deftypeivar, deftypemethod, deftypeop, html. (Bug#2783)
+
+2011-03-08 Glenn Morris <rgm@gnu.org>
+
+ * cus-start.el (cursor-in-non-selected-windows):
+ Fix :set quoting oddness. (Bug#8192)
+
+ * font-lock.el (lisp-font-lock-keywords-1): Don't highlight `)'
+ in some setf expressions. (Bug#2159)
+
+2011-03-08 Chong Yidong <cyd@stupidchicken.com>
+
+ * custom.el (custom-available-themes): Return themes in
+ alphabetical order.
+
+See ChangeLog.15 for earlier changes.
+
+;; Local Variables:
+;; coding: utf-8
+;; End:
+
+ Copyright (C) 2011 Free Software Foundation, Inc.
+
+ This file is part of GNU Emacs.
+
+ GNU Emacs is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ GNU Emacs is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.