cvc5.git
11 years agoMerge branch '1.0.x'
Morgan Deters [Mon, 28 Jan 2013 16:53:01 +0000 (11:53 -0500)]
Merge branch '1.0.x'

11 years agoFix the regression test for bug 486, and enable it
Morgan Deters [Fri, 25 Jan 2013 20:57:54 +0000 (15:57 -0500)]
Fix the regression test for bug 486, and enable it

(cherry-picked from master 23b4fd82d1ed326cd57e9bc57ef9fab98b0b1c87)

11 years agoFix the regression test for bug 486, and enable it
Morgan Deters [Fri, 25 Jan 2013 20:57:54 +0000 (15:57 -0500)]
Fix the regression test for bug 486, and enable it

11 years agomade QuantifiersEngine::d_inst_match_trie and QuantifiersEngine::d_lemmas_produced...
Andrew Reynolds [Mon, 28 Jan 2013 07:57:20 +0000 (01:57 -0600)]
made QuantifiersEngine::d_inst_match_trie and QuantifiersEngine::d_lemmas_produced user-level context dependent.  this fixes bug 486

(cherry-picked from master c5d1a5d8f898bf22c6bbc98f1d484b07706c035b)

11 years agosome fixes for win32, including ability to "make check" win32 builds via wine
Morgan Deters [Mon, 28 Jan 2013 14:30:12 +0000 (09:30 -0500)]
some fixes for win32, including ability to "make check" win32 builds via wine

11 years agomade QuantifiersEngine::d_inst_match_trie and QuantifiersEngine::d_lemmas_produced...
Andrew Reynolds [Mon, 28 Jan 2013 07:57:20 +0000 (01:57 -0600)]
made QuantifiersEngine::d_inst_match_trie and QuantifiersEngine::d_lemmas_produced user-level context dependent.  this fixes bug 486

11 years agosome fixes for Intel benchmarks regarding quantifiers and datatypes, datatypes theory...
Andrew Reynolds [Sun, 27 Jan 2013 17:35:22 +0000 (11:35 -0600)]
some fixes for Intel benchmarks regarding quantifiers and datatypes, datatypes theory still crashes for datatypes with boolean subfields

(cherry picked from master bcbf52ffbe0416ecf70bdb644017c338c0540793)

11 years agosome fixes for Intel benchmarks regarding quantifiers and datatypes, datatypes theory...
Andrew Reynolds [Sun, 27 Jan 2013 17:35:22 +0000 (11:35 -0600)]
some fixes for Intel benchmarks regarding quantifiers and datatypes, datatypes theory still crashes for datatypes with boolean subfields

11 years agoMerge branch '1.0.x'
Morgan Deters [Sun, 27 Jan 2013 02:11:36 +0000 (21:11 -0500)]
Merge branch '1.0.x'

11 years agoanother fix for quantifier models (related to bug 486)
Morgan Deters [Sun, 27 Jan 2013 02:09:55 +0000 (21:09 -0500)]
another fix for quantifier models (related to bug 486)

11 years agofix --check-model --finite-model-find when used together (related to bug 486)
Morgan Deters [Fri, 25 Jan 2013 22:06:02 +0000 (17:06 -0500)]
fix --check-model --finite-model-find when used together (related to bug 486)

11 years agoFix errors and reduce warnings on clang (merge from mdeters/clang)
Morgan Deters [Fri, 25 Jan 2013 20:16:43 +0000 (15:16 -0500)]
Fix errors and reduce warnings on clang (merge from mdeters/clang)

11 years agofix --check-model --finite-model-find when used together (related to bug 486)
Morgan Deters [Fri, 25 Jan 2013 22:06:02 +0000 (17:06 -0500)]
fix --check-model --finite-model-find when used together (related to bug 486)

11 years agoAdd win32 support (merge from mdeters/win32, with some cleanup).
Morgan Deters [Tue, 18 Dec 2012 20:33:43 +0000 (15:33 -0500)]
Add win32 support (merge from mdeters/win32, with some cleanup).

11 years agoAdding miplibtrick option.
Tim King [Wed, 23 Jan 2013 21:35:16 +0000 (16:35 -0500)]
Adding miplibtrick option.

11 years agoAdding substitution size cap.
Tim King [Wed, 23 Jan 2013 21:34:07 +0000 (16:34 -0500)]
Adding substitution size cap.

