Commit graph

8350 commits

Author SHA1 Message Date
Daniel Kochmański
d29a26cf8a cosmetic: cmp: declare unused variables as ignored 2023-02-21 14:34:11 +01:00
Daniel Kochmański
23428b8af9 cosmetic: clos: declare unused variables as ignored 2023-02-21 14:34:11 +01:00
Daniel Kochmański
c38a18bd01 cmp: move env-related operators from cmpvar to cmpenv-var 2023-02-21 14:34:11 +01:00
Daniel Kochmański
0489f2e227 cmp: move functions from cmpmac to cmputil
both files served the same purpose
2023-02-21 14:34:11 +01:00
Daniel Kochmański
9eff84b622 cmp: rename env functions to comply to other naming conventions
c1make-global-variable -> make-global-var (and move to cmpvar) -- this function
does not create c1form so this name was wrong

cmp-env-declare-special -> declare-special (and move to cmpenv-var) -- this
function does not only declare special but it also creates an instance of a
variable - move that to a new file cmpenv-var.lsp
2023-02-21 14:34:11 +01:00
Daniel Kochmański
f1080c716c cmp: remove unused environment object type "cleanup" 2023-02-21 14:34:11 +01:00
Daniel Kochmański
a85b585108 cmp: move set-closure-env from cmpenv-api to cmpenv-fun 2023-02-21 14:34:11 +01:00
Daniel Kochmański
b3ec398d29 cmp: move all conditions to a separate file 2023-02-21 14:34:11 +01:00
Daniel Kochmański
66c7626a8f cmp: cleanup: some more cleanup 2023-02-21 14:34:11 +01:00
Daniel Kochmański
f38ef8ee2b cmp: cleanup: add ignore declarations, remove unused args etc 2023-02-21 14:34:11 +01:00
Daniel Kochmański
45bb774caf cmp: values-type-and: fix a typo - we should use rest1 for reference 2023-02-21 14:34:11 +01:00
Daniel Kochmański
7f1f97e1c0 cmp: cosmetic cleanups 2023-02-21 14:34:11 +01:00
Daniel Kochmański
93fbbcccfc cmp: more robust compiler-features collecting 2023-02-21 14:34:11 +01:00
Daniel Kochmański
e4988d1f7c cmp: don't USE the package EXT 2023-02-21 14:34:11 +01:00
Daniel Kochmański
e74826b9cd cmp: be explicit about symbol packages
In dispatch tables and other places where the symbol is a token of some
processing we try to be explicit about its home package (CL, SI, FFI, MP).
2023-02-21 14:34:11 +01:00
Daniel Kochmański
6ab1d0aded cmp: constants: be explicit about the package 2023-02-21 14:34:11 +01:00
Daniel Kochmański
2cbd91c3ac cmp: define-policy: use explicit package accessors 2023-02-21 14:34:11 +01:00
Daniel Kochmański
ee9e72e5aa cmp: use cmutil extensions by invoking them with prefix ext 2023-02-21 14:34:11 +01:00
Daniel Kochmański
acd1dd3c07 cmp: don't import symbols from the SYSTEM package
Use proper package accessors instead. This was mostly already done. Removal of
package imports make it easier to tell when symbols do not belong to cmp.
2023-02-21 14:34:11 +01:00
Daniel Kochmański
edb19dcf75 cmp: cleanup: remove unused special variables
It is worth noting that *active-protection* and *pending-actions* are generally
not used too (because *pending-actions* are never modified), but if we want to
add some useful semantics to with-compilation-unit one day then we'll need both.
2023-02-21 14:34:11 +01:00
Daniel Kochmański
7b56516679 cosmetic: improve cmpenv comments to include the qualifier :declare 2023-02-21 14:34:11 +01:00
Daniel Kochmański
0cc0fd914a Merge branch 'fix-format-nil' into 'develop'
Avoid putting NIL into LOOP body in FORMAT

See merge request embeddable-common-lisp/ecl!286
2023-02-20 20:18:11 +00:00
Tarn W. Burton
cacf6a0ee9 Add test for NIL forms in FORMAT 2023-02-20 15:08:39 -05:00
Tarn W. Burton
6323c4e574 Avoid add NIL to LOOP 2023-02-20 15:08:18 -05:00
Marius Gerbershagen
de89593216 fix typos 2023-02-18 17:30:30 +01:00
Marius Gerbershagen
357c860f1a tests: actually run clos tests and fix one of the tests 2023-02-16 20:03:39 +01:00
Marius Gerbershagen
a5cb93d311 clos: fix computation of instance size
For empty structs, the size was off by one. While this did not affect
structs that were created directly with the structure constructor, for
structs that were externalized with MAKE-LOAD-FORM-SAVING-SLOTS
instances which were one element too large were created.
2023-02-16 20:00:12 +01:00
Daniel Kochmański
4831831f74 Merge branch 'bytecmp-closure-optimization' into 'develop'
bytecmp: create fewer unnecessary closures

