home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 24 / CD_ASCQ_24_0995.iso / dos / tools / aurora21 / whatsnew.doc < prev    next >
Text File  |  1995-08-10  |  16KB  |  400 lines

  1.  
  2.            ***  Welcome to The Aurora Editor version 2.1!  ***
  3.                   (C) Copyright 1993-1995 nuText Systems
  4.                       All rights reserved worldwide.
  5.  
  6.  
  7. What's New:
  8. ───────────
  9. This file briefly highlights some of the new features available in
  10. Aurora version 2.1. For more detailed information, see the User's Guide,
  11. the AML Language Reference, and the AML Function Reference.
  12.  
  13.  
  14. Aurora version 2.1
  15. ──────────────────
  16. * Aurora now features a new 'Interactive Configuration', in addition to
  17.   the standard .AML configuration files. Dialog boxes have been provided
  18.   for changing most configuration settings interactively within an edit
  19.   session. The new configuration dialog boxes are accessible through the
  20.   'Configuration and Setup' item on the 'Set' menu. Interactive
  21.   configuration settings include:
  22.  
  23.     - Colors                     - Open Options
  24.     - Confirmations              - Print Options
  25.     - Desktop Options            - Prompt Styles
  26.     - Edit Options               - Save Options
  27.     - File Manager Options       - Sort Options
  28.     - Line Delimiters            - Search / Replace Options
  29.     - Margins and Tabs           - Text Reformatting Options
  30.     - Miscellaneous Options      - Video Modes
  31.     - Mouse Options              - Window Styles
  32.  
  33. * The 'Save Configuration' item on the Set menu will now directly update
  34.   source CONFIG.AML and COLOR.AML files with the current configuration
  35.   settings and recompile the editor. Unlike v2.0, changes will not be
  36.   lost when you recompile the editor.
  37.  
  38. * Source code for the new configuration dialog boxes is located in a new
  39.   'CFG' subdirectory, making even the configuration scheme configurable!
  40.   Within this code, custom dialog boxes are created by using new library
  41.   functions (see below). The installation macro (INSTALL.AML) was also
  42.   modified to accomodate the new CFG subdirectory.
  43.  
  44. * The following new AML macros have been added to the macro list (on the
  45.   Macro menu), and to the MACRO subdirectory:
  46.  
  47.     ASCII2.AML   - 2-dimensional ASCII chart
  48.     BOOKLIST.AML - List all bookmarks
  49.     CALEN4.AML   - Four-month calendar
  50.     COMPARE.AML  - Compare two files
  51.     COUNTLIN.AML - Count lines in multiple files
  52.     DLGDEMO.AML  - AML dialog box demo with dialog box controls
  53.     SCRSAVER.AML - AML Screen Saver demo showing how to draw on the screen
  54.     STYLE.AML    - Change the editor keyboard/menu style
  55.     TEMPLATE.AML - Install Template-Editing
  56.     TEMPLATE.DAT - Template data (used by TEMPLATE.AML)
  57.  
  58. * The macro list can now be displayed by pressing <ctrl f12>
  59.  
  60. * Several macros have been rewritten. These macros now take advantage of
  61.   important new macro language features which allow them to run as
  62.   independent, movable, switchable, windows (you can also run multiple
  63.   instances of these macros). The rewritten macros include:
  64.  
  65.     ASCII2.AML    - 2-dimensional ASCII chart
  66.     KEYCODES.AML  - Display various keycodes
  67.     CALCPAD.AML   - Calculator pad
  68.     CLRCHART.AML  - Color chart
  69.     CALENDAR.AML  - One-month Calendar
  70.     CALEN4.AML    - Four-month Calendar
  71.  
  72. * A following new keyboard/menu styles are available at installation.
  73.  
  74.     - Aurora/CUA/Windows
  75.     - MultiEdit
  76.  
  77. * Commands were added to the clipboard menu which allow you to 'Copy To'
  78.   and 'Paste From' the Windows Clipboard (up to 16k bytes). Aurora must
  79.   be running in an MS Windows enhanced mode DOS box to use these
  80.   commands.
  81.  
  82. * The following additional changes were made to the default menus:
  83.  
  84.     Window menu:
  85.       - removed "Style Toggle" (equivalent function is now provided
  86.         from within the 'Configuration and Setup' menu item)
  87.  
  88.     Set menu:
  89.       - added 'Configuration and Setup'
  90.       - 'Word Processing' was relaced with 'Margins and Tabs'
  91.       - 'Binary Line Length' and 'Line Delimiter Options' were replaced
  92.       - with 'Line Delimiter Options'.
  93.       - 'Video Mode' and 'Video Toggle' were removed (equivalent
  94.         function is now provided from within the 'Configuration and
  95.         Setup' menu item)
  96.  
  97.     Macro menu:
  98.       - added 'Show Available Keys..'
  99.       - removed 'Configuration..'
  100.       - removed 'Include Macro'
  101.  
  102. * The new '>' and '<' window style option codes will now allow Edit and
  103.   File Manager titles to be placed within the window border, when the
  104.   border style is not zero. These options can also be changed from the
  105.   'Window Style 1' configuration dialog box.
  106.  
  107. * All online documentation is now 'read/only' when opened through the
  108.   help menus and hotkeys.
  109.  
  110. * A new "Sort Options" dialog box is displayed when entering the
  111.   'sortblock2' (Block Sort) command.
  112.  
  113. * The File Manager will now always show the drive bar, even if the menu
  114.   bar is removed.
  115.  
  116. * New listbox color attributes (71-74) were added to COLOR.AML.
  117.  
  118. * The following changes were made to CONFIG.AML:
  119.  
  120.     - Added the new setting 'FormatOpt', for default text reformatting
  121.       options.
  122.  
  123.     - Added the new setting 'SortOpt', for default block sorting
  124.       options.
  125.  
  126.     - The 'FmgrCtls' and 'EditCtls' settings were removed. South title
  127.       controls are now defined by adding style option 'z' to 'EditStyle'
  128.       and/or 'FmgrStyle'.
  129.  
  130.     - 'ExitOpen' was moved to the Desktop section.
  131.  
  132. * Several changes were made to the keyboard configuration and handling:
  133.  
  134.     - In SYSTEM.AML, the new 'kbdoptions' setting replaces the
  135.       'enchancedkbd' setting. The new keyboard options are:
  136.  
  137.         e = enable enhanced keyboard keys
  138.         g = enable unshifted grey keypad function keys
  139.               (<grey*>, <grey->, <grey+>)
  140.         w = enable shifted white keypad function keys
  141.               (<shift del>, <shift ins>, <shift end>, etc.)
  142.  
  143.       (Numeric keypad users may wish to disable options 'g' or 'w')
  144.  
  145.     - The shifted grey island keys (<shift del>, <shift ins>, etc.) are
  146.       now handled properly, and are no longer interpreted as <del>,
  147.       <ins>, etc. The keyboard configuration files for all editor styles
  148.       were modified to reflect these changes.
  149.  
  150.  
  151.  
  152. Macro Language Additions/Changes in version 2.1:
  153. ────────────────────────────────────────────────
  154.  
  155. Architectural Changes:
  156. ──────────────────────
  157.  
  158. * Global variables are now 'persistent', and will hold their values
  159.   throughout the lifetime of the macro in which they are defined. When
  160.   used within internal macro areas such as KBD.AML, EXT.AML, etc.,
  161.   global variables will hold their values throughout an entire editing
  162.   session.
  163.  
  164. * The 'runmacro' function will now allow pre-existing functions to be
  165.   replaced or 'preempted' throughout the lifetime of the external macro.
  166.   This is accomplished by simply defining a function with the same name
  167.   as the function to be preempted, in the same object as the function to
  168.   be preempted.
  169.  
  170.   This feature allows detailed, temporary modifications to be made to
  171.   existing objects (i.e. detailed changes in editor behavior), without
  172.   adding new objects to the object hierarchy. The modifications will
  173.   disappear when the macro is finished executing, or the temporary
  174.   object associated with 'runmacro' is destroyed.
  175.  
  176.   The new function 'passprev' can be used within the newer preempting
  177.   functions to access the older preempted functions.
  178.  
  179. * The new 'stayresident' function allows external macros executed by
  180.   'runmacro' to remain resident after they are finished executing,
  181.   similar to way the 'includemacro' function works. Functions can be
  182.   defined within the macro which respond to events after 'runmacro'
  183.   returns.
  184.  
  185.   However, unlike macros executed with 'includemacro', these new
  186.   resident macros can also be 'purged' by destroying the temporary
  187.   object automatically created by 'runmacro'.
  188.  
  189.   Using the 'stayresident' function, it is possible to write Aurora
  190.   mini-applications which behave as independent windows on the desktop.
  191.   Macros such as CALCPAD, CALENDAR, CLRCHART, etc. are examples of these
  192.   mini-applications.
  193.  
  194.  
  195. Syntax/Compiler Changes:
  196. ────────────────────────
  197.  
  198. * Objects and functions may now have the same name.
  199.  
  200. * The 'object' statement is no longer permitted within functions or key
  201.   definitions.
  202.  
  203. * A new compiler error code (1318: invalid number) was added.
  204.  
  205. * The following standard backslash control characters can now be entered
  206.   within strings:
  207.  
  208.       \a - alert (beep) character (ASCII 7)
  209.       \b - backspace character (ASCII 8)
  210.       \f - formfeed character (ASCII 12)
  211.       \n - newline (linefeed) character (ASCII 10)
  212.       \r - return character (ASCII 13)
  213.       \t - tab character (ASCII 9)
  214.       \v - vertical tab character (ASCII 11)
  215.       \xHH - any hex character
  216.  
  217. * The following new keywords can now be used instead of the 'end'
  218.   keyword, in their respective language structures:
  219.  
  220.       endcase             endkey
  221.       enddatabuf          endloop
  222.       enddefine           endmenu
  223.       endfunction         endmenubar
  224.       endif               endwhile
  225.  
  226. * The AML compiler generates smaller executable code (A.X in v2.1 is
  227.   about 5k smaller than A.X in v2.0).
  228.  
  229.  
  230. Function Additions/Changes:
  231. ───────────────────────────
  232.  
  233. * A new dialog box interface is now provided by the editor library code
  234.   (LIB.X), enabling you to create custom dialog boxes - see FUNCTION.DOX
  235.   and LANGUAGE.DOX for full details. For examples on how to create and
  236.   use dialog boxes, see the dialog box demo DLGDEMO.AML, and macros in
  237.   the new CFG subdirectory. The new dialog box functions are:
  238.  
  239.     dialog       - creates a main dialog box window
  240.     button       - creates a button control
  241.     field        - creates an edit field control
  242.     listbox      - creates a listbox control
  243.     groupbox     - creates a groupbox control with checkboxes or
  244.                    radio buttons
  245.     setgroupbox  - re-initializes a groupbox
  246.     getdialog    - displays a 'modal' dialog box, and retreives
  247.                    dialog box control values.
  248.     showdialog   - displays a 'modeless' dialog box.
  249.     whenenter    - defines a user-function to be called when <enter>
  250.                    (or equivalent) is pressed from within a dialog
  251.                    box control.
  252.     whenselect   - defines a user-function to be called when an item
  253.                    is selected from within a group box or list box.
  254.  
  255.  
  256. * The following new functions were also added (see FUNCTION.DOX for full
  257.   details):
  258.  
  259.     builtin functions:
  260.       fillrect       // fill a rectangle with a character
  261.       getattr        // get a color attribute from a video window
  262.       geteventcount  // get the number of real events
  263.       getstr         // get a string from a video window
  264.       gotoscreen     // route video functions to the physical screen
  265.       inheritfrom    // change the inheritance path of the current object
  266.       kbdoptions     // set keyboard options
  267.       parse          // parse substrings of a string into variables
  268.       passprev       // call the current function in a preempted object
  269.       stayresident   // force an executable macro to remain resident
  270.       windowflag     // change window flags
  271.  
  272.       comments:
  273.         - gotoscreen enables video functions such as writestr, hilite,
  274.           etc. to write directly to the physical screen.
  275.  
  276.         - parse will extract substrings of a string and place them in
  277.           user variables, with only one function call. The substrings
  278.           are specified with a search pattern, which may be a regular
  279.           expression pattern. This function is very handy for parsing
  280.           almost anything, including compiler output.
  281.  
  282.         - windowflag enables the new events 'ondraw' and 'onstatus' (see
  283.           below), which allow customized drawing of the window and
  284.           status line.
  285.  
  286.  
  287.     library functions:
  288.       askbox         // prompt the user for a string (2-line box)
  289.       askbox1        // prompt the user for a string (1-line box)
  290.       askline        // prompt the user for a string (command-line prompt)
  291.       enter          // enter key (prompt object)
  292.       setmenucurs    // change menu cursor style
  293.  
  294.     extension functions:
  295.       runcfg         // run a macro in the CFG subdirectory (w/prefix CFG)
  296.       runmac         // run a macro in the MACRO subdirectory
  297.       savecfg        // save current config variables and recompile
  298.  
  299.     events:
  300.       ondraw         // called after drawing the window client area
  301.       onkillfocus    // called before before a window loses the focus
  302.       onstatus       // called before drawing the window status line
  303.  
  304.  
  305. * The following functions were removed:
  306.  
  307.     builtin functions:
  308.       enhancedkbd    // replaced by: kbdoptions
  309.       getobjsize     // not needed
  310.       clearwindow    // not needed: the same effect can be achieved with
  311.                         'hilite' and the new 'fillrect' function
  312.  
  313.     library functions:
  314.       togglestyle    // replaced by: runcfg "style"
  315.  
  316.     extension functions:
  317.       saveconfig     // replaced by: savecfg
  318.       includemacro2  // seldom used
  319.       askimacro      // seldom used
  320.       askbinary      // replaced by: runcfg "ldlm"
  321.       askdelim       // replaced by: runcfg "ldlm"
  322.       asktabw        // replaced by: runcfg "marg"
  323.       asktabv        // replaced by: runcfg "marg"
  324.       asklmarg       // replaced by: runcfg "marg"
  325.       askrmarg       // replaced by: runcfg "marg"
  326.       askprint       // replaced by: runcfg "print"
  327.       askprompt      // replaced by: runcfg "prom"
  328.  
  329.  
  330. * The following functions were altered in some way:
  331.  
  332.     builtin functions:
  333.     -----------------
  334.       bufferflag, bufferflag?
  335.         Option 'r' was added to these functions to permit buffers to be
  336.         made 'read-only'.
  337.  
  338.       gotobuf
  339.         gotobuf now returns the previous current buffer.
  340.  
  341.       gotowindow
  342.         gotowindow now returns the previous current window.
  343.  
  344.       hilite
  345.         hilite now advances the cursor in video windows if the height is
  346.         one.
  347.  
  348.       menubar, getmenubar
  349.         Removed the west menubar (menubar 5).
  350.  
  351.       replace
  352.         When using regular expressions, any of the special control
  353.         characters "\a\b\f\n\r\t\v\xHH" can be used in the replace
  354.         string.
  355.  
  356.       say
  357.         say is now a builtin function, and works in any window.
  358.  
  359.       setdisplay
  360.         Added the display option -1, which validates the display so that
  361.         updating will not be performed. This allows you to draw in an
  362.         edit window without the editor immediately overwriting it.
  363.  
  364.       setframe, frame?
  365.         Added new option codes '>' and '<' for north and south
  366.         title-in-border frame options.
  367.  
  368.       usemark
  369.         usemark now returns the previous default markid.
  370.  
  371.  
  372.     library functions:
  373.     -----------------
  374.       msgbox, okbox, shortbox, yncbox
  375.         These functions will now allow message boxes with 2 message
  376.         lines to be displayed when a newline character (\n) is inserted
  377.         in the message string.
  378.  
  379.  
  380.     extension functions:
  381.     -------------------
  382.       ask
  383.         ask is no longer a library function, but is now exposed in
  384.         EXT.AML, allowing you to customize the dialog box appearance
  385.         when using the dialog box prompt style.
  386.  
  387.       onhotkey
  388.         onhotkey now works with any number of leading spaces on popup
  389.         menu items (onhotkey now works correctly on help popup menus).
  390.  
  391.       saveblock2
  392.         Added a new parameter: the filename where the block should be
  393.         saved. You are prompted if the filename is not specified.
  394.  
  395.       writebak
  396.         writebak is no longer a builtin function, but is now exposed in
  397.         EXT.AML. Parameter order has also been changed to resemble the
  398.         'writestr' builtin function.
  399.  
  400.