______________________________________ | | | WELCOME TO VEDIT VERSION 6.21 | |______________________________________| This file is primarily oriented towards previous VEDIT users. It gives an overview of the changes made from versions 6.01 to 6.21. Read the file ERRATA.TXT for corrections to the manuals and a description of some of VEDIT's "often overlooked" features. The file NEW-CMDS.TXT lists all new macro language commands. NOTES: The previous product "VEDIT PLUS" is now called "VEDIT". If you are updating from VEDIT 5.x (or older) refer to the supplied file WHATSNEW.OLD. Refer to the help topic "What's new". It contains links to the full description of each new item. CHANGES FROM 6.15.3 TO 6.21.3 ----------------------------- Windows Vista The 6.21 update has improved support for Windows Vista and Win7 support Windows 7. The primary changes are: * A new .CHM (HTML) help file replaces the older style .HLP file which is no longer supported. * The default installation now installs VEDIT's main files in the c:\Program Files (x86)\vedit directory and all configuration (and other changing) files into a User's directory. However, a [Traditional] installation allows placing everything in c:\vedit, as before. * Multiple users are supported on one computer where they can either share the same configuration or have separate configurations. * A few serious/annoying problems under Vista/Win7 have been fixed. For example, now accesses the menus correctly. A few problems related to recording keystroke macros have not yet been corrected, but will be in future versions. New Directory Partly to support Windows Vista/7 and partly to reduce the Structure number of files in the VEDIT Home directory, a new directory structure with more subdirectories is now used. All files are now under either the VEDIT Home directory or the VEDIT User directory. The VEDIT Home directory can now be read-only as it only contains rarely changing files. The VEDIT User directory is always read-write as it contains the configuration, project and other changing files. In order to support multiple users, the VEDIT User directory can be specified relative to an environment variable. New vpw.ini The first file processed on startup is the new vpw.ini file in the VEDIT Home directory. It has only a few entries and specifies the location of the VEDIT User directory, either as an absolute location or relative to an environment variable. The VEDIT User directory contains the vedit.ini file which specifies the location of all directories and has many configuration and "history" parameters. Spell checker A spelling checker is now available via {MISC, Scribe (Spell check)}. It has an expandable dictionary of 100,000 English words and has provisions to support other languages in the future. Due to the many files, they are placed in their own directory vedit\macros\scribe. (Thanks to Scott Lambert for the Scribe system.) Wildfile macro The previous {MISC, Wildfile} function has been changed from a multi-step wizard to a dialog box with all options. It has also been moved from the {MISC} menu to the {SEARCH} menu. If the old method is preferred, rename the file wildfwiz.vdm to wildfilew.vdm. (Thanks to Pauli Lindgren for the wildfilew.vdm macro.) Find File and New {FILE, More, Find file and open} permits searching any Open portion of the file system for files whose name matches a wildcard string. Matching files are displayed in a window; double-clicking any file opens it. The search result window stays open so that additional files can be opened. (Thanks to Pauli Lindgren for the findfile.vdm macro.) Project support The new {FILE, Project, Quit project} allows closing a project without saving the current project "state" into the corresponding .prj and .dat files. However, any modified files will be saved with prompting. The new {FILE, Project, Set project directory} sets the new string variable CURRENT_PROJECT_DIR to the selected directory, which is typically the "root" of the project files with subdirectories. The only purpose for this function is to make several VEDIT features (macros) "project aware"; currently this includes wildfile and ctags. Box drawing {MISC, Box drawing mode} is now always available regardless mode of the font. Since the typical ANSI fonts don't have the graphic box-drawing characters of OEM fonts, the boxes are drawn with just: - | and +, or with = / and #. If a OEM font (such as VEDIT OEM or Terminal) is selected, the full set of box-drawing characters are available, but will probably not display properly in other programs, nor print properly. Unicode The new {EDIT, Translate, Unicode} can translate to/from both translation UTF-8 and UTF-16. It uses the new utf-conv.vdm macro. (Thanks to Ian Binnie, Christian Ziemski and Pauli Lindgren.) Match Paren The {GOTO, Matching ()} function (to match parentheses) has been improved so that parentheses within quoted strings no longer confuse it. {HELP, Status} Enhanced to also display the last modified date/time for the current file. Also displays the estimated/actual number of lines in the file. Note that you can access this item by double-clicking on the filename on the status line, or with the default hot-key of . Dashboard info The new {HELP, Dashboard} displays detailed information about VEDIT's installation, invocation, startup and configuration. This can be very useful for debugging related problems and this information may be requested if you contact Greenview for technical support. The information is also saved into the file dashboard.txt in the VEDIT User directory. (Thanks again to Scott Lambert.) Save config {CONFIG, Save config} no longer saves several word processing and programming parameters into the vedit.cfg file which can cause confusion when VEDIT is next run. These are "Display lines with word wrap", "Enable word wrap", "Right margin", "Left margin", "Auto-indent mode" and "Lower/upper case key conversion". These parameters can still be set via File-open configuration, which is preferred anyway. In the unlikely case these parameters are desired for all files, they can be enabled in the ustartup.vdm file (which overrides the vedit.cfg file). This also applies to the "Auto-save config" function and the Config_Save() command. Macro Language The {HELP, Command at cursor} function is replicated in the help right-click context menu. This makes it easier to access help for any macro language command. Execute buffer The new {MISC, Execute current buffer} executes the contents of the current buffer as a VEDIT macro. This is primarily useful when developing new macros. To reduce the likelyhood of accidentally trying to execute a text/data file as a macro, this function will only run if the current buffer has no file open or has a filename extension of ".vdm". Runshell macro The {MISC, Save and run programs} functions, which are implemented with the runshell.vdm macro, now save the last commands in the runshell.ini file in the USER_CFG directory. Useful default commands have been added, including opening Explorer in the directory of the current file and displaying the current directory in a new VEDIT buffer/window. Cfunc macro {MISC, More macros, Cfunc} (to outline a C program) has been improved and now includes pop-up help. This function is also available in the default {TOOLS} menu as {TOOLS, C function show/select}. Ctags support The "ctags" functions (to create and lookup a C program cross-reference) has been improved with both a nested "Lookup" function and a corresponding "Return" function. The ctags "Create" function now uses a much more flexible dialog box which has its own extensive built-in help. The functions are available in both the {MISC, More macros} sub-menu and the default {TOOLS} menu. Calendar A simple Calendar can be accessed with {USER, Show Calendar}. Press and to view other months. Press to close the calendar. (Thanks again to Pauli Lindgren.) FTP Support (Still considered beta-test in this version) New {FILE, Ftp} menu items allow opening an FTP site from which files can be edited, downloaded or uploaded. When an FTP file is opened for editing, it is first auto- downloaded into the vedit/ftp directory and edited there. When closed, it is auto-uploaded back to the FTP site. (Currently only works with some ftp servers.) FTP and Email menu items can be enabled/disabled with {CONFIG, Emulation, Show FTP and email menu items}. Email sending (Still considered best-test in this version) New {FILE, Send as email} sends the current buffer contents as a simple email message. First time (or when needed) the email must be configured by specifying the mail server and reply address; these are saved. Note: this function cannot send binary files; only text messages. (Since SMTP Authentication is not yet supported, this function will only work with locally connected mail servers that fully trust your workstation. We hope to improve this soon!) Command Macro Changes --------------------- Numeric Regs The number of numeric registers was increased to 256, range 0 - 255. BB_Normal (Technical) Return the Block_Begin and Block_End values such BE_Normal that BB_Normal <= BE_Normal and if Block_Mode(LINE) is set, expanded to the beginning of the first line and end of the last line. Buf_Last Returns the ID of the last user-selected buffer. It is used internally when a buffer/window is closed. Buf_Switch() New Buf_Switch(r,VALUE,size) option sets the allocated memory size of a new buffer to 'size' instead of the default (which is currently 128 Kbytes). The allowable range of values is 16K - 4Meg. (16000 - 4000000) Char_In_Quotes Returns TRUE (1) if the current char is within single or double quotes - i.e. within a quoted string. Note that it assumes a quoted string cannot cross a line boundary, as is customary in most languages. Command_Check() Command_Check("command") checks if 'command' is recognized in the currently running VEDIT as a command (returns 1), string value (returns 2) or Config() parameter (returns 3). If none of those, it returns 0. Date_Day Returns the current day of the month as a number. (1 - 31) Date_Month Returns the current month as a number. (1 - 12) Date_Year Returns the current year as a number, e.g. 2011. These new internal values simplify writing macros which use the current date. File_Est_Lines Returns the number of lines in the file. If the end of the file is currently in memory, it is the actual number of lines; else it is an estimated number of lines. Is_Font_OEM Returns TRUE (1) if VEDIT's display font uses the OEM (DOS) character set; this is usually not the case as Windows programs use the ANSI character set. Is_Win_UAC Returns TRUE (1) if running in Windows with User Access Control. This is currently Windows Vista, 7 and 8. Read_Ini(...) Reads a value from a standard format .ini file consisting of [Section] and Parameter=Value. If no filename is specified, it reads from the user-mac.ini file in the USER_CFG directory. Reg_Char_Value() Returns the numeric value of any 1, 2, 3 or 4 characters in a text register. Reg_Prep(r) Optimize (prepare) the VEDIT macro in T-Reg 'r' for faster execution by stripping extra whitespace and comments. 'r' can be the currently executing macro. System() The System() command has been updated to better support 32-bit and 64-bit Windows by no longer using 16-bit .pif files. Write_Ini(...) Writes a value into a standard format .ini file consisting of [Section] and Parameter=Value. If no filename is specified, it writes to the user-mac.ini file in the USER_CFG directory. If the specified file does not exist, it is created; if necessary, the section and parameter are created. USER_HOME New string has value of User's "Home" directory which stores the vedit.ini file and several subdirectories. The current user should have full read/write access to this directory. The value is set by the vpw.ini file, but could be changed by the vedit.ini file. It is often refered to as the "VEDIT User Directory". MACRO_DIR The previous string variable "MACRO" has been renamed to BACKUP_DIR "MACRO_DIR"; however the previous name will continue to PROJECT_DIR work for the near future. Similarly for the previous string variables "BACKUP" and "PROJECTS". VEDIT_DRIVE These string values return the first two characters of the HOME_DRIVE VEDIT_EXE, HOME, and USER_HOME strings, which are typically USER_DRIVE the drive letter and ":" (colon). This can be useful when VEDIT is run from a USB drive. SYNTAX_DIR New string has value of VEDIT's directory for .syn and .vtm files for syntax highlighting and template editing. The value is set by the vedit.ini file. CONVERT_DIR New string has value of VEDIT's directory for .tbl tables and other conversion files. The value is set by the vedit.ini file. FILE_CFG_DIR New string has value of VEDIT's directory for the .cft and .cfn files created by the file-open configuration process. The value is set by the vedit.ini file. CURRENT_PROJ_DIR New string value is normally empty but can be set with {FILE, Project, Set project directory} to a project's "root" directory which might contain project files and subdirectories. When set, it makes some of VEDIT's features (such as wildfile and ctags) more project aware. PROJ_NAME New string value returns the name of the current project, if any. It is similar to PROJ_CURRENT, but with the directory path and without the .prj extension. DBL_CLICK_MACRO New buffer-dependent string intended to contain the name of the (mouse) double-click event macro in T-Reg 116, if any. This value must be set by another macro or by the file-type specific configuration. It is used by the new Wildfile macro. INDENT_MACRO New buffer-dependent string intended to contain the name of the smart-indenting macro, if any. It is not currently used or fully implemented. BUFFER_GP1 New buffer-dependent strings that can be used for any purpose BUFFER_GP2 by user macros. Since each buffer can have a different value, it is useful for storing something specific to a buffer, file or file-type. Max length is 256 characters. CHANGES FROM 6.15.1 TO 6.15.3 ----------------------------- Serial Numbers Since a new version of VEDIT was not released in 2007, the support period for all serial numbers was increased by one year. Title Bar The VEDIT title bar now first displays the name of the current file. This makes it easier to select the correct instance of VEDIT from the Windows task bar. Open File {Context-Menu, Open file at cursor} and {FILE, Open (More), at Cursor Open file at cursor} will open the file in the default application if the key is held down during selection. (Thanks to Christian Ziemski for the opencurs.vdm macro.) Basic Sort The basic sorting from VEDIT 5.x has been restored to the in DOS version DOS version. The Windows version has the same more advanced sorting. CHANGES FROM 6.13 TO 6.15 ------------------------- Run VEDIT from VEDIT can now be installed onto a USB drive for easy use on USB drive any computer. This option can be selected during installation. A USB installation will not affect any VEDIT already installed - no changes are made to the Windows registry and no icons to the USB VEDIT are created. When installed on a USB drive, VEDIT can run from a drive letter different from the installation drive letter. (Technical: A USB installation removes the drive letter (e.g. "c:") from the directory specifications in the vedit.ini file. Without a drive letter, it defaults to the same drive on which the main executable vpw.exe was found. Therefore the drive letter of the USB drive is unimportant.) For advanced users, the directory specifications in the vedit.ini file can also use the "%VAR%" format to access environment variables. See vedit.ini for details. Improved temp Previously, VEDIT always created its temp files in the same file handling directory as the output file. VEDIT by default now creates temp files in the local Windows "TEMP" directory. It is more efficient to have temp files created on a local drive when editing remote (LAN or WAN) files. (Also, the previous temp files tended to clutter up directories.) If you are editing huge files on other local drives (e.g. if E: is a local HD), it is more efficient to configure VEDIT to create its temp files on those local drives. This can be configured with {CONFIG, File handling, Use temp file directory}. The temp directory to be used can only be changed by editing the "VeditTempDir" line in the VEDIT.INI file. Open binary & To auto-detect whether an opened file is binary or text, text files VEDIT now first scans the first 1000 bytes for non-standard control chars; if 16 are found it is assumed binary and the File-type is set to 64. Else, it scans the first 33000 bytes for CR+LF, LF or CR and sets the File-type accordingly. The values 1000 and 33000 can be changed (only) in the VEDIT.CFG file. Print Preview Enabling new {VIEW, Printed page boundaries} shows where the page breaks and right paper margin would be if the current file were printed with the currently selected printer. Sort file by New {EDIT, Sort, Sort lines by length} sorts the entire file line length (or highlighted block) by the length of the lines. Reverse line New {EDIT, Sort, Reverse line order} reverses the order of order all lines in the file, or in the highlighted block. Insert line New {EDIT, Insert, Line numbers} inserts left-side line numbers numbers into the file with many options. (Thanks to Christian Ziemski for the underlying Linenumbers.vdm macro.) Regular Search/replace regular expressions have been enhanced. Groups Expressions can now be specified with "( )" as is standard in Unix/Perl. Groups can still be specified with "{ }", but this will be discontinued in a future version. You should change your own macro that use regular expressions to use the newer style "( )" groups. [NEXT TAB STOP] The default keyboard layout assigns to [NEXT TAB STOP], which simply moves the cursor to the next tab stop. (This little-used function was not assigned to a key for many versions.) As is common in Windows programs, will now delete a small (up to 1000 char) highlighted block, if the cursor is within or immediately after the block. (We restrict the size to avoid accidentally deleting huge blocks.) Although not new, we never documented that will also undent a highlighted block if the cursor is within the indenting whitespace. (A few other editors do this too.) Command Macro Changes --------------------- AppMax() AppMax() maximizes the VEDIT application to full screen. AppMax(CLEAR) or AppMax(0) restores VEDIT to its normal size. Config() Several new Config() parameter have been added and are in the VEDIT.CFG file: F_A_SCAN_BINARY - Sets number of bytes that are scanned for unusual control characters in newly opened files to determine if it is a binary file. F_A_SCAN_CRLF - Sets number of bytes that are scanned for CR/LF in newly opened files to determine the file type, when it is not binary. Dialog_Input_1() Now supports 15 checkboxes, radio buttons, push buttons, text fields and input strings. An input box specified with "?*" will hide the entered text for e.g. passwords. Is_App_Max Returns TRUE (1) if VEDIT is currently maximized. Is_App_Max_By_Ini Returns TRUE if the VEDIT.INI file contains "AppMax=1" indicating that VEDIT was maximized when it first started up. Num_Type() New FORCE and BIT64 options force displayed width of 10 and 19 columns for both 32 and 64 bit versions of VEDIT. New COUNT option overrides output width. Similarly for Num_Ins(). Send_Email(...) Send the current file as email text to the specified email addresses with the specified or default email configuration parameters. Send_Email_Block(...) Send the specified block (or entire file) as email text to the specified email addresses with the specified or default email configuration parameters. See the supplied SENDEMAIL.VDM macro for a detailed example. System(...) The shell string can now be up to 1000 characters long. (In version 6.13 and earlier, it was only 260 chars.) Note that shelling to a DOS program is still limited to about 100 characters. CHANGES FROM 6.12 TO 6.13 ------------------------- "Open with New "Open with VEDIT" is now available in Explorer's VEDIT" right-click menu for all files. (This is a default installation option.) Flat file New {EDIT, Convert, Flat to CSV} converts "flat" database conversion files to CSV, based on field width specs. Supports tabs, commas or quoted-comma-delimited fields and other options. CSV file New {EDIT, Convert, CSV to Flat} converts a file with conversion delimited fields (quotes, commas, tabs, etc.) into a "flat" database-type file with fixed-length records. Convert Unicode Improved {EDIT, Translate, Unicode to ASCII} converts from to/from ASCII UTF-16 to ASCII, specifically for the ANSI or OEM character sets, depending upon the current VEDIT font. Similarly, the "ASCII to Unicode" function converts from either ANSI/OEM characters to UTF-16 Unicode characters. Sort Lines & New {EDIT, Sort, Sort lines & remove dupes} sorts the entire Remove dupes file and then removes duplicate lines. This can be used to remove duplicate email addresses, log entries, etc. Rename files New {MISC, More macros, RENAME-FILES) renames groups of files using "Regular expressions" which are much more powerful than the normal Windows/DOS wildcards. Converts filenames between upper and lower case. Includes examples and a [Test] function to preview the renaming before it is actually done. Base64 New {MISC, More macros, BASE64) decodes a Base64 conversion (highlighted) block into text. (Base64 is used in raw email attachments.) dBase/xBase {MISC, More macros, DBASE} now prompts whether detailed file files (field) info is to be displayed in another windows. {MISC, More macros, DBASEKEY} was therefore redundant and eliminated. Regular Search/replace regular expressions have been enhanced. The Expressions "|" (OR) operator can now be used within "{...|...}" groups. Also, "\b" anchors at any non-alphanumeric character. E.g. the words mother, father, grandfather, grandmother would be matched by: \b{mother|father|grand{mother|father}}\b Tab Stops VEDIT 6.13 supports up to 257 explicit tab stops up to column 65,535. (Previously 33 tab stops up to column 255.) Command Macro Changes --------------------- Key_Shift_Status Returns the current state of the Shift, Ctrl, Alt, Scroll-Lock, Num-Lock and Caps-Lock keys. Search() The Search/replace strings can now be up to 1000 characters long. (Previously it was 260 chars.) Version_Num(EXTRA) New EXTRA option returns the complete four digits of the version number as an integer, e.g. "6131". Version_Date Returns the version date as an eight digit number in the form yyyymmdd, e.g. "20040715". CHANGES FROM 6.10 TO 6.12 ------------------------- Serial number New serial-registration numbers were implemented for version 6.11. The new numbers indicate how long you have full support and which future versions you are eligible for. In general you are eligible to download/install new versions even after your full support has expired. File Types New {CONFIG, File handling, Custom record length} supports short "record lengths" of 2 and 4 for viewing binary numbers. New {CONFIG, File handling, Custom EOL char} allows editing files with non-standard End-Of-Line characters such as "~" or an EBCDIC Line-Feed (25 hex). Color scheme {USER, Color scheme} has new options, including highlighting cursor line and/or column, and saving/loading a custom color scheme. (Thanks to Pauli Lindgren for the improvements.) {VIEW} and Most functions in the {VIEW} and {WINDOW} menus can now {WINDOW} menus be added to the toolbar. Select {VIEW, Options, Customize toolbar} to change the toolbar, or carefully double-click past the last button on the toolbar. Status line You can now double-click in most status line fields to bring up a related dialog box. For example, double-clicking in the "Line number" field brings up the dialog box for jumping to any desired line number. (In 6.10 this was a single-click which caused problems when task switching with mouse.) Color syntax Syntax highlighting files are now supplied for Pocomail, files Proxomitron, Leica Gre data format (GSI-8.SYN) and AutoIT. Macro language New macro language commands and enhancements suggested by users on webboard.vedit.com have been implemented. Command Macro Changes --------------------- Code_Page Returns the Window's current OEM "code page"; this typically indicates the user's language, and how some fonts will display special characters. The default OEM code page for the US version of Windows is 437. Code_Page(ANSI) returns the ANSI "code page"; the US version of Windows defaults to 1252. Config() Several new Config() parameter have been added and are in the VEDIT.CFG file: F_CHK_MOD - Prompt user if open file is modified outside VEDIT. Default = 5 (Check every 5 second). U_DATE_FORM - Sets Date() display format. U_DATE_SEP - Specified separator in Date() display. Create_Shortcut(...) Create a Windows shortcut, e.g. on the desktop. Date() The date display format is now specified by Config(U_DATE_FORM) and Config(U_DATE_SEP). The formats are country-specific (default), mm-dd-yyyy dd-mm-yyyy or yyyy-mm-dd. The separator can be "-", "/" or none. The format can be overridden with options: Date(NORMAL) - Display date as mm-dd-yyyy. Date(BEGIN) - Display date as dd-mm-yyyy. Date(REVERSE) - Display date as yyyy-mm-dd. Date(VALUE,'/') - Display as e.g. mm/dd/yyyy. Dir_Date() Displays the directory with full file date and size information, similar to the Windows/DOS "dir" command. Most options from both the Dir() and Date() commands can be used. See built-in help for details. File_Size("file.ext") If a file is specified, File_Size() now returns the size of the file; otherwise it works as before, returning the size size in bytes of the file being edited in the current buffer. File_Stamp_Date("file.ext") Returns the specified file's date as a Julian date number. If no file is specified, it returns the date of the current edit buffer's file, if any. File_Stamp_Time("file.ext") Returns the file's time as number of seconds since midnight. File_Stamp_String(r,"file.ext") Returns the file's date and time as a string in T-reg 'r'. Is_Altered_No_Save Returns TRUE if the current file (buffer) was altered, but the user chose not to save the changes. Only useful (and valid) within the File-Pre-Close and File-Post-Close event macros. Is_VEDIT_Pro64 Returns TRUE if the Pro64 version of VEDIT is running. Indicates that files over 2 Gigabytes can be edited and that all numeric calculations have 64-bit accuracy. Reg_Save(...,APPEND) New APPEND option allows appending text register contents to the end of an existing file. Short_Pathname(...) Convert a valid file or directory pathname into a short filename style 8.3 pathname and store it in the T-Reg. Translate_Load(...,ANSI) New ANSI option loads a translation table to replace the built-in ANSI/OEM table. Write_VEDIT_INI Writes the current settings into the VEDIT.INI file. Primary useful just before shelling out to another instance of VEDIT. CHANGES FROM 6.03 TO 6.10 ------------------------- Projects Groups of files that you regularly edit can now be organized into Projects. Projects can be created, opened and closed from the {FILE, Project} sub-menu and the new "Proj" tab in the File Selector. Each project is stored as a .PRJ (and .DAT) file in the new vedit\projects directory. File Locking As much as possible, VEDIT now edits with "unlocked" files. You can have the same files open in VEDIT and e.g. Visual Studio. When a file changes outside of VEDIT, you are prompted to Reload or Ignore it. View/edit "Log" files can also be viewed (and even edited). VEDIT can log files automatically "Append" the new portions of the log file, without reloading the entire file or prompting you. Wysiwyg The new {FILE, Wysiwyg conversion} saves the current file Conversion under a new name and converts it to the format as currently displayed on the screen. In other words, it performs a "Save as" with conversion. Currently, it can convert from ASCII/Binary to hex, EBCDIC to ASCII, and fixed-length records to normal text with "newlines". See the help topic "Converting Files - WYSIWYG conversion" for details. Copy blocks The improved {BLOCK, Copy to cursor} and {BLOCK, Move to between files cursor} can now directly copy/move a highlighted block from another file (buffer) to the current cursor position. In other words, if the current file does not have a highlighted block, these functions scan the other currently open files for a block. Due to the new behavior, these functions can no longer be used to highlight a block. (This was a very obscure feature which few if anyone used.) Note: These functions can copy/move a block of any size between files, even 100+ megabytes. Extracting The improved {MISC, Wildfile wizard} makes it easy to Lines extract all lines that match a search string, from an entire group of files. The extracted lines can then be viewed, printed, or saved to a file. Filtering The new {MISC, More macros, Linefilter} deletes all lines Lines in the current file which either match or don't match a search string. For example, you could delete all lines that contain "www.domain.com", or leave only those lines that contain "ERROR:". Open file The new {FILE, Open more, Open file at cursor} assumes the at cursor cursor is at a filename and attempts to open it. If not found in the current directory, it displays a file-open dialog box. (Filenames with spaces must first be highlighted.) This function is also in the right-click context menu. Open URL at Similarly, the new {FILE, Open more, Open URL at cursor} cursor assumes the cursor is at a web address and attempts to open it in the default browser. This function is also in the right-click context menu. Preview file The new {FILE, Open more, Preview current file in browser} in browser assumes the current file is browser compatible, e.g. an HTML file, and attempts to open it in the default browser. {GOTO} dialog The {GOTO} menu functions "Line #", "Column #" and "File box position" are now implemented by a common dialog box. You can jump to a particular line number and column number in one operation. The dialog box has history for each field and supports numeric (algebraic) expressions such as "4583/2+435" and "CurLine+1000". Status line (Windows only) The status line font can be changed by right-clicking the mouse on the status line and selecting "Change font". Word wrap You can now enable/disable word wrap or easily change the (Right margin) right margin by clicking the mouse on the status line to the right of the Line:/Col: display. This brings up the new Word-wrap dialog box. (You can also enable/disable word wrap on the toolbar.) Format Multiple paragraphs, or even an entire file, can now be Paragraph re-formatted by highlighting the paragraphs and selecting {EDIT, Formatting, Format paragraph}. Note that this function requires blank lines between the paragraphs. The new {USER, Convert 1-line to para} converts text that consists of one long line per paragraph into paragraphs with "hard" CR/LF after each wrapped line. This is useful for text files that were exported from Word processors such as Microsoft Word. This function does not require blank lines between the paragraphs. Hex / binary The new {EDIT, Convert, Binary to hex} converts the file conversion (or just a block) into hex codes. For example, "A girl" will be converted into "41 20 67 69 72 6C". While mostly useful for binary files, it also converts any file. Similarly, the new {EDIT, Convert, Hex to binary} converts the file (or just a block) from hex codes into ASCII and (perhaps) binary characters. HexDump The new {MISC, More macros, Hexdump} creates a mainframe-style hex dump of the current file in another buffer, and assigns it a temporary filename. If desired, the dump can be saved-as another file or printed. {FILE} menu The previous functions "Buffer switch", "Next buffer" and "Previous buffer" have been moved to the new {FILE, Buffer} sub-menu. Note: this affects any custom keyboard layouts which have hot-keys for these common functions. {WINDOW} menu The {WINDOW} menu has been moved on the main menu so that it is immediately to the left of {HELP}, as is standard in most Windows programs. This does not affect any hot-keys. Configure The new {VIEW, Options, Customize toolbar} configures the Toolbar toolbar. (As before, you can also double-click between buttons.) Many more buttons are now available, including buttons for the {TOOLS} and {USER} menus. The toolbar can now be restored to its original (factory default) buttons by selecting [Restore] in the dialog box. Toolbar The items in the {TOOLS} and {USER} menus can now be accessed buttons via toolbar buttons. A button for the first item in each menu now appears by default on the toolbar, as a reminder. Form-Feed A Form-Feed character can easily be inserted by selecting (Page-break) {EDIT, Insert, Form-Feed}. VEDIT and many other programs print a Form-Feed by starting a new page on the printer. Mouse click (Technical) Text Register 116 holds the new "mouse double- event macro click event macro". When the mouse is double-clicked in a file, the cursor is moved to the mouse position and any macro in T-Reg 116 is then executed. Note: unless you are using this event macro, T-Reg 116 must be kept empty. "|>" and "|*|>" (Technical) The .SYN syntax highlighting files can use the in .SYN files new "|>" pattern matching code to match the "end-of-line". "|*|>" matches 0, 1 or more text characters up to the end-of-line. The "|[...]" pattern code now supports embedded pattern codes. For example, "|<|[|B+];" matches a semi-colon at the beginning of a line with optional whitespace. Delete temp (Technical) On exit, any files in the VEDIT temporary files directory that match "|(VEDIT_TEMP)\ved|(PID).*" are automatically deleted. This simplifies the clean-up for macros that create temporary files. Command Macro Changes --------------------- Abs(n) Returns the absolute value of numeric expression 'n'. BOP_Pos Returns the file position at the beginning of the current paragraph. See built-in help for details. Buf_Close() The new option Buf_Close(ALL+CONFIRM) closes all buffers, prompting whether each modified file is to be saved or abandoned. Other than not exiting VEDIT, this command is identical to Exit(), especially in how it prompts to close each modified buffer. Call_File(...) The optional form Call_File(r,"file","label") starts execution at ":LABEL:". Allows calling subroutines within a macro file. EOP_Pos Returns the file position past the end of the current paragraph, typically at the beginning of the next paragraph. File_Open(...) New LOCK option to prevent other programs from writing to input file while it is open in VEDIT. File_Open_Read(...) New LOCK option to prevent other programs from writing to input file while it is open in VEDIT. File_Open_Write(...) New OVERWRITE option suppresses backup files. Same option as in File_Open(). Format_Para_Block(...) New command formats all paragraphs within the block. Get_Filename(...) New FORCE option displays the file selection dialog box even if 'fspec' does not contain wildcards. Is_Altered_Project Returns TRUE if the current project has been altered, e.g. if files have been added or deleted from the project. Is_File_Changed Returns TRUE (1 or 2) if the file open in the current buffer was changed on disk by another program. Returns 2 if the file is now larger; returns 1 if the file is now smaller or the same size. Similarly, Is_File_Changed(r) checks the file in buffer 'r'. Is_Leap_Year(n) Returns TRUE if 'n' is a leap year. Proj_Add("file") Adds the specified file(s) to current project. Proj_Close() Closes (saves) the current project. Closes all open files, prompting whether each modified file is to be saved or abandoned. Proj_Open("file.prj") Opens a new project after closing any current project. Proj_Save() Saves the current project to its corresponding .PRJ and .DAT files. Proj_Save_As("file.prj") Saves the current project to the specified .PRJ (and .DAT) file. Also used to create a new, empty, project. PROJ_CURRENT (String value) Full pathname of the current project's .PRJ file. Return() The new option Return(n,DELETE) empties (deletes) the current text register after returning from the macro in it. This is now preferred to the previous Reg_Empty(r,EXTRA) command. CHANGES FROM 6.01 TO 6.03 ------------------------- {EDIT Menu} The "Format paragraph", "Indent" and "Undent" function were moved to the new {EDIT, Formatting} sub-menu. The functions "Select all" and "Clear markers" are duplicated in the {EDIT} and {BLOCK} menus. (Many new users expect to find them in the {EDIT} menu.) Format Paragraph By default, {EDIT, Formatting, Format paragraph} now starts options on the current line and maintains the current indentation. Set {CONFIG, Word processing, Format from beginning of para} to re-format from the beginning of the paragraph. Set {CONFIG, Word processing, Format from left margin} to change the indentation to the current left margin. To make {EDIT, Formatting, Format paragraph} work exactly as in previous versions of VEDIT, you must set both options. However, most users will prefer the new defaults. Enable word The function {CONFIG, Word processing, Enable word wrap} wrap can now also be accessed from the {EDIT, Formatting} sub-menu and the toolbar. Pad lines to The new {EDIT, Convert, All lines same length} easily makes same length all lines any desired length. It pads shorter lines with spaces; it optionally truncates longer lines. It can [Scan] the file to determine the length of the longest line. The new {USER, Check lines same length} can be used to check that all text lines have the same length. Convert Unicode The new {EDIT, Translate, Unicode to ASCII} converts from to/from ASCII 2-byte Unicode characters to 1-byte ASCII characters. This allows some Unicode files to be edited in VEDIT. Similarly, the "ASCII to Unicode" function converts from ASCII into 2-byte Unicode characters. VEDIT Instance You can now control whether files opened from Explorer or Control the Windows/DOS command prompt start a new instance of VEDIT or are opened in any existing instance of VEDIT. Configured with {CONFIG, Misc, Instance control}. Override it with the -s or -s2 invocation options. Block Search After highlighting a block, a new block search or replace now Option starts by default at the beginning of the block. Previously, if the cursor was in the middle of the block, the new search started at the cursor position. If you prefer to start a block search at the cursor position (within the block), disable "[ ] Beginning-of-File/Block" in the search dialog box. Block Indent The block indenting has been improved and completely follows Windows conventions. If a full line or more is highlighted, it can be indented with and undented with or . (As before, blocks or lines can also be indented and undented with and .) File Selector Each "tab" in the File selector now has a useful right-click context menu. For example, in "Fav" (favorites), you can now right-click and select "Add current file" or "Remove file from list". Tabbar Each "tab" in the Tabbar now has a simple right-click context menu including "Close", "Save" and "Save as". If the mouse hovers over a tab for about one second, the "tooltip" will display the full pathname to the file. Expanded The built-in help has many new topics, including "Opening Built-in Help Files", "ANSI and OEM Characters", "Description of Files", "Converting Files", "Files with Fixed-length Records". The topic "Search and Replace" has been greatly expanded. (Approximately 60 printed pages worth have been added.) Wildfile Improved {MISC, Wildfile wizard}. When performing a search Wizard and replace in many files, you now have a full set of replace options. Language The new VB-BAS.SYN, FORTRAN.SYN, MODULA2.SYN, TEALINFO.SYN Support and TEX.SYN files provide color syntax highlighting for these languages. M2-LT34.SYN, M2-SB22.SYN and M2-SB30 support specific Modula-2 compilers. (Many thanks to Steven Hawkins, Carl Glassberg and Fritz Heberlein for creating these files.) The new LATEX.VCS file provides compiler support for the Miktex compiler. See LATEX.VCS for details. Pattern match The new pattern matching code "|*" matches multiple code |* characters (zero, one or more) on the same line. Therefore, it won't match multiple lines of text the way "|M" will. File-close When a file (buffer) is closed, VEDIT now switches to the buffer switch most-recently-used buffer. Previously, it switched to the next buffer. Keyboard layout has been changed to {FILE, Close}, as is common in changes many other programs. Note that is still assigned to {WINDOW, Close}. is assigned to [ENTER CTRL] which is the same as {EDIT, Insert, Enter Ctrl char}. The alternate hot-key is still . is assigned to {FILE, Save}. is assigned to [VISUAL ESCAPE]. Since has long been assigned to [VISUAL EXIT], should be easier to remember. The previous is still the alternate key. The {TOOLS} menu compiler support hot-keys, e.g. and , are now built into the "Normal" layout. Previously, they were added by the COMPILE.VDM macro, which confused many users (and was very obscure). is now available as a custom hot-key. -w Invocation The "-w" invocation option disables the File Selector on startup. Useful when you want to start with the largest possible editing windows. .MNU Files Files such as USER.MNU and COMPILE.MNU used to create the {USER} and {TOOLS} menus can now contain comments. Note: To prevent future VEDIT updates from overwriting your custom USER.MNU file, place it in the User-Macro directory, e.g. in c:\vedit\user-mac or c:\program files\vedit\user-mac. "|[a,b]" in (Technical) The .SYN syntax highlighting files can use the .SYN files "|[a,b]" pattern matching code to match an optional occurrence of the strings 'a' OR 'b'. See the help topic "Color Syntax Highlighting - Creating your own .SYN file" (DOS: "SYNHI") for details. EBCDIC (Technical) Setting {CONFIG, File handling, File type} to "4" File Type causes VEDIT to recognize characters with hex value 25 as the "newline" character. Useful for editing some EBCDIC text files. The EBCDIC value for "Line-Feed" is 25 (hex). Command Macro Changes --------------------- Buf_Previous Returns the ID number of the previous (open) buffer. It complements Buf_Next. Format_Para(n) New command options BEGIN and FORCE override the configuration options. Format_Para(0) keeps the current indentation. Max(n,m) Returns the greater of the two numeric values 'n' and 'm'. For example, Max(Block_Begin,Block_End) returns the greater block marker. Min(n,m) Returns the lesser of the two numeric values 'n' and 'm'. Process_ID Returns (as a number) the "Process ID" assigned by Windows to the current instance of VEDIT. PID New string value is the "Process ID" assigned by Windows to the current instance of VEDIT. This string can be used in temporary filenames to avoid collisions between multiple instances (running copies) of VEDIT. Used in WILDFILE.VDM.