ecl.git
9 years agolambda-list: Improve error message in c-compiler
Daniel Kochmański [Mon, 17 Aug 2015 10:58:32 +0000 (12:58 +0200)]
lambda-list: Improve error message in c-compiler

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agolambda-list: enforce unique names among required parameters
Daniel Kochmański [Mon, 17 Aug 2015 10:57:25 +0000 (12:57 +0200)]
lambda-list: enforce unique names among required parameters

Signal an error, if two required parameters have the same name.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agocosmetic: undef unused macro
Daniel Kochmański [Mon, 17 Aug 2015 10:26:57 +0000 (12:26 +0200)]
cosmetic: undef unused macro

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agoflet/labels: make same function name error message more descriptive
Daniel Kochmański [Mon, 17 Aug 2015 10:15:53 +0000 (12:15 +0200)]
flet/labels: make same function name error message more descriptive

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agoLET: signal an error when multiple bindings of the same name occur
Daniel Kochmański [Mon, 17 Aug 2015 08:07:31 +0000 (10:07 +0200)]
LET: signal an error when multiple bindings of the same name occur

This situation is unspecified by ANSI spec – also hard to find
situation, when such construct wouldn't be an error.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agoc_leta: don't compute whole list length for optimization
Daniel Kochmański [Sun, 16 Aug 2015 16:28:49 +0000 (18:28 +0200)]
c_leta: don't compute whole list length for optimization

This is interpreter performance tweak. Behavior stays the same.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agoflet/labels: signal an error if same name is used more than once
Daniel Kochmański [Sun, 16 Aug 2015 16:25:08 +0000 (18:25 +0200)]
flet/labels: signal an error if same name is used more than once

This behavior is unspecified by the ANSI spec, so we are free to do
that – can't imagine valid usecase of such blocks.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agoasdf: update to version 3.1.5.4
Daniel Kochmański [Sat, 15 Aug 2015 07:05:51 +0000 (09:05 +0200)]
asdf: update to version 3.1.5.4

This version has fixed make-image and uses run-program.
ECL backend updates possible thanks to help of Francois-Rene Rideau.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agort: add deftask* and untabify sources
Daniel Kochmański [Thu, 13 Aug 2015 19:41:32 +0000 (21:41 +0200)]
rt: add deftask* and untabify sources

deftask* evaluates result agument.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agotests: add test-ansi suite stub
Daniel Kochmański [Thu, 13 Aug 2015 19:40:43 +0000 (21:40 +0200)]
tests: add test-ansi suite stub

For now contains readtable case tests.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agochangelog: add recent changes
Daniel Kochmański [Thu, 13 Aug 2015 14:50:05 +0000 (16:50 +0200)]
changelog: add recent changes

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agotests: mop-dependents: remove typo (?)
Daniel Kochmański [Thu, 13 Aug 2015 12:13:44 +0000 (14:13 +0200)]
tests: mop-dependents: remove typo (?)

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agochangelog: stylistic cleanup provided by Matthew Mondor
Daniel Kochmański [Thu, 13 Aug 2015 07:10:57 +0000 (09:10 +0200)]
changelog: stylistic cleanup provided by Matthew Mondor

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agotests: fix broken testing framework
Daniel Kochmański [Wed, 12 Aug 2015 14:27:24 +0000 (16:27 +0200)]
tests: fix broken testing framework

This still needs refinements, but works.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agotests: fix wrong assumption on assert
Daniel Kochmański [Wed, 12 Aug 2015 12:21:54 +0000 (14:21 +0200)]
tests: fix wrong assumption on assert

Tests using assert assumed it returns (values) — no value, but it
returns nil if assertion is true. Add it to deftests.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agoencodings: fix misplaced function reference
Daniel Kochmański [Wed, 12 Aug 2015 11:27:08 +0000 (13:27 +0200)]
encodings: fix misplaced function reference

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agochangelog: update document
Daniel Kochmański [Wed, 12 Aug 2015 09:23:00 +0000 (11:23 +0200)]
changelog: update document

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agoexternal-process: rename struct member to error-stream
Daniel Kochmański [Wed, 12 Aug 2015 09:22:29 +0000 (11:22 +0200)]
external-process: rename struct member to error-stream

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agodoc: refine documentation for external-process
Daniel Kochmański [Wed, 12 Aug 2015 09:21:27 +0000 (11:21 +0200)]
doc: refine documentation for external-process

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agodoc: update run-program documentation
Daniel Kochmański [Wed, 12 Aug 2015 06:57:53 +0000 (08:57 +0200)]
doc: update run-program documentation

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agorun-program: allow further customization of process communication
Daniel Kochmański [Wed, 12 Aug 2015 06:55:13 +0000 (08:55 +0200)]
run-program: allow further customization of process communication

