Commit graph

92 commits

Author SHA1 Message Date
Fabrizio Fabbri
a74094de9a
fix coverity issue Missing varargs init or cleanup 2017-05-17 23:20:10 +02:00
Daniel Kochmański
7d8f7cdc76 add _ecl_unexpected_return(); to noreturn funs 2016-11-18 14:58:31 +01:00
Daniel Kochmański
2f89642227 fix noreturn attributes
Some functions doesn't return, declare them so (GCC complaints).
2016-10-06 12:21:26 +02:00
Daniel Kochmański
ae7cae404d indent: d-f 2016-05-05 15:24:58 +02:00
Attila Lendvai
15f3d7feab fix bootstrap error printing in universal_error_handler.
Signed-off-by: Attila Lendvai <attila@lendvai.name>
2015-09-29 17:41:28 +02:00
Matthew Mondor
8f07cd58d8 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.
2015-09-03 07:35:47 -04:00
Daniel Kochmański
09ae630cde stack: add special conditional handler for stack-overflow
Add `serror' and `stack-error-handler', which behave like normal
`cerror' -> `universal-error-handler' call order, except fact, that
after handling stack-overflow condition they reset appropriate stack
limit. Fixes #56.

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-06-24 13:45:54 +02:00
Daniel Kochmański
4d19a27424 cosmetic: untabify
Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-06-21 14:38:20 +02:00
Juan Jose Garcia Ripoll
d5f1e4301b Remove debug statements from error.d 2012-10-10 22:53:52 +02:00
Juan Jose Garcia Ripoll
dfc94901c4 delete-file, rename-file, chdir, mkdir and chmod now signal file-errors 2012-09-02 21:46:38 +02:00
Juan Jose Garcia Ripoll
825fc8cbd3 Cnil and Ct are now part of legacy 2012-06-30 23:01:40 +02:00
Juan Jose Garcia Ripoll
0131e2131d Renamed ecl_bds_ptr and ecl_ihs_ptr and the corresponding structs 2012-06-30 21:39:22 +02:00
Juan Jose Garcia-Ripoll
05a16801ca Rename cl_va_* macros to ecl_va_* 2012-06-24 20:46:55 +02:00
Juan Jose Garcia Ripoll
cb1cf92713 Rename ecl_fix() to ecl_fixnum(), just like ecl_long_float() or ecl_double_float() 2012-06-07 23:55:43 +02:00
Juan Jose Garcia Ripoll
64a9168434 CHARACTERP, BASE_CHAR_P, BASE_CHAR_CODE_P, CODE_CHAR, CHAR_CODE, REAL_TYPE, IMMEDIATE, IMMEDIATE_TAG, FIXNUM_TAG, FIXNUM_MINUSP, FIXNUM_PLUSP, FIXNUMP and fix get the ecl_ prefix 2012-06-06 11:19:55 +02:00
Juan Jose Garcia Ripoll
e1c1fbe5aa FElibc_error/FEwin32_error now explain that what the user is seeing is a core library message 2012-04-13 01:10:13 +02:00
Juan Jose Garcia Ripoll
8d1c35daeb ecl_unrecoverable_error() verifies that some frame was established before jumping to it. 2012-04-08 16:17:50 +02:00
Juan Jose Garcia Ripoll
9d557937b1 Added new dispatch functions for slot accessors. 2011-12-16 22:12:56 +01:00
Juan Jose Garcia Ripoll
c1b98706fa Removed debug statement in error.d (FEundefined_function) 2011-08-23 14:02:10 +02:00
Juan Jose Garcia Ripoll
853ec3ebc5 Errors in array/sequence indexes are now a bit more uniform. Eliminated FEillegal_index. Changed prototype for FEtype_error_index. Fixed typo in FEwrong_index. 2011-04-03 10:03:50 +02:00
Juan Jose Garcia Ripoll
ac4b1a7b8d Added support for a subset of Unicode (0 - 65535). 2011-02-19 23:46:52 +00:00
Juan Jose Garcia Ripoll
77f51dc653 Remove printf statement FElibc_error(). 2011-02-12 19:35:41 +01:00
Juan Jose Garcia Ripoll
0aa176a5bb Fixed typo. 2011-01-14 09:11:17 +01:00
Juan Jose Garcia Ripoll
4a83432e01 ecl_make_simple_base_string() replaces make_simple_base_string() and allows fixing the length. 2011-01-13 23:28:44 +01:00
Juan Jose Garcia Ripoll
c952641c43 Added C backtraces (EXT:DUMP-C-BACKTRACE) and used them at boot time, when the error handler is not set up. 2010-11-07 12:49:55 +01:00
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