Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
154 check-ins using file ABOUT.txt version 1aa7b38b5d
2024-08-08
| ||
09:35 | help.pcl: Return a list of `{result number}` instead of just a number from `match-bracket`. Avoid interpreting a number differently based on its sign. Leaf check-in: fb19e567ce user: dbohdan tags: trunk | |
07:15 | shell: Switch from linenoise to bestline. Bestline has history search and other improvements. Replace `PICOL_SHELL_LINENOISE` with generic `PICOL_SHELL_LINE_EDIT` in case of future changes. Rename the binary to `picol-line-edit`. check-in: 55e2a82d3f user: dbohdan tags: trunk | |
2023-11-28
| ||
18:45 | CI: Replace Travis CI with GitHub Actions for Linux. check-in: f819f68aa3 user: dbohdan tags: trunk | |
2023-11-26
| ||
09:47 | appveyor.yml: Do not try to upload to Bintray. check-in: 89ce6ec405 user: dbohdan tags: trunk | |
09:21 | picol.h: Incorporate changes suggested by srtech in [ead4f8c4b0c44235]. Bump the version to 0.6.1. check-in: 0a2fdb0984 user: dbohdan tags: trunk, version-0.6.1 | |
2021-04-17
| ||
08:05 | Makefile: add $(DESTDIR) before $(PREFIX) per request. check-in: 966294d7f9 user: dbohdan tags: trunk, version-0.6.0 | |
07:55 | examples/privdata.c: add more tests. check-in: a5fe71f1c1 user: dbohdan tags: trunk | |
07:49 | Make PICOL_EVAL_BUF_SIZE part of the configuration. check-in: 9f4f9d7bdc user: dbohdan tags: trunk | |
07:47 | picol.h: Rewrite the top comment. Reformat long lines to be under 80 characters. Make the comments' phrasing more consistent. check-in: 280df39eb3 user: dbohdan tags: trunk | |
2021-04-16
| ||
21:14 | Makefile: add the target "upx". check-in: 6ca6596bfd user: dbohdan tags: trunk | |
20:50 | Fix a segfault when deleting an alias. Introduce reference counting for procs (procargument lists and bodies) as part of the fix. Implement new functions picolFreeCmd() and picolRenameCmd(). Do not reuse an existing list item when renaming a command: that code is too difficult to understand and debug; delete and recreate the command instead. Reorder struct fields to put "next" pointers first. I don't plan on reordering them again, though I may add more fields. Add more tests in examples/privdata.c. check-in: 87fe2ef71f user: dbohdan tags: trunk | |
15:48 | Makefile: add an "install" target check-in: 9afc5909d9 user: dbohdan tags: trunk | |
15:41 | Add the field "isproc" to picolCmd (like in Jim Tcl). Do not free the privdata when deleting native code commands. Add a privdata example. Bump the version 0.6.0. check-in: 020d98ff48 user: dbohdan tags: trunk | |
2021-04-07
| ||
08:02 | Build with -Wextra. Fix the -Wextra warnings. Bump the version to 0.5.1. check-in: fb70c55516 user: dbohdan tags: trunk, version-0.5.1 | |
06:54 | Rename the function "picolLAppend" to "picolLappend" for consistency. check-in: 425c60de51 user: dbohdan tags: trunk, version-0.5.0 | |
06:47 | Fix building with arrays disabled. check-in: 0d3a33aa59 user: dbohdan tags: trunk | |
06:42 | Rename the small stack macro to "PICOL_SMALL_STACK" for consistency with other macros. Do not redefine it if defined. Run the tests with it both on (default) and off. Bump the version to 0.5.0. check-in: bbbff59daf user: dbohdan tags: trunk | |
06:40 | shell.c: Set the history length to 1000 lines. check-in: 817bbc3d5b user: dbohdan tags: trunk | |
06:34 | parray.pcl: Do not create an example array. check-in: b0ab87fa31 user: dbohdan tags: trunk | |
2021-04-04
| ||
15:35 | Add option to use heap allocation in recursive eval functions to reduce stack size requirements. check-in: 7f85d80f94 user: Stekke tags: trunk | |
15:06 | Free the interpreter in the shell application check-in: 2a523ef8dd user: Stekke tags: trunk | |
2021-03-27
| ||
22:29 | picolFreeInterp(): Add function to free entire interpreter data structure. check-in: c57084d5cb user: Stekke tags: trunk | |
18:36 | picolIsDirectory(): Use only with PICOL_FEATURE_IO, along with sys/stat.h header check-in: 16eac3ff1c user: Stekke tags: trunk | |
17:43 | PicolValidPtrRemove(): Remove extraneous if check. check-in: 1e29d52ddc user: Stekke tags: trunk | |
17:28 | Remove extraneous ';'. check-in: 7ec1ca9c62 user: Stekke tags: trunk | |
15:24 | Fix buffer underflow read when command output is empty. check-in: 41e26522b9 user: Stekke tags: trunk | |
2020-07-14
| ||
08:33 | picol.h: Clarify a comment and improve formatting. check-in: 824d95ebfa user: dbohdan tags: trunk, version-0.4.0 | |
08:23 | picolSource(): Initialize the buffers. check-in: a424361c16 user: dbohdan tags: trunk | |
08:20 | picolGetVar2(), picolSetVar2(): Rename the parameter glob to "global". check-in: 192a25a52b user: dbohdan tags: trunk | |
08:08 | [exit]: Replace atoi() with PICOL_SCAN_INT(). check-in: fa8ce8bf94 user: dbohdan tags: trunk | |
07:54 | picolCallProc(): When we can't allocate a callframe, print an error to stderr and do not exit(). check-in: bbe66803b7 user: dbohdan tags: trunk | |
07:51 | picolValidPtrRemove(): Fix a memory leak. check-in: 8ef82f99f5 user: dbohdan tags: trunk | |
07:50 | picolEval2(): Fix a memory leak. check-in: e9df06ed23 user: dbohdan tags: trunk | |
07:24 | Rename the type picol_Func to picolFunc. check-in: bd546c66af user: dbohdan tags: trunk | |
07:23 | Standardize the return values where possible. (Currently some functions return a zero int for success and some for failure.) Add two new types: picolResult and picolBool. Have Picol commands return picolResult. Rename picolValidPtrAdd() to picolValidPtr(). check-in: 1481ef5a31 user: dbohdan tags: trunk | |
06:45 | picol_Func: Change the type of the argv parameter to const char** like in Tcl. Propagate the const qualifier to the signatures of Picol functions. check-in: dc212c837a user: dbohdan tags: trunk | |
2020-07-13
| ||
17:21 | picolParseList(): Rename to "picolListHead", which is more appropriate. check-in: 81e7508564 user: dbohdan tags: trunk | |
17:19 | picolParseList(): Rewrite the parser to fix errors in the handling of nested lists. check-in: 95b897ea96 user: dbohdan tags: trunk | |
15:04 | picolLsort(): Scan integers with picolScanInt() instead of atoi(). check-in: 2c4999efa1 user: dbohdan tags: trunk | |
13:20 | picol.h: Reformat some function calls with many arguments. check-in: 01b8513949 user: dbohdan tags: trunk | |
13:15 | picol_Math(): Reformat the PICOL_ARITY2 annotations for the updated help.pcl. check-in: 22a6945057 user: dbohdan tags: trunk | |
12:51 | picolEscape(), picolQuoteForShell(): Add a destination size parameter. picolExpandLC(): Move the destination size parameter to right after the destination parameter. check-in: 1a2d2ab454 user: dbohdan tags: trunk | |
12:37 | picolParseList(): Add a target size parameter. check-in: b4cc57f703 user: dbohdan tags: trunk | |
11:41 | picolErr1(): Rename to "picolErrFmt". Add a macro for backwards compatibility. check-in: 7af82f424e user: dbohdan tags: trunk | |
11:15 | picolParser: Rename the field p to "pos". check-in: f3ba47060e user: dbohdan tags: trunk | |
10:27 | Rename picolFileUtil() to picol_FileUtil(), picolLsort() to picol_Lsort(). check-in: 04d343d75d user: dbohdan tags: trunk | |
10:19 | picol.h: Replace strcat() with strncat() and strcpy() with strncpy() everywhere except where unnecessary. check-in: a4caffa2ea user: dbohdan tags: trunk | |
10:16 | picolErr(): Fix the buffer size check in PICOL_APPEND_BREAK_PICOLERR(). check-in: d0479427af user: dbohdan tags: trunk | |
10:15 | picolReplace(): Add an output buffer size parameter. check-in: 2eb64cb6a2 user: dbohdan tags: trunk | |
10:14 | picolConcat(): Add an output buffer size parameter. check-in: 529259ac8f user: dbohdan tags: trunk | |
10:11 | Arrays: Give the array functions more consistent and informative names. Add buffer size arguments. check-in: 94ec76dd4c user: dbohdan tags: trunk | |
04:42 | [string repeat]: Fix a segfault due to argument access before an arity check. check-in: da80530b87 user: dbohdan tags: trunk | |
04:38 | [%]: Check for zero. check-in: d28f32288b user: dbohdan tags: trunk | |
04:35 | picolList(): Add a destination buffer size argument. check-in: 5a60388254 user: dbohdan tags: trunk | |
2020-07-12
| ||
21:24 | Return an error on a missing ']'. check-in: f879cd9c44 user: dbohdan tags: trunk | |
21:15 | picolParseCmd(): Handle '\' at the end of the input and '\0'. check-in: 787690350d user: dbohdan tags: trunk | |
20:34 | [info level 0]: Crash a crash at the top level. check-in: e10ecb4507 user: dbohdan tags: trunk | |
20:22 | [proc]: Fix a segfault on no args. check-in: 0269898a1a user: dbohdan tags: trunk | |
19:04 | examples/command.c: Increase PICOL_SOURCE_BUF_SIZE to one byte. check-in: f8efc34b49 user: dbohdan tags: trunk | |
18:59 | picolSource(): Make the buffer size configurable at compile time. check-in: 14f37e7b92 user: dbohdan tags: trunk | |
16:34 | picol.h: Do not use PICOL_CALLOC. Initialize structs ourselves. check-in: 41181c710c user: dbohdan tags: trunk | |
16:32 | Makefile: Fix a typo. check-in: db76b81fd2 user: dbohdan tags: trunk | |
16:05 | vendor/regexp.h: Fix an error message mangled by the automatic prefixing. check-in: da0136ed34 user: dbohdan tags: trunk | |
16:02 | vendor/regexp.h: Add a prefix to the functions, macros, and types. check-in: 95c0167d0a user: dbohdan tags: trunk | |
12:39 | Makefile.nname: Remove regexp.obj. check-in: cedc02e762 user: dbohdan tags: trunk | |
12:37 | vendor/regexp: Convert to a header-only library. check-in: 8fbcfca936 user: dbohdan tags: trunk | |
12:36 | picol.h: Move PICOL_MEMORY_MANAGEMENT out of PICOL_CONFIGURATION. check-in: 170f0123ed user: dbohdan tags: trunk | |
12:23 | Make the memory allocator pluggable in picol.h and vendor/regexp.{c,h}. check-in: e2f3ee6ec4 user: dbohdan tags: trunk | |
2020-07-11
| ||
18:52 | [string last]: Ensure the offset is less than the haystack string length. check-in: 51087b36b4 user: dbohdan tags: trunk | |
18:48 | help.pcl: Update for the updated [string last]. check-in: f1f19e9536 user: dbohdan tags: trunk | |
18:44 | picolValidPtrRemove(): Remove the type argument. check-in: 0056fbca72 user: dbohdan tags: trunk | |
18:35 | picolArrDestroy(): Remove the array pointer from the list of valid pointers. check-in: 17177ae257 user: dbohdan tags: trunk | |
18:23 | [string last]: Find matches *before* the optional index argument. Handle out-of-bounds indices in [string first]. check-in: d8728100d3 user: dbohdan tags: trunk | |
15:06 | help.pcl: Rewrite. Actually parse PICOL_ARITY2(). check-in: 1ff6089063 user: dbohdan tags: trunk | |
13:52 | picolHash(): Ensure the return value is not negative. This fixes a crash when using arrays with long keys. Explicitly initialize the picolArray in picolArrCreate(). Check for NULL in picolArrGet1(). check-in: fcb6f8a2f4 user: dbohdan tags: trunk | |
12:50 | test.pcl: Add [if] tests. check-in: 18ff51281f user: dbohdan tags: trunk | |
12:49 | picolCondition(): Replace strcat() with PICOL_APPEND(). check-in: 036c320a35 user: dbohdan tags: trunk | |
10:15 | examples/regexp-ext.c: Add an unused submatch variable. check-in: 0882d85ac8 user: dbohdan tags: trunk | |
09:10 | test.pcl: Add array scope tests. check-in: 77dd875fba user: dbohdan tags: trunk | |
09:06 | [unset]: Unset global variables. check-in: fad1d14999 user: dbohdan tags: trunk | |
08:56 | [unset]: Factor out picolUnsetVar(). check-in: 646ebc2e8b user: dbohdan tags: trunk | |
08:18 | [for]: Return an empty string. check-in: f3b6a64a60 user: dbohdan tags: trunk | |
08:17 | picolArrUnset(): Fix a segfault due to broken bucket traversal. check-in: ee79879ba3 user: dbohdan tags: trunk | |
08:12 | [rename]: Free the proc's privdata (not just its elements) when we delete it. check-in: 34bfc51d76 user: dbohdan tags: trunk | |
2020-07-10
| ||
14:06 | [string is]: Always return true for an empty string. This is necessary for Tcl 8 compatiblity. check-in: a3b5445c4a user: dbohdan tags: trunk | |
11:02 | [string]: Allow "string is integer" as well as "string is int". check-in: a1d2c4fdb8 user: dbohdan tags: trunk | |
10:48 | fact.pcl: Improve style. check-in: c1521de09b user: dbohdan tags: trunk | |
10:43 | fact.pcl: Add the factorial benchmark removed from test.pcl. check-in: eee2c1b785 user: dbohdan tags: trunk | |
10:37 | tcl_platform: Expose PICOL_MAX_LEVEL to Picol code. check-in: e1fc5a5c45 user: dbohdan tags: trunk | |
09:52 | picol.h: Fix two -Wshadow warnings. check-in: 6b82da8ea3 user: dbohdan tags: trunk | |
08:27 | help.pcl: Update to showcase Picol's new features. check-in: e19cdae195 user: dbohdan tags: trunk | |
08:26 | [lsearch]: Implement the switch "-exact" and "-glob". check-in: afa8bc6d59 user: dbohdan tags: trunk | |
08:25 | picol.h: Add the missing prototype for PICOL_COMMAND(time). Thanks to Reinhard Max. check-in: dc7cb4af37 user: dbohdan tags: trunk | |
2020-07-09
| ||
19:59 | picolGetToken(): Indicate fallthrough. check-in: c3e30249ad user: dbohdan tags: trunk | |
19:53 | regexp-wrapper: Fix a -Wextra GCC warning. check-in: 3f8290f9ec user: dbohdan tags: trunk | |
19:50 | [exec]: Fix a file descriptor leak when the output of the command is too long. check-in: bcb38f0568 user: dbohdan tags: trunk | |
19:25 | picolSource(): Fix a wrong buffer size passed to strncpy(). check-in: 0baea4109e user: dbohdan tags: trunk | |
19:14 | picol.h: Fix -Wextra GCC warnings. This patch was contributed by Reinhard Max. check-in: 8f3e8bcda5 user: dbohdan tags: trunk | |
10:16 | test.pcl: Run picolsh.exe instead of picol.exe in Windows [exec] tests. check-in: 17741bd7e6 user: dbohdan tags: trunk | |
10:11 | build-mingw.cmd: Fix trying to build picolsh with Linenoise. check-in: 85d06a73f1 user: dbohdan tags: trunk | |
10:10 | shell: Make it easier to build without Linenoise on *nix. Fix a build error when PICOL_SHELL_LINENOISE is 0. check-in: 7fcd92121f user: dbohdan tags: trunk | |
08:51 | appveyor.yml: Package picolsh*.exe. check-in: 07526c8d87 user: dbohdan tags: trunk | |
08:41 | Makefile.nmake: Name the shell binary "picolsh.exe". check-in: 373a22c542 user: dbohdan tags: trunk | |
08:23 | shell: Fix saving history in the current directory. check-in: 508ab1cf3e user: dbohdan tags: trunk | |
08:23 | picolSource(): Preserve the previous value of [info script]. check-in: b579a22476 user: dbohdan tags: trunk | |
08:23 | examples/regexp-ext.c: Fix not instantiating the regexp wrapper implementation. check-in: 2447661e4e user: dbohdan tags: trunk | |
2020-07-08
| ||
20:52 | Makefile.nmake: Rename "interp" to "shell". check-in: e2a82fa02d user: dbohdan tags: trunk | |
20:51 | shell: Name the init and the history file like Tcl 8 does. Store these files in the user's home directory. Only load the init file in interactive mode. check-in: b9422f4c11 user: dbohdan tags: trunk | |
19:50 | regexp-wrapper: Prefix macros with "PICOL_". check-in: f0fbbde550 user: dbohdan tags: trunk | |
19:47 | interp: Rename to "shell" to match other Tcls and avoid confusion. check-in: d5a58e6022 user: dbohdan tags: trunk | |
19:44 | interp: Implement line editing and history in the REPL on *nix. Vendor Linenoise. check-in: 74cfb61b6c user: dbohdan tags: trunk | |
15:28 | appveyor.yml: Remove Picol version. check-in: d5543a80d1 user: dbohdan tags: trunk | |
15:23 | [array set]: Fix a -Wformat-truncation warning. check-in: 4f4066c3c6 user: dbohdan tags: trunk | |
15:04 | Prefix the names of function-like macros like COMMAND with "PICOL_". Bump the version to 0.4.0. check-in: 00aa74258e user: dbohdan tags: trunk | |
2020-07-07
| ||
19:24 | test.pcl: Remove unnecessary and unused aliases for Picol commands in Tcl 8. check-in: b5707273ee user: dbohdan tags: trunk | |
15:10 | test.pcl: Implement a glob and a regexp matching mode in [test]. Refactor tests that use [string match]. check-in: 284233add3 user: dbohdan tags: trunk | |
14:43 | [interp]: Handle unknown subcommands. check-in: 38f31e0092 user: dbohdan tags: trunk | |
10:59 | Makefile: Delete files with `rm -f`. check-in: 1e126fdb7c user: dbohdan tags: trunk | |
2020-05-28
| ||
16:03 | Rename the variable "small" in the implementation of [string map]. check-in: 8ef4462dd5 user: dbohdan tags: trunk, version-0.3.10 | |
15:59 | Fix replacement of replacements in [string map]. picolReplace() is not longer used by any command, but we'll keep it. Bump the version to 0.3.10. check-in: 115ad1b53a user: dbohdan tags: trunk | |
2020-02-12
| ||
14:39 | Reindent PICOL_SNPRINTF calls. check-in: 5fb71a5add user: dbohdan tags: trunk | |
2020-02-11
| ||
21:27 | Replace snprintf() with the macro PICOL_SNPRINTF. Define PICOL_SNPRINTF through _snprintf_s() for old versions of MSVC. check-in: 5fd46012cf user: dbohdan tags: trunk, version-0.3.9 | |
20:57 | appveyor.yml: Bump the version. check-in: 531f12ff6d user: dbohdan tags: trunk | |
20:54 | picolErr1(): Truncate a long "%s" argument. check-in: a4293a22e7 user: dbohdan tags: trunk | |
20:27 | picolEval2(): Limit the length of an argument for procs. check-in: ed4a8925ab user: dbohdan tags: trunk | |
18:39 | picolArrStat(): Add a buffer size argument. check-in: 564427f880 user: dbohdan tags: trunk | |
18:36 | Replace sprintf() with snprintf(). check-in: 86119cf44e user: dbohdan tags: trunk | |
17:45 | picolEval2(): Assign NULL to interp->current after free() when the script is too long. check-in: ac2cd73f3f user: dbohdan tags: trunk | |
17:28 | interp.c: Fix the segfault on "-e" without an argument. check-in: 739abad94e user: dbohdan tags: trunk | |
2019-11-30
| ||
13:15 | Match the [rename foo {}] error message with Tcl 8.6. check-in: 113e3cca5c user: dbohdan tags: trunk, version-0.3.8 | |
13:05 | free() the data of procs that are deleted with [rename foo {}] or replaced with [proc]. check-in: 81dfb5e98d user: dbohdan tags: trunk | |
12:49 | picolCondition(): Fix double evaluation of conditionals of [llength] != 3 after substitution. check-in: 16f7c19d37 user: dbohdan tags: trunk | |
2019-11-02
| ||
09:59 | appveyor.yml: Include the tag, if present, in the executable name. Bump the version. check-in: cd434d58be user: dbohdan tags: appveyor-tag-test, trunk | |
09:50 | [file split]: Escape leading "~" with "./" in path fragments like Tcl 8.6 does. Bump the version to 0.3.7. check-in: 9042c57d02 user: dbohdan tags: trunk, version-0.3.7 | |
2019-10-17
| ||
18:39 | Allow [lreplace] "from" indexes beyond the last element again. The "list doesn't contain element" error in Tcl 8.6.6-8.6.8 was a regression. check-in: fae1ea2de3 user: dbohdan tags: trunk, version-0.3.6 | |
16:23 | appveyor.yml: Update the Tclkit URL and bump the version. check-in: d2624e86d6 user: dbohdan tags: trunk | |
16:13 | Make [file split] treat repeated leading slashes like one leading slash. check-in: 9ae297d931 user: dbohdan tags: trunk | |
16:09 | Make [file dirname] and [file tail] treat trailing slashes like in Tcl 8.6. Bump the version to 0.3.6. check-in: 3a6c10cd67 user: dbohdan tags: trunk | |
2019-02-19
| ||
07:55 | vendor/regexp.{c,h}: Update the library to Git commit 32773617b3. check-in: 8c778169ee user: dbohdan tags: trunk | |
2018-12-05
| ||
12:52 | .travis.yml: Switch to VM infrastructure. check-in: a1c5daa3bc user: dbohdan tags: trunk | |
2018-10-19
| ||
09:34 | appveyor.yml: Bump the version to 0.3.5 check-in: 5105f95eef user: dbohdan tags: trunk | |
09:27 | Fix [info] and [interp] with no arguments causing a segfault through the use of SUBCMD. Bump the version to 0.3.5. check-in: af010d97a8 user: dbohdan tags: trunk, version-0.3.5 | |
2018-09-17
| ||
09:18 | appveyor.yml: Include the commit in the .exe artifact filename. Update the version number. check-in: d1ecbf2863 user: dbohdan tags: trunk | |
09:06 | Makefile: Use CFLAGS from the environment if defined. check-in: 8399c6aaac user: dbohdan tags: trunk | |
2018-07-31
| ||
14:36 | appveyor.yml: Upload build artifacts to Bintray check-in: 521dec194d user: dbohdan tags: trunk | |
2018-04-21
| ||
18:07 | Fix a segfault on [clock format] with no clock value. Bump the version to 0.3.4. check-in: d43555a9eb user: dbohdan tags: trunk, version-0.3.4 | |
10:32 | Process line continuation sequences in braced strings. Bump the version to 0.3.3. check-in: a4c8e399c2 user: dbohdan tags: trunk, version-0.3.3 | |
07:03 | Fix a missing word in the comment at the top of picol.h. check-in: dae858bf6b user: dbohdan tags: trunk | |
2017-06-05
| ||
04:48 | 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. check-in: 78aa441553 user: dbohdan tags: trunk, version-0.3.2 | |
04:24 | Add the command [rawexec], a version of [exec] that doesn't quote the arguments. check-in: 159a159ac9 user: dbohdan tags: trunk, version-0.3.1 | |
04:21 | Implement "elseif" clauses in [if]. check-in: e7edf1389f user: dbohdan tags: trunk | |
2017-06-04
| ||
13:07 | 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. check-in: 7f9ef02637 user: dbohdan tags: trunk | |
2017-05-14
| ||
05:01 | examples/regexp-ext.c: Update the example's title. check-in: ef31bc9409 user: dbohdan tags: trunk | |
04:44 | ABOUT.txt: Fit the text in 80 columns. check-in: a8352d1f9a user: dbohdan tags: trunk | |