Commit graph

67 commits

Author SHA1 Message Date
Juan Jose Garcia Ripoll
79d8e9b569 Split printer into separate files, factorizing those for unreadable printing 2010-10-28 23:05:25 +02:00
Juan Jose Garcia Ripoll
c86c8bd5c0 Move packages to read/write locks 2010-10-24 17:53:44 +02:00
Juan Jose Garcia Ripoll
5a9989288c FEerror and cl_error abort if the handler returns 2010-10-19 21:34:39 +02:00
Juan Jose Garcia Ripoll
6e90253faf Fixed compiler warnings 2010-08-24 17:32:22 +02:00
Juan Jose Garcia Ripoll
f4f846b928 In some files windows.h was included before ecl.h 2010-08-22 23:02:52 +02:00
Juan Jose Garcia Ripoll
5c63cd8345 When compiling for the Windows API, define ECL_MS_WINDOWS_HOST instead of checking for mingw or _MSC_VER separately (Gabriel Dos Reis) 2010-08-22 22:29:21 +02:00
Juan Jose Garcia Ripoll
5b53ee01df New function SI:SIGNAL-TYPE-ERROR 2010-05-15 16:48:10 +02:00
Trail@.(none)
973090bc55 Use __MINGW32__ instead of mingw32 as preprocessor criterion of MinGW-ness. 2010-04-05 22:31:53 +02:00
Juan Jose Garcia Ripoll
81717203ea Fixed typo. 2010-03-02 10:39:37 +01:00
Juan Jose Garcia Ripoll
89b9a561ea Replaced ecl_fixnum_in_range() with explicit checks in the functions, which are cheaper and, thanks to ecl_unlikely, faster. 2010-02-27 16:23:21 +01:00
Juan Jose Garcia Ripoll
86c211a6a1 Optimize ecl-inl.h for small cons and use of ecl_unlikely. New macros ECL_CONSP, ECL_LISTP, ECL_ATOM, ECL_SYMBOLP 2010-02-27 09:47:05 +01:00
Juan Jose Garcia Ripoll
2c2c329b09 Replaced FEtype_error_symbol with FEwrong_type_*_arg 2010-02-25 16:46:40 +01:00
Juan Jose Garcia Ripoll
f7f823f505 Replaced FEtype_error_{character,integer} with FEwrong_type_*_arg 2010-02-25 16:42:28 +01:00
Juan Jose Garcia Ripoll
1319e44f94 Introduced a new function, FEwrong_type_nth_arg, which produces better error messages and registers the function in the IHS stack if it was not there. 2010-02-25 14:30:42 +01:00
Juan Jose Garcia Ripoll
81e054971e ecl_cs_overflow() and SIGSEGV handler now share the same strategy: jump to the outermost frame when the error can not be cured. 2010-02-08 12:46:13 +01:00
Juan Jose Garcia Ripoll
7d9fb8bbc7 Mark FEprogram_error as noreturn. 2010-02-04 00:31:03 +01:00
Juan Jose Garcia Ripoll
438fac9bda FEwin32_error is exported also in cygwin 2009-11-01 20:25:37 +01:00
Juan Jose Garcia Ripoll
78e9859bd2 Code to implement mp:interrupt-process in Windows:
* unixint.d: capture exceptions caused by page guards.
* unixint.d: to interrupt a Windows thread, set up a page guard onto the
  ECL environment and in addition queue an APC call that accesses the
  environment to trigger that exception.
* stacks.h: CL_CATCH_ALL uses _try/_except to enforce ECL's exception
  handler. Without it, Windows behaves randomly and sometimes uses the
  default handler and sometimes it simply aborts.
* threads.d: we use ordinary handlers to identify threads.
* time.d: SLEEP now uses Windows' SleepEx, leaving the thread in an
  alertable state -- that is, it can be interrupted.
* top.lsp: fixed and improved the code that handles console interrupts,
  by first using ordinary conditions and then using an interactive
  query function to decide which process to interrupt.
