|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: R T
Length: 6131 (0x17f3) Types: TextFile Names: »README«
└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki └─⟦this⟧ »EUUGD11/euug-87hel/sec1/se/README«
# # $Header: README,v 1.3 86/07/17 17:52:23 arnold Exp $ # # $Log: README,v $ # Revision 1.3 86/07/17 17:52:23 arnold # Fixed some spelling mistakes. # # Revision 1.2 86/07/17 17:19:06 arnold # Removed GT specific stuff, added discussion of window sensitivities. # # Revision 1.1 86/05/06 13:34:09 osadr # Initial revision # # # README: This directory contains the source files for the Unix version of the Georgia Tech Screen Editor "Se". It has three subdirectories which contain things that se needs. Here is a rundown of the various files. Files containing documentation are: README -- this file. se.m4 -- nroff manual page for se (has to be munged to create se.1). scriptse.1 -- nroff manual page for scriptse. The header files are: ascii.h -- definition of ASCII mnemonics and control characters. extern.h -- external data definitions for the screen editor. se.h -- global #define's for the screen editor. constdefs.h -- global constants, also used by files in subdirectories. The C source files are: main.c -- main program and declaration of globals, initialization. edit.c -- main command loop to get and execute commands, file handling. docmd1.c -- command decoder and functions for most commands. docmd2.c -- functions for the rest of the commands. misc.c -- miscellanious functions. scratch.c -- scratch file manipulating functions. screen.c -- routines to keep track of the screen contents. term.c -- routines for changing the terminal. The subdirectories are: libchangetty -- routines to change the terminal driver back and forth. pat -- pattern matching routines. se_h -- contains help scripts for all commands in se. Miscellanious files: where -- shell file to determine System V (R 1 or 2), 4.1, or 4.2 BSD. m4munge -- manipulate output of where for m4 for se man page makefile -- the makefile for make(1). print2 -- inode used by make for printing only changed stuff. scriptse.c -- quick and dirty C program to make scripts for se. scriptse.1 -- manual page for same. Executable files: se -- executable version of the screen editor. scriptse -- the executable version of the script maker. Conditional Compilation flags: The flag HARD_TERMS, if added to the CFLAGS macro in the makefile, will remove the terminal-independent code which uses termlib, and put back the original, terminal-types-hardwired-into-the-program code. The only reason to do this is if se has to run on a system without the termlib package. Using termlib, se is considerably smaller, as well as more flexible. The flag OLD_SCRATCH, if added to the CFLAGS macro in the makefile, will cause se to use the original, linked-list method for keeping track of lines in the buffer. This method is faster for rearranging lines, but considerably slower for simply looking up lines. Currently, se uses the method given in Software Tools in Pascal, which keeps the lines in order in an array. It is slower at rearranging, but as fast as possible for finding lines in the buffer. This version also takes less data and code space. The flag OLD_GLOB, if added to the CFLAGS macro in the makefile, will keep se from special casing commands whose effect is to reverse the order of the lines in the buffer. The special casing code can save an *incredible* amount of time for this pathological case, so it is best to leave things alone. This only applies to the Software Tools in Pascal style line handling. The flag LOG_USAGE, if added to the CFLAGS macro in the makefile, will cause se to write usage "statistics" to a log file, consisting of the login name and time and date when an individual used se. The logfile path name in the log() routine in edit.c should be changed to use a system accounting file somewhere. It currently creates a file in /usr/tmp. The 'where' command creates a file called 'flags', which the makefile cats inside ``s. These define and/or undefine the flags USG for System V, S5R2 if for Release 2, BSD for 4.1 and 4.2, and BSD4_2 for 4.2 specific code. Miscellanious: Code which is dependent on the Berkeley job control stuff is also conditionally compiled in, so that on systems without it, it won't get in the way. Code has been added which should allow se to come up under USG Unix 5.0 (System V). If S5R2 is defined, se will use the terminfo package. Otherwise, it assumes Release 1, and that the BSD termlib package has been ported and is available. There is code in term.c to test if se is running on a system with windows or not. It currently understands the windows on an ATT Unix PC (or 3B1) and the windowing ioctl's in BRL Unix, which should be identical to those in 4.3 BSD. Comments: It is a big piece of software. But, if you 1) read both Software Tools and Software Tools in Pascal (the chapters on editing and pattern matching, if you don't want to read all of the books), and 2) take your time, you should be able to understand, and eventually make changes to it, as necessary. Authors: Se started out as the version of 'ed' that came with the book 'Software Tools', by Kernighan and Plauger, which was written in Ratfor. On the Pr1me computers at the School of Information and Computer Science at Georgia Tech, Dan Forsyth, Perry Flinn, and Alan Akin added all the enhancements suggested in the exercises in the book, and some more of their own. Jack Waugh made extensive modifications to turn it into a screen editor; further work was done by Dan Forsyth. All of this was in an improved Georgia Tech version of Ratfor. Later, Dan Forsyth, then (and now) at Medical Systems Development Corporation, converted the Ratfor version into C, for Berkeley Unix (4.1 BSD). At Georgia Tech, Arnold Robbins took the C version and added many new features and improvements, the most important of which was termcap support and System V support. The existing help screens were edited and completed at that time, as well. This was completed in early 1985. Arnold Robbins is now at ...!gatech!emory!arnold, and will make every reasonable attempt to answer any questions anyone may have about it, but in no way promises to support or enhance 'se'.