|
View:
New views
1 Messages
—
Rating Filter:
Alert me
|
|
|
Safe Base updateI sliced and diced my big blob of a patch to SafeBase I had sitting on my disk, updated it to work for head, and committed the slices now. Each change should be easy to read and understand (*), and SafeBase should be easier to maintain now as well, and more efficient too. Below is the ChangeLog entry. Each (.) is a slice, committed separately. Each slice passed the full Tcl testsuite. Anybody wishing to review see http://tcl.cvs.sourceforge.net/viewvc/tcl/tcl/library/safe.tcl?view=log and start at revision 1.20. Anybody wishing to test and play with it, just get CVS Head. * library/safe.tcl: A series of patches which bring the SafeBase up to date with code guidelines, Tcl's features, also eliminating a number of inefficiencies along the way. (1) Changed all procedure names to be fully qualified. (2) Moved the procedures out of the namespace eval. Kept their locations. IOW, broke the namespace eval apart into small sections not covering the procedure definitions. (3) Reindented the code. Just lots of whitespace changes. Functionality unchanged. (4) Moved the multiple namespace eval's around. Command export at the top, everything else (var decls, argument parsing setup) at the bottom. (5) Moved the argument parsing setup into a procedure called when the code is loaded. Easier management of temporary data. (6) Replaced several uses of 'Set' with calls to the new procedure 'InterpState' and direct access to the per-slave state array. (7) Replaced the remaining uses of 'Set' and others outside of the path/token handling, and deleted a number of procedures related to state array access which are not used any longer. (8) Converted the path token system to cache normalized paths and path <-> token conversions. Removed more procedures not used any longer. Removed the test cases 4.3 and 4.4 from safe.test. They were testing the now deleted command "InterpStateName". (9) Changed the log command setup so that logging is compiled out completely when disabled (default). (10) Misc. cleanup. Inlined IsInterp into CheckInterp, its only user. Consistent 'return -code error' for error reporting. Updated to use modern features (lassign, in/ni, dicts). The latter are used to keep a reverse path -> token map and quicker check of existence. (11) Fixed bug 2854929. Recurse into all subdirs under all TM root dirs and put them on the access path. (*) Modulo slice (3), which is just big gob of whitespace changes due to re-indenting the whole file (compare 'diff -u' vs 'diff -wu' results). -- Sincerely, Andreas Kupries <andreas@...> Developer @ <http://www.activestate.com/> ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Tcl-Core mailing list Tcl-Core@... https://lists.sourceforge.net/lists/listinfo/tcl-core |
| Free embeddable forum powered by Nabble | Forum Help |