- 04 Feb, 2022 2 commits
-
-
Daniel Kochmański authored
cmp.0090.funcall/apply-inline-and-number-of-arguments called compile on a lambda that caused a call to cmperr - that made the console log when testing cluttered.
-
Daniel Kochmański authored
numbers: be consistent with branch cuts and signed zero Closes #661 See merge request embeddable-common-lisp/ecl!266
-
- 31 Jan, 2022 1 commit
-
-
Marius Gerbershagen authored
The pretty printer should handle this and we should not pretty print objects if *pretty-print* is false. Closes #673.
-
- 29 Jan, 2022 1 commit
-
-
Marius Gerbershagen authored
Closes #672.
-
- 23 Jan, 2022 1 commit
-
-
Marius Gerbershagen authored
Closes #669.
-
- 15 Jan, 2022 1 commit
-
-
Marius Gerbershagen authored
Fixes #667.
-
- 09 Jan, 2022 1 commit
-
-
Marius Gerbershagen authored
Let the sign of zero determine from which side branch cuts are approached, no matter whether we use C99 complex numbers or not. Disable the (acosh -∞) test. This test fails with the new code, but was supposed to be commented out anyway. In general, we don't guarantee anything about infinity if complex numbers are involved. Closes #661.
-
- 06 Jan, 2022 4 commits
-
-
Marius Gerbershagen authored
restart-case: conformance fix: more precise keyword parsing Closes #666 See merge request embeddable-common-lisp/ecl!265
-
Marius Gerbershagen authored
mp: semaphores: add a new function semaphore-wait See merge request embeddable-common-lisp/ecl!260
-
Daniel Kochmański authored
- don't assume that any keyword is an option - don't process the same keyword twice New behavior could be summarized in these two cases: (restart-case t (retry () :retired ; <- form )) (restart-case t (retry () :report report ; <- expression :report "foo" ; <- form :test test ; <- form )) Fixes #666.
-
Daniel Kochmański authored
Functions wait-on-semaphore and try-get-semaphore are deprecated in favour of the new function.
-
- 23 Dec, 2021 5 commits
-
-
Daniel Kochmański authored
This function offers a functionality similar to sbcl, namely allows specifying the timeout and the resource count.
-
Daniel Kochmański authored
-
Daniel Kochmański authored
msvc: set HAVE_WCHAR_H in config.h See merge request embeddable-common-lisp/ecl!263
-
-
Daniel Kochmański authored
Allow real-valued columns in various Gray stream methods See merge request embeddable-common-lisp/ecl!264
-
- 21 Dec, 2021 2 commits
-
-
Tarn Burton authored
-
Tarn Burton authored
-
- 01 Dec, 2021 2 commits
-
-
Daniel Kochmański authored
cmpos-features: fix command line arguments for msvc See merge request embeddable-common-lisp/ecl!262
-
-
- 22 Nov, 2021 1 commit
-
-
Fixes #611. Co-authored-by:
Daniel Kochmański <daniel@turtleware.eu>
-
- 19 Nov, 2021 1 commit
-
-
Daniel Kochmański authored
Previously c1make-var checked whether the symbol NAME is CONSTANTP, but ECL expands symbol macros in CONSTANTP so this returned false positives. A similar concern applied to the CMP-ENV-REGISTER-SYMBOL-MACRO-FUNCTION. C1EXPR-INNER when encountered a symbol tried to yield C1CONSTANT-VALUE for if it iwas CONSTANTP - this was correct except for that we didn't pass the environment to the predicate and symbols weren't shadowed. In this commit one function is added to the core - si:constp (with similar purpose to si:specialp) and one function to the compiler - constant-variable-p (similar to special-variable-p) and they are appropriately used when necessary. A regression test is added. Fixes #662.
-
- 06 Nov, 2021 2 commits
-
-
Daniel Kochmański authored
Previously it set the documentation slot for the function - it should do it for the compiler-macro. Fixes #658.
-
Daniel Kochmański authored
src/c/Makefile.in: Respect LDFLAGS for dpp See merge request embeddable-common-lisp/ecl!261
-
- 05 Nov, 2021 1 commit
-
-
Ulrich Müller authored
-
- 19 Oct, 2021 1 commit
-
-
Daniel Kochmański authored
-
- 16 Oct, 2021 1 commit
-
-
Daniel Kochmański authored
Signal type-error in condition readers See merge request embeddable-common-lisp/ecl!259
-
- 05 Oct, 2021 2 commits
-
-
Tarn Burton authored
-
Tarn Burton authored
-
- 19 Sep, 2021 1 commit
-
-
Marius Gerbershagen authored
Fixes #653.
-
- 04 Sep, 2021 1 commit
-
-
Marius Gerbershagen authored
-
- 29 Aug, 2021 9 commits
-
-
Marius Gerbershagen authored
There's little reason for not doing so and on Unix systems one can already interrupt sleeping threads.
-
Marius Gerbershagen authored
-
Marius Gerbershagen authored
Read-write locks are always provided; if no operating system primitives exist, emulate them using ordinary locks. Also provide a Windows implementation.
-
Marius Gerbershagen authored
- Spinlocks have been replaced by ordinary locks. Without access to the underyling scheduler, spinlocks provide no performace benefit and may even be harmful in case of high contention. - Synchronization of process creation and exiting has been simplified. Instead of a spinlock, a barrier and atomic operations we now use only a single lock protecting the shared process state and a condition variable for implementing process joins. - Some locks which were implemented using Lisp objects now directly use a native mutex. - Our own mutex implementation has been removed as it is now unused.
-
Marius Gerbershagen authored
The old implementation was not race condition free. If two threads (A and B) were writing at the same time while one thread (C) was reading, the following could happen: 1. thread A increases the write pointer (but does not store the message yet) 2. thread B increases the write pointer, stores the message and signals thread C 3. thread C tries to read from the location that thread A has not yet written to The new implementation is a simple and obvious solution using a common mutex and two condition variables for reading/writing. We don't bother with a (complex) interrupt safe implementation.
-
Marius Gerbershagen authored
-
Marius Gerbershagen authored
-
Marius Gerbershagen authored
We already have a race condition between mp:get-lock and mp:holding-lock-p, there is no point in trying to make sure the lock is released at all costs during an interrupt.
-
Marius Gerbershagen authored
-