Commit graph

20 commits

Author SHA1 Message Date
Marius Gerbershagen
62d1bb1203 cmp: fix evaluation order of sequence compiler macros
Minor improvements to define-compiler-macro* (bail out if we detect
:allow-other-keys arguments, define a named block such that
return-from works as expected).

Major refactor of sequence compiler-macros: use define-compiler-macro*
which handles correct evaluation order, define new macro to handle
common stuff for all sequences compiler-macros (e.g. inline policy
checking, check that test and test-not are not both given). The main
expansion logic in the compiler macros is unchanged although the code
had to be slightly rewritten to accomodate the new macros.

Remove the now superfluous seq-opt-parse-args function.
2021-03-31 21:09:18 +02:00
Marius Gerbershagen
e0813bf42e cmp: fix typos 2021-03-21 17:33:06 +01:00
Marius Gerbershagen
c6b4296bb8 cosmetic: fix some compiler warnings 2020-04-29 20:35:37 +02:00
Marius Gerbershagen
14d46da134 cmp: fix evaluation order bugs in compiler macros 2020-03-21 11:44:01 +01:00
Marius Gerbershagen
a4e93f7b61 cmp: fix compiler macro for sequence functions with :end argument
The :end argument was ignored previously.
2019-12-22 20:31:48 +01:00
Daniel Kochmański
af9900c7d4 compiler: fix compiler-macro for `FIND'
C-compiled `FIND' didn't respect `START' nor `END' arguments due to bug
in parsing the arguments and invoking `DO-SEQ'. Fixes #199.
2015-12-18 10:35:11 +01:00
Matthew Mondor
8f07cd58d8 The ECL code no longer uses tabulator characters, they were replaced
by spaces.

A custom script was used to insert/replace Emacs and ViM per-file editor
settings according to their type and the new ECL coding style.
2015-09-03 07:35:47 -04:00
Juan Jose Garcia Ripoll
ca0222fd19 Implemented EXT:TRULY-THE and made THE expand to either EXT:TRULY-THE or EXT:CHECKED-VALUE depending on the optimization settings. 2011-12-31 19:37:13 +01:00
Juan Jose Garcia Ripoll
f109f94a91 Change the syntax of CHECKED-VALUE so that it matches the one of THE. 2011-12-31 18:46:01 +01:00
Juan Jose Garcia Ripoll
d8a74f6357 Introduced compulsory and optional type assertions for arbitrary types, not only those known to the compiler. LAMBDA arguments type checks are rewritten in terms of those now. 2011-12-26 10:03:54 +01:00
Juan Jose Garcia Ripoll
702a4c6e3c Fixed the first argument to SEQ-OPT-PARSE-ARGS in cmpopt-sequence.lsp 2011-12-01 21:00:48 +01:00
Juan Jose Garcia Ripoll
1523ae8a5c EXT package created containing the original set of symbols (not yet filtered) and re-exported from SYS 2011-02-27 23:20:12 +01:00
Juan Jose Garcia Ripoll
09ae1f43c0 Fixed type warning in macroexpansion of sequece iterators 2010-09-21 09:25:26 +02:00
Juan Jose Garcia Ripoll
8d99c6a2b6 Optimize MEMBER with short, constant lists 2010-05-17 23:06:42 +02:00
Juan Jose Garcia Ripoll
a03830bf04 Add yet inactive expansion of MEMBER for constant, short lists 2010-05-15 21:54:53 +02:00
Juan Jose Garcia Ripoll
6c8926c1bf Unused compiler macros for seq-iterator methods 2010-05-15 16:47:40 +02:00
Juan Jose Garcia Ripoll
761f144872 Inline expander for FIND 2010-05-14 18:32:21 +02:00
Juan Jose Garcia Ripoll
ef6c5dab48 The compiler macro for ASSOC also works for general test/keyword arguments. 2010-05-14 16:49:38 +02:00
Juan Jose Garcia Ripoll
3681bcd018 The compiler macro for MEMBER also works for general test/keyword arguments. 2010-05-14 16:30:21 +02:00
Juan Jose Garcia Ripoll
744818d8e9 Commit file cmpopt-seq.lsp missing from previous uploads 2010-05-14 09:26:44 +02:00