See merge request embeddable-common-lisp/ecl!281
2023-02-14 21:06:11 +00:00
Daniel Kochmański
feff551c31 Merge branch 'inline-closure-global' into 'develop'
Fix compiler bug regarding inlining for global functions that are closures

See merge request embeddable-common-lisp/ecl!280
2023-02-14 21:05:19 +00:00
Marius Gerbershagen
d34fe2c065 Merge branch 'fix-listen' into develop 2023-02-05 19:45:58 +01:00
Tarn W. Burton
5a309eba76 listen: when poll/select indicate non-blocking in then check for bytes 2023-02-05 19:41:42 +01:00
Marius Gerbershagen
f0d3dc4b6d Merge branch 'method-combinations' into 'develop'
various cleanups

See merge request embeddable-common-lisp/ecl!284
2023-01-30 17:15:09 +00:00
Daniel Kochmański
7db7e0545f clos: defcombin: fix regressions 2023-01-28 22:15:54 +01:00
Daniel Kochmański
2ba8228366 clos: move define-method-combination to a separate file 2023-01-22 20:36:09 +01:00
Daniel Kochmański
dea75e6bb5 clos: refactor define-complex-method-combination
Factor out a macro WITH-METHOD-GROUPS. The function PARSE-QUALIFIER-PATTERN is
put as a local function in this new macro.
2023-01-22 20:36:09 +01:00
Daniel Kochmański
78abe40fb9 clos: handle correctly the pattern * in define-method-combination
The pattern in the long form of the define-method-combination may contain * as
a list element meaning "any" qualifier. For example:

(define-method-combination foo ()
    ((bar (:xxx * :yyy)))
  ...)

In this case qualifiers `:xxx 3 :yyy' and `:xxx :zzz :yyy' will match.
2023-01-22 20:36:09 +01:00
Daniel Kochmański
3064bac62b tests: add regression tests for define-method-combination 2023-01-22 20:36:07 +01:00
Daniel Kochmański
8ba1bb888a si_process_lambda_list: process all variables in an uniform manner
The comment mentioned that aux variables (the sixth value) are returned the
same way as requireds, optionals and keywords however factually that was not
the case - the number of variables was not the first element of the list. This
commit updates the function and all its callers.
2023-01-22 20:12:58 +01:00
Daniel Kochmański
b62cf6b7ed cmuutil: don't use setf to enable use in early macros
There was no real utility in using SETF there yet it made using collect macros
not possible in macros that are used to define ECL.
2023-01-22 20:12:58 +01:00
Daniel Kochmański
26c8e18750 cmputil: fix invalid iteration
Instead of using the iteration variable we've used the same list repeatedly.
2023-01-22 20:12:58 +01:00
Daniel Kochmański
36e5a02241 Merge branch 'define-method-combination-arguments' into 'develop'
Implement the :arguments option for define-method-combination

See merge request embeddable-common-lisp/ecl!279
2023-01-22 19:03:20 +00:00
Marius Gerbershagen
fb146cf806 Merge branch 'fix-parse-directive' into 'develop'
Fix format directive parser so that parameters are not allowed after colon or at sign

Closes #590

See merge request embeddable-common-lisp/ecl!282
2023-01-22 18:01:42 +00:00
Marius Gerbershagen
3a0d818c0e printer: print zero after decimal point in exponential notation if there are no other trailing digits
Previously for example (prin1 1.0e-8) would result in 1.e-8. However,
the ANSI standard (see CLHS section 22.1.3.1.3) specifies that there
has to be at least one digit after the decimal point therefore we now
print 1.0e-8.
2023-01-21 17:43:48 +01:00
Marius Gerbershagen
84db9e7a3f clos: implement the :arguments option for define-method-combination 2023-01-21 17:18:10 +01:00
Tarn W. Burton
a495b04301 Add regression test for LISTEN on files 2023-01-16 10:46:24 -05:00
Marius Gerbershagen
3d809dab47 autoconf: allow building with the bundled gmp library on arm apple devices
Since our ancient LGPL licensed copy of libgmp only knows about
PowerPC apple devices, build it using the fallback plain C
implementation as on x86.

Closes #689.
2023-01-14 15:22:17 +01:00
Tarn W. Burton
eeb91e8005 Avoid parsing parameters after colon or at sign 2023-01-06 11:27:22 -05:00
Tarn W. Burton
ca6d6e10d5 Add tests for illegal format directive parameters 2023-01-06 11:21:55 -05:00
Marius Gerbershagen
b27580c9b8 regenerate configure
Was forgotten after commit 2afa70807e
2023-01-05 17:22:25 +01:00
Marius Gerbershagen
5b4e0d6417 documentation: add iOS build steps to the manual 2023-01-05 17:22:25 +01:00