Implement key parameters `if-input-does-not-exist', `if-error-exists'
(for pathnames) and `external-format' for both pathnames and streams.

Fixes #107.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agodoc: run-program: correct mistake, add pathname
Daniel Kochmański [Tue, 11 Aug 2015 16:45:20 +0000 (18:45 +0200)]
doc: run-program: correct mistake, add pathname

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agodoc: document run-program and external-process
Daniel Kochmański [Tue, 11 Aug 2015 16:25:31 +0000 (18:25 +0200)]
doc: document run-program and external-process

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agosystem: set streams to nil
Daniel Kochmański [Mon, 10 Aug 2015 20:30:59 +0000 (22:30 +0200)]
system: set streams to nil

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agort: fix mixied package lock test
Daniel Kochmański [Mon, 10 Aug 2015 20:02:25 +0000 (22:02 +0200)]
rt: fix mixied package lock test

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agotests: remove unused/outdated/unrelated tests
Daniel Kochmański [Mon, 10 Aug 2015 19:41:58 +0000 (21:41 +0200)]
tests: remove unused/outdated/unrelated tests

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agodoc: asdf: update api information
Daniel Kochmański [Sun, 9 Aug 2015 12:32:19 +0000 (14:32 +0200)]
doc: asdf: update api information

Corrections provided by Fare Rideau

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agodoc: cosmetic: II.5 line wrap + typos
Daniel Kochmański [Sun, 9 Aug 2015 11:05:17 +0000 (13:05 +0200)]
doc: cosmetic: II.5 line wrap + typos

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agodoc: II.4.1 fix typo
Daniel Kochmański [Sun, 9 Aug 2015 10:56:28 +0000 (12:56 +0200)]
doc: II.4.1 fix typo

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agodoc: verify and update II.3 (ffi) section
Daniel Kochmański [Sun, 9 Aug 2015 10:54:14 +0000 (12:54 +0200)]
doc: verify and update II.3 (ffi) section

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agodoc: run-program: add limitations section
Daniel Kochmański [Sun, 9 Aug 2015 09:38:01 +0000 (11:38 +0200)]
doc: run-program: add limitations section

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agodoc: update asdf manual url
Daniel Kochmański [Sun, 9 Aug 2015 09:14:14 +0000 (11:14 +0200)]
doc: update asdf manual url

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agorun-program: error stream default value is :output
Daniel Kochmański [Sun, 9 Aug 2015 09:10:40 +0000 (11:10 +0200)]
run-program: error stream default value is :output

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agodoc: fix broken section tag
Daniel Kochmański [Sun, 9 Aug 2015 09:09:10 +0000 (11:09 +0200)]
doc: fix broken section tag

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agotrace: improve warning message
Daniel Kochmański [Sun, 9 Aug 2015 08:53:42 +0000 (10:53 +0200)]
trace: improve warning message

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agodoc: I.11.1C: add FFI package
Daniel Kochmański [Sat, 8 Aug 2015 18:25:44 +0000 (20:25 +0200)]
doc: I.11.1C: add FFI package

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agodoc: fix typo at 1.5.3
Daniel Kochmański [Sat, 8 Aug 2015 18:14:45 +0000 (20:14 +0200)]
doc: fix typo at 1.5.3

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agodoc: mention single-float and double-float built-in-classes in 1.4.1
Daniel Kochmański [Sat, 8 Aug 2015 17:58:08 +0000 (19:58 +0200)]
doc: mention single-float and double-float built-in-classes in 1.4.1

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agodoc: fix numbering of "Standard" section to match CLHS
Daniel Kochmański [Sat, 8 Aug 2015 17:41:21 +0000 (19:41 +0200)]
doc: fix numbering of "Standard" section to match CLHS

Fixes #98.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agodoc: verify "1. Overview", wrap some lines to 75 characters
Daniel Kochmański [Sat, 8 Aug 2015 17:28:58 +0000 (19:28 +0200)]
doc: verify "1. Overview", wrap some lines to 75 characters

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agodoc: add windows 8 to tested platforms
Daniel Kochmański [Sat, 8 Aug 2015 17:10:58 +0000 (19:10 +0200)]
doc: add windows 8 to tested platforms

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agodoc: update autoconf section outputs
Daniel Kochmański [Sat, 8 Aug 2015 17:09:47 +0000 (19:09 +0200)]
doc: update autoconf section outputs

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agodoc: update history section
Daniel Kochmański [Sat, 8 Aug 2015 17:01:55 +0000 (19:01 +0200)]
doc: update history section

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agodoc: remove information about clos being optional
Daniel Kochmański [Sat, 8 Aug 2015 16:49:31 +0000 (18:49 +0200)]
doc: remove information about clos being optional

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agoRevert "cmp: ffi: cast `ecl_make_foreign_data' 3rd argument to *(void **)"
Daniel Kochmański [Sat, 8 Aug 2015 06:36:43 +0000 (08:36 +0200)]
Revert "cmp: ffi: cast `ecl_make_foreign_data' 3rd argument to *(void **)"

