Commit graph

7492 commits

Author SHA1 Message Date
Daniel Kochmański
1621f57cd9 Merge branch 'emscripten-shared-library-build' into 'develop'
Improvements for emscripten target

See merge request embeddable-common-lisp/ecl!321
2024-03-10 14:48:12 +01:00
Marius Gerbershagen
6c7f8be6a9 use flatinstall as install target for emscripten 2024-03-10 14:48:12 +01:00
Daniel Kochmański
cedf45a779 manual: fix typo 2024-03-10 14:48:12 +01:00
Daniel Kochmański
43b51a985f manual: rewrite confusing section in the documentation 2024-03-10 14:48:12 +01:00
Marius Gerbershagen
f6083876fd support shared libraries for the emscripten target 2024-03-10 14:48:12 +01:00
Marius Gerbershagen
34ecb5c313 ecl_homedir_pathname: fix error message for unknown user
Fixes #724
2024-03-10 14:48:12 +01:00
Daniel Kochmański
089f4c25d8 tests: make ansi-test a separate target not triggered by make check 2024-03-10 14:48:12 +01:00
Tarn W. Burton
dc70e6b9a8 Add generic pathname/truename 2024-03-10 14:48:12 +01:00
Daniel Kochmański
1a6ad463cd Merge branch 'gray-string-length' into 'develop'
Add Gray extension for file-string-length

See merge request embeddable-common-lisp/ecl!318
2024-03-10 14:48:12 +01:00
Tarn W. Burton
33ffa5e53c Add ansi-test to tests 2024-03-10 14:48:12 +01:00
Tarn W. Burton
e001df1589 Add support for gray:stream-file-string-length 2024-03-10 14:48:12 +01:00
Daniel Kochmański
482d46ac92 Merge branch 'read-line' into 'develop'
Fix stream-read-line return

See merge request embeddable-common-lisp/ecl!312
2024-03-10 14:48:12 +01:00
Daniel Kochmański
b3d3a4e31c cleanup: update license to lgpl-2.1+ in both headers and text 2024-03-10 14:48:12 +01:00
Daniel Kochmański
00826e5017 seqmacros: do-sublist: fix an invalid declaration
ECL declared the argument %sublist as CONS while it may be either CONS or NIL.
Reported by Alex Wood from Clasp.
2024-03-10 14:48:12 +01:00
Tarn W. Burton
b797070f5f Add tests for Gray read-line 2024-03-10 14:48:12 +01:00
Tarn W. Burton
8f29b65e00 Allow empty string for EOF in read-line 2024-03-10 14:48:12 +01:00
Daniel Kochmański
83359fdea0 Merge branch 'stream-line-length' into 'develop'
Add gray:stream-line-length

See merge request embeddable-common-lisp/ecl!309
2024-03-10 14:48:11 +01:00
Daniel Kochmański
d31735ed3e core: argument checking in si:get-limit and si:set-limit
Previously we've falled through all cases and if none matched, we've used the
heap. That said our documentation clearly states, that the type for the heap is
EXT:HEAP-SIZE.
2024-03-10 14:48:11 +01:00
Daniel Kochmański
e799b2972b Update gray-streams.txi (fix typo) 2024-03-10 14:48:11 +01:00
Daniel Kochmański
8d2fb75ee1 manual: include the file gray-streams.txi 2024-03-10 14:48:11 +01:00
Tarn W. Burton
71c0ec4d5b Update docs for gray-streams changes 2024-03-10 14:48:11 +01:00
Tarn W. Burton
b212055687 Add gray:stream-line-length 2024-03-10 14:48:11 +01:00
Tarn W. Burton
052411eb9c Return NIL from stream-terpri 2024-03-10 14:48:11 +01:00
Tarn W. Burton
1e2cb370c5 Fix generic definition of stream-file-length 2024-03-10 14:48:11 +01:00
Daniel Kochmański
5ffb878705 Merge branch 'gray-file-length' into 'develop'
Add gray:stream-file-length

See merge request embeddable-common-lisp/ecl!307
2024-03-10 14:48:11 +01:00
Tarn W. Burton
45af71be53 Add gray:stream-file-length 2024-03-10 14:48:11 +01:00
Tarn W. Burton
239f329ee6 Add gray-streams module to avoid use of redefine-cl-functions 2024-03-10 14:48:11 +01:00
Mark Shroyer
3aab298147 Don't enable GC fork() support on Windows
A previous commit unconditionally configures Boehm GC to support fork.
This breaks the Windows MSVC build, producing an error dialog with the
message "Fatal error in GC: fork() handling unsupported".

This commit restricts the call to GC_set_handle_fork to non-Windows
hosts.
2024-03-10 14:48:11 +01:00
Kirill A. Korinsky
aac7fa0ca6 Enable handle fork by GC 2024-03-10 14:48:11 +01:00
Marius Gerbershagen
13bb247fcf Merge branch 'environ_legacy' into 'develop'
Fix access to environ on Darwin