11 years agoMerge branch '1.0.x'
Morgan Deters [Wed, 23 Jan 2013 22:07:11 +0000 (17:07 -0500)]
Merge branch '1.0.x'

Conflicts:
NEWS

11 years agofix to workaround ANTLR 3.2 issue with initialization
Morgan Deters [Wed, 23 Jan 2013 22:04:43 +0000 (17:04 -0500)]
fix to workaround ANTLR 3.2 issue with initialization

11 years agopartially address bug 486: allow some model inspection of quantifiers
Morgan Deters [Wed, 23 Jan 2013 22:00:56 +0000 (17:00 -0500)]
partially address bug 486: allow some model inspection of quantifiers

11 years agopartially address bug 486: allow some model inspection of quantifiers
Morgan Deters [Wed, 23 Jan 2013 22:00:56 +0000 (17:00 -0500)]
partially address bug 486: allow some model inspection of quantifiers

11 years agoupdate NEWS file
Morgan Deters [Wed, 23 Jan 2013 21:11:55 +0000 (16:11 -0500)]
update NEWS file

11 years agoadd user patterns to the Smt1 parser; update NEWS file
Morgan Deters [Wed, 23 Jan 2013 20:53:31 +0000 (15:53 -0500)]
add user patterns to the Smt1 parser; update NEWS file

11 years agoMerge branch '1.0.x'
Morgan Deters [Tue, 22 Jan 2013 23:03:56 +0000 (18:03 -0500)]
Merge branch '1.0.x'

11 years agofix for theory preprocessing cache on clang, perhaps others.
Morgan Deters [Tue, 22 Jan 2013 23:03:46 +0000 (18:03 -0500)]
fix for theory preprocessing cache on clang, perhaps others.

11 years agoMerge branch '1.0.x'
Morgan Deters [Tue, 22 Jan 2013 17:29:01 +0000 (12:29 -0500)]
Merge branch '1.0.x'

11 years agoupdate ANTLR URLs (antlr.org -> antlr3.org)
Morgan Deters [Tue, 22 Jan 2013 17:28:45 +0000 (12:28 -0500)]
update ANTLR URLs (antlr.org -> antlr3.org)

11 years agoMerge branch '1.0.x'
Morgan Deters [Sat, 19 Jan 2013 16:28:10 +0000 (11:28 -0500)]
Merge branch '1.0.x'

11 years agoFix an options-processing bug on some platforms (e.g., MacOS).
Morgan Deters [Sat, 19 Jan 2013 16:27:03 +0000 (11:27 -0500)]
Fix an options-processing bug on some platforms (e.g., MacOS).

11 years agoSMT-LIB get-model output now is easier to machine-parse: contains (model...) bracketing
Morgan Deters [Tue, 8 Jan 2013 22:56:46 +0000 (17:56 -0500)]
SMT-LIB get-model output now is easier to machine-parse: contains (model...) bracketing

11 years agoMerge branch '1.0.x'
Dejan Jovanović [Sat, 22 Dec 2012 00:14:45 +0000 (19:14 -0500)]
Merge branch '1.0.x'

11 years agoadding copy constructor for the datatype enumerator
Dejan Jovanović [Sat, 22 Dec 2012 00:08:26 +0000 (19:08 -0500)]
adding copy constructor for the datatype enumerator
fixes bug 484

11 years agoMerge branch '1.0.x'
Morgan Deters [Tue, 18 Dec 2012 20:52:13 +0000 (15:52 -0500)]
Merge branch '1.0.x'

11 years agoFix bug 483: readline checks must come after Boost checks in configure
Morgan Deters [Tue, 18 Dec 2012 20:31:45 +0000 (15:31 -0500)]
Fix bug 483: readline checks must come after Boost checks in configure

11 years agoFix printing of EXISTS in CVC language printer
Morgan Deters [Sun, 16 Dec 2012 01:58:31 +0000 (20:58 -0500)]
Fix printing of EXISTS in CVC language printer

11 years agoFix bug 483: readline checks must come after Boost checks in configure
Morgan Deters [Tue, 18 Dec 2012 20:31:45 +0000 (15:31 -0500)]
Fix bug 483: readline checks must come after Boost checks in configure

11 years agoFix printing of EXISTS in CVC language printer
Morgan Deters [Sun, 16 Dec 2012 01:58:31 +0000 (20:58 -0500)]
Fix printing of EXISTS in CVC language printer