This reverts commit ab50a55fb183d750b3fa356e32bf112c563bed17.

We can't cast every 3rd argument to *(void **) - this breaks *things*.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agological-pathname-translations: signal error if pathname not defined
Daniel Kochmański [Wed, 5 Aug 2015 12:03:25 +0000 (14:03 +0200)]
logical-pathname-translations: signal error if pathname not defined

If logical pathname wasn't defined yet, signal type error. Fixes #102.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agodoc: add documentation as doc subdirectory
Daniel Kochmański [Tue, 4 Aug 2015 19:54:21 +0000 (21:54 +0200)]
doc: add documentation as doc subdirectory

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agochangelog: add section 'API changes'
Daniel Kochmański [Tue, 4 Aug 2015 19:49:21 +0000 (21:49 +0200)]
changelog: add section 'API changes'

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agorun-program: make invalid handler errorr message more readable
Daniel Kochmański [Tue, 4 Aug 2015 10:25:58 +0000 (12:25 +0200)]
run-program: make invalid handler errorr message more readable

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agoffi: remove package nickname 'uffi'
Daniel Kochmański [Tue, 4 Aug 2015 10:22:02 +0000 (12:22 +0200)]
ffi: remove package nickname 'uffi'

Our ffi isn't uffi 2.0 compatible and most systems wants this, when
they say (require 'uffi). Also if system has asdf dependency on
quicklisp) we have package name error.

We'll depend with UFFI 2.0 compability on cffi-uffi-compat, what is
the saniest approach. Some ECL specific patches will land there soon
to improve performance - no internal FFI api will change. It's just
nick removal.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agochangelog: update on common changes
Daniel Kochmański [Mon, 3 Aug 2015 14:11:52 +0000 (16:11 +0200)]
changelog: update on common changes

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agoformat: fix bug for empty width and fdigits
Daniel Kochmański [Mon, 3 Aug 2015 14:11:32 +0000 (16:11 +0200)]
format: fix bug for empty width and fdigits

