summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Version 026.txr-026Kaz Kylheku2009-11-264-3/+27
|
* Add comments to generated files.Kaz Kylheku2009-11-261-1/+15
|
* Expand yacc command without quotes.Kaz Kylheku2009-11-261-1/+1
|
* Check for user's specified yacc program.Kaz Kylheku2009-11-261-0/+4
|
* Not all systems have a yacc alias for the yacc program.Kaz Kylheku2009-11-263-8/+89
| | | | | txr is known to work with two yacc implementations: GNU Bison and Berkeley yacc. Let's add some auto-detection for yacc.
* * gc.c (mark_mem_region): Bugfix: do not mess with the valgrindKaz Kylheku2009-11-262-2/+9
| | | | accessibility of the heap object if valgrind debugging is not enabled.
* * parser.y (grammar): Fixes for bison 2.4.1. Remove superfluous actionKaz Kylheku2009-11-262-2/+6
| | | | in chrlit. Include <stdlib.h> for abort.
* Refinements to Valgrind support.Kaz Kylheku2009-11-252-2/+40
|
* More Valgrind support. New option --vg-debug which turns onKaz Kylheku2009-11-254-11/+78
| | | | | Valgrind protection of free blocks. This works independently of --gc-debug.
* Fix a build breakage that may happen on some platforms.Kaz Kylheku2009-11-252-0/+14
| | | | | | | | | The parser.y file includes "utf8.h", which uses the the type wint_t. It also includes "lib.h" which uses "wchar_t". But it fails to include any headers which define these types. The generated y.tab.c picks up wchar_t by the Bison-inserted inclusion of <stdlib.h>, so that's how we got that. But wint_t does not come from any of the headers---if they are standard-conforming.
* Clean up properly.Kaz Kylheku2009-11-251-2/+2
|
* More valgrind integration. Vector objects keep displaced pointersKaz Kylheku2009-11-253-0/+22
| | | | | | | | to vector data; they point to element 0 which is actually the third element of the vector. If an object is only referenced by interior pointers, Valgrind reports it as possibly leaked. This change conditionally adds a pointer to the true start of the vector, if Valgrind support is enabled.
* First stab at Valgrind integration. First goal: eliminate falseKaz Kylheku2009-11-253-11/+71
| | | | positives when gc is accessing uninitialized parts of the stack.
* Fix uninitialized memory locations.Kaz Kylheku2009-11-243-1/+16
|
* Switching to keyword symbols for :args and :nothrow.Kaz Kylheku2009-11-246-29/+50
|
* Whitespace.Kaz Kylheku2009-11-242-3/+3
|
* utf8.c (utf8_from_uc): Fix bug introduced several commits ago (portingtxr-025Kaz Kylheku2009-11-242-0/+8
| | | | to C++). Caught by regression test suite. Found using git bisect.
* Version 025Kaz Kylheku2009-11-244-3/+57
|
* Auto-detect what specifiers to use for inline functions.Kaz Kylheku2009-11-244-22/+90
| | | | | Allow compiler command to be set independently of full path for easier compiler switching.
* Changes to make the code portable to C++ compilers, whichKaz Kylheku2009-11-248-42/+81
| | | | can be taken advantage of for better diagnostics.
* Fixed broken yyerrorf. It was still taking char *, and passingKaz Kylheku2009-11-244-34/+57
| | | | | that as an object to vformat, resulting in #<garbage: ...> output.
* Renaming global variables that denote symbols, such that theyKaz Kylheku2009-11-2411-275/+345
| | | | have a _s suffix.
* * configure (platform_flags, remove_flags): New config variables.Kaz Kylheku2009-11-233-3/+25
| | | | * Makefile (CFLAGS): Take into account new flags.
* Follow up on 64 bit compilation warnings.Kaz Kylheku2009-11-233-3/+14
|
* WTFKaz Kylheku2009-11-231-1/+1
|
* * Makefile (conftest.o): revert change that took CFLAGS fromKaz Kylheku2009-11-232-1/+6
| | | | this target.
* * configure: Don't rely on higher precision arithmetic from the buildKaz Kylheku2009-11-232-3/+10
| | | | | | machine's shell. POSIX requires shell arithmetic to be only signed long. We can't compute the INT_PTR_MAX constant in the shell, but rather generate a constant C expression to compute it.
* Reporting of compile errors during configuration for easierKaz Kylheku2009-11-233-14/+38
| | | | configure debugging.
* * configure: Bugfix in parsing configuration variablesKaz Kylheku2009-11-233-6/+13
| | | | | | | | which contain the = character. * Makefile (conftest.o): Pass full CFLAGS to configuration test builds. If some flags don't work with the compiler, this should be caught.
* * Makefile (CFLAGS): Added -I. so current directory is firstKaz Kylheku2009-11-232-1/+7
| | | | | in the include search path. This is needed for finding generated header files, when building in a separate directory.
* * lib.c (chk_malloc, chk_realloc): Fix diagnosable conversion,Kaz Kylheku2009-11-232-2/+7
| | | | caught by gcc 4.1.1.
* * configure (cross): Print out value of $cross in --help.Kaz Kylheku2009-11-234-14/+23
| | | | | | | * depend.txr: Add "config.h" to list of headers that are not prefixed with $(top_srcdir). * dep.mk: Regenerated.
* Improving portability. It is no longer assumed that pointersKaz Kylheku2009-11-2319-104/+377
| | | | | | | | can be converted to a type long and vice versa. The configure script tries to detect the appropriate type to use. Also, some run-time checking is performed in the streams module to detect which conversions specifier strings to use for printing numbers.
* Introducing symbol packages. Internal symbols are now inKaz Kylheku2009-11-2113-154/+382
| | | | | | | | | | a system package instead of being hacked with the $ prefix. Keyword symbols are provided. In the matcher, evaluation is tightened up. Keywords, nil and t are not bindeable, and errors are thrown if attempts are made to bind them. Destructuring in dest_bind is strict in the number of items. String streams are exploited to print bindings to objects that are not strings or characters. Numerous bugfixes.
* * unwind.c (uw_throw): If streams are not initialized,Kaz Kylheku2009-11-204-23/+44
| | | | | | we have an unhandled exception too early in initialization. Use C stream to print an error message and abort. Using the nil stream variable will just cause a recursion bomb.
* * parser.y (grammar): Fix error actions that do not assignKaz Kylheku2009-11-202-12/+28
| | | | a value to $$.
* * match.c (dest_bind): Extended to handle more general formsKaz Kylheku2009-11-202-15/+20
| | | | | | | by using eval_form rather than direct symbol binding lookups. False positive return fixed. (match_line): Fixed merge to use eval_from rather than direct symbol binding.
* * lib.c (flatten): Semantics change. The flatten functionKaz Kylheku2009-11-202-0/+8
| | | | should not map nil -> (nil), but nil -> nil.
* Changing ``obj_t *'' occurences to a ``val'' typedef. (Ideally,Kaz Kylheku2009-11-2019-992/+991
| | | | | we wouldn't have to declare object variables at all, so why use an obtuse syntax to do so?)
* * txr.1: Fixed mangled formatting of exception handling example.Kaz Kylheku2009-11-192-11/+15
|
* Get rid of macros in favor of safer inline functions.Kaz Kylheku2009-11-195-15/+56
| | | | | The recent auto_str("byte str") error could have been caught at compile time.
* Version 024.txr-024Kaz Kylheku2009-11-193-2/+15
|
* Use unsigned char * as allocator return value.Kaz Kylheku2009-11-194-5/+15
|
* Following-up on diagnostics obtained by running code through C++Kaz Kylheku2009-11-186-25/+61
| | | | | | compiler. Idea: allocator functions return char * instead of void *, like malloc did in classic pre-ANSI C. That way we are forced to use a cast except when the target pointer is char * already.
* * match.c (match_line, match_files): Fix broken behavior of collectKaz Kylheku2009-11-182-7/+13
| | | | that doesn't match anything.
* Fix total breakage of yyerror and yyerrorf.Kaz Kylheku2009-11-182-2/+10
|
* txr.1: Clarified handling of UTF-8, now that it's precise and portable.Kaz Kylheku2009-11-182-4/+23
|
* Version 023.Kaz Kylheku2009-11-183-2/+22
|
* More removal of C99 wide character I/O, and tightening upKaz Kylheku2009-11-176-24/+55
| | | | of standard conformance.
* Whitespace.Kaz Kylheku2009-11-171-1/+1
|