Picol  Timeline

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

50 most recent check-ins

2018-12-05
12:52
[a1c5daa3bc] Leaf: .travis.yml: Switch to VM infrastructure. (user: dbohdan tags: trunk)
2018-10-19
09:34
[5105f95eef] appveyor.yml: Bump the version to 0.3.5 (user: dbohdan tags: trunk)
09:27
[af010d97a8] Fix [info] and [interp] with no arguments causing a segfault through the use of SUBCMD. Bump the version to 0.3.5. (user: dbohdan tags: trunk, version-0.3.5)
2018-09-17
09:18
[d1ecbf2863] appveyor.yml: Include the commit in the .exe artifact filename. Update the version number. (user: dbohdan tags: trunk)
09:06
[8399c6aaac] Makefile: Use CFLAGS from the environment if defined. (user: dbohdan tags: trunk)
2018-07-31
14:36
[521dec194d] appveyor.yml: Upload build artifacts to Bintray (user: dbohdan tags: trunk)
2018-04-21
18:07
[d43555a9eb] Fix a segfault on [clock format] with no clock value. Bump the version to 0.3.4. (user: dbohdan tags: trunk, version-0.3.4)
10:32
[a4c8e399c2] Process line continuation sequences in braced strings. Bump the version to 0.3.3. (user: dbohdan tags: trunk, version-0.3.3)
07:03
[dae858bf6b] Fix a missing word in the comment at the top of picol.h. (user: dbohdan tags: trunk)
2017-06-05
04:48
[78aa441553] Do not force-quote the first argument to picolQuoteForShell() on Windows. This reverses the change in v0.2.2. Bump the version to 0.3.2. (user: dbohdan tags: trunk, version-0.3.2)
04:24
[159a159ac9] Add the command [rawexec], a version of [exec] that doesn't quote the arguments. (user: dbohdan tags: trunk, version-0.3.1)
04:21
[e7edf1389f] Implement "elseif" clauses in [if]. (user: dbohdan tags: trunk)
2017-06-04
13:07
[7f9ef02637] Fix a regression that caused the env array/variables to be impossible to access at the top level without the "::" global qualifier. Bump the version to 0.3.1. (user: dbohdan tags: trunk)
2017-05-14
05:01
[ef31bc9409] examples/regexp-ext.c: Update the example's title. (user: dbohdan tags: trunk)
04:44
[a8352d1f9a] ABOUT.txt: Fit the text in 80 columns. (user: dbohdan tags: trunk)
2017-05-13
19:41
[30bd622097] Restore the accidentally deleted line that defines PICOL_FEATURE_GLOB as 0 for MSVC and MinGW-w64. (user: dbohdan tags: trunk, version-0.3.0)
19:36
[1c7a486be4] Do not try to include <glob.h> when compiled with MinGW-w64. Reduce the non-MSVC default value of PICOL_MAX_LEVEL to 30. Small style changes. (user: dbohdan tags: trunk)
18:41
[e3fd8f13aa] Replace the [trace] command with [debug] with the same functionality to avoid confusion over the name. Rename the field "trace" of the struct picolInterp to "debug" (keeping it in the same position). Print debug data to stderr instead of stdout and only do so if Picol was compiled with PICOL_FEATURE_PUTS. Add tests for $::errorInfo. Prevent stack overflow through self-invocation in picolErr() when the error message is too long. Check if [puts] is available in [unknown] in init.pcl. Misc. stylistic changes to the comments. (user: dbohdan tags: trunk)
2017-05-12
05:05
[11c11e3092] Add a short README.md for GitHub. (user: dbohdan tags: trunk)
05:04
[72fd4fc585] Split Richard Suchenwirth's README.txt into ABOUT.txt and CHANGELOG-2007.txt. (user: dbohdan tags: trunk)
05:03
[4fc780fd06] Merge the implementation for [string index] and [string range]. Make [lindex] and [string index] understand the index "end". Fix [string index {}] returning garbage. Fix [string range] omitting the final character. (user: dbohdan tags: trunk)
05:02
[9eb26f5eb2] Re-add a clock() fallback in the [time] command. You can force Picol to use either clock_gettime() or clock() on a non-Windows platform by defining PICOL_CAN_USE_CLOCK_GETTIME as 1 or 0 respectively before you include picol.h. Add a platform detection workaround for DJGPP (MS-DOS) to prevent it from being detected as *nix. Declare variables at the top of a scope block for GCC 2 compatibility (for Haiku). (user: dbohdan tags: trunk)
2017-05-11
17:28
[1c542e0bf1] test.pcl: Do not run incompatible array tests in Tcl 8.5. (user: dbohdan tags: trunk)
13:22
[a5ea697f82] Implement support for [continue] and [break] in picolLmap() (i.e., [foreach] and [lmap]). Make the error message for [file size] more descriptive. (user: dbohdan tags: trunk)
2017-05-10
17:40
[d61c05d632] Rewrite picolMatch(). Handle '?' wild cards in "*<string>*" patterns. Return -1 when an unsupported pattern is given. Allow escaping '?' and '*' with a backslash to match the literal character '?' or '*'. Fix two memory leaks. (user: dbohdan tags: trunk)
15:09
[d35ba49095] Factor out the [regexp] command into a separate extension file extensions/regexp-wrapper.h. Include the regexp extension in the interpreter. Rename examples/regexp-lib.c examples/regexp-ext.c. (user: dbohdan tags: trunk)
06:10
[d1eeb2475a] [user C code breakage] Prevent segfaults when using pointer-based features by keeping track of valid pointers. Extend the array API to allow unsetting elements and destroying arrays. Fix picolArrSet() not adding elements to an array correctly after the first 2*PICOL_ARR_BUCKETS elements. Align with Tcl 8.6 how the commands [array get|names|set|size|statistics] and [time] work. Check for a buffer overflow in picolEval2(). Add the field validptrs of the new type picolPtr* to the struct picolInterp. Rename things: DEFAULT_ARRSIZE to PICOL_ARR_BUCKETS, PT_* to PICOL_PT_*, TCL_PLATFORM to PICOL_TCL_PLATFORM_*, picolIsPtr() to picolScanPtr() and qsort_cmp*() to picolQsortComp*(). Increase the value of PICOL_ARR_BUCKETS from 16 to 32 for better performance. Add byteOrder, pointerSize and wordSize to ::tcl_platform. Avoid undefined behavior in [<<]. Style: check if a pointer is NULL with (p == NULL), not (!p). The effect of the valid pointer tracking on performance isn't noticeable, even for loops that manipulate arrays. (user: dbohdan tags: trunk)
2017-05-08
20:31
[a67917d1b1] Use a different default value for PICOL_MAX_LEVEL if the compiler is MSVC. Reduce the default value for MSVC for compatibility with Visual Studio 12.0. (user: dbohdan tags: trunk)
20:21
[643ef2cd5a] appveyor.yml: Bump the version. (user: dbohdan tags: trunk)
20:14
[a2bf94211d] Add test-all.cmd (user: dbohdan tags: trunk)
20:13
[59f255bf1b] Add an example that exposes a small C regexp library to Picol. (user: dbohdan tags: trunk)
19:39
[1df906db51] [user C code breakage] Rename MAXSTR "PICOL_MAX_STR". Rename MAXRECURSION "PICOL_MAX_LEVEL". Add the field maxlevel to the struct picolInterp. Make it possible to [catch] a maximum level error (the current behavior probably wasn't intended). Do not override a manually set PICOL_FEATURE_GLOB when compiled with MSVC. Parse binary (0b1010...), hexadecimal (0x1234...) and octal (0o1234..., but *not* 01234...) integers wherever integers are accepted. Set a new default value for PICOL_MAX_LEVEL. It was determined experimentally as the highest that does not cause a stack overflow in the test fac.3 in 32-bit MinGW and MSVC Windows builds of the interpreter when PICOL_MAX_STR is set to 4096. Bump the version to 0.3.0. (user: dbohdan tags: trunk)
11:25
[f5973273d4] Implement the operators &, |, ^, << and >> and the commands [!], [~], [min] and [max]. Allow to shorten [glob -directory] to [glob -dir]. Bump the version to 0.2.4. (user: dbohdan tags: trunk, version-0.2.4)
2017-05-07
20:52
[d48396271d] clean.cmd: Fix the file paths with slashes. (user: dbohdan tags: trunk, version-0.2.3)
20:39
[a50459a50c] test.pcl: Fix [eval-in-tclsh]. Show a warning and skip unsupported tests in Tcl 8.5. Introduce the variable ::tcl for configuring which Tcl 8.x interpreter binary to use. (user: dbohdan tags: trunk)
19:46
[a700462902] test.pcl: Show the result of running the tests in Tcl 8.6. Change the workaround for the file deletion heisenbug on Windows. Do not use wc(1). (user: dbohdan tags: trunk)
13:19
[89bc9af005] appveyor.yml: Update the Tclkit to Tcl version 8.6.6. It fixes a regression in [lreplace]. (user: dbohdan tags: trunk)
13:16
[fd7fe6b675] Add clean.cmd. (user: dbohdan tags: trunk)
12:21
[1c1d19176b] Fix [lreverse {}] crashing MSVC builds. Make the test suite pass on Windows in Picol (MinGW and MSVC builds) and Tcl 8.6. Introduce [file isdir] as a shortcut for [file isdirectory]. (user: dbohdan tags: trunk)
04:59
[090c347a75] Only use the Sleep() version of [after ms] if _MSC_VER is defined. MinGW defines nanosleep(). (user: dbohdan tags: trunk)
04:50
[849c239ecb] Fix differences from Tcl 8.6 in how [file isdirectory|isfile] and [lreplace] work. Make the test suite pass in Tcl 8.6. (user: dbohdan tags: trunk)
04:33
[00e78570d8] Update information about my contributions. (user: dbohdan tags: trunk)
04:21
[0350ffd6c4] Implement the commands [lassign], [lmap], [lrepeat], [lreverse] and [try]. The last one makes error handling substantially more pleasant. Bump the version to 0.2.3. (user: dbohdan tags: trunk)
2017-05-06
20:39
[28537831c5] appveyor.yml: Bump the version. (user: dbohdan tags: trunk, version-0.2.2)
20:32
[cb6c75f8eb] Add build-msvc-2017.cmd. Add a note about compatibility in build-msvc.cmd. (user: dbohdan tags: trunk)
19:39
[735d300bc1] Fix the MSVC build. Make the preprocessor definition TCL_PLATFORM_PLATFORM work for conditional compilation. Remove TCL_PLATFORM_ENGINE as useless. (This does not affect the value of ::tcl_platform(engine), which is defined in TCL_PLATFORM_ENGINE_STRING.) (user: dbohdan tags: trunk)
10:58
[7e35bc123b] Implement command [after ms]. (user: dbohdan tags: trunk)
10:13
[74e250b8f4] Consistently quote the offending argument in error messages with double quotes. (user: dbohdan tags: trunk)
10:10
[15b2e8e606] Always fully quote the first argument (the path to the executable) in picolQuoteForShell() on Windows. Bump the version to 0.2.2. (user: dbohdan tags: trunk)
09:10
[8baea5a893] Merge the branch list-parser-compat. (user: dbohdan tags: trunk, version-0.2.1)