When neither w and d weren't set, then k was ignored.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agocmp: ffi: cast `ecl_make_foreign_data' 3rd argument to *(void **)
Daniel Kochmański [Fri, 31 Jul 2015 12:19:35 +0000 (14:19 +0200)]
cmp: ffi: cast `ecl_make_foreign_data' 3rd argument to *(void **)

Some compilers doesn't allow putting function pointers when parameter
type is declared (void *), but it's necessary if we want to use
callbacks. Fixes #99.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agochangelog: add update about unique function names
Daniel Kochmański [Fri, 31 Jul 2015 09:47:06 +0000 (11:47 +0200)]
changelog: add update about unique function names

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agocmp: search for tag only when name is unique
Daniel Kochmański [Fri, 31 Jul 2015 07:29:41 +0000 (09:29 +0200)]
cmp: search for tag only when name is unique

fasl and program init function names are always the same, don't search
for tag in binary files for this two targets.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agocmp: use unique names for inititalization functions of libraries
Daniel Kochmański [Thu, 30 Jul 2015 19:22:25 +0000 (21:22 +0200)]
cmp: use unique names for inititalization functions of libraries

Fixes #74.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agocmp: embed unique tag with init function name in each exported module
Daniel Kochmański [Thu, 30 Jul 2015 19:20:15 +0000 (21:20 +0200)]
cmp: embed unique tag with init function name in each exported module

This is necessary if we want to retrieve function name from compiled
binary, what is necessary if we want to use unique names for this
function. This is necessary for fix of issue #41.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agocmp: make init-function-name consistant with compute-init-name
Daniel Kochmański [Thu, 30 Jul 2015 06:35:03 +0000 (08:35 +0200)]
cmp: make init-function-name consistant with compute-init-name

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agocmp: remove redundant compute-main-name function
Daniel Kochmański [Thu, 30 Jul 2015 06:32:02 +0000 (08:32 +0200)]
cmp: remove redundant compute-main-name function

Same functionality is provided by compute-init-name

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agobuildsystem: add src/*cmp/*.lsp to ecl dependencies
Daniel Kochmański [Thu, 30 Jul 2015 06:29:29 +0000 (08:29 +0200)]
buildsystem: add src/*cmp/*.lsp to ecl dependencies

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agocompiler: bind lexically *readtable* when file is compiled
Daniel Kochmański [Tue, 28 Jul 2015 12:25:29 +0000 (14:25 +0200)]
compiler: bind lexically *readtable* when file is compiled

Both byte and C compilers didn't bind lexically *readtable*, what lead
to pollution of other compiled packages. Fixes #95 and #59.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agoreader: readtable-case works approprietly for :invert and others
Daniel Kochmański [Mon, 27 Jul 2015 19:00:26 +0000 (21:00 +0200)]
reader: readtable-case works approprietly for :invert and others

Reader had problems with converting case. Firstfully, it did convert
case for character literals. Second, it didn't convert characters for
some specific symbol cases (especially when some were escaped). Fixes

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agocosmetic: libffi updates this file on each compilation
Daniel Kochmański [Mon, 27 Jul 2015 18:56:31 +0000 (20:56 +0200)]
cosmetic: libffi updates this file on each compilation

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agochangelog: add new float specializers to changelog
Daniel Kochmański [Mon, 27 Jul 2015 18:56:03 +0000 (20:56 +0200)]
changelog: add new float specializers to changelog

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agocosmetic: short-float: fix inconsistencies with short-float
Daniel Kochmański [Sun, 26 Jul 2015 10:54:10 +0000 (12:54 +0200)]
cosmetic: short-float: fix inconsistencies with short-float

Altough short-float is now implemented as single-float, there are
clear signs that there were attempts / was separate implementation of
that type with partly-abandoned efforts. This patch shapes a bit code
in predlib.lsp and adds comments in appropriate places, that this
files needs to be modified, if such separate implementation occurs.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agoclos: add single-float and double-float to built-in class hierarchy
Daniel Kochmański [Sun, 26 Jul 2015 10:41:27 +0000 (12:41 +0200)]
clos: add single-float and double-float to built-in class hierarchy

Some libraries want methods to specialize on double-float and ECL
fails on such attempts. Fixes #96.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agoREADME: change filename
Daniel Kochmański [Sun, 19 Jul 2015 17:10:43 +0000 (19:10 +0200)]
README: change filename

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
9 years agosi_reset_mergins: move function declaration to external.h
Daniel Kochmański [Sat, 18 Jul 2015 18:11:38 +0000 (20:11 +0200)]
si_reset_mergins: move function declaration to external.h

Build with cxx compiler should work now. Symbol was put in internal.h,
while it is accessed from outside.

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
9 years agochangelog: update
Daniel Kochmański [Thu, 16 Jul 2015 06:16:57 +0000 (08:16 +0200)]
changelog: update

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
9 years agocmp: mapcar: evaluate function only once
Daniel Kochmański [Thu, 16 Jul 2015 05:52:52 +0000 (07:52 +0200)]
cmp: mapcar: evaluate function only once

When function is a closure, all lexical environment were reinitialized
on each function call, because it was expanded multiple times. Do it
only once and use result in funcall. Fixes #17.

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
9 years agonewcmp: deduplicate cmpmap.lsp
Daniel Kochmański [Thu, 16 Jul 2015 05:49:13 +0000 (07:49 +0200)]
newcmp: deduplicate cmpmap.lsp

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
9 years agoclos: fix `print-object' for non- standard-object's
Daniel Kochmański [Tue, 7 Jul 2015 14:11:47 +0000 (16:11 +0200)]
clos: fix `print-object' for non- standard-object's

Previous commit overgeneralized. Handle just one particular corner
situation, when print-object leaks from standard-object to builtin
class T.

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
9 years agoclos: fix `print-object' specialized on T (infinite recurrence)
Daniel Kochmański [Tue, 7 Jul 2015 09:47:40 +0000 (11:47 +0200)]
clos: fix `print-object' specialized on T (infinite recurrence)

Corner case. When user despite spec defines method `print-object'
specialized on standard-object and calls call-next-method,
`print-object' specialized on T called `write', which triggers
original `print-object' specialized on `standard-object'.

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
9 years agoautotools, gc: refine aclocal.m4, refine GC detection, remove hack
Daniel Kochmański [Mon, 6 Jul 2015 20:14:36 +0000 (22:14 +0200)]
autotools, gc: refine aclocal.m4, refine GC detection, remove hack

