The accessor functions use the predicate function, which causes problems
when reloading after unload-feature: the compiler-macro property is
still present on the predicate symbol, and the compiler fails to find
the definition when trying to inline it into the accessor
function (Bug#25088).
* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Move predicate definition
before field accessor definitions.
The function `cursor-sensor--detect' calls `bobp' to decide whether to
check properties at (1- (window-point)). However, (window-point) may be
at beginning of buffer, even if (point) is not. In this case an
`args-out-of-range' error will be signaled (Bug#25104).
* lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Check the
value of (window-point) against (point-min), rather than (bobp) to
decide if (1- (window-point)) is accessible.
"Don't call debug on failed cl-assert..." removed the call to `debug' in
cl--assertion-failed because `debug' calls `kill-emacs' in batch mode,
thus messing up ert test runs. However, calling the debugger is useful
because it allows catching failed assertions even inside
`condition-case' calls. The problem with ert can be avoided by calling
`debugger' instead of `debug' directly, since ert installs its own
debugger while running tests.
* lisp/emacs-lisp/cl-preloaded.el (cl--assertion-failed): Call
`debugger' if `debug-on-error' is non-nil.
Doing this causes problems when running ert tests, for
instance (Bug#24778). The call to `debug` when `debug-on-error' is
non-nil was introduced in 2015-02-14 "* lisp/emacs-lisp/cl*.el: Use
define-inline and move some code...".
* lisp/emacs-lisp/cl-preloaded.el (cl--assertion-failed): Don't call
`debug' directly.
* lisp/emacs-lisp/find-func.el (find-library):
* lisp/help-mode.el (help-function-def, help-variable-def):
Run `find-function-after-hook' inside the help-function of the
buttons (bug#22583).
* etc/NEWS: Mention the change.
This is a backport from master.
(cherry picked from commit f069d85450)
* lisp/emacs-lisp/cl-generic.el (cl-generic-apply): New function.
* lisp/emacs-lisp/eieio-compat.el (eieio--defmethod): Fix incorrect
mapping between cl-no-applicable-method and EIEIO's no-applicable-method.
* lisp/emacs-lisp/eieio-core.el (eieio--class-precedence-c3):
`class' is not a symbol but a class object.
If the user’s init file is a symbolic link, do not break the link
when initializing the package system. Problem reported by Jackson
Hamilton (Bug#23050).
* lisp/emacs-lisp/package.el (package--ensure-init-file):
Bind find-file-visit-truename when visiting the init file, and
save and restore the buffer name the way cus-edit does in a
similar situation (Bug#454).
Fix some macro locals leaking into body. (Bug#22440)
* test/automated/package-test.el (package-test-signed):
Manually check all possible values of `package-check-signature'.
Problem report and fix by Lizzie Dixon (Bug#23513).
* lisp/emacs-lisp/package.el (package--check-signature-content):
Report an error if no good signatures OR if a fatal error. Not AND.
Copyright-paperwork-exempt: yes
* lisp/emacs-lisp/cl-generic.el (cl-generic-all-functions):
Rename from cl--generic-all-functions. Update both callers.
* lisp/cedet/semantic/db-el.el
(semanticdb-find-tags-external-children-of-type-method):
And use it here (bug#23042).
* lisp/emacs-lisp/byte-run.el (define-obsolete-face-alias):
Fix up last change.
(define-obsolete-variable-alias): Ditto.
(cherry picked from commit 28e9f4390d)
* lisp/emacs-lisp/byte-run.el (define-obsolete-face-alias):
Say more verbosely what WHEN is (bug#21225).
(define-obsolete-function-alias): Describe the WHEN parameter.
(define-obsolete-variable-alias): Ditto.
(cherry picked from commit 247c388f16)
* lisp/emacs-lisp/package.el (package-initialize): Be explicit
in saying that `package-initialize' obviates adjusting the
path or requiring the packages, as this is a question that
apparently comes up now and then (bug#18829).
(cherry picked from commit 619e0aedb2)
* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Wrap a
string to make it less likely that we get overlong lines
(bug#17999).
(cherry picked from commit 323b696649)