CRISP Release 1.9
Paul Fox
fox at marlow.uucp
Thu May 18 09:41:48 AEST 1989
This is just an ad hoc notice to say that I will be posting a new release
of CRISP (the editor if you dont know) in the next two or three weeks.
I've made lots of tidying ups and fixed a lot of bugs. You will
find below the ChangeLog describing all the fixes that have been made.
The only thing thats holding me up now is proof reading the documentation.
I shall be attempting to post to comp.sources.misc.
What I am requesting of you people out there is if you have any
bugs/annoyances/features which you would like to see fixed in
the next release, and that bug/features doesnt appear below, then
please e-mail me, otherwise you wont get your favourite bug fixed :-).
Also, if any of you have any tty-*.m files which you would like incorporated
into the standard release, then I suggest posting them to me, cos I've
had to change one or two minor things, and you can either make the
changes yourself when the time comes or let me do it for you and
everyone else.
Many thanks for your patience.
Hit 'n' now if you are not interested in the list of changes.
Changes since version 1.8
1. Added new keyword (set_buffer_modified) so that things like
GREP buffer dont get autosaved.
2. Fixed bug in clock.c which could cause us to do an alarm
call with a silly argument.
3. Fixed display bug caused when line number caching got screwed up.
4. Implemented redo facility to undo an undo.
5. Fixed bug in handling of regions in MK_NORMAL and MK_NONINC mode
where it would delete/copy the wrong area of the buffer.
6. Fixed bug in region handling code which could cause a core dump if
cursor was on the non-existant last line of a buffer and a cut/copy
was executed.
7. Fixed bug in assign_to_key which caused a core-dump if trying to
assign a quote-list to a non-internal key sequence.
8. Added support for SIGWINCH. Implementation may be buggy - especially
if you make window so small that some windows disappear off screen.
Also you shouldn't resize window whilst a macro is executing.
9. Added support for termcap 'is' and 'rs' sequences - init sequence and
reset sequence. Why are these in termcap if we already have ti and te ?
10. CRISP.Inst now a portable Bourne-Shell script rather than csh.
11. Fixed bug in termcap code which caused it to truncate a termcap
entry if entry was split over a buffer boundary.
12. Fixed bug which caused problems when translate pattern was '$' or '>'.
13. Borderless windows now work properly - although not as they do in
BRIEF. BRIEF's color scheme is awful.
14. Added new primitive (set_display_chars) which allows user to
define how control characters are displayed on screen - especially
useful for EDT emulation (ie ^L displays as <FF>).
15. Fixed bug in undo code to stop Undone being printed twice when
undoing scrap buffer.
16. Added real pty support in addition to pipes.
17. Added optimisation to display update code to use delete to eol if
possible.
18. Modified makefile mechanism to use GNU style m-* and s-* files
to make it easier for potential porters to understand what things
might need specifying.
19. Fixed bug which causes core dump if you are in overwrite mode
and hit <CR> and try to insert at beginning of newline.
20. Totally reorganised internal color coding scheme to support
4-bit colors for foreground and background.
21. Fixed bug in termcap.c which interprets %+ incorrectly. (Fix supplied
by john at hcrvax.uucp)
22. Removed (set_buffer_modified) primitive and replaced with
(set_buffer_flags) primitive to be more generic.
23. Keyboard driver now can handle select(). This means that on
systems with a real select() call, it wont poll the pty's every
second in an attempt to simulate it. On systems that done
support select(), it does it the old way.
24. Fixed bug in overlapping windows code. If a window behind the
current window updates (eg becos of pty activity), then current
window isn't obscured. This isn't foolproof at the moment, I
believe. The window chain is sorted in order of creation, on the
basis that newly created windows will tend to sit on top of
older windows. If someone writes a macro to pop up a background window
then the window order wont be updated and so obscureness will occur.
I'll fix this when/if I manage to get around to the overlapping
window manager.
25. Added yet another display optimisation for <Alt-D>, ie delete_line.
26. Fixed bug in file-readin code (lreadin_file) which caused crisp to
run out of memory when a file with a line longer than CHUNK_SIZE
(20K) was read in. Still doesn't handle lines longer than size u_int16.
27. Added new registered macro type (9) to handle segmentation violations
and make a possibly futile attempt at saving modified buffers.
28. Modified load_macro code so that we dont look in '.' first for a macro --
'.' must be in BPATH in order to have effect. This avoids a lot
of excess calls to stat() on startup.
Modified default BPATH in unix.c to take this into account.
29. Made macro table into a splay tree to try and boost startup
performance. Also modified code in language.c to avoid doing
two calls to stat() and fstat() for .cm files.
30. Added BRIEF-OS/2 feature to (dos) and (shell) to support a completion
routine to be called when a sub-shell dies.
31. Fixed bug file readin code where we forgot to tell user
what's happening when things get slow.
32. Fixed bug in (index "ABC" "") - should return 4 - not 1.
33. Fixed bug in display code which causes first part of top title line
to come out in wrong color after an exit from a sub-shell.
34. Added full 43-line mode EGA support for Unix V.3.2.
Plus added (ega) primitive to dynamically switch sizes.
35. Added ability to record macro sequences for keyboard macros so they
can be modified and made into proper macros.
36. Made SysV version of crisp not clear terminal input buffer on
startup. (Its very annoying when it takes time to start up).
37. Added BRIEF OS/2 #include <..> and #include ".." directives.
38. Fixed display bug which caused title bar of a window to not be
cleared when window killed. (in delete_edge code when <Up> was last
key pressed).
39. Moved tcopy_string() out of termcap.c into tty.c. This makes it
easier for people to use their own native termcap library by not
linking in termcap.c and by adding -ltermcap to the LIBS line in the
Makefile.
40. Changed the hardcoded escape sequences in putpad() to use SO, SE and
MD. Currently dont support the other attributes like italic and
underlining.
41. Added putenv.c to foxlib directory.
42. Fixed bug in tcopy_string() which stopped you having ':' characters
in your escape sequence definitions in the tty-*.m files. (Thanks edf).
43. Modified search_fwd and search_back macros to support BRIEF-OS/2 return
values - ie length of matched string.
44. Added new macro primitive (re_syntax) which allows the user to
control whether Unix or BRIEF/CRISP like regular expression syntax
is to be used.
45. Display of time on bottom line no longer has hardcoded escape sequences
in it - instead it makes use of 'mb' and 'me' termcap codes.
This means the pt_0m phys term attribute is no longer required.
46. Fixed bug in insert-line code which didnt bother to update marked
area if end of marked region was after current cursor.
Macros
======
1. Fixed bug in word-left macro which caused it to go back
to start of PREVIOUS word when on second character of a word.
2. Added a trivial EDT emulator.
3. Mail macros now support ability to reply to mail.
4. Added an mtags macro for creating a tags file for .m files.
5. Added h-format_block macro which treats .h files same as .c files
for ^F.
6. Modified makeman.m to use env variable BHELP. Also added support
for -mm, -me and -ms nroff/troff macros.
7. Added Command Summary option to help. Currently maps onto the old
key_list macro.
8. <Alt-N> and <Alt-P> now display full file name on status line.
9. Added core.m which gets loaded when CRISP suffers a segmentation
violation in an attempt to save any modified buffers.
10. Modified options macro (Screen & Status) option to allow user to
toggle 25 & 43 line modes.
11. Fixed references to non-existant macros in ansi.m and tty.m.
12. Moved all tty files into tty subdirectory.
13. Created new kbd subdirectory. This is for keyboard descriptions -
used by the Command Summary option of the help menus only.
14. Modifed search-fwd, search-back, search-next, search-previous to
hilite the matched pattern on the screen until a key is hit.
15. Modified most macros so that messages which appear at bottom of
windows are now keyboard independent.
--
===================== Reuters Ltd PLC,
Tel: +44 628 891313 x. 212 Westthorpe House,
UUCP: fox%marlow.uucp at idec.stc.co.uk Little Marlow,
Bucks, England SL7 3RQ
More information about the Alt.sources
mailing list