I provide a menu because some sections are large and perhaps you are not
interested in reading all:
. New pre-release available. Code name: "Glaciar Perito Moreno II"
SETEDIT is my best program, I started it around june of 1996. When I
discovered djgpp (read it if you don't know what djgpp is)
one thing that annoyed me was the lack of intuitive tools.
I was a user of Borland products since
1993 and I really missed the BC++ IDE, but soon I found
RHIDE was in your early beta stage, the editor was really dumb, no help
system, no debugger, tons of bugs, etc. So, instead of giving up I started
to help Robert with RHIDE. Very soon I solved the lack of help system with
my InfView class and then I started with something bigger: replacing the old
editor by a new one. I did it using the already existing one so we had
something working pretty soon. My objective was to make an editor as good as
the one found in BC++ 3.1.
Today I'm confident my editor is better than BC++'s one in most of the
fields, here is a list of features:
- DOS or any other OS that can emulate DOS in a decent way.
- GNU/Linux for i386. (The code runs for Alpha, AMD64, ARM, HPPA, Itanium (IA64), PPC and SPARC
but isn't fully tested).
- Win32 (Windows 95, 98, ME, NT 4.0, 2000, XP, etc.) as a native application, not a DOS
- Darwin, FreeBSD, NetBSD and OpenBSD. May be also other BSD flavors.
- Solaris (Tested on a SPARC64 machine and also an x86 machine)
- Wordstar mode (^K-B/^K-K, etc.)
- Using shift key plus any movement
- Rectangular blocks supported, very useful to move/copy/delete columns
- Support for OS native clipboard (Windows clipboard, gpm (Linux) and X11 clipboard and
- Persistent and no persistent selections
- Read/write from/to disk
- Mark a line or word with one keystroke
- "Transparent" selections (you don't lose the highlight) [option]
- Autoindent [option]
- Tab indents/delete unindents [option]
- Block indent/unindent (one space, one tab or a level)
- Intelligent auto indent [option]
- Pairs of braces, brackets, etc.
- Highlighting when you type [option]
- Reporting the position if the pair is outside the screen [option]
- Jump to the matching pair, for a specific or generic case
- Pmacros, typing the first two letters you can expand a text or structure
- Recordable macros
- Small macro language based on Lisp
- Jump in the text:
- Ten easy to access markers to jump
- Jump to a line
- Jump to a function, just place the cursor over the name of a function that's declared in the source and pressing a couple of keys you jump to it
- Jump to any defined symbol using TAGS
- Search and Replace:
- In the text using:
- Normal text or basic, extended or Perl regular expressions
- Case sensitive or not
- Whole words or just part
- Inside the selected text or in the whole document
- From the cursor or for the full scope of the search
- Inside/outside comments
- Normal replace or expanding subexpressions (with $n like in Perl)
- Outside the text:
- Using all the power of grep
- Basic and extended regular expressions
- Case sensitive or not
- Whole words or just part
- Whole line or just part
- In the files of the project or in a list of directories
- You can specify the mask of files to search for
- Recursive search for subdirectories available
- To any symbol definition using TAGS
- Arrow keys, page up, page down, home, end, etc.
- First/last line in the screen
- First/last character in file
- Next/previous word
- First/last character in the selection
- Cursor ever centered [option]
- Scroll window
- Tabs support:
- Adjustable size
- Use tabs in the text or not
- Conversion of tabs into spaces and viceversa
- Optimal fill (fills gaps with tabs) [option]
- Visible tabs [option]
- Move inside or around tabs
- Block toupper/lower
- Number of bytes selected
- Normal, column, line or cross cursor
- Un/comment block
- Intuitive interface using windows and mouse. I use
Turbo Vision for it.
- The state of all windows is remembered
- Configurable keyboard
- Configurable menus
- You can run external programs pressing a key or using the menu
- Projects to group files with some common criteria
- Documentation generator
- Very fast (and yet configurable) syntax highlight for:
- 4DOS batch files
- 80x86 assembler (AT&T syntax)
- 80x86 assembler (Intel syntax)
- 8x51 assembler
- Cascading Style Sheets version 2
- Clipper 5.x
- Command Line Errors File
- Environment files
- Flat assembler
- Internationalization files (.po)
- Java Script
- Menu files [config. file of the editor]
- Modula 2
- Netwide Assembler (NASM)
- Objetive C
- PDP11 assembler
- PIC assembler (Microchip)
- PMacros files [config. file of the editor]
- SDG format files [config. file of the editor]
- sLisp macros [config. file of the editor]
- SPARC assembler
- The syntax highlight file itself [config. file of the editor]
- Turbo Vision configuration files
- UNIX shell scripts
- Class browser using TAGS
- Word completion using TAGS
- Support for UNIX files for DOS and DOS files for Linux.
- Transparent support for compressed text files (gzip and bzip2 formats)
- Context sensitive help system
- Syntax help system
- Reader for .info help files with many features as bookmark, open more
than one window, search, mouse, etc.
- Code pages support
- Customizable colors
- Customizable palette of colors
- MP3 player!
|Special features only available for DOS|
- Various video modes, including VESA text modes
|Special features only available for Linux|
- Debug interface (using gdb)
- Dialogs to configure the debug mode (local, remote and running process), the
command line options for the program, gdb binary, xterm binary, messages
- 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 Stack 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.
And much more things that I don't remember right now.
The editor is distributed under the GPL
license. It basically means the code is free and you don't need to pay for it
and you are free to change it, but any derived work will become GPL too. Most
of the software available for Linux is distributed under these terms. This
license protects my rights over the code (I hold the copyright) and protects
the users ensuring they are free to use the code. If you plan to use parts or
the whole code of the editor be sure you read the GPL license carefully.
Note that GPL implies a disclaimer of guaranty, so if you must use it in an
enterprise where you need to be able to sue software's authors in case of
direct or indirect problems created by it just forget about the editor. By
the way, I don't know about even one big company (Microsoft included) that doesn't
included a disclaim of guaranty in your license.
Even when you don't need to pay for the editor I accept any kind of help ;-).
The best way to help me is contributing in one of the ways I mention
|OS: Win95, 94x34, font: 8x16. Editors: C and Perl files. ASCII table,
Calculator and Calendar
||OS: Win95, 94x34, font: 8x16. Editors: C, Perl, Environment and Makefile.
See the rectangular and regular selections. Also the visible tabs in the makefile
|OS: Linux, using X11 driver and two different fonts
||OS: Solaris, using X11 driver, this is from one of the first test versions.
|OS: Linux, using X11 driver and a nice Enlightenment theme ;-)
||OS: Linux (Debian), 128x45, 6x12 Fixed Medium font, from an ETerm, and shows a
Perl and a Java source file, and the MP3 menu. Contributed by Mike Conrad.
|OS: Linux, using X11 driver.
Here you can see the editor debugging itself. A watch, an inspector and
the disassembler window are in use.
||More snapshots of the editor running on remote systems. They
are for different systems, something similar to trophies ;-)
Last release is `Glaciar Perito Moreno II' aka 0.5.8.
- Only the most common files are listed here, for a complete list of available files go
to the Source Forge Summary page or click
- Don't be afraid of the version numbers, 0.5.8 is very stable and mature, other people
could name it version 5.8.
All packages are in .tar.gz format and must be compiled using gcc. Note that if you
use a very new version of gcc you'll have to use the last release or the CVS code.
You also need Turbo Vision sources.
I recommend uncompressing both packages in the same directory (i.e. /usr/src).
- Important for binaries:
- Each Linux distribution uses a particular set of libraries so you can't install
a binary compiled for Red Hat 7.3 in a SuSE 8.0 machine. Some times it works
some times it fails.
- Statically linked binaries have more chances but it doesn't mean it will work.
Starting with Turbo Vision 2.0.0 the binary needs X11 libraries and they can't
be linked statically. So I don't distribute 0.5.0 and newer versions statically
- Consider downloading the sources if binaries for your distribution aren't
available. If you can't compile the sources please report it. If you can
generate binaries for your system in RPM, DEB or similar format please consider
contributing them so other people using your system can download it.
- Debian GNU/Linux Jessie 8.0 (AMD64):
- Debian GNU/Linux Wheezy 7.0 (i386):
- Debian GNU/Linux Squeeze 6.0 (i386):
- Debian GNU/Linux Lenny 5.0 (i386):
- Debian GNU/Linux Etch 4.0 (i386):
- Debian GNU/Linux Etch 4.0 (AMD64):
- Debian GNU/Linux Etch 4.0 (SPARC):
- Debian GNU/Linux Sarge 3.1 (i386):
- Debian GNU/Linux Sarge 3.1 (SPARC):
- Debian GNU/Linux Woody 3.0 (i386):
- A Debian repository is maintained by Ivan, you can add the following to your
deb http://setedit.sourceforge.net/debian woody main
That's for Woody, replace woody by potato for Potato.
- Last release Glaciar P. Moreno I (v0.5.4)
(Use with TV 2.0.3)
- Previous release Iguaz˙ I (v0.5.2)
(Use with TV 2.0.2)
- Debian GNU/Linux Woody 3.0 (Alpha):
- This should be considered experimental because it was compiled on a remote
machine and tested only using XTerm.
- Last release Glaciar P. Moreno I (v0.5.4)
(Use with TV 2.0.3)
- Debian GNU/Linux Potato 2.2 (i386):
- Only an old release is available for Potato
- Old release v0.5.0
(Use with TV 2.0.1)
- Debian GNU/Linux Potato 2.2 (Others):
- Only an old release is available for Potato
- Alpha: Last stable in previous series v0.4.54
(Use with TV 1.1.4)
- Power PC: Last stable in previous series v0.4.54
(Use with TV 1.1.4)
- SPARC: Last stable in previous series v0.4.54
(Use with TV 1.1.4)
- Fedora Core 3 (i586):
- Fedora Core 2 (i686):
- Fedora Core 1 (i386):
Rohan Carly reported success installing the Red Hat 7.3 binaries like this:
If I install this C++ library that comes with the distribution:
rpm -i compat-libstdc++-7.3-2.96.118.i386.rpm
... then I can install your RPMS without much trouble:
rpm -i librhtv-2.0.2-3rh73.i386.rpm
rpm -i --nodeps setedit-0.5.2-1rh73.i386.rpm
The --nodeps for setedit is required because it thinks it
/usr/local/install-info is missing. In reality it resides in
- Mandrake/Mandriva 10.0 (i386):
- Mandrake 9.1 (i386):
- Red Hat 9.0 (i386):
- Red Hat 8.0 (i386) [Also look in Red Hat 7.3 section]:
- Red Hat 7.3 (i386):
Note: users reported that these RPMs also works for Red Hat 9.0 without generating dependency problems.
- SuSE 9.1 (i586):
- SuSE 9.0 (i586):
- SuSE 8.2 (i686):
- SuSE 8.1 (i686):
- SuSE 8.0 (i686):
- Ubuntu 6.10 (i386):
All DOS packages are in .zip format and must be compiled using djgpp.
You also need Turbo Vision sources,
uncompress both packages in your djgpp directory. After uncompressing the sources
will be in the contrib directory.
- Binary installer:
The installer is compressed using .zip format. Uncompress it and run the install.exe
program. The installer will ask installation options and optionally create a desktop
shortcut, menu item and modify autoexec.bat.
This is the recommended package for djgpp and no-djgpp users.
- Binary Windows installer:
This package was contributed by William Cullen. It uses the standard
Windows installers to install the DOS version of the editor.
For Windows 2000, XP and similar OSs:
You should try the Win32 version. For this you must download and install the DOS
version first and then get one of the Win32 version binaries and finally
replace the setedit.exe.
It contains the binaries using a layout that matchs other djgpp applications. I
recommend using the installer, but this pacakge is provided in case the installer
fails or you don't like installers. Uncompress it in your djgpp directory like any
other djgpp package.
- IMPORTANT!! To try the Win32 native version you have to install the DOS version and then replace the
setedit.exe executable by one of the available Win32 executables.
- General notes:
This isn't 100% tested but all people that tried it reported good results. I recommend it
for Windows NT (2000, XP, etc.) users. I don't have any Windows XP box and some users
reported strange behavior when using the DOS version.
- Cywin users: Wiktor Wandachowicz wrote a
step by step tutorial explaining how to install the editor
in a Cygwin system.
- From sources:
The editor can be compiled for Win32 using Borland C++ 5.5 free compiler.
To compile the editor you need BC++ 5.5 command line compiler and tools.
The compilation is quite similar to the DOS version, you just need the zip file used
for DOS (and Turbo Vision).
To use it just install the DOS version and replace setedit.exe by this executable.
Note that even when this program looks like the DOS version it is a true Win32 application
and should behave much better under Windows NT, 2000, XP and similars.
|Documentation in other formats|
- PS (Postscript):
- Using CVS tool:
- Check out the TV's CVS:
cvs -d:pserver:firstname.lastname@example.org:/cvsroot/tvision login
cvs -z3 -d:pserver:email@example.com:/cvsroot/tvision co -P tvision
- Check out the editor's CVS:
cvs -d:pserver:firstname.lastname@example.org:/cvsroot/setedit login
cvs -z3 -d:pserver:email@example.com:/cvsroot/setedit co -P setedit
- CVS web: http://setedit.cvs.sourceforge.net/viewvc/setedit/
- Snapshot: See the snap.html page.
For Turbo Vision consult it: http://tvision.sf.net/snap.html page.
There are a lot of ways you can contribute, here are some of them:
- Giving useful bug reports, it means providing a good description of the
bug and how to reproduce it.
- Helping with the documentation. Even when I try to keep the documentation
up to date that's a lot of work and there are a lot of issues not covered
by the documentation. You could just take one of these topics and
investigate about it to then write a small chapter about it.
- Writing examples of use or mini-howtos. I'll be glad to include
them with the editor.
- Helping with the web pages.
- Helping with the distribution, e.g. if you have an internet host or you
can help with the announcements and uploads.
- Packaging the editor. Currently
Ivan Baldo is working with the
Debian packages, perhaps you can do it for other formats or platforms.
- Porting the code to other platforms. Currently the Linux/PPC and Linux/SPARC
are usable. The Linux/Alpha version needs some adjustments (is
corrupting memory). The FreeBSD target is supported but I don't have much
information about it. We are also working to get the editor compiled for
- Helping with the internationalization. Even when my language is spanish
the editor have documentation and messages only in english, it means I
don't even have time to keep up to date the support for my own language.
- Making additions to the code. I really need people writing code. I have
a lot of ideas but I can't code all.
- Sending a post card from your city or some of the things I collect
(train tickets, cigarette envelopes and boxes, stamps, old money and
coins) you'll help to keep my interest in the project.
- Of course I'll accept money from you or any hardware, but I know that's
very hard for most people, specially because I'm in Argentina.
|Comparison between gcc 3 and 2|
If you can choose between gcc 2 and 3 to compile the editor you should consider the
GCC 3.x seems to be better when optimizing for modern CPUs (like AMD Athlon). But the cost
is a huge increase in compilation time.
Debian GNU/Linux v3.1 (Sarge) usually installs gcc 2.95.4 and gcc 3.3.5. That's because
Linux kernels 2.4.x should be compiled using gcc 2 and kernels from the 2.6.x series with
gcc 3. I have such a system and I compiled Turbo Vision
and the editor using both. I found the following:
To reduce the compilation time I tried using the SSC option provided by TV. It notably
reduced the compilation time. The result wasn't as good as using 2.95.4.
- gcc 3.3.5 is much slower compiling C++ code. Mostly because it uses a much more
complex standard C++ library. It is much more ISO C++ 1998 compliant. But I think the
real reason is that gcc is quite bad handling templates and that's the real reason
(ISO C++ 1998 heavily uses templates). I found gcc 3.3.5 can be four times slower than
- The generated code (using -O2) runs notably faster on an Athlon XP CPU. It looks like
the optimizations in 3.3.5 are much better tuned for modern CPUs. The editor performed
about 20% faster when compiled using 3.3.5.
- The size of the code is bigger for the dynamic library (unstripped) and smaller for
the editor itself. The result is quite similar to the size obtained using 2.95.4.
My conclusion is that gcc 3.3.5 can be used for modern CPUs but you must avoid using the
provided C++ library. Note that not all TV applications can be compiled using SSC.
Here are the results, note that the values were computed in a way that "more" always
means "better". Results.
RHIDE is a full IDE (Integrated Development Environment) using Turbo Vision, SETEdit and
InfView and adding: make facilities and interface to the debugger (gdb integrated inside).
You can find more information about RHIDE here:
Lamentably precompiled binaries uses really old versions of my tools and aren't available
for all targets.
If you want to compile RHIDE with the last TV and SETEdit code you'll have to get the code
of RHIDE from a special CVS branch of RHIDE called "for_tvision_2". As Source Forge's CVS
is currently working too slow (hardware problems) I'm generating nightly tarballs for
this branch: http://rhide.sf.net/snapshots/snap.html.
Of course you have to also get Turbo Vision and
SETEdit snapshots (see the download section).
It worked for my system (Debian GNU/Linux Woody) so I hope it will at least help you to
get closer to compile in other systems.
Note 1: I used gdb 5.3 release to create RHIDE binaries. I also used 6.1.
Note 2: Precompiled binaries for DOS are available in the
Source Forge page of the editor.
Note 3: The current release of the editor (Glaciar P, Moreno I) have debug features for Linux.
Copyright © 1999-2010 by Salvador E. Tropea, e-mail: set[at host]users.sf.net.
Is a port of the GNU tools to the DOS environment. The main purpose is bring
the power of the free GNU C/C++ compiler called gcc. You can find more about
it in http://www.delorie.com.
What are tags?
TAGS files are plain text files containing a list of symbols from your source
code. For each symbol the file indicates in which file it's located and how to
find the symbol inside the file. Modern programs also include very important
information like which type of symbol is defined and if this symbol is part of
a bigger construct like a class.
An ilustrated tutorial showing how to use tags in SETEdit is available
Last update: Wed Jul 14 11:06:14 ART 2010