11 years agoMerging in patch from branch '1.0.x'.
Tim King [Sat, 15 Dec 2012 02:07:00 +0000 (21:07 -0500)]
Merging in patch from branch '1.0.x'.

11 years agoAdding unit test for different versions of division.
Tim King [Sat, 15 Dec 2012 02:04:41 +0000 (21:04 -0500)]
Adding unit test for different versions of division.

11 years agoMerge remote-tracking branch 'main-repo/1.0.x' into 1.0.x
Tim King [Sat, 15 Dec 2012 01:13:53 +0000 (20:13 -0500)]
Merge remote-tracking branch 'main-repo/1.0.x' into 1.0.x

11 years agoChanging the rewriter to use Boute's Euclidean definition of division.
Tim King [Sat, 15 Dec 2012 01:09:54 +0000 (20:09 -0500)]
Changing the rewriter to use Boute's Euclidean definition of division.

11 years agoMerge pull request #2 from CVC4/1.0.x
Dejan Jovanović [Wed, 12 Dec 2012 22:32:14 +0000 (14:32 -0800)]
Merge pull request #2 from CVC4/1.0.x

1.0.x

11 years agoMerge pull request #1 from lianah/1.0.x
Dejan Jovanović [Wed, 12 Dec 2012 22:30:09 +0000 (14:30 -0800)]
Merge pull request #1 from lianah/1.0.x

* fixed bug 481 by adding check for division by 0 in bit-vector division...

11 years ago* fixed bug 481 by adding check for division by 0 in bit-vector division circuit
lianah [Wed, 12 Dec 2012 22:26:18 +0000 (17:26 -0500)]
* fixed bug 481 by adding check for division by 0 in bit-vector division circuit
* added printing for total bit-vector division kinds for debugging purposes

11 years agoMerge branch '1.0.x', getting fix for bug 480
Morgan Deters [Tue, 11 Dec 2012 23:31:41 +0000 (18:31 -0500)]
Merge branch '1.0.x', getting fix for bug 480

11 years agoSMT-LIB compliance fix to get-assignment; resolves bug 480
Morgan Deters [Tue, 11 Dec 2012 23:29:31 +0000 (18:29 -0500)]
SMT-LIB compliance fix to get-assignment; resolves bug 480

11 years agoMerge branch '1.0.x' (getting fix for bug 479)
Morgan Deters [Tue, 11 Dec 2012 22:56:53 +0000 (17:56 -0500)]
Merge branch '1.0.x' (getting fix for bug 479)

11 years agoIgnore unknown term annotations (giving a warning). Resolves bug 479.
Morgan Deters [Tue, 11 Dec 2012 22:55:29 +0000 (17:55 -0500)]
Ignore unknown term annotations (giving a warning).  Resolves bug 479.

11 years agoMerge branch '1.0.x'
Morgan Deters [Tue, 11 Dec 2012 21:00:03 +0000 (16:00 -0500)]
Merge branch '1.0.x'

11 years agoadding cache for preprocessing datatypes terms to fix bug 475, fix for handling user...
Andrew Reynolds [Tue, 11 Dec 2012 20:47:08 +0000 (14:47 -0600)]
adding cache for preprocessing datatypes terms to fix bug 475, fix for handling user attributes in quantifiers (was broken)

(cherry-picked from commit 206edb6f11674e954f5762a1db9712131151a276)

11 years agoadding cache for preprocessing datatypes terms to fix bug 475, fix for handling user...
Andrew Reynolds [Tue, 11 Dec 2012 20:47:08 +0000 (14:47 -0600)]
adding cache for preprocessing datatypes terms to fix bug 475, fix for handling user attributes in quantifiers (was broken)

11 years agoMerge from 1.0.x (bugfix for 476).
Morgan Deters [Sat, 8 Dec 2012 14:38:24 +0000 (09:38 -0500)]
Merge from 1.0.x (bugfix for 476).

11 years agoFix bug 476: when CxxTest is not found, make the error less fatal-looking
Morgan Deters [Fri, 7 Dec 2012 22:31:02 +0000 (17:31 -0500)]
Fix bug 476: when CxxTest is not found, make the error less fatal-looking

11 years agoMerge release branch '1.0.x'
François Bobot [Fri, 7 Dec 2012 08:35:38 +0000 (09:35 +0100)]
Merge release branch '1.0.x'

