1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-06 06:20:55 -08:00
emacs/lisp/emacs-lisp
Stefan Monnier 68a50324a7 cl-types: Simplify a bit further
Mostly, get rid of `cl--type-flag` and rely only on the presence/absence
of the type on `cl--types-list` to "flag" erroring-types.
Also, don't try and catch errors during dispatch.

* lisp/emacs-lisp/cl-types.el (cl--type-dispatch-list): Move to the
relevant section.
(cl--type-parents): Inline into sole caller.
(cl--type-deftype): Add `arglist` argument.
Don't signal an error if the type already existed but wasn't in
`cl--type-list` since that's normal and we can fix it.
Don't touch `cl--type-flag` any more.
Don't add to `cl--type-list` if it can't be used without arguments.
(cl-deftype2): Adjust call accordingly.
(cl--type-error): Inline into sole caller.
(cl-types-of): Be more careful to preserve ordering of types
before passing them to `merge-ordered-lists`.
Add `types` argument for use by dispatch.
Don't bother skipping the `root-type` since that's a built-in type,
so it should never happen anyway.
Don't catch errors if called from dispatch.
Don't bother with `cl--type-flag`.
(cl--type-generalizer): Use new arg of `cl-types-of` instead of
let-binding `cl--type-list`, in case `cl-types-of` ends up (auto)loading
a file or some such thing which needs to use/modify `cl--type-list`.
(cl--type-undefine): Move to end of file.

