* lisp/emacs-lisp/cl-generic.el: Remove outdated TODO item.
(cl-defgeneric): Rename BODY to DEFAULT-BODY.
(cl-defmethod): Mention that multiple dispatch arguments are
allowed. Document supported types. (Bug#22336)
* doc/lispref/text.texi (Special Properties): Document the new
properties 'cursor-intangible' and 'cursor-sensor-functions'.
Document the obsolete status of 'intangible', 'pointer-left',
and 'point-entered' properties, and of 'inhibit-point-motion-hooks'.
* doc/lispref/display.texi (Overlay Properties): Document that
'intangible' overlay property is obsolete.
* lisp/emacs-lisp/cursor-sensor.el (cursor-sensor-mode): Doc fix.
* doc/emacs/package.texi (Package Menu): Document the 'external'
status and the new menu commands.
(Package Installation): Document archive priorities.
* lisp/emacs-lisp/package.el (package-archive-priorities): Doc fix.
(package-menu-hide-low-priority): Doc fix.
; `test/automated/ert.el' and `test/automated/ert-x.el' now run
; without errors.
* lisp/emacs-lisp/ert.el (ert--insert-human-readable-selector): Add
the `member' selector. This was accidentally dropped when code was
converted from `cl-typecase' (where `member' has a special meaning)
and `cl-ecase' (where it doesn't) to `pcase'.
* doc/misc/calc.texi (Predefined Units): Use the bland modern
scientific style for spelling the units “ampere” and
“angstrom” rather than the older style “Ampere” and
“Ångstrom”. The latter spelling was wrong anyway (it should
have been “Ångström”).
* lisp/emacs-lisp/ert.el (ert--explain-equal-rec):
Fix misspelling of ‘atom’ in code.
(package--with-response-buffer): NOERROR and ERROR-FORM only
handle connection errors.
(bad-signature): New error type.
(package--check-signature-content): Use it.
(package--check-signature): Properly distinguish connection errors
from bad-signature errors. Do the check for
`package-check-signature' `allow-unsigned' here instead of forcing
the callbacks to do it. Add a new argument, UNWIND.
(package--download-one-archive, package-install-from-archive):
Update usage of `package--check-signature'.
Reload any previously loaded package files before compiling
the package (also reload the same files after compiling).
This ensures that we have the most recent definitions during
compilation, and avoids generating bad elc files when a macro
changes and it is used in a different file from the one it's
defined in.
(package-activate): Move code that activates dependencies into
package-activate-1.
(package--load-files-for-activation): New function.
(package-activate-1): Add code for (optionally) activating
dependencies, and move file-loading code into
`package--load-files-for-activation'.
* lisp/emacs-lisp/bytecomp.el (byte-compile-funcall): When there's no argument
to `funcall', (i) Output an error message; (ii) Generate code to signal a
`wrong-number-of-arguments' error.
Corrects change from earlier today.
* lisp/emacs-lisp/bytecomp.el (byte-compile-setq): supply the current value of
`byte-compile--for-effect' as argument to `byte-compile-form'.
* lisp/emacs-lisp/cconv.el (cconv-convert): Don't transform `setq' form when
it has an odd number of arguments, to allow bytecomp to handle the error.
* lisp/emacs-lisp/bytecomp.el (byte-compile-setq): In a `setq' form with an
odd number of arguments, generate a `signal' instead of the normal code.
commit e1ecf76585bef2eb87995f7a7f92cc12003a6f70
Author: Alan Mackenzie <acm@muc.de>
Date: Tue Nov 24 16:50:09 2015 +0000
Byte compile: minor amendments.
* lisp/emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment):
add a comment to explain the binding of variables around a subsidiary
compilation.
(byte-compile-new-defuns): Amend the doc string.
commit c537bfed1dda1593d218956ff00c6105a3ff0316
Author: Alan Mackenzie <acm@muc.de>
Date: Sat Nov 21 18:43:57 2015 +0000
Byte compiler: fix spurious warnings "might not be defined at runtime".
Also initialize byte-compile-noruntime-functions between runs.
* lisp/emacs-lisp/bytecomp.el (byte-compile-new-defuns): New variable.
(byte-compile-initial-macro-environment): For eval-when-compile: bind
byte-compile-unresolved-functions and byte-compile-new-defuns around
byte-compile-top-level, to prevent spurious entries being made.
(byte-compile-warn-about-unresolved-functions): Check whether function is
in byte-compile-new-defuns before emitting a warning about it.
(byte-compile-from-buffer): Initialize new variable and
byte-compile-noruntime-functions to nil.
(byte-compile-file-form-require): record all new functions defined by a
`require' in byte-compile-new-defuns.
(byte-compile-file-form-defmumble): record the new alias in
byte-compile-new-defuns.
* lisp/apropos.el (apropos-documentation):
* lisp/obsolete/complete.el (PC-include-file-all-completions):
* lisp/progmodes/compile.el (compilation-goto-locus):
* lisp/vc/vc-cvs.el (vc-cvs-parse-root): (twice)
Insert missing nil at end of `setq' forms.
* lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-autoload): Remove an
erroneous trailing variable name from a setq, thus allowing a compilation
properly to track functions not defined at runtime.