Commit graph

6777 commits

Author SHA1 Message Date
Daniel Kochmański
0051ff7a3e changelog: update 2016-08-11 22:42:15 +02:00
Daniel Kochmański
ed5ecd03eb ieee-floats: fix builds with --with-ieee-fp=no
Functions to print (nan,float)-to-string and and predicates are still
available, but ext:*-float-*-infinity aren't available if ECL is built
with option `--with-ieee-fp=no`.
2016-08-11 22:38:30 +02:00
Kacper Kasper
873be229d0 fix mkdir in configure
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2016-08-10 16:47:07 +02:00
Kacper Kasper
c951b72b2d Haiku support.
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2016-08-10 16:47:07 +02:00
Daniel Kochmański
020b3dcfeb new-doc: add some notes 2016-08-10 14:20:13 +02:00
Daniel Kochmański
fe0fc1d4c5 changelog: add random-state improvements 2016-08-10 14:14:13 +02:00
Daniel Kochmański
7569359860 make-load-form: add random-state implementation 2016-08-10 13:55:06 +02:00
Daniel Kochmański
e1d11cddbd random-state: add ext:random-state-array function
This function will return random-state array. This is meant for next
commit which implements MAKE-LOAD-FORM for random-state objects.
2016-08-10 13:54:22 +02:00
Daniel Kochmański
ab2e5a3593 random-state: make-random-state accepts arrays
Type of the array is checked. The code has been moved from the `#$'
reader-macro simplifying its implementation.
2016-08-10 13:52:10 +02:00
Daniel Kochmański
c196d0f0e7 Merge branch 'improve-testing' into develop 2016-08-10 13:50:52 +02:00
Daniel Kochmański
481270eca7 tests: update CHANGELOG 2016-08-10 13:46:56 +02:00
Daniel Kochmański
59c078e576 tests: create make-check-suite
This suite doesn't have regressions/mp, which often fail to not disturb
the ordinary user. All regressions are in the ecl-tests suite.
2016-08-10 13:44:40 +02:00
Daniel Kochmański
d712e7eb12 tests: config.lsp: simplify file 2016-08-09 19:59:11 +02:00
Daniel Kochmański
5fababeb35 1am: add file 2016-08-09 19:48:23 +02:00
Daniel Kochmański
eb1b36dc04 tests: run full tests (regressions and features) 2016-08-09 19:35:24 +02:00
Daniel Kochmański
759854445c tests: add stress tests system using 1am 2016-08-09 19:34:44 +02:00
Daniel Kochmański
c544f92ca3 tests: cmp: random-state: add make-load-form test 2016-08-09 17:49:41 +02:00
Daniel Kochmański
c13cab3dc6 cosmetic: fix error message arguments 2016-08-09 17:36:05 +02:00
Daniel Kochmański
589a564334 tests: mixed: random-state: improve test 2016-08-09 17:35:48 +02:00
Daniel Kochmański
5761230e15 tests: fix format test 2016-08-09 16:49:35 +02:00
Daniel Kochmański
f72077549c tests: simplify make target 2016-08-09 16:49:35 +02:00
Daniel Kochmański
36a06c74e9 tests: fix a few mistakes 2016-08-09 16:49:35 +02:00
Daniel Kochmański
cd9f75a581 tests: reorganize ecl-tests (use 2am) 2016-08-09 16:49:35 +02:00
Daniel Kochmański
a4d565161d Merge branch 'develop' into 'develop'
fix build when msvc support bool type on c99 and stdbool.h



See merge request !29
2016-08-09 09:33:36 +00:00
Fabrizio Fabbri
be3b6ba9ea fix build when msvc support bool type on c99 and stdbool.h 2016-08-09 04:23:58 +02:00
Daniel Kochmański
2733aa379c old-doc: fix Makefile 2016-08-05 15:59:11 +02:00
Daniel Kochmański
af65969c0b file-stream-fd: don't cause internal error
If the argument isn't a file-stream rise a SIMPLE-TYPE-ERROR
condition. Fixes #271.
2016-08-04 14:51:43 +02:00
Daniel Kochmański
86a591461c make-random-state: allow fixnum as the argument 2016-08-04 10:32:18 +02:00
Daniel Kochmański
691e77c3be cmp/c++: fix inlined function calls
We have 3 more regressions with CXX in comparison to pure C mode.
Related to #241.
2016-07-28 19:07:44 +02:00
Daniel Kochmański
e010740f06 changelog: update 2016-07-28 18:30:33 +02:00
Daniel Kochmański
2062b8fce3 cosmetic: add c-local declarations 2016-07-28 18:21:20 +02:00
Daniel Kochmański
6930c315a6 Merge branch 'fix/stable-inline-sort-on-vectors' into 'develop'
New inline stable sort for vectors

This PR should improve on the current stable sorting of vectors, fixing issues such as #217 (bug) and #101 (performance).

Full disclosure: The merge sort algorithm was completely stolen from sbcl.

I'm sure the new version can be optimized, for example by inlining `stable-sort-merge-vectors`, and by treating simple-arrays differently.

But for now, it already has slightly better performance on the sequences that I tested with, for example running:

```common-lisp
(time (dotimes (x 50000)
	(defparameter *my-arr* 
		(make-array 9 :initial-contents
		(list
		  (cons 3 'a)
		  (cons 2 'b)
		  (cons 2 'c)
		  (cons 2 'd)
		  (cons 3 'e)
		  (cons 2 'f)
		  (cons 2 'g)
		  (cons 2 'h)
		  (cons 1 'i))))

	(stable-sort *my-arr* #'< :key #'car)))
```

gave me 0.34 sec in the old version, and 0.28sec in the new one (even with the overhead of the make-array call, which is the same for both). But most importantly, the new version leaves the array sorted, which fixes bug #217:

```common-lisp
> *my-arr*
#A(T (9) ((1 . I) (2 . B) (2 . C) (2 . D) (2 . F) (2 . G) (2 . H) (3 . A) (3 . E)))
```

while in the old-version:
```common-lisp
> *my-arr*
#A(T (9) ((3 . A) (2 . B) (2 . C) (2 . D) (3 . E) (2 . F) (2 . G) (2 . H) (1 . I)))
```

The example in #217 also works now, of course:
```common-lisp
> (let ((a (copy-seq "BCA")))
        (stable-sort a #'char<)
        a)

"ABC"
```

See merge request !28
2016-07-28 16:13:23 +00:00
Diogo Franco
8723d5f895 implement new inline stable sort for vectors, fixing avoiding the previous coercion to list and actually do it inline 2016-07-26 23:52:11 +01:00
Daniel Kochmański
000af1996d cosmetic: make Makefile behaviour more intelligible
Also fix ctags obsolete flag (-o -> -f) and correct some small things
in ecl.man.in. Closes #263.
2016-07-25 16:33:30 +02:00
Daniel Kochmański
302b9dd86f Merge branch 'develop' into 'develop'
Fixed VS2010/2015 build.

- Fix #213
- Commit 10bd3b61 removed dffi code. Reflect that on nmake build.

See merge request !27
2016-07-21 09:04:46 +00:00
Fabrizio Fabbri
8fed1fa97d Fixed VS2010/2015 build.
- Fix #213
- Commit 10bd3b61 removed dffi code. Reflect that on nmake build.
2016-07-21 04:45:28 -04:00
Daniel Kochmański
b889b02a2b Merge branch 'fix-profiler-module' into 'develop'
Fix profiler module

This handles Issue #163.

Removes the problematic list case, and ignores any argument that is not a symbol or string.

Example of new behaviour:
```common-lisp
> (profile:profile 'defined-function)
;;; Warning: ignoring invalid argument to PROFILE: 'DEFINED-FUNCTION

> (profile:profile undefined-function 'defined-function defined-function)
;;; Warning: ignoring undefined function UNDEFINED-FUNCTION
;;; Warning: ignoring invalid argument: 'DEFINED-FUNCTION

> (profile:profile) ; list profiled functions
(DEFINED-FUNCTION)
```

See merge request !26
2016-07-20 11:19:23 +00:00
Diogo Franco
54a614bf34 do not warn about the PROFILE function, because this is also used in UNPROFILE 2016-07-20 11:54:06 +01:00
Diogo Franco
60a864ce3b delete broken list case in profile module. warn and ignore invalid names. 2016-07-20 11:38:43 +01:00
Daniel Kochmański
cd84200762 Merge branch 'develop' into 'develop'
fix minor typo in pprint error message

Minor fix to an error message I got when trying to change a read-only pprint dispatch table.

See merge request !25
2016-07-06 13:33:13 +00:00
Diogo Franco
6db5c3b672 fix minor typo in pprint error message 2016-07-06 11:17:24 +01:00
Daniel Kochmański
1636b6110f print-object: add default t-specialized printer
Fixes #193.
2016-07-03 17:05:36 +02:00
Daniel Kochmański
f66dd64e6f tests: add regression test for *trace-output* 2016-06-21 17:20:41 +02:00
Daniel Kochmański
f54b0d9c78 trace: print to *trace-output*
Fixes #236.
2016-06-21 16:57:44 +02:00
Daniel Kochmański
f1857e0ed5 cmp: defcallback: accept ':default' calling convention
Fixes #244.
2016-06-21 15:20:34 +02:00
Daniel Kochmański
f00fa4159b man: remove unnecessary info 2016-06-21 14:27:27 +02:00
Daniel Kochmański
4c56f3bbdd Merge branch 'man-page-cleanup' into 'develop'
Improve man and help.

Sorry that it took so long.

I reorganized man page, so that now it tells truth about current flags. Also updated information about the authors.
Same for help prompt(--help).
Also, added some of these changes to changelog. I(my emacs)'ve been willing enough that I(my emacs) removed trailing whitespace. If you find that inappropriate, please let me know.

There is one thing that should be somehow fixed - we should have release.sh script(or something like that), that'd prepare a new build of ECL for release,
and change the date that's shown in man(or do we have that already?) - I've currently set it to 10.05.16 (dd/mm/yy).

See merge request !22
2016-06-21 12:18:49 +00:00
Daniel Kochmański
77dec0b96b new-doc: iteration 2016-06-18 21:14:04 +02:00
MatthewRock
b037f37d30 Another minor fixes in MAN. 2016-06-18 18:39:26 +02:00
Daniel Kochmański
bb57174de0 new-doc: use css, add info 2016-06-18 17:00:02 +02:00