2009-09-22 20:13:23 +02:00
Juan Jose Garcia Ripoll
fb5306016c The previous improvement for FEreader_error broke the cases in which it is used as FEparser_error (i.e. stream = Cnil). 2009-07-12 23:39:27 +02:00
Juan Jose Garcia Ripoll
3e761f0ef5 Report file position in reader errors 2009-07-09 23:12:33 +02:00
Juan Jose Garcia Ripoll
a671b57160 Some functions got new names: ecl_make_cfun, ecl_make_cfun_va, ecl_make_cclosure_va, ecl_def_c_function, ecl_def_c_function_va. 2009-06-07 00:32:33 +02:00
Juan Jose Garcia Ripoll
77cde5c2f8 Several fixes for various compiler warnings. 2009-06-07 00:02:49 +02:00
Juan Jose Garcia Ripoll
4ef223694e Print the value of errno when an internal error happened (J.Elsasser). 2009-01-27 21:48:35 +01:00
Juan Jose Garcia Ripoll
70c64f9652 The macros/functions for accessing and changing symbol values require an environment value. 2008-10-12 16:44:29 +02:00
Juan Jose Garcia Ripoll
b5119bfb90 Add a configuration flag for using mprotect.
Add an implementation of interrupt disable/enable without mprotect.
Set up interrupt barriers around I/O operations.
Force error routines to enable interrupts.
2008-10-08 23:49:31 +02:00
Juan Jose Garcia Ripoll
89a5283927 Implemented an interface for setting/querying options with numeric values and used it for stack sizes and limits. 2008-10-02 11:11:58 +02:00
jgarcia
87a6367939 Factor out some error calls to make code faster in Mac OS X (avoids references to cl_env in some functions) 2008-05-12 08:12:31 +00:00
jgarcia
5ef5d32e74 Enforce indent and mode conditions on files 2008-01-26 10:30:41 +00:00
jgarcia
b23b09e67a RENAME-FILE now has a keyword argument that defines the behavior when a file with the new name exists. 2008-01-02 22:07:02 +00:00
jgarcia
7d68d65331 Do not print \*current-form\* when there is none 2007-10-13 10:11:53 +00:00
jgarcia
3f9a080eea Show offending form when syntax error happens. 2007-07-12 09:09:53 +00:00
jgarcia
aa3dfe4058 Prefix most functions with 'ecl_' to avoid name collisions when embedding ECL in other libraries 2007-01-18 11:46:07 +00:00
jgarcia
75fb4cd6b6 Minimize number of headers included by ecl/ecl.h 2006-10-23 21:24:04 +00:00
jgarcia
ff0be77070 Support for unicode strings as data structure (no clever handling of characters yet) contributed by Brian Spilsbury. 2006-05-29 08:51:21 +00:00
jjgarcia
936b7fb6f6 Header files are now kept in a directory named 'ecl', so as to avoid name clashes with other headers. 2006-02-28 14:05:47 +00:00
jjgarcia
c2506f8283 Do not create SIMPLE-* versions of many conditions, but do that at run time, via a uniform SIGNAL-SIMPLE-ERROR function, that can produce both normal and correctable errors. 2005-11-04 12:35:20 +00:00
jjgarcia
9302a9e175 Various ANSI compatibility fixes 2005-05-26 19:17:53 +00:00
jjgarcia
06b3047b1d + Fixes in the code for backquoted vectors `#(,a ,b ...)
+ Fixes in the compiler code for CATCH and VALUES
+ Slight improvement in the readability of compiled CATCH
+ Implemented lisp hooks for cleaning on exit.
+ Improvements in the help messages from "configure"
2005-02-14 10:26:29 +00:00
goffioul
428c7776e6 Windows header also required under MINGW32. 2005-01-17 09:02:38 +00:00
jjgarcia
94ba2a064f New function for Windows system errors (M. Goffioul) 2005-01-11 14:40:23 +00:00
jjgarcia
860dbd69ec Fixes due to type sizes, updates of the old garbage collector and the terrible bug with hash tables merged into main trunk 2004-02-29 15:47:01 +00:00
jjgarcia
71f921ed39 Remove some warnings from GCC 2004-01-24 17:00:24 +00:00
jjgarcia
0772b295cc Signal also an arithmetic error when dividing by a floating point 0 2003-12-19 13:00:29 +00:00
jjgarcia
c5ec810687 Division by integer 0 signal a DIVIDE-BY-ZERO error. (- (- MOST-NEGATIVE-FIXNUM)) now works. Fixed CEILING and FLOOR with arguments MOST-NEGATIVE-FIXNUM (- MOST-NEGATIVE-FIXNUM). (EXPT x y) now returns 1 coerced to the right type when (ZEROP y)=>T. 2003-12-09 09:34:33 +00:00
jjgarcia
cdff225681 Implemented locking on hash tables and packages. Fixed several floating point contagion bugs in +, -, /, *, and ROUND. 2003-11-24 11:27:28 +00:00
jjgarcia
4eac79774e Preliminary support for POSIX threads. 2003-11-18 11:23:07 +00:00
jjgarcia
c2aa136143 Various minor fixes, and an important set of changes to teach the compiler
and the interpreter to understand (SETF fname) function names, and to handle
them without creating auxiliary symbols.
2003-04-28 15:55:22 +00:00
jjgarcia
1af46c7c39 Use the READER-ERROR condition to signal errors in the reader. 2003-04-10 17:40:34 +00:00
jjgarcia
41c0868469 Bunch of fixes. See CHANGELOG. 2003-03-17 10:39:08 +00:00
jjgarcia
1b64032b99 We need string.h for strerror(). 2002-12-09 12:49:49 +00:00