CE - Revision History
ce-1.3.0 (Wed Nov 5 16:23:49 EST 2003)
* re-organized doc files
* added tar dist making to Makefile
* Changed Charles's old license to match his preference for regular BSD
ce-1.2.17 (Tue Apr 30 2003)
* initial freshmeat release
CE (c)1991-95 Charles Henrich Revision History
----------------------------- ----------------
v1.0 First Release, feels rather solid. Many thanks go to Charles
Severance for making some very weird bugs go away.
v1.01 First code fix. Found that the insert & delete lines functions
were very very inefficient. You could not delete more than
10 lines in a reasonable amount of time. Code re-written
v1.02 Bug Fix. Found that the re-written insert/delete lines code
didnt always work. Re-wrote code. Also found that when you
tried to write outside of the maxlines, you would cause a core
dump, or bus error. Added some checking to prevent that
v1.03 Bug Fix. Found that the patched insert/delete lines code was still
bad. Totally ripped it out, and re-wrote it from scratch. Works
1/10 like a charm now. New *BAD* bug discovered, I dont know how to fix
it yet, thats for the next release. Whenever a "weird" control key
is pressed (i.e. Control-= or Numbers/Dashes) the last thing you did
is repeated over and over forever, only thing that can be done is drop
the connection. Added a set left column feature, for those poor
Fortran programmers. Also did extensive code checking for attempts
at writing outside the MAXLINE area. Finally added code so that you
*cannot* ever move the cursor outside of the MAXLINE area. This
required a few additions to the curses.c file. Hopefully nothing
broke! I vow no more features until all bugs are squashed.
v1.04 YABF! Found that damn bug that was making the thing go into an
endless loop. Seems I wasnt checking for characters that *dont*
1/13 exist. That is, characters from ASCII 28-31 (or some such)
Anyhow, its caught, and the damn bug is squashed. I felt it this
achievement warrented a new version number! :) NO MORE.....
I hope almost *Everything* is fixed. *groan*
v1.05 Briggs1 Fix for that wonderful AT&T 3b2. I had the hangup signal
set to be ignored, now it will run the hangup() function, which
1/16 creates a file cefile.hang of whatever you were editing when you
disconnect. Also it does a exit(-5) to exit the editor nicely.
On the 3b2 when you disconnect, for some bizarre reason it would
leave the editor hanging in ram. The next person to login on that
tty would get (while they are typing at the login: !!) eaither
dumped into CE, or help files, and other data from a previous edit
would be displayed, along with garbage. Only recourse would be to
disconnect and try again. I still have no idea what caused this very
weird behavior, in response I added some specific hangup code which
will save the current edit into the file cefile.hang, as well as exit
Cleanly... It seems to work now...
v1.05 Beta Designation given. Few more tiny bugs fixed. Will be Beta until
Beta I have one month of NO bug fixes.
v1.1 Beta In a coding frenzy I added almost all items on my ce.todo list
Several functions have changed, so be sure to look at the file
ce.functions. I added cut & paste abilities, read another file
3/2/92 into current document, Search for string, and all sorts of other
'little' things. I tested all additions, and they seem to be
solid, but we all know how those bugs love to hide.
v1.1a Beta Added a bunch of "little" things, as well as cleaned up code from
v1.1 that didnt work properly. Things now are looking almost
complete, one final thing, I need to teach CE to check what kind
of file it is, before it goes and happily edits it.
v1.1b Beta Made bunches of changes from the last entry. Altered cut &
paste to behave more like a normal word processor with high-
4/6/92 lighting and such. I still dont quite like tha manner in which
it works, a re-write of all the marking code will bounce the v#
up. Added code to limit CE's behavior to only 79 columns with
a newline after each line. -80 on the command line. Possibly
useful for people editing email, and/or beginning fortran/c
programmers who dont know enough to use the arrow/return key
to move to the next line. I also added a seperate save routine
and pulled all that code out from the rest of the program. A
scrollup/down routine was added, and that code too was removed
from the rest of the code. Hard-Coded 80 column dependancies were
removed as well. Lines that have more than 80 columsn, with a
blank in the 80th column, will display a > instead of that space.
When porting code back to the AT&T 3b2, had to write strstr
and index functions. Code was succesfully compiled on a
Convex, Sun Sparc ELC, NeXT, and the infamous AT&T 3b2.
Added a function to display the StatusLine, also added three
variables, STATUSMSG, VERSION, STATUSMODE, that depict what
the statusline will show. Removed all code that displayed the
statusline directly. Also removed all code that did any direct
screenwrite's from cemain.c Used the RedrawLine function instead.
v1.1c Beta Improved the manner in which ce re-positions the cursor after a
block copy/move/delete. In doing so created the function gotoline.
5/13/92 It still doesnt work as nice as I would like it too, will look into
it again, when other more important things get squared away.
v1.1d Beta *FIRST PUBLIC RELEASE* Will send it out to the world sometime this
week. Just need to clean up the documentation and instructions a
5/27/92 bit. Keymap files have now been renamed to cekeymap.
and the terminalname function re-written and changed to be
keysetname. Forgot to check file types, added that for this version
as well as changing the format for the command line. Command line
parsing code changed as well. Added support for $HOME/.cerc
(Look at ce.doc for options). Found a very small bug in how CE
handles lines >80. Only a rare set of circumstances would bring
it about. It is now squashed. Documentation updated all so
slightly, man-page created. Licensing information (garbage)
created as well.
v1.1e Beta Added the compiler string to the .cerc file. Cleaned up
readrc to accept whitespace in the .cerc file.
6/03/92 Changed the save and resume editing command, to display a message
while saving, instead of just beeping when done. Status message
displayed when reading in a file is now displayed in status line,
instead of on a clear screen.
v1.1e Beta designation removed. Keymap names have been altered to
.cekm instead of .cekeymap for systems who cannot accomodate
6/24/92 large filenames. STATUSMODE changed to HELP when viewing help.
v1.1f Word Wrap Added, join lines works in a much much better manner.
Small bug in getdata function that in rare circumstances cause a
7/8/92 major error. Code has been re-written, and the bug squashed.
Added an option word_wrap and no_bak_files in .cerc. no_bak_files
causes CE to not create the .bak files. New define available in
ce.h, FORCE_FILENAME, if defined ce will prompt the user for a
filename if one is not entered. Another new define, FORCE_KEYSET,
will make users create a keymap if one isnt defined, if this is not
defined, a pretty message is just printed. Code cleaned up visually
as well as being gone over in great detail by me. Apparently the
Control Z,X and C functions only appeared to work properly, although
they didnt. They have since been fixed. Changed behavior of
a search, now no longer redraws the screen, it instead uses the
function gotoline, making things cleaner. Code has been changed
to do less full screen redraws, in attempt to make CE bearable on
slow connections (i.e. 1200/2400bps). Marking now only re-draws
the screen when it has to, usually it will just re-draw the current
line. Fixed word-wrapping into the proper column.
v1.2 Beta Changed DeleteChar and InsertChar functions into RedrawFromX added.
Created a getstr function to use instead of flipping into non-raw
7/30/92 mode, doing a gets, then going back. Made CE aware of the size of
the statusmsg area on ^V so I dont cause seg faults by writing
larger than 45 chars there.. Made the saving message nicer.
Made CE return a value if there is more characters in the key read
queue. Fixed a annoying bug when you wordwrap then go back and
insert text there, the text that had word-wrapped would re-appear.
Marking has been re-worked. Esc-8 starts the block, you can
then do any functions you normally would. If your cursor moves to
a point before the point in which you began the mark, only the line
that you started the mark on will still be marked. All functions
now work inside marking mode. This required some changes to the
gotoline function to be aware of marking mode. When saving, the
one moment prompt is now replaced with a save completed after a
successful save. Merging two lines has been completely re-written
to ignore leading spaces on the join. Adding block awareness to
the insertlines and deletelines functions, so when you change whats
on the screen, the block start and end change to match what you see
There is a quirk in insert mode however, in that if you move to the
beginning of the last marked line, and hit enter, the line is moved
outside the mark (i.e. the mark isnt updated, will attempt to fix
that at a later date) Added another file cehelp.c that contains
all the help functions. Main routine is show_help. Fairly simple
at this point. Two options added to the command line, as well as
one option in .cerc. In .cerc if you place mini_help 1 in there,
a mini help menu will appear at the bottom of your screen.
Toggleable via esc - m. If on the command line you type
-h (no space) that will be loaded as help. When viewing
that help however, the user can press h to go and see the built in
help. q will exit either help back to the user's docuement. -m on
the command line will toggle the mini menu from its default, or
.cerc setting. Wordwrap now works in insertmode! YAY! Also
stomped a bug in block move that was a result of making the
insertlines and deletelines functions aware of blocking. In the
process of making wordwrap work in insertmode, I broke it
respecting the left column, has been fixed. TAB in insertmode on a
blank line would cause a core dump, has been fixed. Added the
ability to do a block adjust (crude), if you have a block marked,
and you are in insert mode, pressing tab will insert four spaces on
each line that is currently marked, pressing RTAB will delete four
*characters* off the front of each line. Control-E is now aware of
blocks, and will likewise wipe out however many characters you
want from the beginning of each line. CE now remembers your tab
spacing as well as left column settings when you go to reset them.
A new option (ESC - s) has been added which will save all your
current setting into the file ~/.cerc so you dont have to do it
manually. Smooth scrolling has been added for those terminals that
support scrolling regions. Only problem with this, is that if your
terminal is say 42 lines long, but CE thinks its 24, when you exit
CE your terminal will have a scrolling region set at the 24th
line... which can make things funky. I still am not comfortable
with insertmode, not tested enough. A space is now only a space
when it typed inside the body of a line. I.e. a space isnt a space
when its to the right of the last character in the line. The
compiler string has been changed to two shell escapes, the first is
now defined by shell1 in .cerc and the second shell2. They are
executed by F6 and F7 respectivly. CE has been editing itself for
the past three months or so, all the editing has been done entirely
with itself, except for the occasional problem where I core dump on
execution. :) In that case I am forced to pull out VI (blech!) I
need to make CE's backspace move up to the end of the previous line
in the case when people hit backspace at the beginning of the line,
the question also exists, that should backspace at lcol move up to
the end of the prev line or just at col 1? Hoping to have 1.2 be
relased by the beginning of october. I have re-worked wordwrap
again for various reasons, mostly because it just didnt work
reliably. Looks very stable now. Found a few bugs and such,
nothing major and squashed them. Gonna sit tight on this version
for a little while before releasing it, make sure there are no more
nasties laying around. Changed the behavior of block commands, most
of them now only affect the block when you are in marking mode.
I.e. TAB/RTAB/CTRL-E all only effect a block if you are marking,
also added block "awareness" to ^ZXC so they now left, center, or
right justify a block being marked. Changed TAB's and RTAB's
behavior so that they go to every Nth column where N is the tabsize
the user has set. No longer will they just move N spaces to the
right or left. Havent found a bug in a while now, (few days anyhow!
Things are looking quite stable...) Changed control U to allow the
user to lean on the key, and justify the entire docuement. Whenever
It is unable to join the next line with the current one, it just
moves the cursor down to the next line. Found a small problem in
the new justification commands, in that it wouldnt update the very
last line on the display.. fixed. Broke SECURE mode into the three
component parts, to give more flexibility. Changed the statusline
to be inversed, to seperate text from the bar. (Looks nicer too!)
Lotsa little odds and ends, did a little more optimization for
screen drawing... Changed Control-E's default size to 90 columns,
makes a good blast to end of line that way. Control-O's left column
now default to the column your sitting on, makes editing column
based text easier.
v1.2 Beta designation removed today! YAY! Havent made a change in 3
weeks now. As a bonus CE has been running on the MSU student email
10/24/92 system for several weeks now as well without a single problem. I
think its steady, and its time to put it out the door! Its 8:20pm
and im H-A-P-P-I! :)
v1.2.01 Added commandline parameter -L which places the cursor
on that line number when you startup. Good for things like news
10/31/92 editing that fill in headers and such.
v1.2.01a A Bug fix :( Finally found the bug that was causing CE to lose its
scrolling region. Apparently if you entered CE's help, and then
11/01/92 exited, the scrolling area would be all messed up. No wonder I
never noticed, I dont use the help very often! :)
v1.2.02a Added termcap's "ti" "te" support to CE. Ill call it a feature,
even though some might say it is a bugfix. :)
11/01/92
v1.2.02b Fixed a bug, I wasnt stripping the newline/cr characters off of the
filename, if it was entered when ce forces you to give a filename
11/01/92 (if that is defined in)
v1.2.02c Fixed another bug, apparently when I had added documentation to the
one file, I in advertantly moved some code inside an else that was
11/06/92 supposed to be outside. In any case, if you moved a block to a spot
beyond the end of the file, ce would die a horrible death. Who said
documentation was a good thing anyway?!
v1.2.03d Added support to "turn on" the keypad mode of HP's as well as adding
the ability to create a keymap from within CE. The unfortunate side
11/07/92 effect of this will be that many will have to re-create their keymap
files :( In addition I found a rather large bug that would cause
any with a keymap >19 lines to have problems. This has been stomped
v1.2.04e Tab's weren't being properly expanded into spaces when files were
read in, fixed that. Thanks to Steve Fosdick for spending much much
11/09/92 too much time digging through the source with a debugger to find a
problem I had written off as a compiler-optimization error (which it
was, but I should have pursued it with much more persistance).
Needless to say, I am most greatful to Steve for finding this bug,
THANK YOU STEVE! Added support for the keys PageUp PageDown,
Insert, Home and End.
v1.2.04f Fixed the restrictions on filenaming conventions in Ctrl-Y and F3.
No longer switch out of RAW mode in the shell escapes until AFTER
11/15/92 you press return, otherwise on terminals that "switch" screens you
cannot see what the shell escape did!
v1.2.04g When a filesave was unsuccessful, I forgot to go back into raw mode,
fixed.
11/20/92
v1.2.04h With the -l switch to cause the cursor to jump start on a specfic
line, the goto needs to happen *after* the call to set the scrolling
11/24/92 region, on some terminals setting the region moves the cursor to 0,0
Fixed.
v1.2.04i When calling ce with a xterm -e ce for some reason after CE has
successfully saved everything, on the exit() call in CE a SIGHUP was
11/27/92 being generated causing a cefile.hang to appear unnecesarily, fixed
this by putting setting the HUP signal to SIG_IGN right before the
exit call, this is really strange!
v1.2.05i Catch the SIGDANGER signal (AIX POSIX?) and do a immediate file save
to cefile.hang to preserve the user's file if a SIGKILL appears
11/27/92 imminent.
v1.2.06i Moved all the personal ~/.cekm and ~/.cerc files into ~/.ce and
removed the . prefix, i.e. its now ~/.ce/cerc and ~/.ce/cekm.* it
11/28/92 will only take a simple mv command to fix up old users and it just
makes things much cleaner when you have 10 to 15 different keymaps
cluttering your root directory!
v1.2.06j Touched up the manpage. Found a bug in the Join Lines command, that
would only appear when the word that was trying to be appending was
12/04/92 exactly the same length as the space to the right of the line one
was appending from. Needless to say fixed. :)
v1.2.06k I added support for multinational characters in j, and as I did so I
broke the DEL filter. Fixed.
12/22/92
v1.2.07k Thanks to Gert Doering (gert@greenie.gold.sub.org) for supplying
context diffs for SCO Unix. Thats all thats different, no bugs
01/06/93 (Yay!) Thanks again Gert.
v1.2.08k Changed it so when you pressed backspace in the left column it
wrapped up to the previous line.
01/07/93
v1.2.09k When you hit backspace in the left column, in insert mode, it will
move the cursor up to the previous line, as well as joining those
01/24/93 two lines together (as traditional editors do).
v1.2.10k When you hit backspace in the left column in overwrite mode, it now
moves the cursor to the end of the previous line, instead of
01/26/93 sticking it in column 80.
v1.2.11k Move myself into more of a true raw mode, so I can see (and ignore
the CTRL-S and CTRL-Q keys
02/13/93
v1.2.12l When backspacing in the left column in insert mode to join two lines
I now place the cursor to the right of the blank that is inserted
02/13/93 after the join. Also fixed a bug that would position the cursor
incorrectly after a join if their were spaces to the right of the
line being joined to. (And if you understand that, you deserve a
medel! Damnit Jim! Im a programmer not a writer!)
v1.2.13l Thanks to David Schmitt (schmd0@comm.mot.com) for supplying the
neccesary #define's to make ce work on m88k based architectures.
02/14/93
v1.2.13m When I added code to move the cursor to the end of the previous
line when backspacing, I forgot to check to see if the line was
02/18/93 NULL.. Caused a segfault in those situations, fixed.
v1.2.13n Found a bug (cant believe I missed this) that when someone entered
exactly COLUMNS characters with no white space, it would allow the
06/26/93 user to overwrite the line buffer, instant death, fixed in any case.
v1.2.14n Added the ability to abort any input operation by pressing ESC
12/29/93
v1.2.14o Fixed a bug where a save will report success if the file was
opened correctly, but the data not written out.
02/17/94
v1.2.15o Made two tiny changes that will alter the effects of pressing TAB,
and using the ctrl-E functions on marked blocks of text. Now
08/13/94 whenever you use these features they begin the operation starting
with the set left column, instead of always position 0. This allows
folks to move columns of text around much easier. Unfortunatly due
to the rendering code in CE, it would take considerably more work to
make blocked text only become inversed with the left column, so I
chose to leave it as is for the time being.
v1.2.15p Fixed a problem where I was allowing a user to map ESC to a sequence
which would lock out everything. It now just interprets it as a
09/14/94 nothing more or less during the keysetting routines.
v1.2.15q .bak file creation could, in some cases (over quota) fail, causing
the user to lose not only the current edit, but also the backup.
12/17/94 This was changed to accomodate that situation, there should always
be a valid .bak file available now.
v1.2.15r Didnt catch the case when a connection is closed placing an EOF in
the input stream, causing CE to spin wildly. Should exit cleanly,
01/11/95 saving the contents of the file in ce.hang. Fixed a bug with
keymap creation, im an idiot and changed something I shouldnt have
in the last release!
v1.2.16 Updates in the manpage
12/10/01 Nothing major
v1.2.17 Changed default message to F1 for save and updated the version
04/26/02 variable; ce.solaris is a solaris binary
home |
atlanta |
pkd |
fusion |
recipes |
email