nxproc

Tagged Check-ins
Login

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

Check-ins with non-propagating tags:

2024-02-19
23:54
Using valgrind found error -> segfaults (in procnm.c, mkprocname()). In addition to that fix, removed unnecessary variables, etc., in procnm.c. Leaf check-in: 284e18218a user: jra tags: 0.7.4.1, trunk
11:07
Should have done this before last commit: rm'd binary files from unix/tcl9. Leaf check-in: 517dd3a4f3 user: jra tags: 0.7.4.2, mem-debug
11:02
It was worthwhile to branch since it's likely the mystery bug has been solved. Valgrind pointed to ln 40 in procnm.c where buffer overflow was occurring--may well account for the segfaults and alloc errors. check-in: a601151ca3 user: jra tags: 0.7.4.1, mem-debug
2024-02-17
03:26
Compiled all files, unix/win. check-in: 3a95fb3567 user: jra tags: 0.7.4.0, trunk
03:17
Added back missing pkgIndex.tcl/tcl9nxproc10.so check-in: 8d3904085c user: jra tags: 0.7.3.4, trunk
03:04
Merged use-tclobj, cleared merge conflicts. Had to rm files in unix/tcl9 since wouldn't be merged per fossil. check-in: f550ee98d3 user: jra tags: 0.7.3.3, trunk
02:41
Will rm *.so from unix/tcl9 as can't merge binary file. Leaf check-in: 5bab8c250c user: jra tags: 0.7.2.3.4, use-tclobj
02:37
To head off merge conflicts will rm unneeded comments from cmdline.c check-in: 6bc37c037f user: jra tags: 0.7.2.3.3, use-tclobj
01:37
Wasn't able to get the Tcl_Obj version working, restored string version essentially similar like prior to this branch. Leaving debugging statements commented out--will remove before merging. check-in: d9b27d418b user: jra tags: 0.7.2.3, use-tclobj
2024-02-12
02:18
Removed unused variables from cmdline.c. Recompiled for unix/win. check-in: d45393e0d7 user: jra tags: 0.7.3.2, trunk
2024-02-11
09:48
Minor changes. check-in: 6dedce58f2 user: jra tags: 0.7.3.1, trunk
09:29
Trying to revert changes in cmdline.c, will have to redo attempt to use tcl_obj. check-in: ce9d330d19 user: jra tags: 0.7.3, trunk
08:55
Saving changes... check-in: b26f478159 user: jra tags: 0.7.2.3.2, trunk
08:41
Fixing merge conflict check-in: d3fd35c85a user: jra tags: 0.7.2.3.1, trunk
08:26
Well this time will save as new branch... check-in: 426c20c2b1 user: jra tags: 0.7.2.2.1, use-tclobj
08:05
Well this time will save as new branch... check-in: de58262eb0 user: jra tags: 0.7.2.2, use-tclobj
07:42
Attempting to use tcl_obj in cmdline.c. Will save as new branch. check-in: 01c817d364 user: jra tags: 0.7.2.2, trunk
2024-02-10
05:06
Attempting to find/fix intermittent segfaults. Made changes in proncnm.c. Now segfaults not occurring but it's uncertain if problem is really resolved. Will continue to monitor and make further changes if needed. check-in: 964fc00d1c user: jra tags: 0.7.2.1, trunk
2024-01-30
03:51
Fixed sigsegv fault when replacing nxproc and error occurs--leaves pname0 NULL. Recompiled in Linux and Windows without difficulty. check-in: e53d5e9a9d user: jra tags: 0.7.2, trunk
2024-01-15
06:38
Updated documentation. check-in: eeb483bfc1 user: jra tags: 0.7.1, trunk
02:52
Major change in procnm.c re: eliminating need to supply class name with nxconstructor and nxmethod. Affects everything using nxproc in TclOO applications including our own oowebtools. check-in: 03257db098 user: jra tags: 0.7.0, trunk
2024-01-08
05:14
Edited documentation. Modified a few tests in oonxtest.tcl re: comparing nxproc and proc versions. check-in: f8810d94fe user: jra tags: 0.6.4.1, trunk
2024-01-07
23:26
Merged branch embed-procx1. check-in: a03f966d68 user: jra tags: 0.6.4.0, trunk
10:13
Finished updating Windows tcl8/9. Leaf check-in: a7a3833ac2 user: jra tags: 0.6.2.1, embed-procx1
08:33
Updated documentation in prep for release. For users with older versions of Tcl (i.e, 8.6.11+), extension compiles and runs satisfactorily. Testing via oonxtest.tcl requires modifications for 8.6, provided in files with *8-6* in name. Substantial changes to nxproc itself appear to be unneeded--not finding problems on testing. Will plan on merging to trunk after updating all versions. check-in: 0ffe95c003 user: jra tags: 0.6.2, embed-procx1
2024-01-05
07:57
Streamlined fixed arg handling in procnm.c. Cleaned up nxunknown handling in cmdline.c. Testing functionality didn't reveal any errors, though problems could well show up later. Assuming things remain stable should be approaching release. check-in: abe942c248 user: jra tags: 0.6.0, embed-procx1
2024-01-04
10:38
Further feature additions. Significantly enhanced nxunknown variable utility. Now, when activated nxunknown collects *all* unknown entries on nxproc command line. This accommodates fixed args with/without defaults, and is independent of nxargs which uses the 'arrow' syntax and operates separately. The nxunknown facility works like a 'super-args' collecting 'loose' input regardless of placement among named arguments. Preliminmary tests suggest it has little if any effect on execution speed. Needs further testing to confirm absense of bugs. check-in: d11fc8ecc8 user: jra tags: 0.5.9, embed-procx1
2024-01-02
22:56
Added feature: fixed (positional) arguments can now have default values. This works very much like the native proc command, though error messages differ. So far it hasn't introduced bugs, but time will tell how well that holds. Available in both Windows and unix variants. check-in: 55eb60fc68 user: jra tags: 0.5.5, embed-procx1
2023-12-27
12:05
Works in Windows with modification of config.def/Makefiles. check-in: e50d73f071 user: jra tags: 0.5.2, embed-procx1
08:17
Successfully compiled for tcl9 (unix), works as expected. Getting 'sqlite3' working with tcl9 had been a problem. While not directly affecting nxproc, it was anticipated nxproc would be used in projects requiring sqlite3 so it was important to resolve the issue. Finally sqlite loads in tcl9 after applying a workaround (re: appending 'Sqlite3' to 'package if needed ...' line in pkgIndex.tcl), though why it's necessary remains a mystery at this point. Building these components in Windows is next task. check-in: 1b12f23a25 user: jra tags: 0.5.0, embed-procx1
2023-12-21
08:58
Added small features. Can now use '-->' as separator ('--', '->' still valid). Using '-allvar <varname>' in option list enables collecting all nxproc contributed varnames into <varname> local variable. (Not often needed but arises here and there.) check-in: d2c8b19360 user: jra tags: 0.4.7, embed-procx1
2023-12-19
09:35
Fixed problem with enum arguments not respecting -CI input. (Due to premature return from DDENUM section in saveVar.) Working on updating nxproc-doc, many changes in last couple of months. check-in: 4f846afd32 user: jra tags: 0.4.6.9, embed-procx1
2023-12-18
04:28
Modified several files, added convenience functions to kvp, minor tweaks to procnm, cmdline. Beefed up 'runtests' in oonxtest.tcl. While issues with exec time (moreso with nxmethod/constructor) remain (e.g., recursive nxproc, etc.), overall results are satisfactory or better. Currently memory leaks aren't evident. check-in: d982060dde user: jra tags: 0.4.6.5, embed-procx1
2023-12-17
07:14
Running tests in oonxtest.tcl that should reflect actual usage. Not encountering errors/crashes but likely enough some are hiding. Not detecting memory leaks now. Exec speed could be problematic in some instances, but generally improved at this point. check-in: bd57e244e2 user: jra tags: 0.4.6, embed-procx1
2023-12-16
09:43
Using files in test to measure exec time, chk memory usage. Eliminating some unused or unnecessary files. check-in: 329efa37b9 user: jra tags: 4.5.5, embed-procx1
06:57
Idea for new variation where cmd_procx1 is embedded in proc/method/constructor body in manner of cmdargs::chkArgs. To this point this approach works quite well, markedly reducing mallocs and exec time. Will need further testing, will put in new branch. check-in: 733d1799cb user: jra tags: 4.5.1, embed-procx1
2023-12-13
13:41
Added a few convenience macros in cmdline.h check-in: a466836790 user: jra tags: 0.3.6.5, trunk
2023-12-09
00:39
While memory usage is decreased, too many allocations produce slowdown. Leaf check-in: 0733a6fe44 user: jra tags: 3.8.1, memfix-2
2023-12-08
09:23
Made progress, revised parseProcArgs and to lesser extent cmd_procx1, to remove unused code, modified variable setting via collecting keys/values and prepending to prx->body. As of these changes, memory usage is close to native 'methods' vs. 'nxmethods' even when complex, recursive. Posibly this can be extended to default options as implemented in saveVars. check-in: edbf67e139 user: jra tags: 3.8.0, memfix-2
2023-12-07
06:28
Still having issue with memory leaks. Prior effort to fix wasn't successful. Will try again in new branch. check-in: 177f5b2ad6 user: jra tags: 0.3.7.5, memfix-2
2023-12-05
00:35
Attempting to fix memory leaks, proving difficult to find where occuring. Will commit to branch to work on further. Leaf check-in: 4653b577ca user: jra tags: 0.3.7, mem-fix
2023-11-30
04:44
Modified several files, much cleanup, changed how keys handled with *-CI procedures, now simpler, fixing serious memory leak originating there. Striving to further reduce code redundancies. check-in: 23454111c1 user: jra tags: 0.3.6, trunk
2023-11-29
11:25
Prior optimism proved premature. However fixed errors, nxconstructor(-ci) now appears to work correctly. Expecting issues will surface as the extension is more thoroughly tested. check-in: 4b738cf754 user: jra tags: 0.3.5, trunk
2023-11-24
20:43
Added new commands to nxproc including nxmethod, nxconstructor and *-ci variants. Unless major issues emerge, about ready for release. The oo procedures work as expected under Linux and Windows. Only issue is need to specify assoc class when invoking oo commands. Will continue to look into modifying implementation. However remains quite usable. check-in: 925681705d user: jra tags: 0.3.0, trunk
10:46
Attempting to add nxmethod and nxmethod-ci. So far it works, however one small issue, necessary to supply class name when using nxmethod. Not sure of solution but will continue to investigate. Will consider currentimplementation to be preliminary on that account. Haven't yet tested exec time, probably greater than 'ordinary' nxproc/ci. Overall, as it stands, the new functionality appears to be usable--and useful. check-in: d3e7672b26 user: jra tags: 0.2.7.0, trunk
2023-11-12
05:38
Changed cmdline.c re: nx_args. Previously args after '--' were collected into a string, now they're collected to a list. This matches the args variable in std Tcl *proc*. check-in: d4f97eee87 user: jra tags: 0.2.6.3, trunk
2023-11-10
07:38
Revised error message for enum type. Updated nxproc-doc.{md,html,pdf}. check-in: 50384fd562 user: jra tags: 0.2.6.2, trunk
2023-06-20
00:26
Added documentation in html format check-in: 69622d72ab user: jra tags: 0.2.6.1, trunk
2023-06-19
23:38
Further work on documentation and added PDF. Revised 'dtype_cmd' function in procnm.c to simplify/clarify implementation and use. Minor edits to cmdline.c. Some changes in procx-test.tcl for purpose of examples. check-in: bad554ae2a user: jra tags: 0.2.6.0, trunk
2023-06-17
12:27
Merged new_option_syntax. check-in: 3d8d96d201 user: jra tags: 0.2.5.0, trunk
12:18
Added documentation (nxproc-doc.md), though not yet complete. Minor edits to makevar.c, profile.c. Recompiled on Linux/Windows to bring up-to-date. Will merge from branch. Leaf check-in: 76a27c87d3 user: jra tags: 2.4.3, new_option_syntax
2023-06-06
05:21
Minor edit to nxtest.tcl check-in: 7e2db71870 user: jra tags: 2.4.2.2, new_option_syntax
04:58
Edited nxtest.tcl re: changed name of 'rest variable' to nx_args. Works as expected. check-in: 5ce154b072 user: jra tags: 2.4.2.1, new_option_syntax
04:35
More work on streamlining profiling. Many changes to profile.*, cmdline.c, procnm.c. Added default to config.def (profile 0) to facilitate compiling with/without profiling enabled. No evidence of new bugs. check-in: 805b81ee35 user: jra tags: 2.4.2, new_option_syntax
2023-06-04
02:38
Updted windows tcl8/tcl9 and compiled loadable binaries. Preliminary testing shows no problems. check-in: 8ea617ca5b user: jra tags: 2.4.1, new_option_syntax
2023-06-03
16:11
Changed project name to nxproc--aligns with command 'nxproc', less confusing, easier to remember for users. check-in: 73a6ed5275 user: jra tags: 2.4.0, new_option_syntax
15:26
More cleanup and small changes to test files. Added timing.txt as a reference. Removed unneeded files. check-in: a21f02fe09 user: jra tags: 0.2.3.2, new_option_syntax
12:10
A few minor changes (no affect on functionality). check-in: 094eb9882d user: jra tags: 0.2.3.1, new_option_syntax
11:07
Thoroughly revised parseDefaults, saveVars, now appear to work as expected. Greatly improved error reporting re: nxproc named-args/variable defaults definitions. Needs more testing before merging back into trunk. check-in: 4f5be21949 user: jra tags: 0.2.3, new_option_syntax
00:31
Had the idea to change syntax of nxproc option defaults. Previously, numeric defaults specified '-dnum {option0 100 option2 200...}'. Now '-option0 100 -option1 200...'. This should be more intuitive and consistent with conventional Tcl syntax. Likely there are bugs to be fixed. Will put this in its own branch. check-in: 954278e9ec user: jra tags: 0.2.2, new_option_syntax
2023-06-02
09:35
Revisions mainly to profiling. Refactored savedefaults, useful for implementing nxproc-ci. check-in: a0f0e4039a user: jra tags: 0.2.1, trunk
2023-05-25
08:50
Further testing of profiling. Changed defaults in nxtest.tcl. check-in: 4a4ec3875b user: jra tags: 0.2.0.1, trunk
05:42
Added new command, 'dtype' which gives a variable's string or int type per defaults assignment. Still working on profiling attempting to make more consistent. Otherwise appears project is getting more stable and shows good performance. check-in: 6e79bb1b89 user: jra tags: 0.2.0, trunk
2023-05-22
03:16
A bit of cleanup in makevars.c, consolidated numeric filter setup into function, a couple of other changes. check-in: 81ab2546c7 user: jra tags: 0.1.3.6, trunk
2023-05-21
06:03
Moved procdata list generation into own function, simplifies calls when profiling enabled. Cleanup otherwise. Changed csproc to nxproc (a better name). check-in: 1efe96f55c user: jra tags: 0.1.3.5, trunk
2023-05-15
07:48
No surprise, wouldn't compile/run on Windows, had to make changes there which are propagated here for consistency. For some reason install failed variably, c/o inability to find the target location. Modified config.def/Makefile, eliminated the shell script. Mingw compiled program OK after changing 'random' for 'rand'. However program wouldn't run until modified name-forming code. Unfortunately rand doesn't work exactly like random under Linux, but it's adequate for the purpose. At least program works now in reasonably similar manner under both OS. check-in: 0c413c2af4 user: jra tags: 0.1.3.4, trunk
2023-05-14
15:20
Now everything is really up-to-date. check-in: 020975c714 user: jra tags: 0.1.3.3.2, trunk
15:15
Updated unix/tcl8. check-in: 5bdc4f1ce7 user: jra tags: 0.1.3.3.1, trunk
10:04
Fixed minor error in procnm.c re: realloc, missing (char*) cast. Compiled for Tcl8 without difficulty. Compiling on Windows might be a different matter. check-in: 2a1db4598f user: jra tags: 0.1.3.3, trunk
06:14
Merged dictionary branch. check-in: 55f695684c user: jra tags: 0.1.3.2, trunk
06:10
Minor file cleanup. check-in: 3c823c29f5 user: jra tags: 0.1.2.2.1, trunk
06:08
Expanded profiling and added preprocessor 'guards' around profile code so that it doesn't impact performance when unneeded. At this point can merge to trunk. Leaf check-in: 1b9c2add9e user: jra tags: E-1.3.1, dictionary
2023-05-13
02:27
Many changes. Reworked almost every part of it. Too many modifications to describe here. Upshot is substantial speed improvements,and at least small reduction in memory footprint. More extensive use of Tcl_Obj* API. Code is less convoluted, easier to follow. More testing required before ready for 'prime time', but looks quite promising ATM. check-in: 4ac4202b0d user: jra tags: E-0.1.3.0, dictionary
2023-05-12
11:25
Good progress on revisions to clarify code, fix errors/omissions and improve performance. Preventing memory leaks is also a high priority. A few areas remain to be implemented. Primarily working on filtering. Considered deleting filters but before doing that will attempt to resolve complexity and utilize Tcl API effectively. check-in: b968056ad6 user: jra tags: E-0.1.2.3, dictionary
2023-05-09
21:19
removed binaries check-in: 337aff1981 user: jra tags: 0.1.2.2.0, trunk
21:10
Not working as expected. Will have to come back to it later. Leaf check-in: 9b408e1aa8 user: jra tags: D-0.1.2.2.0, dictdefvar
00:24
Experiment using dictionary to manage variables. check-in: 32b09857ae user: jra tags: D-0.1.2.2, dictdefvar
2023-05-08
02:23
Resolved error in cmdline.c re: segfaults due to objv[i+1] not existing when -bool option was last on cmdline. Fix was assigning '' to string when no value was available. Also moved PROFILE-related defines, etc., to profile.h and modified config.def accordingly. Reworking saveDefaultVars for greater efficiency remains to be done. (Possibly using Tcl dict?) check-in: 988c26bb0a user: jra tags: 0.1.2.2, trunk
2023-05-07
23:55
Added timing/profiling to procnm.c activated by PROFILE. Mostly shows setvars is slowest. Will look for ways to improve it. check-in: 828778a71f user: jra tags: 0.1.2.1, trunk
19:12
merged changes from 0.1.1.1A (apply). Still concerned about obcure crashes that happened earlier, but will keep observing to see if recurs. Will call this version 0.1.2. check-in: ed30514689 user: jra tags: 0.1.2, trunk
18:50
Program was crashing, segfaults. Then running normally. Not sure what's going on, continuing to investigate. Reworking parseProcArgs has been effective, shows better runtimes, in fact better than seen with cmdargs. Further improvements are very likely possible, though 'low hanging fruit' is less available. Leaf check-in: e6a121e0f6 user: jra tags: 0.1.1.1A, apply
14:17
Appears to be working. Changed how the inner 'hidden' command is used. Embedding in proc seems to be best approach for now. check-in: 3869f5104d user: jra tags: 0.1.1A, apply
2023-05-06
08:38
Still don't have handle on running 'body' in frame isolated from global namespace. That is, 'tstr_0' is functional but 'pollutes' with intermediate variables. Needs further work. check-in: d6a4fcd978 user: jra tags: 0.1.0.2A, apply
2023-05-05
12:14
Tried 'apply ...' but not really faster than prior variations check-in: e2f70f91b3 user: jra tags: 0.1.0.1A, apply
2023-05-04
22:07
Small changes, attempting to improve performance, still not optimum check-in: 0c6334041d user: jra tags: 0.1.0.1, trunk
2023-05-03
09:25
minor edits to procnm.c Leaf check-in: c2ff08dbb9 user: jra tags: 0.1.0.B1, list-variables
09:18
Trying another approach, using lists and using to produce variables in the form of 'set x y where y is a value. The idea is to prepend these variables to the body (as string) to be evaluated. If this causes better performance that would be the goal. check-in: d6f91c2c0f user: jra tags: 0.1.0.B, list-variables
03:31
Attempted to set up using 'namespace inscope' within one cmd procedure. Unfortunately it was quite slow, much slower than using a staged approach. May come back to this later if there's new insight into its behavior. Leaf check-in: b6133b998e user: jra tags: --0.1.0.A, namespc-inscope-A
01:07
Initial project files. check-in: 32223c7b62 user: jra tags: 0.1.0, trunk