aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2019-11-15build: Check for inline supportSteve Bennett2-0/+36
To ensure that linenoise.c can build, even for strict c89 Add cc-check-inline in autosetup/jim-misc.auto Signed-off-by: Steve Bennett <steveb@workware.net.au>
2019-11-15Update ssl cert to use a 4096 bit keySteve Bennett2-19/+75
Keep newer libssl happy Signed-off-by: Steve Bennett <steveb@workware.net.au>
2019-11-14build: Fix out-of-tree build with json extSteve Bennett1-0/+2
If building out-of-tree, the jsmn/ directory may not exist. So create it during configure Signed-off-by: Steve Bennett <steveb@workware.net.au>
2019-11-12aio: tty: allow setting echoSteve Bennett3-2/+21
set-only e.g. to disable echo on stdin: stdin tty echo 0 This allows disabling echo while otherwise keeping cooked mode. Setting input to cooked or raw will overwrite this setting Signed-off-by: Steve Bennett <steveb@workware.net.au>
2019-11-12configure: add SIZEOF_INT to jim-config.hSteve Bennett1-1/+2
It can be useful for extensions to know the size of integers Signed-off-by: Steve Bennett <steveb@workware.net.au>
2019-11-11json: implement -index decode optiondbohdan3-6/+43
2019-11-09json: Fix decode schema for list objSteve Bennett2-0/+6
Signed-off-by: Steve Bennett <steveb@workware.net.au>
2019-11-09json: Add json encoder/decoderSteve Bennett6-8/+750
Using the jsmn library for decoding. Based on the original implementation by Svyatoslav Mishyn <juef@openmailbox.org> Signed-off-by: Steve Bennett <steveb@workware.net.au>
2019-11-09jsmn: Fix a parser bug where object keys could be non-stringsSteve Bennett1-0/+4
Signed-off-by: Steve Bennett <steveb@workware.net.au>
2019-11-09jsmn: import json decoderSteve Bennett3-0/+410
This will be used to add json decode support From: https://github.com/zserge/jsmn, v1.0.0 Signed-off-by: Steve Bennett <steveb@workware.net.au>
2019-11-09aio: make some data constSteve Bennett1-3/+3
Move some remaining data to the read-only segment Signed-off-by: Steve Bennett <steveb@workware.net.au>
2019-11-08appveyor.yml: build with sqlite3 extdbohdan1-3/+3
2019-11-08appveyor.yml: fix build in forksdbohdan1-0/+1
2019-11-08appveyor.yml: explicitly build with ssldbohdan1-1/+1
Using only --full will ignore ssl if the ssl library isn't found. By enabling it explicitly, we will get an error if not found.
2019-11-08Improve comments for JimResetHashTable()Steve Bennett1-2/+10
and Jim_FreeHashTable() Signed-off-by: Steve Bennett <steveb@workware.net.au>
2019-11-06build: improve build for shared objectsSteve Bennett3-101/+29
Rather than listing the build rules for each shared object (loadable module) in the Makefile template, generate the build rules in configure. Also, if an extension is configured as a module, any automatic dependencies required by the extension are configured as modules by default. Signed-off-by: Steve Bennett <steveb@workware.net.au>
2019-11-06docs: Formatting cleanups, consistencySteve Bennett1-75/+290
Signed-off-by: Steve Bennett <steveb@workware.net.au>
2019-11-06docs: Remove docs for the case commandSteve Bennett1-62/+2
This command no longer exists in Jim Tcl, so remove it from the documentation. Signed-off-by: Steve Bennett <steveb@workware.net.au>
2019-11-06expr-sugar: $() should return non-error codesSteve Bennett2-24/+27
If an expression returns (e.g.), break, continue or exit, that return code should be propagated, the same it is for [expr {}] Signed-off-by: Steve Bennett <steveb@workware.net.au>
2019-11-01regexp,regsub: utf8: Fix incorrect count with . matchesSteve Bennett1-2/+1
Internally bytes were being counted rather than characters Reported-by: dbohdan <dbohdan@dbohdan.com> Signed-off-by: Steve Bennett <steveb@workware.net.au>
2019-10-30aio: need SO_REUSEADDR before bind()Steve Bennett1-3/+3
Commit fe8bab1cc313d0049bbb839589c68059807518c8 accidentally moved the SO_REUSEADDR after bind() where it does no good. Move it back to before bind() Signed-off-by: Steve Bennett <steveb@workware.net.au>
2019-10-28utf8_strlen: Improve performanceSteve Bennett2-7/+5
Use utf8_charlen() rather than utf8_tounicode() Note that utf8_charlen() now returns 1 instead of -1 for an invalid utf-8 start byte. Reported-by: dbohdan <dbohdan@dbohdan.com> Signed-off-by: Steve Bennett <steveb@workware.net.au>
2019-10-28regexp: Fix -indices in the utf-8 caseSteve Bennett1-1/+1
The calculation of the end index was wrong. Signed-off-by: Steve Bennett <steveb@workware.net.au>
2019-10-27regexp -indices should return character indicesSteve Bennett2-8/+11
Not byte indices Reported-by: dbohdan <dbohdan@dbohdan.com> Signed-off-by: Steve Bennett <steveb@workware.net.au>
2019-10-27regexp, regsub: -start is a character indexSteve Bennett2-2/+10
Not a byte index Reported-by: dbohdan <dbohdan@dbohdan.com> Signed-off-by: Steve Bennett <steveb@workware.net.au>
2019-10-18file: Add file splitSteve Bennett3-4/+47
This subcommand was missing as it wasn't part of the original Tcl 6.7 Signed-off-by: Steve Bennett <steveb@workware.net.au>
2019-10-18file: Better support for trailing slashes in pathnamesSteve Bennett3-91/+201
e.g. file tail /abc/def/ => def Signed-off-by: Steve Bennett <steveb@workware.net.au>
2019-09-06signal: Add 'signal block' supportSteve Bennett3-24/+65
This allows a signal to be blocked by setting it's handler to SIG_IGN Can be used to block SIGPIPE for exec Signed-off-by: Steve Bennett <steveb@workware.net.au>
2019-09-06exec: Don't force SIGPIPE to be enabledSteve Bennett1-17/+0
Previously SIGPIPE was set to SIG_DFL before vfork so that child processes always had SIGPIPE enabled. This makes it impossible to disable SIGPIPE for child processes. So don't do this. Instead allow the disposition of SIGPIPE to be handled by the 'signal' command. Signed-off-by: Steve Bennett <steveb@workware.net.au>
2019-08-14aio: Significantly improve the speed of copytoSteve Bennett1-4/+10
Copying 1 byte at a time can be very slow for large transfers. Use a 256 byte buffer instead. Signed-off-by: Steve Bennett <steveb@workware.net.au>
2019-08-14jim.c, jim.h: Remove unused Jim_ResizeHashTableSteve Bennett2-12/+0
Signed-off-by: Steve Bennett <steveb@workware.net.au>
2019-08-14jim-history: Remove unused allocationSteve Bennett1-15/+1
This allocation of space for the history is handled by the underlying code so there is no need to allocate a history buffer in jim-history. Signed-off-by: Steve Bennett <steveb@workware.net.au>
2019-08-14aio: minor code improvementSteve Bennett1-2/+1
Signed-off-by: Steve Bennett <steveb@workware.net.au>
2019-07-31aio: Add support for lock -waitSteve Bennett3-13/+36
Sometimes it is useful to wait for a lock to become available. Signed-off-by: Steve Bennett <steveb@workware.net.au>
2019-07-26docs: Fix typo in unix domain datagram supportSteve Bennett1-1/+1
Signed-off-by: Steve Bennett <steveb@workware.net.au>
2019-07-01Update autosetup to v0.6.9Steve Bennett7-1588/+1881
2019-07-01docs: aio: Document unix domain datagram supportSteve Bennett1-48/+70
And sockname, peername Signed-off-by: Steve Bennett <steveb@workware.net.au>
2019-07-01aio: Add dgram unix socket supportSteve Bennett5-275/+512
Also add support for sockname and peername And remove unix domain sockets when the socket is closed And generally clean up the socket support Signed-off-by: Steve Bennett <steveb@workware.net.au>
2019-07-01Jim_SubstObj: Add an assertion if ref count is zeroSteve Bennett1-1/+5
Signed-off-by: Steve Bennett <steveb@workware.net.au>
2019-06-10linenoise: Update to rev d1a245f4a75747a1c4a1c08Steve Bennett1-4/+7
win32 insert/delete fix to avoid assertion failure Accept linefeed as enter Signed-off-by: Steve Bennett <steveb@workware.net.au>
2019-05-20docs: clock: Document the -gmt flagSteve Bennett1-3/+7
Signed-off-by: Steve Bennett <steveb@workware.net.au>
2019-05-20clock scan: Implement timegm() locallySteve Bennett2-19/+16
Don't rely on system timegm(), and use a locally implemented timegm() that doesn't rely on changing TZ in the environment Signed-off-by: Steve Bennett <steveb@workware.net.au>
2019-05-20clock scan: Unspecified fields use the current date/timeSteve Bennett1-5/+2
When scanning a time with unspecified fields, those fields should use the current date/time, not 1 Jan 1900. Signed-off-by: Steve Bennett <steveb@workware.net.au>
2018-11-26appveyor.yml: update OpenSSL DLL pathsdbohdan1-1/+1
2018-11-24aio: Prefer TLS_method() over TLSv1_2_method()Steve Bennett2-1/+9
To avoid a deprecation warning Signed-off-by: Steve Bennett <steveb@workware.net.au>
2018-11-23aio: Don't use FD_CLOEXEC with JIM_ANSICSteve Bennett1-3/+3
Bootstrap jimsh sets JIM_ANSIC but FD_CLOEXEC is enabled. This causes FD_CLOEXEC to be set on fd 0 (stdin), thus closing the default fd 0 in the child process during exec. Signed-off-by: Steve Bennett <steveb@workware.net.au>
2018-10-26appveyor.yml: fix missing zlib1.dll in jimsh.zipdbohdan1-1/+1
2018-09-21lreplace: Implement TIP #505Steve Bennett2-15/+88
More consistent behaviour of replacing past end of list Signed-off-by: Steve Bennett <steveb@workware.net.au>
2018-09-21file: Add microsecond resolution for mtime: mtimeusSteve Bennett3-16/+78
Note that actual support is dependent upon the underlying operating system and filesystem. Signed-off-by: Steve Bennett <steveb@workware.net.au>
2018-09-04bootstrap package supportSteve Bennett1-3/+7
Allow minimal command "package" to take additional arguments, but ignore them. Signed-off-by: Steve Bennett <steveb@workware.net.au>