For clarity 1.0.x is always a subset of master even after cherry-picking

11 years agoFix to portfolio builds
Morgan Deters [Thu, 6 Dec 2012 23:42:43 +0000 (18:42 -0500)]
Fix to portfolio builds
(cherry picked from commit f46ba71e78054af63b529eb3271952c55beba37e)

11 years agoFix performance issue in a DFS search (bug 474)
Kshitij Bansal [Thu, 6 Dec 2012 21:31:56 +0000 (16:31 -0500)]
Fix performance issue in a DFS search (bug 474)
(cherry picked from commit f056522a587d1b080224992355be070b73d97a3b)

11 years agoFix to portfolio builds
Morgan Deters [Thu, 6 Dec 2012 23:42:43 +0000 (18:42 -0500)]
Fix to portfolio builds

11 years agoFix performance issue in a DFS search (bug 474)
Kshitij Bansal [Thu, 6 Dec 2012 21:31:56 +0000 (16:31 -0500)]
Fix performance issue in a DFS search (bug 474)

11 years agoMerge branch 'release-1.0.x'
François Bobot [Thu, 6 Dec 2012 12:28:53 +0000 (13:28 +0100)]
Merge branch 'release-1.0.x'

The commits have already been cherry-picked but this commit makes it clear.

11 years ago* some build fixes; thanks; thanks to Kunal Ganeshpure for noting these issues
Morgan Deters [Thu, 6 Dec 2012 01:38:17 +0000 (01:38 +0000)]
* some build fixes; thanks; thanks to Kunal Ganeshpure for noting these issues
* build bugfix for win32
* also fix a bug re: tuples and records in the datatypes rewriter

These fixes are for both trunk and 1.0.x branches.

(cherry picked from commit 8c8985f024cec925f774ff32ebccc306be8e4b26)

11 years agodistribute the find_public_interface.sh script
Morgan Deters [Mon, 3 Dec 2012 22:19:18 +0000 (22:19 +0000)]
distribute the find_public_interface.sh script
(cherry picked from commit af44cd27d5b079f1279c407e610e557e81285d8f)

11 years agoversion numbering
Morgan Deters [Mon, 3 Dec 2012 22:17:04 +0000 (22:17 +0000)]
version numbering
(cherry picked from commit 4cae70d893601a2070dc2b00c5640b48515b1a22)

11 years agoFix for fuzzer-found model bug
Clark Barrett [Mon, 3 Dec 2012 04:35:27 +0000 (04:35 +0000)]
Fix for fuzzer-found model bug

(cherry picked from commit 25c6e1331d338c6ba8d60224711343986e11cf79)

11 years ago* tuple and record support in compatibility library
Morgan Deters [Thu, 6 Dec 2012 01:54:11 +0000 (01:54 +0000)]
* tuple and record support in compatibility library

(this commit was certified error- and warning-free by the test-and-commit script.)

11 years ago* some build fixes; thanks; thanks to Kunal Ganeshpure for noting these issues
Morgan Deters [Thu, 6 Dec 2012 01:38:17 +0000 (01:38 +0000)]
* some build fixes; thanks; thanks to Kunal Ganeshpure for noting these issues
* build bugfix for win32
* also fix a bug re: tuples and records in the datatypes rewriter

These fixes are for both trunk and 1.0.x branches.

11 years agoImproved garbage collection for TheoryArith. The merges all of the code over from...
Tim King [Wed, 5 Dec 2012 21:45:12 +0000 (21:45 +0000)]
Improved garbage collection for TheoryArith.  The merges all of the code over from branches/arithmetic/converge except for the new code for simplex.

11 years agoCleanup of arithmetic, and some new utility functions for the coming fcsimplex code.
Tim King [Wed, 5 Dec 2012 19:47:31 +0000 (19:47 +0000)]
Cleanup of arithmetic, and some new utility functions for the coming fcsimplex code.

11 years agoThis commit merges in CDTrailHashMap and CDInsertHashMap. CDHashSet now uses CDInsert...
Tim King [Wed, 5 Dec 2012 19:06:21 +0000 (19:06 +0000)]
This commit merges in CDTrailHashMap and CDInsertHashMap. CDHashSet now uses CDInsertHashMap. CDHashSet<TNode> have been changed to CDHashSet<Node>.  Switching CnfStream to use CDInsertSet. Switches a few CDHashMaps in arithmetic to use CDTrailHashMap. Documentation changes to CDHashMap.