Remove `ifdef' against GC version with hack - if GC too old use
included one. Also set default stack direction to `down' (on
cross-compilation) and fix cross-compilation of GMP. Fixes #87.

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
9 years agomsvc: rename labels `INT' and `FLOAT' to fix build with VS2013 CE
Daniel Kochmański [Sat, 4 Jul 2015 18:51:51 +0000 (20:51 +0200)]
msvc: rename labels `INT' and `FLOAT' to fix build with VS2013 CE

Patch provided by community members lll and Dinosky. Fixes #7.

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
9 years agosignals: don't whitelist suspend/resume signals if GC below 7.4
Daniel Kochmański [Fri, 3 Jul 2015 16:23:12 +0000 (18:23 +0200)]
signals: don't whitelist suspend/resume signals if GC below 7.4

GC 7.2 doesn't export `GC_get_thr_restart_signal`, so we can't
whitelist it. Gives warning about old GC.

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
9 years agocross-compile: set default stack direction to down
Daniel Kochmański [Fri, 3 Jul 2015 13:58:13 +0000 (15:58 +0200)]
cross-compile: set default stack direction to down

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
9 years agobuildsystem: fix builds with flag --with-clos-streams=no
Daniel Kochmański [Fri, 3 Jul 2015 13:40:11 +0000 (15:40 +0200)]
buildsystem: fix builds with flag --with-clos-streams=no

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
9 years agoformat.d: accept t_string as ~? argument
Daniel Kochmański [Fri, 3 Jul 2015 13:38:34 +0000 (15:38 +0200)]
format.d: accept t_string as ~? argument

Only when UNICODE is enabled obviously.

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
9 years agogmp: fix cross-compilation problem when passing --host
Daniel Kochmański [Fri, 3 Jul 2015 11:28:46 +0000 (13:28 +0200)]
gmp: fix cross-compilation problem when passing --host

https://gmplib.org/list-archives/gmp-bugs/2012-January/002511.html

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
9 years agolibatomic_ops: bump to 7.5.0
Daniel Kochmański [Fri, 3 Jul 2015 11:26:42 +0000 (13:26 +0200)]
libatomic_ops: bump to 7.5.0

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
9 years agochangelog: add recent (not crucial) changes
Daniel Kochmański [Wed, 1 Jul 2015 15:41:41 +0000 (17:41 +0200)]
changelog: add recent (not crucial) changes

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
9 years agoCLOS: remove dead code and conditionals for non-clos builds
Daniel Kochmański [Wed, 1 Jul 2015 14:56:17 +0000 (16:56 +0200)]
CLOS: remove dead code and conditionals for non-clos builds

Builds without CLOS weren't possible for long time, yet a lot of dead
code for non-clos builds was spread across sources. This commit
removes all ifdefs and dead blocks from codebase.

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
9 years agowith-unique-names: simplify extension and fix typo
Daniel Kochmański [Wed, 1 Jul 2015 14:10:22 +0000 (16:10 +0200)]
with-unique-names: simplify extension and fix typo

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
9 years agocosmetic: indent-tabs-mode typo
Daniel Kochmański [Tue, 30 Jun 2015 09:31:11 +0000 (11:31 +0200)]
cosmetic: indent-tabs-mode typo

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
9 years agocosmetic: lsp: setq emacs local variable indent-tabs-mode to nil
Daniel Kochmański [Tue, 30 Jun 2015 06:30:22 +0000 (08:30 +0200)]
cosmetic: lsp: setq emacs local variable indent-tabs-mode to nil

