"style" temporary branch
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.
See merge request !8
CLOS printer uses normal strings while float_to_string.d calls
push_base_string to cache printable form of infinity (and nan). Coerce
clos strings to base-string. Fixes#153. Related to #114.
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Cleanup testing
Separated tests from auxiliary tools, merged tests into files corresponding to interface (aspects are separated with ^L, navigable with C-x [ and C-x ]), renamed "bugs" to "regressions" - what these tests really are.
TODO (in indefinete future):
- some tests have auxiliary functions, these should be moved to auxiliary/ directory and loaded from there, so test files contain only tests
- add back ansi-tests suite as git subtree (to keep in sync with upstream on demand)
- add mop-features suite (subtree)
- modify deftest macro to "remember" file, from which test was load and report that back
- keep test suites / interfaces in separate packages
- make running tests possible without installing ECL (not tests thing though, rather buildsystem)
See merge request !7
Patch provided by drmeister. Test case:
(defstruct foo a)
(read-from-string
"(#1=\"Hello\" #S(FOO :A #1#))"))
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
As suggested by Matthew Mondor capitalized "Lisp" and specified
additional information. Fixes#148.
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
First netbsd patch is partly applied (we have dragonfly platform), but
it drops solaris 10 support which we don't. Second is cosmetic and
applied right now. Fixes#144.
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
ECL checked for GC_get_thr_restart_signal even if was built without
threads. This function is present in boehm only when it's build with
threads, but we don't need this functionality for single-threaded
builds. Fixes#146.
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
MP:TRY-GET-SEMAPHORE
returns NIL if the semaphore could not be obtained, or the count
if it could be obtained
MP:MAILBOX-TRY-READ
returns a message if it's available, NIL if the queue is empty
MP:MAILBOX-TRY-SEND
returns the sent message if it could be queued, or NIL
(mailbox is full)