* test/lisp/emacs-lisp/cl-types-tests.el (cl-types-test): Remove DAG
test since we don't detect such errors any more.
Relax ordering test when the order is not guaranteed
by parent-relationships.
2025-05-05 14:57:05 -04:00
..
advice.el
avl-tree.el
backquote.el
backtrace.el backtrace.el: Remove redundant put and :group 2025-03-25 14:16:03 -04:00
benchmark.el
bindat.el Fix capitalization ELisp -> Elisp 2025-03-12 09:38:33 +08:00
byte-opt.el Fix capitalization ELisp -> Elisp 2025-03-12 09:38:33 +08:00
byte-run.el
bytecomp.el (byte-compile-maybe-guarded): Make its code edebuggable 2025-03-24 17:12:16 -04:00
cconv.el ; Replace "Elisp" with "Lisp" or "Emacs Lisp" in some places 2025-03-12 10:24:22 +08:00
chart.el Prefer incf to cl-incf in emacs-lisp/*.el 2025-02-23 00:38:22 +01:00
check-declare.el
checkdoc.el checkdoc: Delete redundant check for wide docstrings 2025-03-23 17:22:51 +01:00
cl-extra.el Clean up 'cl-' prefixes for local variables 2025-03-05 03:16:59 +01:00
cl-generic.el (cl-generic-define-method): Try and fix bug#77464 2025-04-13 12:45:54 -04:00
cl-indent.el Prefer incf to cl-incf in emacs-lisp/*.el 2025-02-23 00:38:22 +01:00
cl-lib.el Use replace-region-contents to replace insert+delete 2025-03-29 17:49:49 -04:00
cl-macs.el cl-macs.el: Fix minor merge snafu (bug#77348) 2025-04-02 15:05:02 -04:00
cl-preloaded.el (built-in-class--make): Take list of types rather than classes 2025-03-25 02:09:48 -04:00
cl-print.el vc-do-async-command: Ellipse later lines in multiline arguments 2025-04-12 10:05:57 +08:00
cl-seq.el Rewrite cl--parsing-keywords using backtick 2025-03-06 00:47:24 +01:00
cl-types.el cl-types: Simplify a bit further 2025-05-05 14:57:05 -04:00
comp-common.el ; Grammar fixes for "native-compiled" 2025-02-28 20:20:55 +01:00
comp-cstr.el ; Grammar fixes for "native-compiled" 2025-02-28 20:20:55 +01:00
comp-run.el * Fix missing lexical-binding cookie warning on async compilation (bug#77918) 2025-04-25 22:36:06 +02:00
comp.el Fix a nativecomp type propagation bug (bug#74771) 2025-03-23 17:33:27 +01:00
compat.el
cond-star.el Fix Package name for cond-star 2025-03-10 07:45:21 -03:00
copyright.el
crm.el Merge from savannah/emacs-30 2025-03-04 14:32:33 +08:00
cursor-sensor.el
debug-early.el (debug--early): Avoid re-entering the debugger for the same error 2025-03-06 15:23:03 -05:00
debug.el (debug--early): Avoid re-entering the debugger for the same error 2025-03-06 15:23:03 -05:00
derived.el ; Use defvar-keymap in define-derived-mode 2025-03-18 00:33:32 +01:00
disass.el
easy-mmode.el Make define-global-minor-mode alias obsolete 2025-02-26 06:37:52 +01:00
easymenu.el
edebug.el Remove redundant constant nil argument to gethash 2025-03-29 14:59:09 +01:00
eieio-base.el (eieio-backward-compatibility): Set to warn (bug#77612) 2025-04-17 00:04:04 -04:00
eieio-core.el (eieio-backward-compatibility): Set to warn (bug#77612) 2025-04-17 00:04:04 -04:00
eieio-custom.el lisp/emacs-lisp/eieio-custom.el: Require eieio-base to silence warning 2025-04-07 00:10:42 -04:00
eieio-datadebug.el Delete redundant lambdas around unary functions 2025-02-11 19:04:00 +01:00
eieio-opt.el
eieio-speedbar.el
eieio.el (eieio-backward-compatibility): Set to warn (bug#77612) 2025-04-17 00:04:04 -04:00
eldoc.el ; * lisp/emacs-lisp/eldoc.el (eldoc-help-at-pt): Add :version tag (bug#77227). 2025-03-29 13:52:31 +03:00
elint.el Prefer '(evenp A)' to '(= 0 (logand A 1))' 2025-02-17 19:30:44 +01:00
elp.el Prefer incf to cl-incf in emacs-lisp/*.el 2025-02-23 00:38:22 +01:00
ert-font-lock.el Clean up ert-font-lock error messages 2025-03-07 15:58:08 +01:00
ert-x.el (internal--c-header-file-path): Move to ffap.el 2025-02-28 17:03:21 -05:00
ert.el Use numeric time zone suffix in ERT explainer. 2025-03-26 03:32:46 +01:00
ewoc.el
faceup.el
find-func.el ; (find-function-search-for-symbol): Be cautious with macros. 2025-04-05 08:04:55 +02:00
float-sup.el Remove variable aliases obsolete since Emacs 23.2 2025-03-11 21:20:38 +01:00
generate-lisp-file.el
generator.el
generic.el
gv.el Use replace-region-contents to replace insert+delete 2025-03-29 17:49:49 -04:00
helper.el Use 'help-key' function in more places 2025-03-18 00:16:29 +01:00
hierarchy.el
icons.el
inline.el
let-alist.el
lisp-mnt.el ; Delete redundant defvar 2025-02-11 08:42:24 +01:00
lisp-mode.el Revert addition of electric-block-comment-mode & follow-up commits 2025-04-22 20:47:56 +08:00
lisp.el
loaddefs-gen.el ; Add Maintainer header to loaddefs-gen.el 2025-03-02 06:45:53 +01:00
macroexp.el macroexp--expand-all: Don't call function-get on non-symbols 2025-04-06 07:30:27 +08:00
map-ynp.el Use 'help-key' function in more places 2025-03-18 00:16:29 +01:00
map.el Use 'hash-table-contains-p' in a few places 2025-03-29 14:59:44 +01:00
memory-report.el Prefer incf to cl-incf in emacs-lisp/*.el 2025-02-23 00:38:22 +01:00
multisession.el
nadvice.el (advice--make-nadvice-docstring): Rename 2025-03-03 22:18:02 -05:00
oclosure.el ; Replace "Elisp" with "Lisp" or "Emacs Lisp" in some places 2025-03-12 10:24:22 +08:00
package-vc.el Upgrade out-of-date VC package dependencies 2025-02-23 20:48:15 +01:00
package.el ; Fix an error in 'package-quickstart-refresh' 2025-04-10 16:46:00 +03:00
pcase.el Prefer '(evenp A)' to '(= 0 (% A 2))' 2025-02-17 05:37:10 +01:00
pp.el (pp-fill): Fix bug#76715 2025-03-05 18:35:35 -05:00
radix-tree.el
range.el
re-builder.el Fix capitalization ELisp -> Elisp 2025-03-12 09:38:33 +08:00
regexp-opt.el
regi.el
ring.el
rmc.el Delete redundant lambdas around unary functions 2025-02-11 19:04:00 +01:00
rx.el Make the rx eval form use lexical binding when active 2025-02-17 16:24:53 +01:00
seq.el
shadow.el
shortdoc.el New function 'hash-table-contains-p' 2025-03-29 14:59:36 +01:00
shorthands.el
smie.el lisp/emacs-lisp/smie.el (smie-config-show-indent): Tweak message 2025-03-18 08:42:42 -04:00
subr-x.el (replace-region-contents): Improve and promote (bug#76313) 2025-03-29 17:49:05 -04:00
syntax.el Prefer incf to cl-incf in emacs-lisp/*.el 2025-02-23 00:38:22 +01:00
tabulated-list.el
tcover-ses.el
testcover.el Remove redundant constant nil argument to gethash 2025-03-29 14:59:09 +01:00
text-property-search.el
thunk.el
timer-list.el
timer.el
tq.el
trace.el
track-changes.el lisp/emacs-lisp/track-changes.el: Make GNU ELPA release 2025-03-12 01:17:34 +01:00
unsafep.el
vtable.el
warnings.el Avoid warnings about lexbind cookies where they aren't needed 2025-04-10 14:36:43 +03:00