See merge request embeddable-common-lisp/ecl!301
2024-03-10 14:48:11 +01:00
Daniel Kochmański
660538a843 cosmetic: fix indent 2024-03-10 14:48:11 +01:00
Kirill A. Korinsky
580fe0f092 Fix access to environ on Darwin 2024-03-10 14:48:11 +01:00
Daniel Kochmański
d626f591d0 build: move HAVE_POSIX_RWLOCK to exported config
This is b ecause we use this flag to decide whether the rwlock is implemented
from posix or whether we use our own structure. That influences the size and
offsets in cl_core. Without this commit using

(defun known-signals ()
  (ffi:c-inline nil nil :object "cl_core.known_signals"
                        :one-liner t :side-effects nil))

While HAVE_POSIX_RWLOCK was true during the build returns garbage. The same
applies to other members after the processes group.
2024-03-10 14:48:11 +01:00
Daniel Kochmański
142cb47f47 cosmetic: reindent file unixint.d 2024-03-10 14:48:11 +01:00
Daniel Kochmański
d3e4cb5442 main: fix ECL_OPT_SIGNAL_HANDLING_THREAD to be adequate
unixint ignores the flag that enables the signal handling thread when it can't
create one.
2024-03-10 14:48:11 +01:00
Marius Gerbershagen
cd14663e7e directory: fix a bug leading to missing matches in some cases
If a directory component followed :wild-inferior for paths
like **/some-dir/some-file, we were not finding all possible matches.
This came about because if we did not match in dir_recursive, we were
returning nil instead of the list of previously found matches.

Fixes #712.
2023-09-10 20:57:52 +02:00
Daniel Kochmański
873dc71709 toplevel: bump the year of the latest copyright 2023-09-03 15:41:18 +02:00
Daniel Kochmański
0af7368857 release: update changelog and version number before the release
Fixes #706.
2023-09-03 13:46:23 +02:00
Marius Gerbershagen
76a0ff7fbd Merge remote-tracking branch 'ecl-main-repo/bdwgc-workaround' into develop 2023-09-02 15:22:47 +02:00
Kirill A. Korinsky
5eda224bdc
TARGET_OS_IPHONE is always defined, but may have value 0 2023-08-22 14:29:57 +02:00
Marius Gerbershagen
0b5ea3868d tests: move interrupt tests to stress test suite
These tests are not guaranteed to succeed but are still useful
to check for regressions for those configurations for which
thread synchronization primitives are interrupt safe.
2023-08-13 22:26:53 +02:00
Marius Gerbershagen
4db4d00c20 add workaround for broken bdwgc version 8.2.4 2023-08-13 21:37:34 +02:00
Marius Gerbershagen
0e05a7f360 unixsys.d: replace incorrect use of ecl_alloc_atomic with ecl_alloc
We are allocating pointers to other pointers which are managed by the
gc so we have to let the gc scan the allocated memory to prevent
objects from being reclaimed by the gc too early.
2023-08-07 19:13:26 +02:00
Marius Gerbershagen
ca82642112 Merge branch 'ecl-man-synchronize' into 'develop'
ECL man page clarification

See merge request embeddable-common-lisp/ecl!295
2023-08-06 08:46:39 +00:00
Marius Gerbershagen
389e89d4d7 tests: add missing #+unicode in run-program-encoding 2023-08-03 15:21:08 +02:00
Marius Gerbershagen
d7330ae762 cmp: fix inline expansion of princ
Has to return the object to be printed.
2023-08-03 15:13:30 +02:00
Marius Gerbershagen
7761d0b27a cmp: fix coercion between lisp types and representation types
Signal an error if there is no function that coerces some C variable
c_object to a lisp object instead of emitting invalid C code like
`ECL_NIL(c_object)`.

Moreover, fix the table of representation types:

:object needs no coercion which is correctly implemented by using an
empty string for the function name.

:void should not use `nil` as the lisp type since nil is a subtype of
fixnum which lead to us previously choosing "ecl_fixnum" as the
coercion function in unsafe code. By using `t` as the lisp type we
avoid this.
2023-08-03 15:09:37 +02:00
Dmitry Solomennikov
aa2a4a1f97 ECL man page clarification
This changes clarify ECL man page, synchronize it with current command
line parameter list and cleanup manual page source format.

Signed-off-by: Dmitry Solomennikov <dmitrys99@mail.ru>
2023-08-03 12:24:50 +03:00
Marius Gerbershagen
c33f40a3db load.d: add missing #include directive 2023-08-02 17:36:51 +02:00
Marius Gerbershagen
1341b79eca alloc_2.d: fix gc configuration for precise gc
The local variables o and c were lost during the refactor in
bd723748d7, re-add them. Also,
the initialization in init_type_info() got moved to the wrong place in
the same refactor, this needs to be called later on.

The function GC_init_explicit_typing is internal to bdwgc and called
automatically in GC_make_descriptor. Therefore, we don't need to call
it during GC initialization.
2023-08-02 17:27:16 +02:00