Marius Gerbershagen
acd81e16cd
allow non-ascii characters in debug info
2023-03-18 15:18:10 +01:00
Marius Gerbershagen
ae19006cb8
Merge branch 'cmpwerk' into 'develop'
...
Separate COMPILER and EXT,FFI,MP packages
See merge request embeddable-common-lisp/ecl!285
2023-03-12 15:31:36 +00:00
Marius Gerbershagen
0c09ded44d
doc: be more precise about error cases for ext:terminate-process
2023-03-12 16:07:42 +01:00
Marius Gerbershagen
6845a9a480
Merge branch 'external-processes-encoding' into 'develop'
...
Some improvements for ext:run-program
Closes #607
See merge request embeddable-common-lisp/ecl!287
2023-03-12 14:31:39 +00:00
Daniel Kochmański
0a3c4f53be
cosmetic: fix a typo
2023-03-09 13:56:48 +01:00
Daniel Kochmański
eb580f4084
doc: fix a spelling mistake s/:signalled/:signaled/ for the status
2023-03-07 17:13:03 +01:00
Daniel Kochmański
f160a6e07e
tests: run-program: don't call terminate-process excessively
...
Calling terminate-process on a process that has already finished has undefined
consequences.
2023-03-07 17:10:16 +01:00
Daniel Kochmański
08c48b5346
doc: describe calling terminate-process on a finished process
...
Consequences of such action are undefined. This is prompted by the fact that
windows will signal an error in this case.
2023-03-07 17:01:14 +01:00
Marius Gerbershagen
c637d9d41a
ext:string-to-octets: avoid allocating unnecessarily large output array
...
If start and end are given we may only need a smaller array. Also add
1 for possible null terminator.
2023-02-26 17:37:48 +01:00
Marius Gerbershagen
dd29e35966
tests: 2am: if (finishes) fails due to a signal, print the error
2023-02-26 17:05:12 +01:00
Marius Gerbershagen
115b52f9f5
terminate-process: improve error message
2023-02-26 17:05:12 +01:00
Marius Gerbershagen
828b2b482a
tests: run-program: fix terminate-process test on Windows
2023-02-26 17:05:12 +01:00
Marius Gerbershagen
c52ec9fe9e
tests: implement process-environ test on windows
2023-02-26 17:03:09 +01:00
Marius Gerbershagen
02ef05479c
ext:run-program: support unicode characters for the process name, arguments and environment
...
The encoding is determined by ext:*default-external-format* as usual.
2023-02-26 17:03:09 +01:00
Marius Gerbershagen
53388175f3
unixsys: better error messages if we fail to spawn a subprocess
2023-02-26 16:56:43 +01:00
Daniel Kochmański
4d3285892a
cmp: load cmptables before cmpforms
2023-02-21 16:16:30 +01:00
Daniel Kochmański
7f5eb56055
cmp: treat compilation-speed as a separate optimization option
...
Policy api works now with compilation speed (although we have no policies for
compilation-speed currently). Supersedes !241 .
2023-02-21 16:16:30 +01:00
Daniel Kochmański
dae023d2af
cmp: refactor cmppolicy (part 3)
...
- get rid of circular lists
- add a comment that shows the ropes
- definetely separate standard quality and extended quality dependencies:
on/off works only with standard qualities
only-on/only-off works only with extended qualities
2023-02-21 16:16:30 +01:00
Daniel Kochmański
e9668d798c
cmp: refactor cmppolicy (part 2)
...
- define-policy has more strict syntax checking
- define-policy puts clauses in parenthesis
- compute-policy is rewritten for readibility
- augment-policy is rewritten for readibility
- define-policy and define-policy-alias are separate macros
2023-02-21 16:16:30 +01:00
Daniel Kochmański
6a4d094f0f
cmp: refactor cmppolicy (part 1)
...
- make compilation-speed supported similar to other optimzie qualities
- make define-policy idempotent for recompilation with the same options
- remove dead code branches
- rework code to eliminate multiple EVAL-WHENs (for readibility)
2023-02-21 16:16:30 +01:00
Daniel Kochmański
621720b457
cmp: separate policy definition and environment OPTIMIZE accessors
2023-02-21 16:16:30 +01:00
Daniel Kochmański
523460b874
cmp: cleanup to avoid some forward-references
2023-02-21 16:16:30 +01:00
Daniel Kochmański
b4eeff082d
cmp: move refs to a separate file cmprefs
...
Also load cmptype-arith.lsp much sooner than before.
2023-02-21 16:16:30 +01:00
Daniel Kochmański
2c09a82c11
cmp: move locations and representations into separate files
2023-02-21 16:16:27 +01:00
Daniel Kochmański
76f0ac2399
cmp: remove obsolete function push-vars
...
The function push-vars initialized a slot var-index and called
cmp-env-register-var however var-index is never read so there is no need for
that. Remove both function and the unused slot.
2023-02-21 14:34:11 +01:00
Daniel Kochmański
81a671dea7
cmp: defun-cached: fix reset-cache and a declaration
...
reset-cache did cons a new array but did not assign it to the cache variable
so it was essentially a no-op. Also we bind cache to lexvar and then declare
that lexvar to preserve declaration semantics.
2023-02-21 14:34:11 +01:00
Daniel Kochmański
e984568e7d
cmp: rearrange cmppolicy to have a correct order
...
assume-right-types were used before it was defined.
2023-02-21 14:34:11 +01:00
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