Age | Commit message (Collapse) | Author | Files | Lines |
|
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
This was completely wrong. The arg order was wrong such that
when test constraints were specifed the test was always skipped!
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
e.g. $::a::b is considered as ${::a::b}
This helps be more Tcl compatible by allowing fake namespace variables
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Allow tests to run with almost all features disabled
|
|
Especially simplifies checking for the existence of procs.
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Remove a "feature" in the built-in regexp, where
a newline in the pattern was treated as alternation, like |.
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Implement 'dict with' and 'dict merge' as scripts since this is simpler.
Use 'dict size' to implement 'array size'
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
The bio extension is a hangover from TinyTcl. Since Jim
supports binary strings, there isn't much need for it except for
'bio copy'. So move this to aio as 'copyto' and implement 'file copy'
in terms of it.
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Much closer to tcltest now, including constraints.
Try to get all appropriate tests running under both Jim and Tcl.
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
With zero count and also with no list elements
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
The form {n} should be considered the same as {n,n}
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Plus various ARE enhancements and bug fixes
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Instead, set TCL_LIBRARY based on where jim is installed.
This defaults to /usr/local (thus /usr/local/lib/jim), or
can be modified with either configure or make. e.g.
./configure --prefix=/usr
or
make prefix=/usr install
Now auto_path is initialised only to TCL_LIBRARY, and doesn't
include "." which could be undesirable.
At the same time, simplify jimsh initialisation using a script
instead of C code. Add the path to the executable to auto_path.
Also, no longer use JIM_TCL_COMPAT. Always use the tcl-compatible
names, $auto_path and $tcl_interactive.
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Clash with JIMSH definition
Signed-off-by: Steve Bennett <steveb@workware.net.au>
Reported-by: Kulcsár Ferenc <crusader@netbsd.hu
|
|
This includes C extensions and Tcl extensions
Also adds windows support (mingw32 and cygwin)
Now the sqlite*, readline and win32 extensions are supported
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Provides a better error message on wrong args and allows
abbreviations.
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Use number of paren expressions with regexp -inline
Fix a problem with regexp -start and an anchored search
Fix regexp -inline -indices
Fix regexp matching with an empty pattern (e.g. ^)
Fix some cases where regsub -all did not return all results
Fix some regsub cases with an empty pattern
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Also bring in some lsort tests from Tcl
Also allow lsort to be reentrant (but not thread safe)
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
If a string ended in backslash-space, the trailing space was lost.
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Redefining a link with upvar or global gave an error.
Trying to access a non-existent var via a link gave
the wrong error message.
Added Tcl upvar tests
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Especially for eCos, mingw32 and cygwin
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
That is, tests which didn't fail but did not give the expected result
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
A small change, but makes for a more natural interface
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Also, switch to using 'sh -c' for the vfork() implementation
because it then allows command line redirection, pipes and
setting the environment.
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
These can vary on different systems
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
And other small testing improvements
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Move Jim_EvalObjBackground() out of the core to eventloop
Time events are now kept and triggered in time order
Time handlers are removed before execution
Add 'update'
Add 'after info' and 'after idle'
Include time events in the return from Jim_ProcessEvents()
Add Tcl eventloop tests
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
bgerror is supposed to be suppressed subsequently if it returns break
vwait should error on invalid array element
vwait should return an empty result
Don't accept 'after info' since it isn't supported
Also add some eventloop tests
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
This meant that the single arg switch case would not give
accurate line numbers
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Also, double parsing now allows trailing white space
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Use 'indent'. Not perfect, but at least consistent.
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Make exec-9.7 test more reliable
Quieten jim tests unless running manually
Add jim pipe example
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Add tests and documentation
Make tailcall work within 'try'
Fix tailcall interaction with uplevel
Use tailcall for dispatch in tree.tcl
Also some related improvements in tree.tcl
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Also implement 'local' to declare/delete local procs
* Add tests/alias.test for testing alias, current, local
* proc now returns the name of the proc created
* Add helper 'function' to stdlib
Reimplement glob and case to use local procs
* This keeps these internal procs out of the global namespace
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
file mkdir will now create intermediate directories
file delete can now also delete empty directories
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Improve the ability to rethrow errors
* Allow return to rethrow an error by accepting '-errorinfo stacktrace'
* Also, 'catch ... opts' now also stores opts(-errorinfo) on error
* Use these to provide better stack traces from 'case' and 'try'
* Implement 'return -level'
Make try/on/finally more Tcl 8.6 compatible
* With support for 'on' handlers and docs
Add support for catch options to try
* Otherwise it's hard to use try to catch signals
Improvements to signal handling
* catch -signal now sets a list of the handled signals as the result
* catch -signal won't execute the body at all if a handled signal is pending
* up to 64 (jim_wide) signals can now be handled
* if catch -signal is nested, the innermost catch will catch the error
* new 'signal catch' allows ignored/blocked signals to be examined and cleared.
* update docs on signal handling
exec should indicate which signal killed the child
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
Signed-off-by: Steve Bennett <steveb@workware.net.au>
|
|
*: Add optional arg to catch, opts, like Tcl 8.5 to allow access to the
code given by 'return -code'
*: Use -- to signify end of options to catch
*: 'info returncodes' can give the name of a single code
*: Fix 'case' to handle 'return -code' properly
|
|
|
|
*: Get rid of JIM_ERR_ADDSTACK and use interp->addStackTrace instead
*: 'return -code error' doesn't add a stack frame
*: Rename _file_copy to {file copy} for better error messages
*: Use 'return -code' to prevent excessive levels in the stack trace
Also rename info_nameofexecutable to {info nameofexecutable}
|
|
See TIP #202: http://www.tcl.tk/cgi-bin/tct/tip/202.html
|