Commit graph

2076 commits

Author SHA1 Message Date
Juan Jose Garcia Ripoll
ac8b8a813a Fixed typo in the non-inlined version of ecl_to_size(). 2012-01-22 23:40:04 +01:00
Juan Jose Garcia Ripoll
b541769e77 Fixed wrong #ifdef in file.d 2012-01-22 23:28:49 +01:00
Juan Jose Garcia Ripoll
10dea13a51 Unicode strings were not properly saved in C compiled code. 2012-01-15 19:54:06 +01:00
Juan Jose Garcia Ripoll
d377e4daf8 Cleanup ecl_open_stream, removing gotos. Instead of using open() to check for the existence of a file, rely on si_file_kind(). 2012-01-15 12:00:41 +01:00
Juan Jose Garcia Ripoll
4547742042 Create safe_* versions of open, fdopen, fopen, close, fclose, which are protected from interrupts. 2012-01-15 11:22:10 +01:00
Juan Jose Garcia Ripoll
09cc3970d4 Fixes in the sequence-input/output-streams. UNREAD-CHAR did not work properly on them 2012-01-06 19:48:52 +01:00
Juan Jose Garcia Ripoll
221a7dea29 ecl_to_int64_t() contained a stray while(1). 2012-01-06 19:27:39 +01:00
Juan Jose Garcia Ripoll
56139f6a53 When extracting the byte content of an array, create vectors with a fill pointer. 2012-01-06 11:47:00 +01:00
Juan Jose Garcia Ripoll
542735dcc0 Restrict sequence input/output streams to byte arrays 2012-01-06 11:46:25 +01:00
Juan Jose Garcia Ripoll
5d7410bf51 Replace most uses of fixint with ecl_to_fix/ecl_to_size 2012-01-01 23:49:37 +01:00
Juan Jose Garcia Ripoll
0102aed9f5 We introduce two functions, ecl_to_fix/ecl_to_size, which may be inlined and are more focused than fixint/fixnnint 2012-01-01 23:39:01 +01:00
Juan Jose Garcia Ripoll
fa38d10ee4 Simplified _ecl_get_fixnum/index under the assumption that input arguments will never include the zero fixnum. 2012-01-01 20:26:38 +01:00
Juan Jose Garcia Ripoll
cc83b4c01f fixint()/fixnnint() did not work when sizeof(long) < sizeof(fixnum) 2012-01-01 19:32:32 +01:00
Juan Jose Garcia Ripoll
2f42f79da5 In TRUENAME, when a file pathname is found to be a directory pathname, run TRUENAME again to fix the pathname (solves problems with ../) 2012-01-01 15:49:36 +01:00
Juan Jose Garcia Ripoll
ca0222fd19 Implemented EXT:TRULY-THE and made THE expand to either EXT:TRULY-THE or EXT:CHECKED-VALUE depending on the optimization settings. 2011-12-31 19:37:13 +01:00
Juan Jose Garcia Ripoll
a952c222cc Wrong number of arguments passed to NEED-TO-MAKE-LOAD-FORM-P in the bytecodes compiler 2011-12-31 16:31:13 +01:00
Juan Jose Garcia Ripoll
01f333fa87 In pathnames, .. is translated to :UP, not :BACK. 2011-12-31 16:21:17 +01:00
Juan Jose Garcia Ripoll
d4821f1a80 The truename of a link to a directory was not properly adjusted when the pathname was in 'file' form, that is (truename directory-link) vs (truename directory-link/) 2011-12-31 12:26:28 +01:00
Juan Jose Garcia Ripoll
15d1c6dfdf :UP removes actually two levels from directory (in TRUENAME) 2011-12-31 03:41:09 +01:00
Juan Jose Garcia Ripoll
e3788acf8a Remove debug statement 2011-12-31 03:36:44 +01:00
Juan Jose Garcia Ripoll
0d1de5ba90 Dots are removed from pathnames when parsing them. 2011-12-31 03:23:14 +01:00
Juan Jose Garcia Ripoll
86e54c8a28 In TRUENAME, ".." was not eliminated from the path 2011-12-31 03:16:15 +01:00
Juan Jose Garcia Ripoll
da15b84a8b Fixed the UCS2-BE/LE decoders 2011-12-30 23:22:58 +01:00
Juan Jose Garcia Ripoll
c1d5bdd035 Fixed the error message in ecl_sequence_start_end() for the case in which start > end. 2011-12-30 17:31:36 +01:00
Juan Jose Garcia Ripoll
d6f1599287 Missing POSIX coercion in unixfsys.d 2011-12-30 17:01:34 +01:00
Juan Jose Garcia Ripoll
c47a3ff946 In FILE-WRITE-DATE, FILE-WRITE-AUTHOR and other related functions, ECL must remove the trailing slash, '/', so that certain C libraries accept the file name. 2011-12-30 15:30:45 +01:00
Juan Jose Garcia Ripoll
47dd6bc83e Weak hash tables 2011-12-30 12:40:06 +01:00
Juan Jose Garcia Ripoll
d2f740b9af Fixed comment on gather_statistics() 2011-12-30 12:40:06 +01:00
Juan Jose Garcia Ripoll
71114c9063 The methods in the hash tables now hide the ecl_hashtable_entry structures. This will allow implementing weak hash tables more easily. 2011-12-30 12:40:06 +01:00
Juan Jose Garcia Ripoll
e63a78ce26 The EXT package is now used in the C package 2011-12-28 21:27:16 +01:00
Juan Jose Garcia Ripoll
24debdf161 Fix additional warnings about unused variables and variables which are assumed global in the compiler. 2011-12-26 17:59:16 +01:00
Juan Jose Garcia Ripoll
169d2997df SI:ECASE-ERROR and ETYPECASE-ERROR are now exported. 2011-12-23 15:38:06 +01:00
Juan Jose Garcia Ripoll
2ca63fdbf8 Reorder the type checks in src/c/clos/accessor.d to achieve more compact code and faster access 2011-12-18 20:07:05 +01:00
Juan Jose Garcia Ripoll
61aa50f929 ecl-inl.h is needed by package.d 2011-12-18 14:22:26 +01:00
Juan Jose Garcia Ripoll
ee13dcd388 Introduce _ecl_funcall[0-5] to move the core from using cl_funcall to ecl_function_dispatch. 2011-12-18 00:26:53 +01:00
Juan Jose Garcia Ripoll
2c92c946a3 The built-in classes vector is now a constant 2011-12-16 23:38:00 +01: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
0423bd23a3 Fixed a typo in ecl_remf_setf_definition. Type-check also the SETF arguments to FBOUNDP. 2011-12-16 22:12:28 +01:00
Juan Jose Garcia Ripoll
4b565e6955 Better explanation of why the keys get duplicated in _ecl_standard_dispatch(). 2011-12-15 00:07:45 +01:00
Juan Jose Garcia Ripoll
198ecd50c2 Split the CLOS cache code into a separate file, with some cleanup in the process. 2011-12-15 00:05:15 +01:00
Juan Jose Garcia Ripoll
17ab9cecf0 Keep a SETF location object in the compiled code, to speed up the lookup of #'(SETF fname) functions. Also, store a closure in that object for the cases in which we fmakunbound it. 2011-12-14 00:24:09 +01:00
Juan Jose Garcia Ripoll
b72823aeab SETF functions are now stored in a separate hash table. 2011-12-13 20:53:44 +01:00
Juan Jose Garcia Ripoll
42a9abf551 Eliminated SETF-LAMBDA functions, replacing them with a wrapper that transforms them into SETF-METHODs. 2011-12-13 00:32:34 +01:00
Juan Jose Garcia Ripoll
3679e2620b The short form of DEFSETF does no longer use special cases. Instead SETF detects cases in which the variables do not need to be created. 2011-12-12 23:25:54 +01:00
Juan Jose Garcia Ripoll
a38f16f1fa In the interpreter, avoid creating a closure when the lexical environment is empty. 2011-12-11 22:04:43 +01:00
Juan Jose Garcia Ripoll
eb0082fd83 DEFCLASS now expands in terms of LOAD-DEFCLASS, saving some bytes. 2011-12-11 16:00:11 +01:00
Juan Jose Garcia Ripoll
6121a6d510 Add more keywords which are used in CLOS macroexpansions. 2011-12-11 01:06:52 +01:00
Juan Jose Garcia Ripoll
ae42fed2be SI:INSTANCEP now returns the class length. 2011-12-10 22:24:10 +01:00
Juan Jose Garcia Ripoll
05a46aca0b Print readably hash tables using the EXT:HASH-TABLE-FILL 2011-12-10 19:00:09 +01:00
Juan Jose Garcia Ripoll
75c332b452 New functions EXT:HASH-TABLE-CONTENT and EXT:HASH-TABLE-FILL 2011-12-10 18:59:45 +01:00