Merge from mainline.
[bpt/emacs.git] / lisp / ChangeLog
dissimilarity index 96%
index b517c48..62dd255 100644 (file)
-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/>.