home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1992 March / Source_Code_CD-ROM_Walnut_Creek_March_1992.iso / usenet / altsrcs / 3 / 3965 / NEWS < prev    next >
Encoding:
Text File  |  1991-09-04  |  6.4 KB  |  176 lines

  1.  
  2. Release 0.1.0 of JOE (Joe's Own Editor):  Note that this program was
  3. previously calles 'E' (which turned out to be the RAND EDITOR and one of the
  4. synonyms for vi) and 'J' (which turned out to be a language and the name of
  5. another UNIX editor).  See below for list of big fixes and new features. 
  6. Find the source for this release in 'alt.sources'
  7.  
  8. FIXES AND NEW FEATURES FOR THIS VERSION
  9.  
  10.     * Left arrow jumping fixed
  11.  
  12.     * No longer touches the IXON IXOFF setting
  13.  
  14.     * Reference to Gnu EMACS removed from the copyright notice :-)
  15.  
  16.     * The patch for Undo and Redo is not needed for this version.
  17.  
  18.     * Name of initialization file changed to '.joerc'
  19.  
  20.     * Versions for ESIX and POSIX now included
  21.       (think you Mike Lijewski for the POSIX driver)
  22.  
  23.     * Users can now customize the help text.  The help text is now placed
  24.       in the initialization file
  25.  
  26.     * A compile option for passing characters with bit 7 set has been
  27.       added.  This is for Iceland
  28.  
  29.     * Added kill line function for the emacs people.  See 'killlin' in
  30.           the .joerc file
  31.  
  32.     * The ioctls TIOCGSIZE and TIOCGWINSZ are used to get the
  33.       screen/window size.  If the window changes size, JOE resizes the
  34.       screen on the next key press
  35.  
  36.     * Prompts and messages wider than the screen width are now handled
  37.       properly
  38.  
  39. =-=-=-=-=-=
  40.  
  41. Release 0.0.0 of 'J' (Joe's Editor):  This release supersedes all previous
  42. versions which lack a release number.  Note that this program was previously
  43. called 'E' but the name has been changed ('E' turns out to be one of the
  44. synonyms for 'vi').  See below for list of bug fixes and new features.  The
  45. 2 following posts contain the source.
  46.  
  47. Introduction
  48.  
  49.     'J' is a small screen editor which was designed to be easy to use for
  50. novice users but also to be powerful and complete enough for experienced
  51. users.  Several elements of its design are unique innovations.  Here is a
  52. copy of the on-line help text to give you a feel for this editor:
  53.  
  54. GO TO              DELETE    MISC      BLOCK    FIND     QUOTE    WINDOW
  55. ^B left  ^F right ^D single ^T  mode   ^KB mark ^KF text `  Ctrl  ^KO split
  56. ^Z word  ^X word  ^W >word  ^R  retype ^KK end  ^L  next ^\ bit-7 ^KI 1 / all
  57. ^A edge  ^E edge  ^O word<  ^KA center ^KC copy ^KL line FILE     ^KP up
  58. ^P up    ^N down  ^J >line  ^KJ format ^KM move EXIT     ^KD save ^KN down
  59. ^U page  ^V page  ^Y line   ^KZ shell  ^KW save ^KX save ^KR read ^KG grow
  60. ^KU top ^KV end   ^K- undo  ^K, indnt< ^KY kill ^C abort/         ^KT shrink
  61. ^G matching ([<{` ^K+ redo  ^K. indnt>             close window  ^KE get file
  62.  
  63. Other relevent features:
  64.  
  65.     * Extremely small - the XENIX version is only 58K
  66.  
  67.     * Help text can be left on while editing
  68.  
  69.     * Key layout designed to eliminate headaches: ^Q and ^S are not used,
  70.       both ^H and DEL are backspace.  Also, each user may customize
  71.       his key layout by modifying a simple initialization file
  72.  
  73.     * Versions for BSD, HPUX and XENIX 386 are included.  A simple tty
  74.       driver is also provided to ease porting to other systems
  75.  
  76.     * Currently only VT100/ANSI terminals are supported.  If the terminal
  77.       has scrolling regions, J uses them.  Has well-tuned interruptable
  78.       screen update algorithm
  79.  
  80.     * Has: autoindent, word-wrap, overtype/insert, picture mode (right-
  81.       arrow makes space past ends of lines), right margin (for paragraph
  82.       formatting and center), and magic tabs (the column number of text
  83.       after tab stops is preserved when inserting and deleting)
  84.  
  85.     * The cursor column doesn't 'jump' when you move between long and
  86.       short lines.  Instead the cursor column only jumps when you try to
  87.       edit in an invalid place or if picture mode is set, the invalid
  88.       place is made real by space filling
  89.  
  90.     * Editor modes can be set depending on file extension
  91.  
  92.     * No line length restrictions.  Binary files can be edited without
  93.       difficulty
  94.  
  95.     * Long lines are truncated, not wrapped (I.E., the screen scrolls to
  96.       the right to get to the truncated parts)
  97.  
  98. FIXES FOR THIS VERSION
  99.  
  100.     * Shell escape lock-ups are fixed
  101.  
  102.     * Paragraph reformat glitch is fixed
  103.  
  104.     * Cursor update screwynesses fixed for picture mode
  105.  
  106.     * Goto next word/Goto previous word/Delete word left and Delete word
  107.       right were made more consistant
  108.  
  109. NEW FEATURES FOR THIS VERSION
  110.  
  111.     * ~ can be used at file name prompts to expand user home directories
  112.  
  113.     * J now has undelete and redelete (you can go backwards and forewards
  114.       through the delete buffer to select which text you want to undelete)
  115.  
  116.     * J now has indent functions.  A marked block can be indented more
  117.       or less. If you use an indent function outside a marked block, the
  118.       lines with the same or greater indent level surrounding the cursor
  119.       are marked
  120.  
  121.     * Right margin was added for paragraph format and center line
  122.  
  123.     * Goto matching parenthasis (or [ { ` < )
  124.  
  125.     * ` was made the quote control character key because ^_ is not easy
  126.       generate on many keyboard.  `` gets `
  127.  
  128.     * tty drivers were rewritten.  This made the screen update faster
  129.       (now the screen update is instantaneous on 20MHz 386s).  Screen
  130.       update preempting also works better
  131.  
  132. THE PLAN
  133.  
  134.     Version 1.0.0 will be a complete rewrite.  It should be done sometime
  135. before january.  These are my goals for it:
  136.  
  137.     * Block oriented software virtual memory support (for less thrashing
  138.       and elimination of file size limits caused by the system's process
  139.       size limit)
  140.  
  141.     * MS-DOS support
  142.  
  143.     * X windows support
  144.  
  145.     * Better integration with UNIX:  J will be able to process text
  146.       through pipes (like vi), will have standard unix regular expressions,
  147.       and will be usable as a 'more' program.
  148.  
  149.     * Will be terminal independant and use termcap and terminfo
  150.  
  151.     * Will have a ASCII/HEX dump display mode
  152.  
  153.     * Will have complete program developement support (save&make, next
  154.       error/previous error, tags file support)
  155.  
  156.     * Will have a much more powerful scrolling algorithm.  I have a
  157.       methode which is simpler and faster than even GNU-EMACS' Gosling
  158.       algorithm
  159.  
  160.     * All of this will require no changes to the basic keyboard layout-
  161.       maybe one more added line of help text for new things
  162.  
  163.     * It will probably have keyboard macros but it won't have much of
  164.       an extension language.  Maybe in version 2.0.0
  165.  
  166.     * I expect all of this not to add more than 30 or 40% to the size
  167.  
  168.         Joseph H. Allen
  169.         28 Dale Lane
  170.         Smithtown, N.Y. 11787
  171.  
  172. /*  rcarter@wpi.wpi.edu */      /* Amazing */             /* Joseph H. Allen */
  173. 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)
  174. +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
  175. ]?a[p+=a[p+=q]=q]=q:0:0;for(;q++-1817;)printf(q%79?"%c":"%c\n"," #"[!a[q-1]]);}
  176.