aboutsummaryrefslogtreecommitdiffstats
path: root/src/buffer.c
diff options
context:
space:
mode:
authorStefan Monnier2024-03-03 18:08:50 -0500
committerStefan Monnier2024-03-03 18:08:50 -0500
commit1d9d07fb00e6b62641c07af68f986e700b5f6cee (patch)
treef5d6c604acb02e88d6c8c7dbef50bdcd5fde0b47 /src/buffer.c
parent99483e214fdafa76e8001c7009dff13a76c33f32 (diff)
downloademacs-1d9d07fb00e6b62641c07af68f986e700b5f6cee.tar.gz
emacs-1d9d07fb00e6b62641c07af68f986e700b5f6cee.zip
(cl--typeof-types): Rework to fix some regressions
Initialize the variables directly in their declaration, so there no time where they exist but aren't yet initialized. This also allows us to mark `cl--typeof-types` as a `defconst` again. More importantly, specify the DAG by direct supertypes rather than direct subtypes. This is slightly less compact, but it's necessary to let us specify the *order* of the supertypes, which is necessary for example to preserve the desired ordering of methods when several methods can be applied. Fix a few more regressions, such as removing `atom` from the parents of `function` since some lists are considered as functions, adding `number-or-marker` as supertype of `integer-or-marker`, and re-adding `native-comp-unit`. I carefully compared all elements of `cl--typeof-types` to make sure they are the same as before (with one exception for `null`). * lisp/emacs-lisp/cl-preloaded.el (cl--type-hierarchy): Delete var. (cl--direct-supertypes-of-type, cl--typeof-types): Initialize directly in the declaration. (cl--supertypes-lane, cl--supertypes-lanes-res): Delete vars. (cl--supertypes-for-typeof-types-rec) (cl--supertypes-for-typeof-types): Delete functions.
Diffstat (limited to 'src/buffer.c')
0 files changed, 0 insertions, 0 deletions