home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 4 / FreshFish_May-June1994.bin / bbs / may94 / util / edit / jade.lha / Jade / doc / jade.info-1 (.txt) < prev    next >
GNU Info File  |  1994-04-20  |  51KB  |  1,054 lines

  1. This is Info file jade.info, produced by Makeinfo-1.55 from the input
  2. file jade.texi.
  3.    This is Edition 1, last updated 19 April 1994, of `The Jade Manual',
  4. for Jade, Version 3.0.
  5.    Jade is a text editor for Unix (with X11) and the Amiga.
  6.    Copyright 1993, 1994 John Harper.
  7.    Permission is granted to make and distribute verbatim copies of this
  8. manual provided the copyright notice and this permission notice are
  9. preserved on all copies.
  10.    Permission is granted to copy and distribute modified versions of
  11. this manual under the conditions for verbatim copying, provided that
  12. the entire resulting derived work is distributed under the terms of a
  13. permission notice identical to this one.
  14.    This is so that jade doesn't try to eval the example use.
  15. ::jade-code::
  16. ::end::
  17. File: jade.info,  Node: Top,  Next: Copying,  Prev: (dir),  Up: (dir)
  18.    Jade is a highly flexible text editor for the Unix (with X11) and
  19. Amiga operating systems.
  20.    This is Edition 1 of its documentation, last updated 19 April 1994
  21. for Jade version 3.0.
  22. * Menu:
  23. * Copying::            Distribution conditions
  24. * Introduction::        Brief introduction to Jade
  25. * Systems Supported::        The Operating Systems Jade supports
  26. * Editor Concepts::        Some key ideas you should understand
  27. * Key Definitions::        How keys are described in this manual
  28. * Starting Jade::        How to start the editor
  29. * Using Jade::            Instructions for using the editor
  30. * Programming Jade::        How to extend Jade -- its Lisp system
  31. * Reporting Bugs::        How to contact me
  32. * Function Index::        Menu of all documented functions
  33. * Variable Index::        All variables which have been mentioned
  34. * Key Index::            Menu of all key bindings
  35. * Concept Index::        Main index, references to all sections
  36. File: jade.info,  Node: Copying,  Next: Introduction,  Prev: Top,  Up: Top
  37. Copying
  38. *******
  39.    Jade is distributed under the terms of the GNU General Public
  40. License, this basically means that you can give it to anyone for any
  41. price as long as full source code is included. For the actual legalese
  42. see the file `COPYING' in the distribution. I reserve the right to use
  43. a different license in future releases.
  44.    The only parts of Jade which are not my own work are the regexp
  45. code, this is by Henry Spencer (though I have made some small
  46. modifications) and is distributed under his conditions, and the ARexx
  47. interface in the Amiga version which is based on `MinRexx' by Radical
  48. Eye Software.
  49.    Be aware that there is absolutely NO WARRANTY for this program, you
  50. use it at your own risk. Obviously I hope there are no bugs, but I make
  51. no promises reguarding the reliability of this software.
  52. File: jade.info,  Node: Introduction,  Next: Systems Supported,  Prev: Copying,  Up: Top
  53. Introduction
  54. ************
  55.    Jade is a text editor primarily designed for programmers. It is
  56. easily customised through a Lisp-style extension language and can be
  57. tailored to the user's own requirements.
  58.    Jade is designed to run under a graphical windowing system, systems
  59. currently supported are the Commodore Amiga and the X Window System
  60. version 11 (but only under Unix).
  61.    It is the successor to the editor `Jed 2.10' which I released for the
  62. Amiga in early 1993. I have decided to rename it now that I have made a
  63. Unix version since there is already an editor called `Jed' available
  64. (there is no connection between the two, I haven't even looked at the
  65. other one). "Jade" is an anagram of "A Jed", if you want an acronym you
  66. could use "Just Another Damn Editor", if you can think of anything
  67. better please tell me.
  68.    Jade is compatible with GNU Emacs in terms of keystrokes and command
  69. names to a certain extent but it is not intended as a simple copy of
  70. Emacs (indeed, when I started this I had never actually used Emacs!). I
  71. have tried to take my favourite aspects of all the editors I have used
  72. as well as adding features that I have not found elsewhere.
  73. Consequently, it is very much the editor that *I* want -- you may not
  74. find it so appealing.
  75.    The feature that the most people will dislike is that it doesn't
  76. support "proper" tabs. By this I mean that it expands all tabs to a
  77. sequence of spaces when loading a file, they are not converted back to
  78. tabs until the file is saved back to disk (though this is optional).
  79. File: jade.info,  Node: Systems Supported,  Next: Editor Concepts,  Prev: Introduction,  Up: Top
  80. Requirements
  81. ************
  82.    Jade will only run on certain operating systems, this chapter
  83. details just what it needs as well as some notes relevant to each
  84. system.
  85. * Menu:
  86. * Amiga Jade::
  87. * Unix and X11 Jade ::
  88. File: jade.info,  Node: Amiga Jade,  Next: Unix and X11 Jade,  Up: Systems Supported
  89. Amiga Jade
  90. ==========
  91.    The only real requirement for Jade running on an Amiga is that it
  92. must run an operating system revision of at least V37 (thats V2.04) and
  93. have about 300K free memory available.
  94.    It also needs more stack than the average Amiga application. For
  95. normal use 20K should be okay. If you want to use the Lisp compiler 50K
  96. would be a better bet.
  97.    It assumes that its directory is pointed to by the `JADE:'
  98. assignment.  This means that the main Lisp files are stored in
  99. `JADE:lisp/' and the file of doc-strings is `JADE:DOC-strings'.
  100. File: jade.info,  Node: Unix and X11 Jade,  Prev: Amiga Jade,  Up: Systems Supported
  101. Unix and X11 Jade
  102. =================
  103.    Jade will only run on version 11 of X, it has absolutely no support
  104. for character terminals or different windowing systems. As long as it
  105. compiles it should work on your system.
  106.    One problem you might find is that the BackSpace and Delete keys
  107. don't work properly. As far as I have been able to find out, most X
  108. terminals map both the BackSpace (normally at the top-right of the
  109. alpha-keyboard) and the Delete (normally somewhere above the cursor
  110. keys) keys to the `Delete' keysym. Obviously, since I want these keys
  111. to have different effects (1) this is no good. What I decided to do
  112. about this was two things,
  113.   1. Use `xmodmap' to map the Delete key to the `BackSpace' keysym.
  114.      This may sound backwards but most programs seem to use the
  115.      `Delete' keysym as what I call `BackSpace' so mapping as I
  116.      described doesn't break this.
  117.      To do this, I have the following in my `.Xmodmap' file
  118.           keycode 107 = BackSpace
  119.      Note that the `107' is the Delete key's keycode on *my* keyboard,
  120.      your keyboard may, and probably will, be different.
  121.   2. In the function which binds descriptions of keystrokes to Lisp
  122.      forms, swap the meanings of the `BackSpace' and `Delete' keysyms.
  123.    This means that everything works okay! You can bind to Delete key
  124. and it will work properly.
  125.    ---------- Footnotes ----------
  126.    (1)  BackSpace should rub out the key before the cursor and Delete
  127. should delete the character under the cursor
  128. File: jade.info,  Node: Editor Concepts,  Next: Key Definitions,  Prev: Systems Supported,  Up: Top
  129. Editor Concepts
  130. ***************
  131.    Before I describe the editor in detail there are several concepts
  132. which you should be familiar with. Some will be explained in more
  133. detail later.
  134. "buffer"
  135.      Buffers are used by the editor to store the text that you are
  136.      editing.  Broadly speaking, each buffer holds the contents of one
  137.      text-file loaded into the editor (it is not necessary for each
  138.      buffer to be associated with a file, some buffers exist for other
  139.      purposes for example the `*jade*' buffer is used to interact with
  140.      the Lisp system.
  141. "current buffer"
  142.      The buffer being edited in the current window (see below), most
  143.      editor commands work on this buffer unless told otherwise.
  144. "window"
  145.      Corresponds to a window in the window-system. Each window can
  146.      display one buffer at a single time (although a buffer may be
  147.      displayed in more than one window at once).
  148. "current window"
  149.      Jade always keeps track of which one of its windows is active. It
  150.      is called the current window. Whenever you type a key or press a
  151.      mouse button in one of Jade's windows, that window automatically
  152.      becomes the current window.  Amongst other things, all messages
  153.      from the editor are displayed in the status line of the current
  154.      window.
  155. "cursor"
  156.      The cursor marks your current position in the current buffe