                           SET's editor "Glaciar P.Moreno I" release
                                 v0.5.4 rev. 1130
                                      by SET

      That's the official distribution of SET's editor v0.5.4
      The editor is Copyrighted by Salvador Eduardo Tropea <set@users.sf.net>.
    (c) 1996-2004 and distributed under the GPL license.
      It's free and you don't need to pay for it. Any kind of donations are
    accepted ;-).

    INDEX:

    0.  IMPORTANT (modifications and fixes in this release and the previous)
    1.  REQUIREMENTS
    2.  INSTALL
    3.  MORE INFO
    4.  MP3 player
    5.  EXAMPLES (SDG, and others)
    6.  LEGAL ISSUE
    7.  KEYBOARD PREFERENCES
    8.  KEYBOARD EXTENDER [DOS version only]
    9.  KEYBOARD FEATURES UNDER X [Linux version only]
    10. DOWNLOAD
    11. MAILING LIST
    12. DONATIONS
    13. THANKS TO

    0. IMPORTANT:

      Starting with "Glaciar Perito Moreno I" release the editor can be used as
    a frontend for GDB on Linux systems. It means you can use SETEdit as
    debugger.
      Starting with "Iguazu II" release the editor changed the mechanism used to
    select a window. In previous versions the Alt+window_number was hardcoded in
    Turbo Vision library. Now this is no longer handled by TV. It have some
    advantages: you can change the key assignment and you can bind keys to select
    as many windows as you want. But it also means you have to have some binding
    in your menu files, if you have a custom menu file please consult the one
    shipped with the editor and copy the new entries in the Window menu.
      Changes in v0.5.4 (for more details read the change.log file):
    [taking last stable release (0.5.2) as reference]
    [66 new things and 40 fixes]

    New [66 things]:

    + Debug [12] --> NEW Functionality for *Linux* <--

    * Dialogs to configure the debug mode (local, remote and running process), the
    command line options for the program, gdb binary, xterm binary, messages
    displayed, etc.
    * Breakpoints, simple ones and advanced options including conditional
    breakpoints, breakpoints at functions, ignore count, etc.
    * Watchpoints, they are data breakpoints.
    * Options to run, continue, step over, trace into, run upto return, etc.
    * Options to stop and kill the program.
    * Thread selection.
    * Evaluate and modify data.
    * Data Window and Satck to browse the memory (very complete and with its own
    menu).
    * Data Watches, like then ones in RHIDE and also with scope.
    * Data Inspectors, used to analyze complex data structures.
    * Disassembler Window, including syntax highlight and allowing to modify the
    registers.
    * Calling stack, with functionality to browse the call chain.

    + Various [15]

    * Alternative project sorting mode.
    * Commands to select any window, now Alt+Key is no longer hardcoded.
    * Sections in the docs to help finding what you need.
    * When asking for word completion if the word at the left looks like Class::
    then the editor looks for the class and offers the members.
    * Enhacements to the "Paste Emacs Mode" and the code to search Emacs
    variables.
    * Now if you don't specify any path to "search files under cursor" the editor
    tries to automagically fills this list using the output of cpp.
    * If the editor fails to find the file under cursor now it also looks for it
    in the project and the current directory.
    * Some rudimentary $(VARIABLE) expansion to the "File under cursor" files
    list.
    * A button to recompute window numbers in the list of windows.
    * "File open" dialogs remmembers its size and position.
    * Non interactive versions of the cmcExpandAllTabs and cmcCompactBuffer
    commands to be used from sLisp.
    * Two new commands: cmeGPushCursorPos and cmeGPopCursorPos. They are "global
    push/pop cursor pos". So they also remmember the file.
    * Options to zoom the editor windows when inserted in the desktop.
    * An option to regenerate the central tags file. Used to workaround ctags bug.
    * Modified behavior of the paste operation in input lines: Now the text is
    pasted without destroying the previous value (unless it is selected).

    + Menu files [4]

    * Context sensitive menues. Also extended the .smn file language to create
    such a thing. Currently used only for the data window and the help.
    * The conditionals in menu files can use the TV driver, CPU, OS, etc. for
    conditions.
    * More variables to check: MP3, PCRE, BZIP2, MIXER and UNIX.
    * $define and $undef and its expansion.

    + Compilation [2]

    * The posibility to override the "install" command in makefiles.
    * Unified compilation mechanism for BC++.

    + sLisp [9]

    * FindString, FindAgain, ReplaceString and ReplaceAgain for searches.
    * SelectWindowNumber used to change the focused window.
    * GetCurWindowNumber and GetMaxWindowNumber.
    * You can bind small portions of sLisp code to keys and menu entries.
    * KeyBindings and BindKey commands. With them you can change key bindings
    from sLisp.
    * prex to perform Perl regular expressions searches.
    * GetSystemInfo to know the current OS, TV driver, CPU, etc.
    * More macros examples.
    * Now you can send cme* commands.

    + Syntax highlight and pmacros [8]

    * Flat Assembler syntax.
    * Ruby syntax.
    * SPARC assembler syntax.
    * WML syntax and pmacros.
    * Errors parser for Perl.
    * C,H and CPP as valid C extensions as valid for C/C++.
    * HTML extensions as valid for HTML.
    * vbe and vst as VHDL extensions.

    + Cosmetic [16]

    * Project windows are "closed" (hided) when pressing ESC.
    * Windows are opened "zoomed" when the project window isn't visible.
    * When automatically opening a project item now its opened using the relative
    path.
    * Select the closest word when using double click and not the next.
    * History to the "arbitrary indent" and "run command" input lines.
    * To lock the screen while doing a search & replace operation to avoid
    "flashing" when doing a lot of S&R operations.
    * Modified: "Do not purge spaces" option to be "Keep trailing whitespace"
    that's more descriptive.
    * A new color scheme called "Classic Borland"
    * A new color scheme called "Midnight Commander"
    * If the Ctrl+Enter fails to find the file under cursor now that's informed
    in the "status line" of the current editor.
    * Most lists (like functions list) now centers the focused item when a match
    is selected.
    * OS/OS flavor,CPU,Compiler/Compiler flavor and Driver to the about box.
    * Configuration options to disable the calculator and calendar.
    * Now the meassure command reports the result in the status line.
    * A beep when "Run a program" finishes. Option to disable.
    * Busy indicator while we load the tags from disk.

    Fixed [40 things]:

    + Fatal  [4]

    * The "Jump" button in the main window of the class browser.
    * Undo count for the first undo wasn't initialized. Unknown consequence.
    * Corrupted MP3 files could produce a crash.
    * Abort when doing word completion and the starting word was "bigger" than
    the last tag in the list.

    + Not fatal [17]

    * HTML export: missing body tag.
    * Errors in the conditionals parser for menu files.
    * Undo error when a character replaced a tab (overwrite enabled) and the
    cursor was inside the tab (not at the beggining).
    * Wrong match pair when the cursor was in the middle of a tab and the next
    character matched a pair (highlight in the middle of the tab).
    * No match pair after deleting some text and the cursor goes to a symbol.
    * When searching outside comments and the match was found in the first column
    of a line after a comment it was ignored.
    * When starting a project using a different window size the project window
    could get wrong size and even become outside the screen.
    * When aborting an overwrite (in save as) the name of the window was changed.
    * When pasting using the OS clipboard and the cursor was moved to the end of
    the selection it could go out of screen which is quite annoying.
    * When copying something from the calculator and the paste wasn't enabled
    before entering the calculator then you needed to at least move the cursor
    before you could paste.
    * Use of unitialized undo counter in some rectangular selection operations.
    * The heuristic C/C++ parser to support list of exceptions (function
    throw(...) {body}).
    * Some details in the heuristic C++ functions searcher. They address problems
    with the const and throw() attributes.
    * Various memory leaks.
    * "New" buffers shouldn't be added to the list of closed windows when closed.
    It generated a read out of bounds and a write of unitialized data to disk.
    * The menu files uses nested preprocessor directives but it wasn't supported.
    * cmcCutClipWin command not dis/enabled when selecting text.

    + Compilation [13]

    * Cygwin: Collision between strndup and calculator parser.
    * Some gcc versions needs explicit use of libstdc++ to link C++ and
    internac/getcolors didn't have it.
    * Removed two comments containing non-ASCII chars.
    * Various gcc 3.x compilation issues (including gcc 3.4.1 support).
    * Problems with newer versions of makeinfo.
    * The memcpy usage to be more portable. It worked for all supported targets,
    but now should also work for unsupported targets. Same for malloc/new/new[]
    v.s. free/delete/delete[] calls.
    * Missing va_end and abuse of va_list type. It gave problems for Linux PPC
    targets.
    * Use of "g++" in favor of "gcc -lstdc++".
    * strstr and strchr are declared different in C++ standard (compared to C
    standard). Needed to avoid BC++ compilation problems.
    * Various MSVC compilation issues.
    * --cxx-flags flag was reported as --cpp-flags in the help. Now both are
    valid.
    * Cygwin can execute the "make install" target, but it installed binaries
    without .exe extension.
    * Detection of pcre header for systems where the header is in pcre/pcre.h.
    Red Hat is an example.

    + Linux [3]

    * Code page problems when mixing console use and remote XTerm use.
    * RPM prereq for /sbin/install-info.
    * Problems to create the rpms using Fedora Core 2.

    + Cosmetic [3]

    * Some drawing variables not initialized. Could make the row/col cursor
    appear until a new redraw.
    * Now the cmc*Win (Copy,Cut,Paste) commands are called cmc*OS to reflect
    their real use. The old names remains as aliases.
    * The list for word completion had a wrong vertical size when we had repeated
    tags in the list to choose. Only one was visible but the size was computed
    counting the repetitions.

      For information about older releases and more read the change.log file.

    Note for DOS users:
      %DJDIR% == The content of the enviroment variable %DJDIR%, that's the
      place where you installed djgpp. You don't need to set this variable,
      setting DJGPP is enough.

    1. REQUIREMENTS:

    * PC 386 compatible or superior computer.
    * 2 Mb of memory or more.
    * 2.4 Mb of free disk during installation and about 1.5 Mb once installed.
    * DOS version 5.0 or posterior or any compatible OS (Win '9x, Win 3.1, OS/2,
    MS-DOS, etc.).
    Note: A native windows version is available but is just for testing.
    or
    * Linux with ELF support.
    or
    * FreeBSD, QNX and Solaris are supported but you'll need to compile from
    sources.
    * A VGA card.
    * DJGPP users normally have it.

    2. INSTALL:

      *Important* To use the powered grep you need the grep program installed in
    your system. To use the man page viewer you need the man program installed in
    your system. Both are found in all Linux systems but not in all DOS systems.
      Starting with v0.4.26 the DOS version of the editor is distributed with an
    installer, if you have it just run install.exe and follow the instructions.
    If you only have a .zip or .tar.gz file that contains a lot of files continue
    reading this chapter.
      The following cases are explained:

    A) Installing in DOS for djgpp users.
    B) Installing in DOS for non-djgpp users.
    C) Installing in Linux.

    A) Installing in DOS for djgpp users:
    1) Uncompress the file over your djgpp installation in the same way you did
       with the rest of packages.
    2) If you installed the editor preserving the directory structure you
       won't need to do it so the following is usually optional:
       Add the following to your autoexec.bat:

       SET SET_FILES=c:/djgpp/share/setedit

       Replacing c:/djgpp with the place where you installed djgpp.
       IMPORTANT!! Windows NT (4.0, 2k, XP, etc.) is case sensitive for
       environment variables, avoid defining things like Set_Files.

    B) Installing in DOS for non-djgpp users:
       Attention: If you don't use the installer you must have some basic DOS
       knowledge, including: how to set an environment variable, modify your
       PATH and what is autoexec.bat. If you don't know it use the installer or
       ask a friend.
    1) Uncompress the file in any directory you like preserving the directory
       structure. Examples:

       unzip edi0426b.zip
        or
       pkunzip -d edi0426b.zip
        or
       using WinZip (be careful to preserve the directories)

       For the other sections I'll give examples assuming you uncompressed the
       files in c:/setedit.
    2) If you installed the editor preserving the directory structure you
       won't need to do it so the following is usually optional:
       Add the following to your autoexec.bat:

       SET SET_FILES=c:/setedit/share/setedit

       IMPORTANT!! Windows NT (4.0, 2k, XP, etc.) is case sensitive for
       environment variables, avoid defining things like Set_Files.

       Replacing c:/setedit by the place where you uncompressed the editor.
    3) Add the c:\setedit\bin (don't forget to replace c:/setedit by the name
       you used in 1) to the PATH in autoexec.bat.
       Example:

       PATH=.... <= Line already existent in your autoexec.bat
       SET PATH=c:\setedit\bin;%PATH%

    C) Installing in Linux:
    1) Uncompress the files in /tmp and run ./INSTALL_LINUX. If you want to setup
       the destination directory read the INSTALL_LINUX script. You'll need the
       make tool to run it, that's usually installed.
       Also: the script contains useful information about access rights needed
       to run the editor.
    2) If you installed the editor in /usr or /usr/local the following is
       optional:

       Define the following environment variable (bash syntax):

       export SET_FILES="/usr/share/setedit"

       Replacing /usr by the prefix you used, example: prefix /opt then the
       editor is in /opt/bin and you must define:

       export SET_FILES="/opt/share/setedit"
    3) Be sure the directory where setedit binary file is located is included in
       your PATH environment variable.

    Note for bash users: the file where (2) and (3) should be defined is normally
    called .bash_profile or .bashrc in your home directory.

    3. MORE INFO:

      From v0.4.0 the editor doesn't need external files to configure the
    keyboard so forget about the old xxx.txt files used in RHIDE 1.4.
      You will need to customize the colors from Various|Options|Colors, the ones
    used by default aren't pretty.
      To save the default colors and settings go to the %SET_FILES% (examples:
    c:/setedit/share/setedit, c:/djgpp/share/setedir, /usr/share/setedit)
    directory, start the editor and set all the options (colors and settings
    with Alt-G). Just exit and the editor will save a file called tcedit.dst.
    Each time you start the editor in a directory where there isn't any *.dst
    file the editor will load this default. Linux users that doesn't have write
    access to the /usr tree can create a default in their home directory. In
    this case the file should be created in ~/.setedit directory.
      Users that want to have only one tcedit.dst file, and not one in each
    directory, must configure it in Tool&Ops|Options|Editor General.
      If you are annoyed with the back-up files and .dst files created by the
    editor in all the places just exit with Alt+Q and the editor will delete
    these files. Also see the options available in Tool&Ops|Options|Editor
    General.

    4. MP3: [Only in the DOS, Linux and Solaris versions]

      Linux users doesn't need to configure any special thing.
      DOS users:
      The editor supports the Allegro mixing routines with 16 bits of resolution
    (I contributed it to the Allegro project because I needed it for the editor).
      If you want to enable it create a file called allegro.cfg with the following
    contents:

    -------- cut here --------
    [sound]
    sb_freq = 45454
    quality = 1
    -------- cut here --------

      Put the file in the same directory where the editor is located.
      It will enable the 16 bits routines and mix with the maximun mixing
    frequency.
      Enable it only if you are a fanatic because it will eat your CPU ;-).

    5. EXAMPLES:

      SDG Example:

      To test the SDG tool you can uncompress the example.zip file in an empty
    directory. Then call the editor with e and follow these steps:

    1) Select the menu Project|Open and type test and enter. You'll get a new
    project.
    2) Press Insert and select the three .cc files pressing enter in each one,
    the press ESC. Now you have the project filled.
    3) Select Various|Options|SDG Options, and take a look to the selected
    options, if you have SET_FILES right all must be Ok, so just press ENTER.
    4) Press F9. The message window will appear with some messages.
    5) Open the file out.html, it was generated when you pressed F9 (look the
    syntax highlight).

      Load the file with any web browser and look the results. If you like it
    for your code read the sdg.inf file (from the editor, if you don't know how
    press F1 and then Ctrl-H to learn more about the help system).

      sLisp macros examples:

      In addition to the macros included in macros.slp (you can access these
    macros from the Macros|Choose menu option) I included another, more simple,
    examples in a file called examples.slp. It is located in the same directory
    as the rest of the configuration files (/usr/share/setedit,
    c:/djgpp/share/setedit, etc.).

      Turbo Pascal 7, also for other non-gnu compilers:

      Andreas Leidner <leidner@gmx.net> contributed some wrapper to call TPC7
    from the editor and convert the errors into the FSF format so you can jump to
    the function that originated the error from inside of the editor. This
    examples is included in the directory where other .zip files are located
    (contrib/setedit.bin or texts) and is called calltpc7.zip.

    6. LEGAL ISSUE:

      The editor is free software.  It may be used or distributed in any manner
    you wish, as long as you do not violate the GPL license.  You can't remove
    any copyrigth included in the editor and you can't distribute it without any
    of the original files. You will also distribute the sources if you distribute
    the binaries. The GPL license is included in the package so read it before
    distributing the editor.

      The editor comes with ABSOLUTELY NO WARRANTY; excluding any and all implied
    warranties, including warranties of merchantability and fitness for a
    particular purpose.  There is no warranty or representation, either express
    or implied, with respect to this program, its quality, performance,
    merchantability, or fitness for a particular purpose.  The entire risk
    of using this program is with you.  There will be no liability for special,
    incidental, or consequential damages arising out of or resulting from the use
    or modification of this program.

    7. KEYBOARD PREFERENCES

      The keyboard is fully configurable from the Tool&Ops|Options|Keyboard|Key
    assignment menu option. But this configures the keys used only by the editor
    windows. The menu keys are defined in a text file with the .smn extension.
    The file loaded by the editor for this purpose is called menubind.smn. An
    example of how you can alter it to change some stuff is provided and called
    redmond.smn, I think you can guess what's the effect of this menu
    configuration ;-).
      If you used the installer one of the options offered was about changing
    redmond.smn by menubind.smn.

    8. KEYBOARD EXTENDER [DOS version only]

      In the contrib/setedit directory you'll find a small program called kextend
    that's a very simple TSR (only needs 432 bytes of memory in my system) to
    extend the BIOS functionallity.

    9.  KEYBOARD FEATURES UNDER X [Linux/UNIX version only]

      Currently the editor runs as a native X11 application. It means the
    keyboard is fully supported, even the most bizarre key combinations works.
      Note that some Window Managers reserves some key combinations that are used
    by the editor. I recommend Enlightenment as W.M. it uses complex  keyboard
    combinations and is also configurable so you can change them to avoid
    interference.
      The support for XTerm and Eterm is also very good. I recommend using XTerm
    from XFree86 4.x project. So I recommend using it for remote conections,
    you'll get much better results making telnet to a remote machine using XTerm
    than using the Linux console. If you want to get the best results download
    the Turbo Vision sources (http://tvision.sf.net) and look the examples found
    in the examples directory, they show how to configure XTerm and Eterm to get
    even better results.

    10. DOWNLOAD:

     All the OSs:
     Stable and beta releases, mailing list, cvs, etc.:
     http://setedit.sourceforge.net/

     DOS: (only stable releases)
     Any Simtelnet mirror, example:
     ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2apps/edi*.zip

     Linux:
     The Linux tarballs can be found in Source Forge.

     Debian GNU/Linux: (only stable releases)
     A repository is maintained by Ivan in Source Forge.
     To access the repository, just add the following line to your
    /etc/apt/sources.list:

    deb http://setedit.sourceforge.net/debian woody main

     That's for the Woody version of Debian, you should substitute "woody" by the
    name of your distribution or by the synonym "stable".

     Note that Ivan will upload stable editor releases. For betas look in the
    Source Forge pages.

    11. MAILING LIST

     To subscribe visit:
     http://lists.sourceforge.net/mailman/listinfo/setedit-users
     I moved the old list at topica to Source Forge.

    12. DONATIONS:

      If you really like the editor and/or the SET's Documentation Generator
    included on it you can send me anything as feedback.
      If you want to send money I'll be happy, but if you don't have it and
    want to show your gratitude you can send me a postal card from your city
    or some of the things I collect (train tickets, cigarette envelopes and
    boxes, stamps, old money and coins).
      For more information about how to contact me press F1 in the editor, select
    "Introduction" and then select "About the author".

    13. THANKS TO (random order):

      Ivan Baldo: My Debian packager and friend.
      Molnar Laszlo: He reported a lot of the fixed bugs and sugested a lot of
    things that I added in the first releases of the 0.4.x serie.
      Grzegorz Adam Hankiewicz: Another tester and source of bug reports and
    good ideas to add to the editor.
      José Angel Sanchez Caso: For contributing a lot of code to make TV
    working in other UNIX platforms, not just Linux. I didn't yet incorporated
    all the things he sent me.
      Vadim Belodorov: For contributing the first port of TV to Win32.
      Anatoli Soltan: For porting to Win32 using BC++.
      Alexander Bokovoy: For the information on the russian code pages.
      Marek Habersack & Martijn Versteegh: For sugestions about the mode that
    doesn't create .dst files in all the dirs.
      Robert Hoehne: For starting RHIDE project and porting TV to djgpp, it
    made me start this project.
      The FSF and GNU people for such a good tools.
      DJ Delorie and colaborators for porting it to DOS.
      Shawn Hargreaves: For Allegro, the best gaming library. I use the sound
    engine from Allegro.
      Tomislav Uzelac: For AMP the MP3 engine.
      Ove Kaaven: For LibAmp, an adaptation of AMP to Allegro.
      Julian R. Seward: For the bzip2 library.
      Jean-loup Gailly and Mark Adler: For the zlib.
      Bjorn Reese: For a lot of ideas about the stack debugger for UNIX.
      The University of Cambridge: For the Perl Regular expressions package.
      The University of California, Berkeley and its contributors: after all I
    used your malloc upto v0.4.23, and perhaps I still using some libc function
    from Berkeley.

    SET