1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-01 08:17:38 +00:00
emacs/lisp/emacs-lisp
Stefan Monnier f1fe13ea05 (pcase-mutually-exclusive): Use auto-generated table
The `pcase-mutually-exclusive-predicates` table was not very
efficient since it grew like O(N²) with the number of
predicates.  Replace it with an O(N) table that's auto-generated
from the `built-in-class` objects.

* lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates):
Delete variable.
(pcase--subtype-bitsets): New function and constant.
(pcase--mutually-exclusive-p): Use them.
* lisp/emacs-lisp/cl-preloaded.el (built-in-class): Don't inline.
2024-03-28 00:06:00 -04:00
..
advice.el * lisp/emacs-lisp/advice.el (comp-subr-trampoline-install): Don't declare. 2024-03-15 14:43:40 +01:00
avl-tree.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
backquote.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
backtrace.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
benchmark.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
bindat.el * lisp/emacs-lisp/bindat.el (sint): Burp in dynbind (bug#69749) 2024-03-15 12:45:09 -04:00
byte-opt.el (byte-optimize-form-code-walker): Simplify a bit 2024-03-24 22:13:44 -04:00
byte-run.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
bytecomp.el Try and avoid hardcoding lists of function types 2024-03-12 16:09:23 -04:00
cconv.el Grudgingly accept function values in the function position 2024-02-05 18:02:19 +01:00
chart.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
check-declare.el Do not attempt to check declarations in lock files 2024-02-20 22:49:07 +01:00
checkdoc.el ; Simplify (with-current-buffer (get-buffer ...) ...) 2024-03-14 12:40:26 +02:00
cl-extra.el (help-fns-function-description-header): Print functions' type 2024-03-22 08:47:13 -04:00
cl-generic.el cl-preloaded.el: Fix the type lattice 2024-03-26 13:14:15 -04:00
cl-indent.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
cl-lib.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
cl-macs.el cl-preloaded.el: Fix the type lattice 2024-03-26 13:14:15 -04:00
cl-preloaded.el (pcase-mutually-exclusive): Use auto-generated table 2024-03-28 00:06:00 -04:00
cl-print.el cl-preloaded.el: Improve docstrings of "kinds" 2024-03-23 22:48:17 -04:00
cl-seq.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
comp-common.el * Fix capitalize entry in comp-known-type-specifiers (bug#69631) 2024-03-08 14:36:03 +01:00
comp-cstr.el ; * lisp/emacs-lisp/comp-cstr.el (comp--normalize-typeset0): Fix comment. 2024-03-20 12:01:10 +01:00
comp-run.el ; * lisp/emacs-lisp/comp-run.el (comp-run-async-workers): Fix indentation. 2024-03-20 16:59:33 +01:00
comp.el cl-preloaded.el: Fix the type lattice 2024-03-26 13:14:15 -04:00
compat.el Add the public API of Compat to the core 2024-02-11 22:50:29 +01:00
copyright.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
crm.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
cursor-sensor.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
debug-early.el (backtrace-on-redisplay-error): Use handler-bind 2024-01-04 16:37:01 -05:00
debug.el debug.el: Prevent re-entering the debugger for the same error 2024-03-16 23:10:48 -04:00
derived.el derived.el: Delete old code (bug#68625) 2024-01-29 19:04:59 -05:00
disass.el disass.el (disassemble-1): Minor simplification 2024-03-04 23:42:50 -05:00
easy-mmode.el * lisp/emacs-lisp/easy-mmode.el (easy-mmode--mode-docstring): Add comment 2024-02-03 18:22:41 -05:00
easymenu.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
edebug.el edebug.el: Better strip instrumentation from backtraces 2024-03-23 19:21:26 -04:00
eieio-base.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
eieio-core.el (cl-type-of): New function to return more precise types (bug#69739) 2024-03-18 09:29:47 -04:00
eieio-custom.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
eieio-datadebug.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
eieio-opt.el ; Simplify (with-current-buffer (get-buffer ...) ...) 2024-03-14 12:40:26 +02:00
eieio-speedbar.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
eieio.el eieio-core.el: Always put a parent in the parents of a class 2024-03-08 02:04:59 -05:00
eldoc.el Use obarray-make instead of make-vector to create obarrays 2024-02-23 13:02:27 +01:00
elint.el Take file-local variables into account in elint-file (bug#69076) 2024-02-14 08:54:04 +01:00
elp.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
ert-font-lock.el ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
ert-x.el Complete change of ert-remote-temporary-file-directory 2024-01-06 18:15:23 +01:00
ert.el ert.el: Use handler-bind to record backtraces 2024-01-04 16:33:25 -05:00
ewoc.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
faceup.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
find-func.el Make find-function-regexp also find transient-define-* 2024-02-20 13:58:32 +01:00
float-sup.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
generate-lisp-file.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
generator.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
generic.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
gv.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
helper.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
hierarchy.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
icons.el Fix documentation of icon-elements 2024-01-14 17:03:16 +02:00
inline.el * lisp/emacs-lisp/inline.el (inline-const-val): Improve docstring 2024-01-30 13:14:32 -05:00
let-alist.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
lisp-mnt.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
lisp-mode.el * lisp/subr.el (with-output-to-temp-buffer): Add indent rule 2024-02-09 14:13:29 -05:00
lisp.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
loaddefs-gen.el Allow trivially autoloading uses of transient's define macros 2024-02-20 22:04:51 +01:00
macroexp.el (macroexp--with-extended-form-stack): Use plain let 2024-01-04 16:35:53 -05:00
map-ynp.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
map.el * lisp/emacs-lisp/map.el (map--make-pcase-bindings): Fix use in Emacs<30 2024-02-21 08:49:15 -05:00
memory-report.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
multisession.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
nadvice.el cl-preloaded.el: Improve docstrings of "kinds" 2024-03-23 22:48:17 -04:00
oclosure.el Cleanup some type predicates 2024-03-12 15:43:43 -04:00
package-vc.el Merge from origin/emacs-29 2024-02-17 04:54:48 -05:00
package-x.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
package.el (describe-package-1): Fix bug#69712 2024-03-23 16:11:07 -04:00
pcase.el (pcase-mutually-exclusive): Use auto-generated table 2024-03-28 00:06:00 -04:00
pp.el Fix recent test regressions 2024-03-22 18:44:54 -04:00
radix-tree.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
range.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
re-builder.el ; Simplify (with-current-buffer (get-buffer ...) ...) 2024-03-14 12:40:26 +02:00
regexp-opt.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
regi.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
ring.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
rmc.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
rx.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
seq.el Followup changes to cl-type-of 2024-03-18 09:32:53 -04:00
shadow.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
shortdoc.el ; * lisp/vc/vc-git.el (vc-git--out-str): Doc fix. 2024-03-18 15:59:54 +02:00
shorthands.el Improve shorthands-font-lock-shorthands (bug#67390) 2024-02-03 08:40:03 -06:00
smie.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
subr-x.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
syntax.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
tabulated-list.el Add tabulated-list-groups and Buffer-menu-group-by (bug#69305) 2024-02-29 19:50:04 +02:00
tcover-ses.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
testcover.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
text-property-search.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
thunk.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
timer-list.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
timer.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
tq.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
trace.el Merge from origin/emacs-29 2024-02-10 05:07:56 -05:00
unsafep.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
vtable.el 'vtable-update-object' can now be called with one argument 2024-03-21 12:41:44 +02:00
warnings.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00