summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* * Makefile (install-tests): New target. Provides a way to make theKaz Kylheku2009-12-022-0/+18
| | | | | test cases part of the installation, and a generated script to run the commands on the installation host.
* Fix annoyances with dependency generation, such as picking up localKaz Kylheku2009-12-024-14/+24
| | | | files that are not in the project.
* * Makefile (CFLAGS): If the compiler matches the pattern %g++,Kaz Kylheku2009-11-282-0/+10
| | | | | then remove some C-front-end-specific warnings from CFLAGS, which the g++ front end will complain about.
* * Makefile (CFLAGS): add -Dlint to CFLAGS when compiling y.tab.o.Kaz Kylheku2009-11-282-0/+11
| | | | | | This suppresses some warnings from a byacc-generated parser, and gets rid of a useless static sccsid array. May help with Bison-generated parser also.
* * parser.l: Use flex options to suppress generation of theKaz Kylheku2009-11-282-0/+8
| | | | | unused functons yyunput and yyinput, thus getting rid of some compiler diagnostics.
* Code cleanup. All private functions static. Private stuffKaz Kylheku2009-11-2814-231/+261
| | | | in regex module not exposed in header. Etc.
* * configure: Workaround in banner code for coreutils printf %.*s bug.Kaz Kylheku2009-11-282-1/+5
|
* Switching to DESTDIR convention for install.Kaz Kylheku2009-11-273-13/+40
| | | | | Make install step does some things more correctly now, without relying on the install program.
* 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
|