Xref: wupost alt.sources:3883 comp.editors:3693 comp.unix.xenix.sco:4063 alt.religion.emacs:908
Newsgroups: alt.sources,comp.editors,comp.unix.xenix.sco,alt.religion.emacs
Path: wupost!uunet!ftpbox!casbah.acns.nwu.edu!eecs.nwu.edu!matt
From: matt@eecs.nwu.edu (Matt Larson)
Subject: Re: J (Joe's Editor) New Release
Message-ID: <1991Aug22.191606.11699@casbah.acns.nwu.edu>
Sender: news@casbah.acns.nwu.edu (Mr. News)
Nntp-Posting-Host: avalon.eecs.nwu.edu
Reply-To: matt@acns.nwu.edu
Organization: Academic Computing and Network Services, Northwestern University
References:  <1991Aug22.043934.1087@wpi.WPI.EDU>
Date: Thu, 22 Aug 1991 19:16:06 GMT
Lines: 151

Chris,

Did you catch this in alt.sources?  I think that ``e'' is also known
as ``j''.

Matt

In article <1991Aug22.043934.1087@wpi.WPI.EDU>, rcarter@wpi.WPI.EDU (Randolph Carter (nee. Joseph H. Allen)) writes:
|> 
|> 
|> Release 0.0.0 of 'J' (Joe's Editor):  This release supersedes all previous
|> versions which lack a release number.  Note that this program was previously
|> called 'E' but the name has been changed ('E' turns out to be one of the
|> synonyms for 'vi').  See below for list of bug fixes and new features.
|> Find the 3 posts in alt.sources for the source
|> 
|> Introduction
|> 
|> 	'J' is a small screen editor which was designed to be easy to use for
|> novice users but also to be powerful and complete enough for experienced
|> users.  Several elements of its design are unique innovations.  Here is a
|> copy of the on-line help text to give you a feel for this editor:
|> 
|> GO TO              DELETE    MISC      BLOCK    FIND     QUOTE    WINDOW
|> ^B left  ^F right ^D single ^T  mode   ^KB mark ^KF text `  Ctrl  ^KO split
|> ^Z word  ^X word  ^W >word  ^R  retype ^KK end  ^L  next ^\ bit-7 ^KI 1 / all
|> ^A edge  ^E edge  ^O word<  ^KA center ^KC copy ^KL line FILE     ^KP up
|> ^P up    ^N down  ^J >line  ^KJ format ^KM move EXIT     ^KD save ^KN down
|> ^U page  ^V page  ^Y line   ^KZ shell  ^KW save ^KX save ^KR read ^KG grow
|> ^KU top ^KV end   ^K- undo  ^K, indnt< ^KY kill ^C abort/         ^KT shrink
|> ^G matching ([<{` ^K+ redo  ^K. indnt>             close window  ^KE get file
|> 
|> Other relevent features:
|> 
|> 	* Extremely small - the XENIX version is only 58K
|> 
|> 	* Help text can be left on while editing
|> 
|> 	* Key layout designed to eliminate headaches: ^Q and ^S are not used,
|> 	  both ^H and DEL are backspace.  Also, each user may customize
|> 	  his key layout by modifying a simple initialization file
|> 
|> 	* Versions for BSD, HPUX and XENIX 386 are included.  A simple tty
|> 	  driver is also provided to ease porting to other systems
|> 
|> 	* Currently only VT100/ANSI terminals are supported.  If the terminal
|> 	  has scrolling regions, J uses them.  Has well-tuned interruptable
|> 	  screen update algorithm
|> 
|> 	* Has: autoindent, word-wrap, overtype/insert, picture mode (right-
|> 	  arrow makes space past ends of lines), right margin (for paragraph
|> 	  formatting and center), and magic tabs (the column number of text
|> 	  after tab stops is preserved when inserting and deleting)
|> 
|> 	* The cursor column doesn't 'jump' when you move between long and
|> 	  short lines.  Instead the cursor column only jumps when you try to
|> 	  edit in an invalid place or if picture mode is set, the invalid
|> 	  place is made real by space filling
|> 
|> 	* Editor modes can be set depending on file extension
|> 
|> 	* No line length restrictions.  Binary files can be edited without
|> 	  difficulty
|> 
|> 	* Long lines are truncated, not wrapped (I.E., the screen scrolls to
|> 	  the right to get to the truncated parts)
|> 
|> FIXES FOR THIS VERSION
|> 
|> 	* Shell escape lock-ups are fixed
|> 
|> 	* Paragraph reformat glitch is fixed
|> 
|> 	* Cursor update screwynesses fixed for picture mode
|> 
|> 	* Goto next word/Goto previous word/Delete word left and Delete word
|> 	  right were made more consistant
|> 
|> NEW FEATURES FOR THIS VERSION
|> 
|> 	* ~ can be used at file name prompts to expand user home directories
|> 
|> 	* J now has undelete and redelete (you can go backwards and forewards
|> 	  through the delete buffer to select which text you want to undelete)
|> 
|> 	* J now has indent functions.  A marked block can be indented more
|> 	  or less. If you use an indent function outside a marked block, the
|> 	  lines with the same or greater indent level surrounding the cursor
|> 	  are marked
|> 
|> 	* Right margin was added for paragraph format and center line
|> 
|> 	* Goto matching parenthasis (or [ { ` < )
|> 
|> 	* ` was made the quote control character key because ^_ is not easy
|> 	  generate on many keyboard.  `` gets `
|> 
|> 	* tty drivers were rewritten.  This made the screen update faster
|> 	  (now the screen update is instantaneous on 20MHz 386s).  Screen
|> 	  update preempting also works better
|> 
|> THE PLAN
|> 
|> 	Version 1.0.0 will be a complete rewrite.  It should be done sometime
|> before january.  These are my goals for it:
|> 
|> 	* Block oriented software virtual memory support (for less thrashing
|> 	  and elimination of file size limits caused by the system's process
|> 	  size limit)
|> 
|> 	* MS-DOS support
|> 
|> 	* X windows support
|> 
|> 	* Better integration with UNIX:  J will be able to process text
|> 	  through pipes (like vi), will have standard unix regular expressions,
|> 	  and will be usable as a 'more' program.
|> 
|> 	* Will be terminal independant and use termcap and terminfo
|> 
|> 	* Will have a ASCII/HEX dump display mode
|> 
|> 	* Will have complete program developement support (save&make, next
|> 	  error/previous error, tags file support)
|> 
|> 	* Will have a much more powerful scrolling algorithm.  I have a
|> 	  methode which is simpler and faster than even GNU-EMACS' Gosling
|> 	  algorithm
|> 
|> 	* All of this will require no changes to the basic keyboard layout-
|> 	  maybe one more added line of help text for new things
|> 
|> 	* It will probably have keyboard macros but it won't have much of
|> 	  an extension language.  Maybe in version 2.0.0
|> 
|> 	* I expect all of this not to add more than 30 or 40% to the size
|> 
|> 		Joseph H. Allen
|> 		28 Dale Lane
|> 		Smithtown, N.Y. 11787
|> 
|> -- 
|> /*  rcarter@wpi.wpi.edu */      /* Amazing */             /* Joseph H. Allen */
|> int a[1817];main(z,p,q,r){for(p=80;q+p-80;p-=2*a[p])for(z=9;z--;)q=3&(r=time(0)
|> +r*57)/7,q=q?q-1?q-2?1-p%79?-1:0:p%79-77?1:0:p<1659?79:0:p>158?-79:0,q?!a[p+q*2
|> ]?a[p+=a[p+=q]=q]=q:0:0;for(;q++-1817;)printf(q%79?"%c":"%c\n"," #"[!a[q-1]]);}

--
Matt Larson, Distributed Systems Analyst
Academic Computing and Network Services, Northwestern University
matt@acns.nwu.edu   (708) 491-5366
