4NT 8.0 / Take Command 8.02 8.02, Build 103: ---------------- * COPY - fixed a problem with copying binary files to CON: using /B. * DIR / PDIR - fixed an erratic problem when displaying stream names. * POPD - now sets ERRORLEVEL (for CMD.EXE compatibility). * SHRALIAS - fixed a problem with SHRALIAS.EXE not always being started if you have mixed local & global lists. 8.02, Build 102: ---------------- * Fixed a problem when writing BATCH.BCP in Vista. * Added a workaround for a Ruby bug with the persistent Ruby interpreter. * Some minor help file updates. 8.02, Build 101: ---------------- Fixed a problem with regular expression searching. 8.02, Build 100: ---------------- Fixed a problem when copying > 60K from the clipboard. SHORTCUT - fixed a problem with setting hotkeys. 8.02, Build 99: --------------- GLOBAL - fixed a problem when using /Sn and /I. HEAD - fixed a formatting problem when using the /C and /V options together. QUERYMSGBOX - fixed a problem with the /T option. (Once a QUERYMSGBOX /Tn had timed out, subsequent QUERYMSGBOX /T calls would not set the variable.) SETDOS - fixed a problem with /X-9 (include lists). TAIL- fixed a formatting problem when using the /C and /V options together. 8.02, Build 98: --------------- Fixed a problem with @SNAPSHOT sometimes stealing the focus from the 4NT / TCMD window. Fixed a problem with _EXIT not always being set. 8.02, Build 96: --------------- Fixed a problem (Vista bug) with symbolic links to .BTM files. Fixed a (looping) problem when specifying invalid syntax with the CMD.EXE-style "%var:x=y%" variable substitution. @FILEREAD - fixed a (rare) problem. @SEARCH - fixed a problem when specifying a third argument with no second argument. CD / CDD - fixed a problem with very long name ("\\?\c:\path") syntax. COPY /U and MOVE /U - added a more rigorous (undocumented) check of the source & target file systems to fix a problem when one of the file systems claims to be NTFS but actually isn't (and doesn't support the necessary time resolution). (For example, it is not uncommon for the network redirector to claim a NAS is NTFS when it's actually a Linux file system.) START - the /RUNAS option will now strip double (enclosing) quotes from the username and password. (This allows you to use names and passwords that have embedded whitespace or separators, such as forward slashes, commas, =, etc.) 8.02, Build 95: --------------- Minor help file updates. Added (experimental) fix for a Vista bug when opening a device (for example, "dir > lpt1"). Fixed a CMD.EXE compatibility problem with %* and delimiters such as '='. ENDLOCAL - fixed a problem with not restoring the SETDOS /X options for secondary shells. ENDSWITCH - added a check for the (invalid) syntax "*endswitch". TYPE (TC only) - fixed a problem when displaying large files with a lot of tabs. 8.02, Build 94: --------------- Minor help file updates. Increased maximum internal stack size from 2Mb to 4Mb to accommodate some terminally recursive batch files. COLOR - now returns an error when using the CMD.EXE syntax and specifying the same color for foreground & background. 8.02, Build 93: --------------- Minor help file updates. LOG - now allows multiple 4NT / TC sessions to simultaneously access the same log file without getting "access denied". (Not recommended except in unusual cases because of the difficulty in making sense of the log!). OSD - fixed a problem when using the wrong syntax (and getting a usage error). 8.02, Build 92: --------------- Minor help file updates. Changed batch file argument parsing to match changed CMD.EXE behavior (a '=' is now considered a delimiter, like a space, tab, or comma). 4NT - Modified the fix for the Windows popup window bug (the first one would appear behind the console window) so 4NT doesn't attempt the fix if the 4NT window is in the background. 8.02, Build 91: --------------- BDEBUGGER - minor fix for problem when specifying an empty batch file name (BDEBUGGER "") or an invalid drive. 8.02, Build 90: --------------- Minor fix for FTP servers returning the (still experimental) symbolic link names. TCMD - fix for a problem with LanguageDLL not resetting the menu language. Some minor help file updates. 8.02, Build 89: --------------- Some minor installer tweaking, including a change for the TCMD installer to recognize a previous installation directory. (Note that this change also means you cannot have multiple TCMD installations.) Fixed a problem (missing function) when starting from Windows 2000. (Note that Windows 2000 support will almost certainly be dropped in version 9.) Fixed an installer problem with non-US installers not displaying the license agreement. Fixed an installer problem with TCMD (missing tcstub.exe component). Added support for [] wildcards to FTP & IFTP. Fix for a problem with one type of IFTP error not being echoed. 8.02, Build 88: --------------- 4NT - added a workaround for a Windows bug when displaying popup windows the first time in TCI (the window would appear behind the TCI window). 4NT - added a workaround for a Windows bug when displaying the help window when in TCI. OPTION - added support for dynamically changing the DuplicateBugs directive without restarting 4NT / TCMD. 8.02, Build 86: --------------- @WORD - fixed a problem with ranges with negative arguments. FTP / IFTP - added workaround for an erratic FTP server bug when retrieving files with wildcards. (Only affected things like IF ISFILE that were looking for a single matching file, not DIR, COPY, etc.) 8.02, Build 85: --------------- Changed to Windows Installer (for Vista compatibility). Added update support to 4NT & TC. You can check for updates by selecting the Option / Updates tab and clicking on the "Check for Updates" button. Added support for Vista Restart Manager. TCMD - fixed a problem with the toolbar font changing when you open the Configure Tool Bar dialog and then click Cancel. Help file updates. Added a workaround for a badly-defined extension (.MSU) in Vista. Added (limited) support for symbolic links on *nix FTP servers. TCMD - printing the buffer now uses the current (fixed-width) screen font & size. DuplicateBugs - changed the default from No to Yes because of a recent flurry of "bug" reports with the Vista SDK (due to a deranged MS programmer misusing the IF command). LanguageDLL - new .INI directive to specify the localized language DLL to use. This is normally not necessary as 4NT / TC will select the appropriate DLL based on the current Windows user language. Setting this to a non-default value will result in mixed language output - 4NT / TC messages will be in the specified language, but Windows error messages will be in the default user language. @FIELD - fixed a problem with leading spaces when a space is defined as the separator character (i.e., "%@field[" ", a b c]"). @REPLACE - fixed an (obscure) problem when you have escape characters disabled and use an escape character followed by a comma for the first argument. @WINPOS - changed to return (negative!) top & left arguments when window is maximized. @WORD - fixed a problem when using a negative argument equal to the number of arguments. DEL - fixed a problem with /Sn. COPY - Fixed an erratic problem (failing Windows API) with COPY /U when comparing NTFS file times with non-NTFS drives. GLOBAL - fixed a (erratic) problem with /Sn. GOSUB - Added support for %# and %$ in external GOSUB subroutines. (Though unless you always call the subroutine from the same batch file, this isn't recommended -- use GOSUB arguments instead.) GOSUB - now checks first that the external subroutine exists in the specified file, so ON ERROR will work in the calling batch file. IF - added support for some undocumented CMD.EXE behavior with nested IF / ELSE's that the deranged MS programmer (see the DuplicateBugs entry above) used in the Vista SDK setup batch files. IFTP - fixed a problem with arguments beginning with /P that are not /Pn switches. LIST - printing the file now uses the current (fixed-width) screen font & size. SYNC - Fixed problem (see COPY fix above) when comparing NTFS file times with non-NTFS drives. TASKLIST / TASKEND - tweaked the window search routine a bit to make a better guess as to which of a process's windows has the "real" windows title. 8.01, Build 76: --------------- Added workaround for (erratic) Windows stack error when closing the 4NT window with the X button & executing 4EXIT.BTM. TCTOOLBAR (TCMD only) - fix for a problem with /R and quoted filenames. 8.01, Build 75: --------------- Fix for a problem with prefixing numeric arguments with a + (i.e., relative positioning in SCRPUT). 8.01, Build 74: --------------- Fix for a problem with negative arguments for some variable functions (@RIGHT, @LEFT, etc.). 8.01, Build 73: --------------- Minor help file updates. .INI processing - changed the .INI search for Vista. Previously, 4NT / TC would look for their .INI file first in their installation directory (usually "c:\program files\jpsoft\4nt8" or "c:\program files\jpsoft\tcmd8"); if it wasn't found then they would look on the root of the boot drive (i.e., c:\). In Vista, limited users don't (usually) have write access to the "\program files" directories, so if 4NT / TC don't find their .INI file there, they will look in %LOCALAPPDATA%\jpsoft (and create a new .INI there if you run OPTION and save the new settings). Fix for an obscure problem when calling 4NT with an program alias embedded in a directory alias. Logging - changed the default directory when in Vista from %ALLUSERSPROFILE% to %LOCALAPPDATA%\JPSoft. (Some limited user configurations were unable to write to the %ALLUSERSPROFILE% directory.) TC - fix for a problem when starting with the /H (hidden) option. (TC was overwriting the default position when exiting.) Alias / Environment variable editor - fix for an minor & obscure problem with the modified icon not being reset after a save. CDD /S - changed the default directory for JPSTREE.IDX when in Vista from %APPDATA% to %LOCALDATA%\JPSoft. DIR / PDIR - increased the resolution of the date/time sorts from 1 second to 1 millisecond. MSGBOX - minor change to recognize the (illegal) syntax when using custom buttons, no (required) button type, and no (optional) title. TYPE - fixed a problem with TYPE displaying a (harmless) error message after displaying a file that was an exact multiple of 512 bytes in size. 8.01, Build 72: --------------- Fixed a (compiler) bug which caused an erratic stack failure in PRIORITY. 8.01, Build 71: --------------- Help file updates. The installer now checks to see if 4NT or Take Command is already running, and warns you to close them before proceeding. (This avoids your getting to the end of the installation and then being told you have to reboot to continue.) Take Command - changed the default Caveman handling. If Caveman is enabled but no apps are defined, then it defaults to "*" (i.e., run everything in Caveman). Changed the [ ] wildcard matching slightly, to handle cases where the filename has a combination of literal matching embedded []'s, and * and/or ? wildcard characters. Optimized fuzzy directory (jpstree.idx) updates a bit. ANSI - added the mostly useless "ESC[7m" (reverse video). Did not add the completely useless "ESC[8m" nor the not-technically- possible-without-Microsoft-rewriting-console-support "ESC[4m". DIR / PDIR - fixed a problem with potentially running out of memory when doing a /: and /S together. FFIND - fixed a problem with regular expressions and very large files (> 4Mb). LIST - fixed a problem with regular expressions and very large files (> 4Mb). REN - fixed a problem with REN /NT updating jpstree.idx if the renamed directory had subdirectories. TCTOOLBAR (TCMD only) - fixed a problem with changing text on existing butons. TCTOOLBAR (TCMD only) - fixed a problem when deleting buttons by their number. 8.01, Build 70: --------------- Help file updates. Regular expressions - made a change to the Onig 5.5 library to accept CR/LF as the end of line terminator (for things like "\.ini$"). (The new Oniguruma library was defaulting to the Linux standard CR only as a line terminator separator.) Perl (still unsupported!) - added a workaround for a Perl bug in @PERL that (occasionally) triggered a GPF. SET /A (and @EVAL) - added a check for (technically invalid syntax, as it's incompatible with CMD.EXE) variables without a leading digit (i.e., "z=.5"). 8.01, Build 69: --------------- Help file updates. Updated from version 4.2.2 to version 5.5.1 of the Oniguruma regular expression library. The new features are: Character types: character property Character class: (POSIX bracket) word (See the Regular Expression Syntax section in the help file for details.) LOG - In Vista, the command and history logging now default to the %ALLUSERSPROFILE%\ directory (to avoid problems with limited users being unable to write to the root directory). Changed the order of updating the environment on a WM_SETTINGCHANGE : it now retrieves the system registry variables first, then the user variables, then the volatile variables. 8.01, Build 68: --------------- Fixed a problem when pasting tabs into the command line. @REGEX, @REGEXSUB, @REGEXINDEX - made a change to support both embedded double quotes and special characters (i.e., pipes, redirection symbols, etc.) within the (quoted) regular expression. (Note that you can still break it by embedding double quotes followed by a comma within your regular expression -- so don't do that!) Fixed a (very obscure!) problem when defining an alias named ".", and then using "." as a directory name in a command and having it interpreted as a directory alias. Take Command - fixed a (never reported) display bug when deleting all of the toolbar buttons, exiting the toolbar dialog, then opening the toolbar dialog again and creating a new button. COPY - fixed a problem with /S /F when not using "*" for the filename. 8.01, Build 67: --------------- Minor help file updates. Added support for redirected HTTP names. @REGEX, @REGEXSUB, @REGEXINDEX - fixed a problem with embedded pipe characters with surrounding whitespace in the regular expression. DEL - added workaround for Vista bug when deleting files to the recycle bin. MKLINK - changed message when creating a hard link. START - added (experimental) support for "RunAs" for networks that don't support UPN names (name@domain) but only in the form "domain\name". Added a new .INI directive: DirJunctions=YES | no If set to NO, DIR will not display the target directory for junctions (which was added for Vista CMD.EXE compatibility). 8.01, Build 66: --------------- Minor help file updates. Take Command - made some changes to allow saving & starting Take Command on a second monitor. @PING - a new IPWORKS6.DLL to fix the problem with invalid return values when providing an invalid URL. PDIR - some optimizations when retrieving an FTP directory, and a workaround for a FTP server bug. 8.01, Build 65: --------------- Minor help file updates. Take Command - increased the typeahead buffer (also used by the paste command) to 8192 characters. (Previously a paste could be limited to 256 characters, depending on the system speed.) Take Command - fixed a problem when saving from the "Utilities / Aliases or Environment or Functions" windows. @NUMERIC - fixed a problem with @NUMERIC erroneously returning 1 when there are thousands separators following the decimal separator. ESET - fixed a problem with /F. LIST (4NT only) - fixed a problem with toggling hex mode scrolling one line when at the beginning of the file. MOVE - minor change to emulate CMD.EXE's syntax when renaming an empty subdirectory. SET - added a check for the (invalid) syntax "set /v =value". 8.01, Build 64: --------------- Minor help file updates. Minor corrections to SDK TakeCmd.h file. Fixed a problem with the (not recommended) batch variable syntax when appending a + or - to a variable name followed by a number. (This can cause confusion with the new variable range arguments; we recommend always using white space around the arguments.) GOSUB - fix for a problem with GOSUB arguments when using incorrect syntax for the label (inserting white space after the ':'). TAIL (4NT only) - fixed an erratic problem when displaying the start of Unicode files with some fonts. TOUCH - fixed a problem when creating a file (with /C) that begins with a @. (This is STRONGLY discouraged, as a leading @ character is interpreted by 4NT / TC / CMD to mean at least two different things -- making it a part of the filename as well is guaranteed to cause you trouble!) 8.01, Build 63: --------------- Fixed a GPF in @FLOOR and @CEILING. 8.01, Build 62: --------------- Fixed a problem with dialogs and themes. Some minor help file updates. 8.01, Build 61: --------------- FFIND, LIST - fixed a hang caused by Windows incorrectly identifying a binary file as Unicode. HELP - fixed a GPF when requesting help for a nonexistent variable function. 8.01, Build 60: --------------- Fix for a problem with @MAX and @MIN when passing negative numbers. Version 8.01, Build 59: ----------------------- The Spanish localization is now nearly complete, including all menus, dialogs, and internal messages and errors (except for some of the usage error messages). Miscellaneous minor help updates. Fixed a problem with FTP directory parsing on WinCE FTP servers. 4NT - Fixed a problem with the 4NT window sometimes flashing at startup inside TCI. The IPWorks dll's have been updated. The attribute selection switch (/A:...) now includes 'L' (for junctions and symbolic links), for compatibility with Vista's CMD.EXE. (It is synonymous with the existing 'J'.) Added support for the wacky CMD substring variables with the wacky CMD delayed expansion syntax (i.e., "!var:~10,5!). @MAX and @MIN - now ignore leading & trailing commas. @SYMLINK - new variable function to return the target of the specified symbolic link. ATTRIB - added the -I and +I (not indexed) attribute. COPY - added support for the (undocumented) CMD.EXE kludge "copy file+" (to touch the date & time of the specified file to the current date/time. COPY (Vista only) - changed the /L (FTP ASCII) option to match Vista's CMD definition: /L - if the source is a symbolic link, copy the link to the target instead of the actual file. COPY - changed the /L (FTP ASCII) switch to /FTP:A (see above). COPY - added support for /F when copying from FTP. DIR (Vista only) - includes support for displaying symbolic links (SYMLINK for files, SYMLINKD for directories). For one column displays, DIR will display the name followed by the target. LIST - fixed a problem with the 'E' (editor) option in pipes. MKLINK (Vista only, for compatibility with CMD) - create symbolic links. The syntax is: MKLINK [/D /H /J /Q] link target /D Create a directory symbolic link. (The default is to create a file symbolic link.) /H Create a hard link (like MKLNK). /J Create a junction. /Q Don't display results. Link The new symbolic link name Target The pathname (full or relative) that the new link refers to. OSD - fix for a Windows bug with repeated invocations. Also added support for multiple simultaneous OSD windows. PDIR (Vista only) - includes support for displaying symbolic links (SYMLINK for files, SYMLINKD for directories). PDIR - the format for the size/"DIR" field has been increased to 15 characters (because of the changes for SYMLINK and SYMLINKD). SETLOCAL / ENDLOCAL - added a check for nesting SETLOCALS with differing delayed expansion flags (not recommended!). TEE - the output files can now be read by other apps while the TEE is in process. Build 50: --------- Miscellaneous minor help updates. JPSTREE.IDX - added a workaround for Vista. Vista restricts the root directory access for non-admin users, so if you don't have TreePath defined in your .INI, the default directory for jpstree will be %appdata%. If %appdata% isn't defined in your environment, the default will be the 4NT / TC installation directory. @FILEWRITE - changed to return the number of bytes written rather the number of bytes written + 1. @OWNER - added a workaround for a bug in active directory DFS. @REGEXSUB - added check for parenthesized arguments. @SELECT - fixed a problem when KEYSTACK'ing a long line to @SELECT (to set the text search string). DIR /Q - added a workaround for a bug in active directory DFS. GOSUB - added a kludge for (illegal) label names with trailing colons. LIST - added support for listing HTTP files. LIST - fixed a problem with /B and /L. PDIR /(M) - if the file cannot be accessed, the MD5 value returned will be "FFFFFFFFFFFFFFFFFFFFFFFFFFFF". PDIR /(R) - if the file cannot be accessed, the CRC32 value returned will be "FFFFFFFF". PDIR /Q - added a workaround for a bug in active directory DFS. PRIORITY - now returns an error rather than suspending / resuming the process if you don't specify either /R or /S and you don't have a priority argument. TASKLIST (Vista only) - no longer displays the "Not all privileges referenced are assigned to the caller" when running as a limited user. (Note that this only affects TASKLIST; a limited user will still get the error when attempting to run TASKEND.) Build 49: --------- BDEBUGGER - the watch window now checks for a variable in the watch list being removed from the environment. GLOBAL - added check for /S option only allowed before the GLOBAL arguments. Build 48: --------- Fixed a Windows bug when accessing an FTP server with Wow64FsRedirection=No (64-bit Windows only). Fixed a problem in date ranges with ISO dates when no seconds are specified. Build 47: --------- @REGEX, @REGEXSUB, @REGEXINDEX - added kludge to look for trailing ^" in regular expression, and not interpret it in the token parser as escaping the double quote. This should allow you to use arguments such as: %@regexindex["\^",%str] WOW64FsRedirection - fixed a problem with 4NT / TC not immediately recognizing the directive if it was not in the startup .INI file. Build 46: --------- UNSET - fix for the (mostly useless) "UNSET *" syntax. Build 45: --------- Help file updates. Miscellaneous fixes for Vista bugs when reading / setting environment variables. BDEBUGGER - fixed a problem when changing a variable value in the watch window. LIST - fix for /S with STDIN redirection (i.e., "list /s foo"). SET - fix for erroneous error message with /V, /S, /U, and /D. Build 40: --------- Fix for Vista bugs when piping to a child 4NT / TC process. Fix for other Vista bugs when loading the language dll's in a child process. Minor corrections to French & German language dll's. @MAKEAGE - fixed a problem when only specifying a single argument. GOTO - fixed a problem with not aborting nested DO loops when you use a GOTO without a /I. (Note that if you use GOTO in this fashion, E. Dijkstra will beat you with a lead pipe!) KEYSTACK - fixed a problem when passing a too-long argument. Build 39: --------- Fixed a problem with the BATCH.BCP file sometimes losing keywords when batch debugger options are changed in OPTION. Build 38: --------- LIST (4NT) - fix for a Windows bug with /C when running in TCI. LIST (4NT) - fixed an erratic problem with hex searches. Build 37: --------- Help file updates. Fixed some problems with handling of DBCS languages. Worked around a sporadic Windows bug when attempting to delete file streams to the recycle bin. Added some additional functionality to the keystroke plugins. @LINKS will return "1" if Windows won't permit querying the file (i.e., for things like "pagefile.sys"). @INODE will return "0000:0000" if Windows won't permit querying the file (i.e., "pagefile.sys). Build 36: --------- Public release of 4NT 8.0 and Take Command 8.0. 4NT 7.01 / Take Command 7.01 Build 370: ---------- @SHAxx - changed the output to upper case to match the @MD5 and @CRC32 functions. (Win x64 only) - kludged around an undocumented (bug? Feature?) Windows behavior when attempting to write to a file's SummaryInformation stream. (Windows x64 will read from the SummaryInformation stream, but will send a write to the Updt_SummaryInformation stream -- but only after also creating a 0-byte SummaryInformation stream!) DO - changed the /L behavior to accept strings beginning with a switch character (i.e., "do var in /L /stop") provided the string isn't also a valid switch character. Some minor corrections/additions to the online help. Build 369: ---------- @WINAPI - fixed a problem with passing Unicode strings to the API. FOR - changed the /F option slightly to always parse a quoted string as a string value, not a filename. (Previously, it would parse an string referring to an existing filename as a file, and a string otherwise.) The change was made for CMD.EXE compatibility; if you have been using the /F option (not recommended, as there are MANY better ways to do this in 4NT / TC!) you may need to edit your batch files / aliases. KEYSTACK - worked around a Windows bug when invoking KEYSTACK the first time from a hotkey (thanks to V. Fatica!). Some minor corrections to the online help. Build 368: ---------- 4NT - Fixed a problem with calling HELP and the batch debugger from TCI. Build 367: ---------- Added a check in the CMD-style %~.. processing for the (inappropriate!) use of a single-character FOR variable name that is also in the valid character list for %~. Changed the help & batch debugger windows so they work appropriately in both TCI and "bare" 4NT mode. TEE - added support for "con:". Build 366: ---------- Fix for an ATITools bug (caused a crash when loading 4NT). ON ERRORMSG - fixed a problem with the specified routine not being called. Build 365: ---------- Some minor corrections in the help text. Cosmetic fix for cosmetic issue (Windows problem) with pipes using the CPU time that would otherwise be used by the idle process. @SELECT - fixed a problem with very large files (which BTW are definitely NOT recommended!). FOR - changed the argument parsing to disable switch characters as delimiters (to match changed CMD.EXE behavior). For example, for %a in (1/2/3) do echo %a will now echo "1/2/3". FOR - fixed a couple of problems with the /T option. FOR - now allows embedded ")" characters in a filename if enclosed in double quotes. FOR - fixed a problem with (unnecessary) double %'s and the wacky CMD.EXE-style "%%~$PATH:x" variable substitution. SELECT (TC) - fixed a display problem with the SELECT file / char count on the status bar. Build 364: ---------- BDEBUGGER - fixed a Windows bug when running 4NT in TCI (the BDEBUGGER window wouldn't display). Build 363: ---------- Some minor updates to the help. DESCRIBE - fixed a minor problem with DESCRIPT.ION not always being created hidden. RD - fixed a problem when (erroneously!) attempting to RD a file (not a directory) and NTFSDescriptions=Yes. Fixed a problem with various colorization routines (SCRPUT, directory colorization, etc.) when using double-wide character languages (such as Chinese and Japanese). Build 362: ---------- Some minor updates to the help. Fixed a problem with some obscure CMD.EXE syntax ("%var%=%value" was being interpreted by 4NT as an escape character rather than a trailing % for the variable name). Fixed a problem with @FORMATN when the number is < the precision. MSGBOX - fixed a problem with the messagebox size calculation when the text had multiple embedded tabs. Build 362: ---------- Added a workaround for a bug in Total Commander (creating lines in DESCRIPT.ION without trailing CR/LF's). @GETFILE - worked around a Windows resource bug that caused the filter option to fail erratically. @INIREAD - increased the maximum argument size from 511 to 2047 characters. FTP - added a check for a valid port number following a trailing ':' (to work around a VAX issue with trailing colons in the directory names). Build 361: ---------- 4NT - fixed a problem with OPTION writing the Transparency directive as 0 (which caused a problem with ESET /W). (You may need to delete an existing "Transparency=0" line in your 4NT.INI file.) @CHAR - increased maximum argument size from 511 to 2047 characters. Build 360: ---------- The parser now deletes a DESCRIPT.ION file when it is empty. Added include list support to FTP / FTPS / IFTP. Fixed a problem with FTPS and unquoted arguments. DO - fixed a problem with /Sxxx on the DO command line being interpreted as a /S. LIST - fixed a problem with /E. Build 359: ---------- FTP - fixed a problem with non-standard FTP sites that don't accept a password. Take Command - fixed an erratic bug with some Caveman apps like "XCOPY /?". @CRC32, @MD5 - fixed a problem with leading spaces not being included in the hash code. COPY - eliminated a (harmless but distracting) error message with the /O option and FTP targets. SET - fixed a problem with /A when omitting the % and the variable is a negative number. Build 358: ---------- @READSCR - fixed a problem with the parser not recognizing the function name. Build 357: ---------- 4NT and Take Command can now optionally store the registration info in a key file rather than in the registry. This should allow you to use your registered copy on another machine via a usb key. Note that this does NOT permit you to use a single license simultaneously on more than one machine! You can download the key file versions (executable only; they don't include the installer) at ftp://jpsoft.com/4nt/inikey/4nt.exe and ftp://jpsoft.com/tcmd/inikey/tcmd.exe. The keys will be stored in 4nt_keys.ini and tcmd_keys.ini. Build 356: ---------- Fixed a problem with Delphi plugins. Build 355: ---------- Optimized plugin references to speed up batch files. Colorized directories - fixed a problem (Windows change) with the "encrypted" keyword. FFIND - fixed a problem with regular expression searches in files > 4Mb. LIST - fixed a problem when toggling between ASCII & Unicode display with binary files. LOG - changed the behavior when logging errors & a "Usage" error is triggered -- it no longer displays the entire quick help syntax for an internal command. Build 354: ---------- Take Command - fixed a problem with Caveman apps that scroll backwards in the console buffer. Fixed a problem with tab completion and a leading (obsolete!) %+. Fixed a problem with filename completion with CompletePaths=Yes and include lists. Build 353: ---------- Take Command - fixed a couple of problems with Caveman and maximized TC windows on large monitors. Shebang - fixed a problem when the .CMD file name had embedded whitespace. MSGBOX - increased the maximum prompt size from 1023 to 8191 characters. Build 352: ---------- FTP - added a workaround for the FTP server returning an invalid (fragmentary) directory entry. (It only happens sporadically on one particular type of FTP server.) FTPS - fixed a problem when provided with an invalid certificate. ASSOC - fixed a problem (Windows API bug) when setting or deleting a value. COPY - added a workaround for a Windows bug/peculiarity that caused a strange (momentary) output on a COPY /G. COPY - will no longer return an error if /S is specified and a subdirectory has no matching files. FTYPE - fixed a problem (Windows API bug) when setting or deleting a value. Build 351: ---------- Take Command - worked around two Windows XP bugs that caused DOS apps run in Caveman to hang. @EVAL - fixed a problem with the string operators (i.e., MOD, SHL, etc.). START - fixed a problem when starting an HTTPS or FTPS URL. Build 350 (Initial release of 7.01) ----------------------------------- New Features: ------------- Take Command - now supports piping in Caveman; also improved Caveman compatibility & speed. Removed the "STDIO app" option in Caveman, as it's now unnecessary with the Caveman changes. %_BDEBUGGER - returns 1 if the debugger is actively debugging a batch file, 0 otherwise. %@EXECSTR - will now work even if redirection is disabled (SETDOS /X-6). %@SERIAL - returns the serial number for the specified disk. @WINAPI - added an exception handler to avoid GPFs when passing invalid arguments to the Windows API. JPSTREE.IDX - no longer saves the SFN if Win32SFNSearch=No. (This makes the CDD /S 50% faster, and the JPSTREE.IDX file 30% smaller.) IF - changed the ISPLUGIN test to return 1 if the argument is a plugin variable, function, or command (previously it only returned 1 for a command). PDIR - added support for directory colorization: /D - colorize directory. Note that this is the opposite of the DIR syntax -- DIR defaults to directory colorization enabled, and /D turns it off. PDIR default to colorization disabled, and /D turns it on. REBOOT - added new switches: /K - lock workstation. This option has the same result as pressing Ctrl+Alt+Del and clicking Lock Workstation. To unlock the workstation, the user must log in. /M or /M0 - switch the display to low power (standby) /M1 - shut off the display (system dependent; will not work on all systems) /R - reboot. This is the default, but is required if you specify /M or /M1, in order to allow you shut off the monitor without rebooting the system. REXEC - added support for double quoting the argument list. (The quotes will be removed before executing the commands but will prevent redirection from occurring on the local rather than the remote machine.) RSHELL - added support for double quoting the argument list. (The quotes will be removed before executing the commands but will prevent redirection from occurring on the local rather than the remote machine.) SET - changed the /A behavior to default non-existent variables to 0 (to match CMD.EXE's behavior). SHRALIAS - If you have a SHRALIAS_SAVE_PATH environment variable set, SHRALIAS will save the alias, history, dirhistory, and function lists to the path specified by SHRALIAS_SAVE_PATH when SHRALIAS exits. The files will be saved in Unicode format; the filenames are: alias.sav history.sav dirhistory.sav function.sav TAIL - added support for /N+n syntax in pipes. Bug Fixes: ---------- Take Command - if you try to pipe to an unknown command in a child TC session, it will now pop up a error message box rather than displaying a message and then immediately exiting. Take Command - fixed a problem when starting TC as another user (via the "Run As" option). 4NT - fixed a problem when running as a Caveman app in TC and scrolling past the end of the window. Redirection - fixed a problem with the (no longer valid) syntax "3>filename" keeping the handle to "filename" open. Fixed a problem with F9 & unmatched single quotes on the command line. Fixed a problem with F10 and CompletePaths=Yes. @AVERAGE - fixed a confusing return when no arguments are supplied. @CEILING / @FLOOR - fixed a problem with reporting both an error and a result when no arguments are supplied. @INC / @DEC - added support for exponent format (i.e., @inc[1e2]). @UNC - now strips double quotes (which are not needed anyway). BDEBUGGER - changed the "Save" button to act like the "Save" menu item rather than the "Save As" (provided the file is already named). CALL - fixed a problem with %* when using the (wacky) CMD.EXE syntax call :label ... CD / CDD - added an error message when the directory index is unavailable because another 4NT / TC process is updating it. CDD - fixed a problem with not displaying the "Indexing" message the first time you do a fuzzy CD without a jpstree.idx file, and another with using too much CPU time while indexing. COPY - changed the timestamp applied to a file copied from an FTP server back to the old (6.x) way. (Attempting to show the same date/time as the FTP server was causing problems with COPY /U, among others.) COPY - fixed a problem with /N[est]. DESCRIBE - fixed a problem when deleting files (it was inserting invalid entries with a "*" in the DESCRIPT.ION file). EVENTLOG - added a workaround for a problem in the Windows event viewer. FOR - fixed a problem with the /F "tokens..." syntax. FOR - fixed a problem with /F and empty FOR arguments. FOR - added a check for escape character processing within the argument set (for CMD compatibility). FOR - if you specify /R and the set does not include wildcards (i.e., (.), FOR will enumerate the directory tree with the set argument appended. (CMD.EXE compatibility issue, and I don't know *why* CMD is doing it or what it's for!) FOR - fixed a problem (CMD compatibility issue) with "usebackq" and backquoted arguments. FOR - fixed a problem (CMD compatibility issue) with "usebackq" and a quoted argument when the argument was NOT a filename. FOR - fixed a problem (extremely minor CMD compatibility issue!) with "usebackq" and an argument in single quotes. (It will be treated as a string value rather than a command name.) FTYPE - fixed a problem with /R. HISTORY - fixed a problem with repeated swapping between local and global histories. IFTP - worked around a problem with the Windows Firewall and certain FTP servers. LIST - fixed a problem with include lists. LIST - added support for C(ontinue) to work across multiple file arguments. LIST (4NT only) - fixed a formatting (wrapping) problem when highlighting search text at the end of a line. OPTION - kludged around a Windows bug when invoking the tabbed dialog from the command line (the Apply button was inappropriately enabled). OPTION - fixed a problem when you attempt to change the size of a global history or directory history list. (Not allowed!) PLUGIN - when invoked with no arguments, PLUGIN now prints a blank line between each plugin's components. PRINT - fixed a problem when not using a switch option. TEE - made a change to reduce CPU usage. TREE - fixed a problem with /A: .