11 years ago* Add support for --decision=justification + incremental (bug 437)
Kshitij Bansal [Tue, 4 Dec 2012 21:41:51 +0000 (21:41 +0000)]
* Add support for --decision=justification + incremental (bug 437)
 - Fix a destruction order issue this triggered in DE

(this commit was certified error- and warning-free by the test-and-commit script.)

11 years agodistribute the find_public_interface.sh script
Morgan Deters [Mon, 3 Dec 2012 22:19:18 +0000 (22:19 +0000)]
distribute the find_public_interface.sh script

11 years agoversion numbering
Morgan Deters [Mon, 3 Dec 2012 22:17:04 +0000 (22:17 +0000)]
version numbering

12 years agoFix for fuzzer-found model bug
Clark Barrett [Mon, 3 Dec 2012 04:35:27 +0000 (04:35 +0000)]
Fix for fuzzer-found model bug

12 years agoCutting release 1.0.
Morgan Deters [Sat, 1 Dec 2012 18:51:31 +0000 (18:51 +0000)]
Cutting release 1.0.

12 years agofix cut-release sanity checks
Morgan Deters [Sat, 1 Dec 2012 17:58:02 +0000 (17:58 +0000)]
fix cut-release sanity checks

12 years agofix to TNode assertion (which is too strict, given lax ordering requirements on stati...
Morgan Deters [Sat, 1 Dec 2012 17:12:18 +0000 (17:12 +0000)]
fix to TNode assertion (which is too strict, given lax ordering requirements on static data initialization)---this should fix debug-staticbinary Mac builds, maybe others

12 years agoThrow a logic exception if user makes an assertion using a STORE_ALL
Clark Barrett [Sat, 1 Dec 2012 16:41:09 +0000 (16:41 +0000)]
Throw a logic exception if user makes an assertion using a STORE_ALL

12 years agoremove instantiator framework
Morgan Deters [Sat, 1 Dec 2012 15:13:58 +0000 (15:13 +0000)]
remove instantiator framework

(this commit was certified error- and warning-free by the test-and-commit script.)

12 years agoFix the way abstract values are typed; fixes some compliance issues.
Morgan Deters [Sat, 1 Dec 2012 14:36:14 +0000 (14:36 +0000)]
Fix the way abstract values are typed; fixes some compliance issues.

Also support array-store-all for Boolean terms (related to abstract values, since that's the only way for the user to include an array-store-all in an assertion).

(this commit was certified error- and warning-free by the test-and-commit script.)

12 years agofix memory corruption issue in debug builds that led to unhelpful output
Morgan Deters [Sat, 1 Dec 2012 13:47:50 +0000 (13:47 +0000)]
fix memory corruption issue in debug builds that led to unhelpful output

12 years agoremove an obsolete (and incorrect) assertion in boolean-terms; also add failing regre...
Morgan Deters [Sat, 1 Dec 2012 12:42:18 +0000 (12:42 +0000)]
remove an obsolete (and incorrect) assertion in boolean-terms; also add failing regression for bug 472

12 years agofix java system test dependences
Morgan Deters [Sat, 1 Dec 2012 12:18:57 +0000 (12:18 +0000)]
fix java system test dependences

12 years agodrastic simplification of quantifiers code regarding equality queries, instantiation...
Andrew Reynolds [Sat, 1 Dec 2012 02:57:59 +0000 (02:57 +0000)]
drastic simplification of quantifiers code regarding equality queries, instantiation strategies moved from instantiators to central instantiation engine, removed instantiator objects, simplified rewrite rules candidate generator to use central equality engine, efficient e-matching now uses central equality engine

12 years agoFix for a CLN related bug on 32 bit systems. Integer((1<<29)+1) and Integer((long...
Tim King [Sat, 1 Dec 2012 02:09:02 +0000 (02:09 +0000)]
Fix for a CLN related bug on 32 bit systems. Integer((1<<29)+1) and Integer((long int)((1<<29)+1)) gave different values.  This was confirmed on vm-int1.cims.nyu.edu. See ginac.de/CLN/cln_3.html#SEC15 for more details. rational_white and integer_white have tests covering this.

12 years agoSome fixes for boolean arrays
Morgan Deters [Sat, 1 Dec 2012 01:48:40 +0000 (01:48 +0000)]
Some fixes for boolean arrays

also a regression for bug 411

(this commit was certified error- and warning-free by the test-and-commit script.)

12 years agofix #line annotation warning
Morgan Deters [Sat, 1 Dec 2012 01:44:07 +0000 (01:44 +0000)]
fix #line annotation warning

12 years agoupdated examples
Morgan Deters [Sat, 1 Dec 2012 01:43:08 +0000 (01:43 +0000)]
updated examples

12 years agoadded a new example for the combination of bit-vectors and arrays (includes model...
Liana Hadarean [Sat, 1 Dec 2012 00:37:22 +0000 (00:37 +0000)]
added a new example for the combination of bit-vectors and arrays (includes model generation) and set the logic for the bitvector example

12 years agoanother part of last commit
Morgan Deters [Sat, 1 Dec 2012 00:33:50 +0000 (00:33 +0000)]
another part of last commit

12 years agodefinition-expansion fixed for get-model, resolves bug 411
Morgan Deters [Sat, 1 Dec 2012 00:31:38 +0000 (00:31 +0000)]
definition-expansion fixed for get-model, resolves bug 411

12 years agoPolishing API examples.
Tim King [Sat, 1 Dec 2012 00:11:20 +0000 (00:11 +0000)]
Polishing API examples.

12 years agoAdding SmtEngine::setLogic(const char* logic) so that smt.setLogic("QF_LRA"); works.
Tim King [Sat, 1 Dec 2012 00:08:38 +0000 (00:08 +0000)]
Adding SmtEngine::setLogic(const char* logic) so that smt.setLogic("QF_LRA"); works.

12 years agoFixes for stricter compilers Andy brought to my attention.
Tim King [Fri, 30 Nov 2012 23:34:47 +0000 (23:34 +0000)]
Fixes for stricter compilers Andy brought to my attention.

12 years agoChanging the documentation of ARR_TABLE_FUN to say (internal symbol).
Tim King [Fri, 30 Nov 2012 23:10:10 +0000 (23:10 +0000)]
Changing the documentation of ARR_TABLE_FUN to say (internal symbol).

12 years agoall API examples now have java versions too; bitvectors gets built; also updated...
Morgan Deters [Fri, 30 Nov 2012 23:07:19 +0000 (23:07 +0000)]
all API examples now have java versions too; bitvectors gets built; also updated old-style copyrights in the examples

12 years agoincorporating some comments from Clark
Morgan Deters [Fri, 30 Nov 2012 23:04:20 +0000 (23:04 +0000)]
incorporating some comments from Clark

12 years agoFix assertion in smt_engine's getValue
Clark Barrett [Fri, 30 Nov 2012 22:44:26 +0000 (22:44 +0000)]
Fix assertion in smt_engine's getValue
Minor changes to RELASE-NOTES

12 years agoUpdating the combination.cpp example.
Tim King [Fri, 30 Nov 2012 22:33:28 +0000 (22:33 +0000)]
Updating the combination.cpp example.

12 years agoCommitting tests to potentially discover an obscure CLN library issue on 32 bit platf...
Tim King [Fri, 30 Nov 2012 22:28:46 +0000 (22:28 +0000)]
Committing tests to potentially discover an obscure CLN library issue on 32 bit platforms. The issue is discussed here: ginac.de/CLN/cln_3.html#SEC15.

12 years agorenaming --smtlib to --smtlib-strict; removing --smtlib2 option
Morgan Deters [Fri, 30 Nov 2012 22:28:06 +0000 (22:28 +0000)]
renaming --smtlib to --smtlib-strict; removing --smtlib2 option

12 years agointernal variables (skolems) aren't printed as part of the model
Morgan Deters [Fri, 30 Nov 2012 21:43:11 +0000 (21:43 +0000)]
internal variables (skolems) aren't printed as part of the model

(this commit was certified error- and warning-free by the test-and-commit script.)

12 years agochange detection/handling of output language more reasonably; fixes a nagging bug...
Morgan Deters [Fri, 30 Nov 2012 21:31:12 +0000 (21:31 +0000)]
change detection/handling of output language more reasonably; fixes a nagging bug Tim found in API examples

(this commit was certified error- and warning-free by the test-and-commit script.)