This changes local variable indent-tabs-mode to nil for all *.lsp
files in src/lsp directory.

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
9 years agodefine-compiler-macro: clhs compliance
Daniel Kochmański [Tue, 30 Jun 2015 06:06:53 +0000 (08:06 +0200)]
define-compiler-macro: clhs compliance

This change is incorporated from CLASP. Fixes #82.

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
9 years agosignals: Don't block GC suspend/resume signals on interrupt thread
jack [Mon, 29 Jun 2015 05:47:13 +0000 (07:47 +0200)]
signals: Don't block GC suspend/resume signals on interrupt thread

Blocking all signals except default interrupt caused OpenBSD broken
multithread builds, because of GC semaphore lockup waiting, untill all
threads are stopped. Fixes #71.

Signed-off-by: jack <jack@openbsd.my.domain>
9 years agochangelog: add gmp fix
Daniel Kochmański [Fri, 26 Jun 2015 11:22:25 +0000 (13:22 +0200)]
changelog: add gmp fix

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
9 years agobignums: don't collect gmp internal memory
Daniel Kochmański [Fri, 26 Jun 2015 11:09:47 +0000 (13:09 +0200)]
bignums: don't collect gmp internal memory

GMP manual at https://gmplib.org/manual/Custom-Allocation.html sates,
taht "GMP may use allocated blocks to hold pointers to other allocated
blocks. This will limit the assumptions a conservative garbage
collection scheme can make.", therefore we won't collect it's internal
blocks. Fixes #58.

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
9 years agoecl_stream_to_handle: fix problem when passing stream
Daniel Kochmański [Thu, 25 Jun 2015 10:34:56 +0000 (12:34 +0200)]
ecl_stream_to_handle: fix problem when passing stream

Function for some types of streams without handler (not all) was
calling internal-error stopping whole implementation instead of
returning `INVALID_HANDLER'.

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
9 years agorun-program: handle `error' parameter value `:output'
Daniel Kochmański [Thu, 25 Jun 2015 10:33:15 +0000 (12:33 +0200)]
run-program: handle `error' parameter value `:output'

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
9 years agochangelog: run-program works under cygwin
Daniel Kochmański [Thu, 18 Jun 2015 15:43:10 +0000 (17:43 +0200)]
changelog: run-program works under cygwin

Cygwin fork/exec doesn't seem broken anymore. Fixes #52.

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
9 years agorun-program: Major function refactor
Daniel Kochmański [Thu, 25 Jun 2015 10:28:27 +0000 (12:28 +0200)]
run-program: Major function refactor

A lot of code was duplicated due to creating descriptors for output,
input and error streams. It is reduced by extracting function
`create_descriptor'.

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
9 years agorun-program: Export error stream symbol
Daniel Kochmański [Mon, 1 Jun 2015 16:20:17 +0000 (18:20 +0200)]
run-program: Export error stream symbol

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
9 years agorun-program: Implement `stderr` handling as stream and as pathname
Daniel Kochmański [Thu, 25 Jun 2015 10:41:01 +0000 (12:41 +0200)]
run-program: Implement `stderr` handling as stream and as pathname

This makes `stderr` same class citizen as `stdout` and `stdin`. In
order to make it work structure process has been changed to be able to
handle stream_error and index of `exit-code` and `status` are
1+. Access to stream is possible via last value of run-program, which
returns process itself.

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
9 years agorun-program: fix order of if/else clauses (sanity patch)
Daniel Kochmański [Thu, 25 Jun 2015 10:01:29 +0000 (12:01 +0200)]
run-program: fix order of if/else clauses (sanity patch)

Order of checking the same conditions in input and output was slighly
different without an obvious reason. Fixed that, so code is easier to
read.

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
9 years agochangelog: add GMP-6.0.0 bug to known issues
Daniel Kochmański [Thu, 25 Jun 2015 09:41:55 +0000 (11:41 +0200)]
changelog: add GMP-6.0.0 bug to known issues

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
9 years agostack-overflow: improve condition message
Daniel Kochmański [Wed, 24 Jun 2015 15:09:24 +0000 (17:09 +0200)]
stack-overflow: improve condition message

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
9 years agostack: Protect user from resizing stack above maximum limit
Daniel Kochmański [Wed, 24 Jun 2015 15:05:58 +0000 (17:05 +0200)]
stack: Protect user from resizing stack above maximum limit

If `rlimit' is available (ie on linux), then don't extend stack above
maximum value. If we don't know limit or limit is `infinity', then
there is no protection and user extends heap on his own risk.

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>