aboutsummaryrefslogtreecommitdiffstats
path: root/test/src/comp-tests.el (follow)
Commit message (Collapse)AuthorAgeFilesLines
* * test/src/comp-tests.el: Rework last patchStefan Monnier2021-11-271-29/+28
| | | | | | | | | | | Move `require`s out of `eval-when-compile` if the functions are called at run-time. Don't use #' to quote symbols (i.e. at those places where a lambda expression couldn't be used). Don't pre-load comp-test-45603.el and comp-test-pure.el any more. (comp-deftest pure): Use `declare-function` after loading `comp-test-pure.el` to silence the byte-compiler.
* * test/src/comp-tests.el: Eliminate byte-compiler warnings (Bug#52105).Stephen Gildea2021-11-261-10/+27
|
* Prefer ert-with-temp-(directory|file) in most remaining testsStefan Kangas2021-11-081-23/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * test/lisp/auth-source-tests.el (auth-source-test-searches): * test/lisp/autorevert-tests.el (auto-revert-test00-auto-revert-mode) (auto-revert-test01-auto-revert-several-files) (auto-revert-test02-auto-revert-deleted-file) (auto-revert-test03-auto-revert-tail-mode) (auto-revert-test04-auto-revert-mode-dired) (auto-revert-test05-global-notify) (auto-revert-test06-write-file) (auto-revert-test07-auto-revert-several-buffers): * test/lisp/calendar/icalendar-tests.el (icalendar-tests--do-test-cycle): * test/lisp/custom-tests.el (custom-theme--load-path): * test/lisp/dired-aux-tests.el (dired-test-bug27496) (with-dired-bug28834-test): * test/lisp/emacs-lisp/bytecomp-tests.el (test-byte-comp-compile-and-load) (bytecomp-tests--dest-mountpoint) (bytecomp-tests--target-file-no-directory): * test/lisp/emacs-lisp/gv-tests.el (gv-tests--in-temp-dir): * test/lisp/eshell/eshell-tests.el (with-temp-eshell) (eshell-test-command-result): * test/lisp/info-xref-tests.el (info-xref-test-makeinfo): * test/lisp/vc/vc-tests.el (vc-test--create-repo) (vc-test--register, vc-test--state, vc-test--working-revision) (vc-test--checkout-model, vc-test--rename-file) (vc-test--version-diff): * test/src/buffer-tests.el (test-kill-buffer-auto-save-delete): * test/src/comp-tests.el (comp-tests-bootstrap): * test/src/process-tests.el (process-test-quoted-batfile): Prefer 'ert-with-temp-(directory|file)' to using 'make-temp-file' directly.
* Fix two doc-related test failuresLars Ingebrigtsen2021-09-271-2/+2
|
* ; Minor stylistic checkdoc fixes in test/**/*.elStefan Kangas2021-09-261-2/+2
|
* Rename batch-byte-native-compile-for-bootstrap (bug#48743)Andrea Corallo2021-06-011-1/+1
| | | | | | | | | | | | | | | | * lisp/Makefile.in : Rename `batch-byte-native-compile-for-bootstrap' -> `batch-byte+native-compile. * lisp/emacs-lisp/bytecomp.el (byte+native-compile) (byte-compile-file): Rename `batch-byte-native-compile-for-bootstrap' -> `batch-byte+native-compile + `byte-native-for-bootstrap' -> `byte+native-compile'. * lisp/emacs-lisp/comp.el (comp-spill-lap-function, comp-final) (batch-native-compile, batch-byte+native-compile): Likewise. * lisp/emacs-lisp/bytecomp.el (byte+native-compile) (byte-compile-file): Likewise. * test/src/comp-tests.el (comp-tests-bootstrap): Rename `byte-native-for-bootstrap' -> `byte+native-compile'.
* Rename comp-debug -> native-comp-debugAndrea Corallo2021-05-061-1/+1
| | | | | | | | | * src/comp.c (emit_ctxt_code, syms_of_comp): Rename comp-debug -> native-comp-debug. * lisp/emacs-lisp/comp.el (native-comp-debug, comp-ctxt) (comp-spill-lap-function, comp-run-async-workers): Likewise. * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Likewise. * test/src/comp-tests.el (comp-tests-bootstrap): Likewise.
* Rename comp-speed -> native-comp-speedAndrea Corallo2021-05-061-4/+4
| | | | | | | | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Rename comp-speed -> native-comp-speed. * lisp/emacs-lisp/comp.el (native-comp-speed, comp-ctxt, comp-func, comp-spill-lap-function, comp-trampoline-compile, comp-run-async-workers): Likewise. * src/comp.c (emit_ctxt_code, load_comp_unit, syms_of_comp): Likewise. * test/src/comp-tests.el (comp-tests-tco, comp-tests-fw-prop-1) (comp-tests-check-ret-type-spec, comp-tests-pure): Likewise.
* Rename feature `nativecomp' into `native-compile'Andrea Corallo2021-05-051-1/+1
| | | | | | | | | | | | | | | * test/src/comp-tests.el : Rename feature `nativecomp' into `native-compile'. * test/lisp/help-fns-tests.el (help-fns-test-lisp-defun): Likewise. * src/comp.c (syms_of_comp): Likewise. * lisp/startup.el (normal-top-level): Likewise. * lisp/loadup.el: Likewise. * lisp/help.el (help-function-arglist): Likewise. * lisp/emacs-lisp/package.el (package--native-compile-async) (package--delete-directory): Likewise. * lisp/emacs-lisp/nadvice.el (advice--add-function): Likewise. * lisp/emacs-lisp/comp.el (comp-ensure-native-compiler): Likewise. * lisp/emacs-lisp/advice.el (ad-add-advice): Likewise.
* ; Fix typosStefan Kangas2021-04-271-4/+4
|
* Make use of `ert-resource-file' `ert-resource-directory' in comp-testsAndrea Corallo2021-04-261-14/+6
| | | | | | | | | | | * test/src/comp-resources/comp-test-pure.el: Rename. * test/src/comp-resources/comp-test-funcs.el: Likewise. * test/src/comp-resources/comp-test-funcs-dyn.el: Likewise. * test/src/comp-resources/comp-test-45603.el: Likewise. * test/src/comp-tests.el (comp-test-src, comp-test-dyn-src): Use `ert-resource-file'. (comp-tests-bootstrap): Use ert-resource-directory. (comp-tests-45603-1, comp-tests-pure): Use `ert-resource-file'.
* * Use `expand-file-name' in place of `concat' in comp-tests.elAndrea Corallo2021-04-261-6/+8
| | | | | | * test/src/comp-tests.el (comp-test-src, comp-test-dyn-src) (comp-tests-bootstrap, comp-tests-pure, comp-test-src): Use `expand-file-name' in place of `concat'.
* Move native compiler test data into proper directory (bug#48031)Andrea Corallo2021-04-261-2/+5
| | | | | | | | * test/src/comp-tests-resources/comp-test-45603.el: Rename. * test/src/comp-tests-resources/comp-test-funcs-dyn.el: Likewise. * test/src/comp-tests-resources/comp-test-funcs.el: Likewise. * test/src/comp-tests-resources/comp-test-pure.el: Likewise. * test/src/comp-tests.el (comp-test-directory): Update.
* * test/src/comp-tests.el: Fix it for non native compiled build (bug#48031).Andrea Corallo2021-04-261-1/+1
|
* Improve a native compiler testAndrea Corallo2021-04-221-1/+6
| | | | | | | * test/src/comp-tests.el (comp-test-47868-1): Improve testcase. * test/src/comp-test-funcs.el (comp-test-47868-3-f) (comp-test-47868-4-f): New functions.
* Fix native compiler string hash consing strategy (bug#47868)Andrea Corallo2021-04-211-0/+4
| | | | | | | | | | | * test/src/comp-tests.el (comp-test-47868-1): Add new test. * test/src/comp-test-funcs.el (comp-test-47868-1-f) (comp-test-47868-2-f): New functions. * lisp/emacs-lisp/comp.el (comp-imm-equal-test): Define new hash tanble test. (comp-data-container): Use it. (comp-final, comp-run-async-workers): have comp required before reading dumped hashes so that `comp-imm-equal-test' is defined.
* Fix some entry in `comp-known-type-specifiers' (bug#46847)Andrea Corallo2021-03-141-1/+1
| | | | | | * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Some fix. * test/src/comp-tests.el (comp-tests-46670-1): Update test.
* Fix `comp-cstr-intersection-no-hashcons' for negated result cstrAndrea Corallo2021-03-061-1/+8
| | | | | | | * lisp/emacs-lisp/comp-cstr.el (comp-cstr-intersection-no-hashcons): When negated and necessary relax dst to t. * test/src/comp-tests.el (comp-tests-type-spec-tests): Add a test.
* Fix `=' propagation to handle -0.0 0.0 caseAndrea Corallo2021-03-061-8/+24
| | | | | | | | * lisp/emacs-lisp/comp-cstr.el (comp-cstr-intersection-homogeneous): Fix indent + use `memql'. (comp-cstr-=): Handle 0.0 -0.0 idiosyncrasy * test/src/comp-tests.el (comp-tests-type-spec-tests): Add two tests and fix enumeration.
* Don't call _setjmp through a function pointer (Bug#46824)Pip Cet2021-03-031-1/+5
| | | | | | | | | * src/comp.c (helper_link_table): Don't include SETJMP except on Windows. (emit_setjmp): Don't use function pointers except on Windows. (declare_runtime_imported_funcs): Don't import SETJMP at runtime. (ABI_VERSION): Bump. * test/src/comp-tests.el (46824-1): New test. * test/src/comp-test-funcs.el (comp-test-46824-1-f): New function.
* Fix = propagation semantic for constrained inputsAndrea Corallo2021-03-021-1/+28
| | | | | | | | * lisp/emacs-lisp/comp-cstr.el (comp-cstr): Synthesize `comp-cstr-shallow-copy'. (comp-cstr-=): Relax inputs before intersecting them. * test/src/comp-tests.el (comp-tests-type-spec-tests): Add three tests.
* Fix `eql' `equal' propagation of non hash consed values (bug#46843)Andrea Corallo2021-03-011-1/+15
| | | | | | | | | | | | | | | | | | | | | | Extend assumes allowing the following form: (assume dst (and-nhc src1 src2)) `and-nhc' assume operator allow for constraining correctly intersections where non hash consed values are not propagated as values but rather promoted to their types. * lisp/emacs-lisp/comp-cstr.el (comp-cstr-intersection-no-hashcons): New function. * lisp/emacs-lisp/comp.el (comp-emit-assume): Logic update to emit `and-nhc' operator (implemented in fwprop by `comp-cstr-intersection-no-hashcons'). (comp-add-cond-cstrs): Map `eq' to `and' assume operator and `equal' `eql' into `and-nhc'. (comp-fwprop-insn): Update to handle `and-nhc'. * test/src/comp-tests.el (comp-tests-type-spec-tests): Add two tests covering `eql' and `equal' propagation of non hash consed values.
* Don't treat '=' as simple equality emitting constraints (bug#46812)Andrea Corallo2021-02-281-6/+41
| | | | | | | | | | | | | | | | | | | Extend assumes allowing the following form (assume dst (= src1 src2)) to caputure '=' semanting during fwprop handling float integer conversions. * lisp/emacs-lisp/comp.el (comp-equality-fun-p): Don't treat '=' as simple equality. (comp-arithm-cmp-fun-p, comp-negate-arithm-cmp-fun) (comp-reverse-arithm-fun): Rename and add '=' '!='. (comp-emit-assume, comp-add-cond-cstrs, comp-fwprop-insn): Update for new function nameing and to handle '='. * lisp/emacs-lisp/comp-cstr.el (comp-cstr-=): New function. * test/src/comp-tests.el (comp-tests-type-spec-tests): Add a bunch of '=' specific tests.
* Migrate and rename a bunch of functions from comp.el to comp-cstr.elAndrea Corallo2021-02-281-4/+4
| | | | | | | | | | | | | | * lisp/emacs-lisp/comp-cstr.el (comp-cstr-imm-vld-p) (comp-cstr-imm, comp-cstr-fixnum-p, comp-cstr-symbol-p) (comp-cstr-cons-p): Move and rename from 'comp.el'. * lisp/emacs-lisp/comp.el (comp-mvar-type-hint-match-p) (make-comp-mvar, comp-emit-assume, comp-fwprop-prologue) (comp-function-foldable-p, comp-function-call-maybe-fold) (comp-fwprop-call, comp-fwprop-insn, comp-call-optim-func) (comp-compute-function-type): Update for renamed functions. * src/comp.c (emit_mvar_rval): Likewise. * test/src/comp-tests.el (comp-tests-mentioned-p-1) (comp-tests-cond-rw-checker-val): Likewise.
* Do not emit assumptions referencing clobbered mvars (bug#46670)Andrea Corallo2021-02-231-0/+6
| | | | | | | | | | | | | | | | | * lisp/emacs-lisp/comp.el (comp-func): Add `vframe-size' slot. (comp-new-frame): Add `vsize' parameter. (comp-limplify-top-level, comp-limplify-function): Update for new `comp-new-frame'. (comp-maybe-add-vmvar): New function. (comp-add-cond-cstrs): Logic update to emit assumptions not referencing clobbered variables. (comp-place-phis, comp-ssa, comp-ssa-rename-insn) (comp-ssa-rename): Update rename logic to rename also negative slots. (comp-fwprop-insn): Update to handle `(assume mvar mvar)' form. * test/src/comp-tests.el (46670-1): Add testcase. * test/src/comp-test-funcs.el (comp-test-46670-1-f) (comp-test-46670-2-f): New functions.
* * Fix union constraint for mixed pos/neg constraintsAndrea Corallo2021-02-221-1/+1
| | | | | | | | * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem): Fix neg type shadowing pos values. * test/lisp/emacs-lisp/comp-cstr-tests.el (comp-cstr-typespec-tests-alist): Add testcase. * test/src/comp-tests.el (comp-tests-type-spec-tests): Fix testcase.
* Fix inverted logic in constraint comparison (bug#46540)Andrea Corallo2021-02-171-1/+28
| | | | | | | * lisp/emacs-lisp/comp-cstr.el (comp-cstr->, comp-cstr->=) (comp-cstr-<, comp-cstr-<=): Fix inverted logic. * test/src/comp-tests.el (comp-tests-type-spec-tests): Add three integer constrain tests.
* Fix bug#45603Andrea Corallo2021-01-061-0/+5
| | | | | | | | | Reported and reduced by Mauricio Collares. * lisp/emacs-lisp/comp.el (comp-final): Fix coding system for the tmp file used to pass data the child processes. * test/src/comp-tests.el (45603-1): New testcase * test/src/comp-test-45603.el : New File.
* * test/src/comp-tests.el (cond-rw-1, not-cons, 45576): Rename three tests.Andrea Corallo2021-01-041-3/+3
|
* Fix type inference for bug#45635Andrea Corallo2021-01-041-0/+5
| | | | | | | | | * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem): Fix missing mixed pos neg handling. * test/lisp/emacs-lisp/comp-cstr-tests.el (comp-cstr-typespec-tests-alist): Add a test. * test/src/comp-tests.el (45635): New testcase. * test/src/comp-test-funcs.el (comp-test-45635-f): New function.
* Fix `functionp' contraining (bug#45576)Andrea Corallo2021-01-021-0/+5
| | | | | | | | | * lisp/emacs-lisp/comp.el (comp-known-predicates) (comp-known-predicates-h): New constants. (comp-known-predicate-p, comp-pred-to-cstr): New functions. * lisp/emacs-lisp/cl-macs.el (cl-deftype-satisfies): Don't define. * test/src/comp-tests.el (comp-test-45576): New testcase. * test/src/comp-test-funcs.el (comp-test-45576-f): New function.
* Introduce 'unreachable' LIMPLE operatorAndrea Corallo2021-01-011-34/+54
| | | | | | | | | | | | | | | | | | | | | | | | Introduce 'unreachable' as LIMPLE operater so we can handle correctly in the CFG functions throwing values or signaling errors. * src/comp.c (retrive_block): Better error diagnostic. (emit_limple_insn): Add `unreachable'. (compile_function): Fix block iteration. (syms_of_comp): Define 'Qunreachable'. * lisp/emacs-lisp/comp.el (comp-block): New variable. (comp-block-lap): Add `non-ret-insn' slot. (comp-branch-op-p): New predicate. (comp-limple-lock-keywords): Color `unreachable' as red. (comp-compute-edges): Add `unreachable'. (comp-fwprop-call): Store non returning function call. (comp-fwprop*): Update. (comp-clean-orphan-blocks, comp-rewrite-non-locals): New functions. (comp-fwprop): Call `comp-rewrite-non-locals'. * test/src/comp-tests.el (comp-tests-type-spec-tests): Add two tests. * test/src/comp-test-funcs.el (comp-test-non-local-1) (comp-test-non-local-2, comp-test-non-local-3) (comp-test-non-local-4): New functions.
* Fix missing negation handling in a bunch of predicatesAndrea Corallo2020-12-291-0/+3
| | | | | | | | * lisp/emacs-lisp/comp.el (comp-mvar-fixnum-p) (comp-mvar-symbol-p, comp-mvar-cons-p): Consider neg slot. * test/src/comp-tests.el (comp-test-not-cons): New test. * test/src/comp-test-funcs.el (comp-test-not-cons-f): New function.
* Constrain mvars under compare and branch with built-in predicatesAndrea Corallo2020-12-291-17/+52
| | | | | | | | | | * lisp/emacs-lisp/comp.el (comp-emit-assume): Update. (comp-known-predicate-p): New function. (comp-add-cond-cstrs): Extend to pattern match predicate calls. * lisp/emacs-lisp/comp-cstr.el (comp-cstr-null-p) (comp-pred-to-cstr): New function. * test/src/comp-tests.el (comp-tests-type-spec-tests): Add a number of tests and fix comments.
* Store function type and expose it with `subr-type'Andrea Corallo2020-12-281-10/+6
| | | | | | | | | | | | | | | | | | | | * src/lisp.h (struct Lisp_Subr): Add 'type' field. (SUBR_TYPE): New inline accessor. * src/pdumper.c (dump_subr): Update for 'type' field. * src/data.c (Fsubr_type): New primitive. (syms_of_data): Update. * src/comp.c (ABI_VERSION): Bump new ABI version. (make_subr): Set type. (Fcomp__register_lambda, Fcomp__register_subr) (Fcomp__late_register_subr): Receive and pass subr type to 'make_subr'. * src/alloc.c (mark_object): Mark subr type. * lisp/emacs-lisp/comp.el (comp-func): Change slot type into mvar. (comp-emit-for-top-level, comp-emit-lambda-for-top-level): Pass type mvar to subr register functions. (comp-compute-function-type): Fix-up subr type mvars. * test/src/comp-tests.el (comp-tests-check-ret-type-spec): Use `subr-type'.
* Propagate function calls also when hiddend under funcallAndrea Corallo2020-12-281-1/+6
| | | | | | * lisp/emacs-lisp/comp.el (comp-fwprop-call): Propagate functions also when called under `funcall'. * test/src/comp-tests.el (comp-tests-type-spec-tests): Add a test.
* Compute function type for native compiled functionsAndrea Corallo2020-12-281-1/+1
| | | | | | | | | | * lisp/emacs-lisp/comp.el (comp-func): `type' rename from `ret-type-specifier'. (comp-args-to-lambda-list): New function. (comp-compute-function-type): New function from `comp-ret-type-spec'. (comp-final): Update. * test/src/comp-tests.el (comp-tests-check-ret-type-spec): Update.
* Add 1+ 1- integer range propagation supportAndrea Corallo2020-12-271-1/+13
| | | | | | | * lisp/emacs-lisp/comp-cstr.el (comp-cstr-one): New special var. * lisp/emacs-lisp/comp.el (comp-fwprop-call): Propagate integer ranges on +1 -1. * test/src/comp-tests.el (comp-tests-type-spec-tests): Add two tests.
* Add sum/subtraction integer range propagation supportAndrea Corallo2020-12-271-1/+90
| | | | | | | | | | * lisp/emacs-lisp/comp-cstr.el (comp-range-+, comp-range--): New functions. (comp-cstr-set-range-for-arithm): New macro. (comp-cstr-add-2, comp-cstr-sub-2, comp-cstr-add, comp-cstr-sub): New function. * lisp/emacs-lisp/comp.el (comp-fwprop-call): Wire-up + - integer range propagation.
* Fix missing float handling into `comp-cstr-set-cmp-range'Andrea Corallo2020-12-261-13/+13
| | | | | | * lisp/emacs-lisp/comp-cstr.el (comp-cstr-set-cmp-range): Add float handling. * test/src/comp-tests.el (comp-tests-type-spec-tests): Update results.
* * test/src/comp-tests.el (comp-tests-type-spec-tests): Add two more test.Andrea Corallo2020-12-261-1/+15
|
* Enable integer range narrowing under compare and branchAndrea Corallo2020-12-261-1/+76
| | | | | | | | | | | | | | | | | * lisp/emacs-lisp/comp-cstr.el (comp-cstr-set-cmp-range) (comp-cstr->, comp-cstr->=, comp-cstr-<, comp-cstr-<=): New functions. * lisp/emacs-lisp/comp.el (comp-equality-fun-p) (comp-range-cmp-fun-p): New functions. (comp-collect-rhs): Use `comp-assign-op-p' in place of `comp-set-op-p'. (comp-negate-range-cmp-fun, comp-reverse-cmp-fun): New functions. (comp-emit-assume): Rework to be able to emit also comparision assumption. (comp-add-cond-cstrs-simple): Update for new `comp-emit-assume'. (comp-add-cond-cstrs-simple): Update to emit range assumption. (comp-fwprop-insn): Execute range assumptions. * test/src/comp-tests.el (comp-tests-type-spec-tests): Add tests.
* Extend cstrs pass to match `unless' like codeAndrea Corallo2020-12-241-0/+6
| | | | | | | | * lisp/emacs-lisp/comp.el (comp-emit-assume): Add assertion. (comp-add-new-block-between): Fix two typos. (comp-add-cond-cstrs-target-block): Fix typo. (comp-add-cond-cstrs-simple): Logic update. * test/src/comp-tests.el (comp-tests-type-spec-tests): Add a test.
* Extend cstrs pass to match `when' like codeAndrea Corallo2020-12-241-1/+7
| | | | | | | | * lisp/emacs-lisp/comp.el (comp-emit-assume): Better parameter names. (comp-add-cond-cstrs-simple): New function. (comp-add-cond-cstrs): Rename assume-target -> block-target. (comp-add-cstrs): Call `comp-add-cond-cstrs-simple'. * test/src/comp-tests.el (comp-tests-type-spec-tests): Add test.
* Negate only values while constraining variables (bug#45376)Andrea Corallo2020-12-231-2/+6
| | | | | | | | | | | * lisp/emacs-lisp/comp-cstr.el (comp-cstr-value-negation): New function. * lisp/emacs-lisp/comp.el (comp-fwprop-insn): Use `comp-cstr-value-negation'. * test/src/comp-test-funcs.el (comp-test-45376-1-f): Rename. (comp-test-45376-2-f): New funcion. * test/src/comp-tests.el (bug-45376-1): Rename test. (bug-45376-2): Add test.
* Make input constraints into memoization hash immutable (bug#45376)Andrea Corallo2020-12-231-0/+4
| | | | | | * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1) (comp-cstr-intersection): Copy input before soting it into the memoization hash table.
* Fix `comp-add-call-cstr' and add a testAndrea Corallo2020-12-211-0/+4
| | | | | | | * lisp/emacs-lisp/comp.el (comp-add-call-cstr): Fix it. * test/src/comp-tests.el (assume-in-loop-1): New test. * test/src/comp-test-funcs.el (comp-test-assume-in-loop-1-f): New function.
* Fix value type inference for doubly negate constraintsAndrea Corallo2020-12-211-0/+4
| | | | | | | | * lisp/emacs-lisp/comp.el (comp-fwprop-insn): Do not propagate in case of double negation. * test/src/comp-test-funcs.el (comp-test-assume-double-neg-f): New function. * test/src/comp-tests.el (assume-double-neg): New test.
* Fix native compiler tests when they are bytecompiledAndrea Corallo2020-12-211-134/+135
| | | | | | | | * test/lisp/emacs-lisp/comp-cstr-tests.el (comp-cstr-test-ts) (comp-cstr-typespec-test, comp-cstr-typespec-tests-alist): Eval also at compile time. * test/src/comp-tests.el (comp-tests-type-spec-tests) (comp-tests-define-type-spec-test): Likewise.
* Enhance type inference constraining function argumentsAndrea Corallo2020-12-211-2/+2
| | | | | | | | | | | | * lisp/emacs-lisp/comp.el: Add some commentary. (comp-cond-cstrs-target-mvar): Rename and update docstring. (comp-add-cond-cstrs): Update to use `comp-cond-cstrs-target-mvar'. (comp-emit-call-cstr, comp-lambda-list-gen, comp-add-call-cstr): New functions. (comp-add-cstrs): Call `comp-add-call-cstr'. * test/src/comp-tests.el (comp-tests-type-spec-tests): Update two type specifier tests.