home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
High Voltage Shareware
/
high1.zip
/
high1
/
DIR13
/
XNOT14.ZIP
/
NOTGNU.DOC
< prev
next >
Wrap
Text File
|
1993-10-04
|
62KB
|
1,451 lines
#### #### ### ###### #### #### #### ####
##### #### ### ########## ##### #### #### ####
###### #### #### #### #### ###### #### #### ####
####### #### ###### ######### #### ####### #### #### ####
############ ########## ######### #### ####### ############ #### ####
############ ### ### #### #### ####### ############ #### ####
#### ####### ### ### #### #### #### #### ####### #### ####
#### ###### ### ### #### #### #### #### ###### #### ####
#### ##### ########## ######### ########## #### ##### ##########
#### #### ###### ###### ###### #### #### ######
Version 1.4
October 4, 1993
D O C U M E N T A T I O N
%%%%%%%%%%%%
%%%%############%%%%
%%%%%% %%#### ######## ####%% %%%%%%
%%##%%%% %%#### ############ ####%% %%%%##%%
%%%%%% %%#### ### #### ## ####%% %%%%%%
%%##%% %%########## OO ## OO ########%% %%##%%
%%####%%############ ## ##########%%####%%
%%%%%%##### ##### #### ### ###%%%%%%
%%###### ## ################## ## ####%%
%%########### ########%%
%%############## XXXXXX ##########%%
%%################## ############%%
%%########################################%%
%%########################################%%
%%########################################%%
%%########################################%%
%%######################################%%
%%####################################%%
%%##################################%%
%%################################%%
%%############################%%
%%########################%%
%%%%%%############%%%%%%
%%####%%%%%%%%%%%%####%%
%%####%% %%####%%
%%%%%%%%%% %%%%%%%%%%
%%########%% %%########%%
%%%%%%%%%%%% %%%%%%%%%%%%
________________________________________________________________________
NotGNU 1.4 Copyright (C) 1993 Julie Melbin
Section 1: Table of contents Page 2
------------------------------------------------------------------------
2. Introduction ................................................ 3
3. Upgrades since last release ................................. 4
a) New functions ......................................... 4
b) Changes, Bug fixes .................................... 4
c) NotGNU services ....................................... 4
4. Configuring NotGNU .......................................... 5
a) Window settings: Size, Font, Colors, MenuBar .......... 5
b) Environment variables ................................. 5
c) Startup file: NOTGNU.ST ............................... 6
d) MESHELL.PIF, COMMAND.PIF .............................. 8
e) Using an alternative command interpreter .............. 8
5. Extra features .............................................. 9
a) NotAlarm .............................................. 9
b) NotBoot ............................................... 9
6. NotGNU Operations ........................................... 10
a) Mouse operations ...................................... 10
b) Killing, Yanking, Cutting, Pasting .................... 11
c) Rectangle operations .................................. 11
d) Autocompletion ........................................ 12
e) Minibuffer ............................................ 12
f) Buffer List ........................................... 12
g) dired ................................................. 12
h) query-replace, replace-string, set-case ............... 13
i) undo .................................................. 13
7. Command reference ........................................... 14
a) Some basic Emacs commands ............................ 14
b) Specific NotGNU keys .................................. 18
c) Specific NotGNU functions ............................. 19
8. Limitations and bugs (yuk!) ................................. 24
9. Frequently Asked Questions .................................. 26
10. Services, updates, mailing lists ............................ 28
a) FTP access ............................................ 28
b) NotGNU-request ........................................ 28
c) NotGNU-list ........................................... 29
d) Other lists ........................................... 29
________________________________________________________________________
NotGNU 1.4 Copyright (C) 1993 Julie Melbin
Section 2: Introduction Page 3
------------------------------------------------------------------------
NotGNU - This is not the GNU Emacs Editor. A text editor similar to
GNU emacs but much smaller and lighter. Compare a (quick) economy car
to a mobile home and that's notgnu vs GNU emacs. They'll both get you
where you want to be, with more or less gadgets along the way.
The editor was based on MG2a, which was based on the original Conroy
emacs. Some of the basics remain the same, but I have heavily modified
the code to support the windowing environments, support large files
and Windows/Un*x virtual memory, and to make it's basic editing look
more like GNU, or to add whatever I needed. Your mileage may vary.
I have built it on various Window's (Intel) machines, an Intel NT box,
a DEC RISC (MIPS) Ultrix workstation, a DEC Alpha OSF box, a DEC Alpha
NT box, an INTERACTIVE Unix 486, a SparcStation 10 running Solaris
2.1, and HP-UX 300 and 700 series workstations; It also appears to run
well on LINUX and a few other UN*X machines, but not built by me. If
you want sources to build it for your system, send me mail.
This program is free in binary form; you can redistribute it as long
as you don't charge for it, or include it in a product which is
distributed for profit. I reserve all rights to this software in
source and binary form, and you should not redistribute the source
or otherwise make a profit on this software in any form.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
If you make modifications and/or bugfixes to the source, or just
discover repeatable bugs/problems, please feel obliged to send them
to me. I will maintain and support versions I distribute as time and
money allows.
Please send me mail if you try this editor. I would appreciate any/all
comments.
Please enjoy and find it useful; that's the overall goal. Donations
graciously accepted.
Julie Melbin email: julie@world.std.com
P.O Box 1007
Groton Ma 01450
USA
________________________________________________________________________
NotGNU 1.4 Copyright (C) 1993 Julie Melbin
Section 3: Upgrades since last release Page 4
------------------------------------------------------------------------
The following is a description of the more important changes since
last release, version 1.3~ of September 8, 1993:
3.a) New functions
-------------------
For a more complete description of these functions, refer to
section 7.c.
1) buffer-flush-undo = Clear the undo stack
2) copy-region-to-buffer = Copy region to specified buffer
3) display-filename = Toggle filename display in modeline
4) display-time = Toggle time display in modeline
5) print-file = Guess..
6) print-file-exit = Same as above, then exit
7) set-directory-cols = Single or multiple columns
8) set-select-highlight = Text or background highlight (w/mouse)
9) undo-high-threshold = Same as set-undo-stack-depth
3.b) Changes, bug fixes
------------------------
1) Some 'undo' problems, e.g. after the TAB key, were fixed.
2) DOS version (dnot.exe) now detects screen sizes other than
80x25 on startup. Use set-window-size to change.
3) DOS version (dnot.exe) now has coloring of touched text.
4) DOS version (dnot.exe) now has 'compile' and 'next-error'
5) Windows version (wnot.exe) now uses its own colormap,
rather than the Windows default; change via the application
control menu in the upper left corner.
6) Windows version now uses background highlight by default.
Change with set-select-highlight.
3.c) NotGNU services
---------------------
With this release of NotGNU, a couple of new services are
being made available:
1) NotGNU-list; a mailing list for NotGNU related discussions.
2) NotGNU-request; an automatic service for list maintenance,
program mailing, information, etc.
You are strongly encouraged to check these out; please refer
to section 10 for details.
________________________________________________________________________
NotGNU 1.4 Copyright (C) 1993 Julie Melbin
Section 4: Configuring NotGNU Page 5
------------------------------------------------------------------------
Strictly speaking, it is not necessary to perform any configuration
before running NotGNU. It will operate fairly well with its default
settings, and a sample startup file (NOTGNU.ST) is also included.
Nevertheless, you will probably want to adjust certain things to your
liking as you go along; the following is a description of how to go
about it.
4.a) Window settings: Size, Fonts, Colors, MenuBar
---------------------------------------------------
If you click once on the 'application control menu' item in the
upper left corner after starting NotGNU, you will see that there
are some NotGNU specific items in addition to the standard Windows
ones. Use these to toggle NotGNU's menu bar on and off, select
its font and colors, and to save current settings. If you choose
this last item, the current position and size of the NotGNU window
will also be saved.
NOTE: You should "Save Settings" at an early convenience, to
disable the "Welcome to NotGNU!" message box from appearing every
time you start NotGNU. Also, if you upgrade from an earlier
version, you should specify a color for the new item "Echo Text
Color", and save.
The settings will be saved to the file NOTGNU.INI in your Windows
directory.
4.b) Environment variables
---------------------------
Two environment variables will be interpreted by NotGNU if
present: HOME and MESHELL. HOME should point to a directory where
you have your NOTGNU.ST (and NOTGNU.ALR) file, if different from
the directory of your executable. MESHELL is the shell to invoke
for shell-command and shell-window. For Windows 3/NT, you can
insert the following line in your autoexec.bat:
set MESHELL=%COMSPEC%
If you specify %MESHELL%, also be sure to edit the PIF file
associated with the new shell; see section 4.e) for details.
DOS version uses COMSPEC rather than MESHELL out of historical
reasons. Sorry for inconsistency.
________________________________________________________________________
NotGNU 1.4 Copyright (C) 1993 Julie Melbin
Section 4: Configuring NotGNU (cont.) Page 6
------------------------------------------------------------------------
4.c) Startup file: NOTGNU.ST
-----------------------------
NOTGNU.ST will basically contain commands that you want to be
executed at startup. Most commands that you can execute at
run-time, you can also put into this file.
NOTE this code is not bullet proof, and broken syntax in the file
may still crash the editor.
1) Basic syntax
----------------
The syntax is similar to GNU Emacs. The commands are enclosed
in a pair of parentheses, '(' and ')':
(toggle-just-write-newline)
2) Arguments
-------------
Any arguments should be preceded by the ' character:
(set-window-size '43,80)
3) OS Dependent configuration
------------------------------
A special 'if' statement is available for OS-dependent
configuration:
if OS (command) ; execute command if running under OS
if !OS (command) ; execute command if not running under OS
where OS is one of: DOS, Win3, WinNT, X11 (case sensitive)
One example: if !DOS (global-set-key "\^x`" 'next-error)
4) Comments
-----------
Comments in NOTGNU.ST should be prefixed by a ; (semi-colon).
________________________________________________________________________
NotGNU 1.4 Copyright (C) 1993 Julie Melbin
Section 4: Configuring NotGNU (cont.) Page 7
------------------------------------------------------------------------
5) global-set-key
-----------------
It is also very common to specify keyboard commands in
NOTGNU.ST. Use the following syntax:
(global-set-key "\^x!" 'shell-command) ; C-x !
(global-set-key "\e\^h" 'backward-kill-word) ; M-Backspace.
(global-set-key "\Insert" 'set-mark-command) ; Insert key
The following are legal key names on a PC:
----------------------------------------------------------------
Gray keypad | \Insert, \Delete,
| \Home, \End, \Page-Up, \Page-Down,
| \Up-Arrow, \Down-Arrow,
| \Left-Arrow, \Right-Arrow
|
Ctrl + Gray | \Control-Home, \Control-End,
| \Control-PgUp, \Control-PgDn,
| \Control-Up, \Control-Down,
| \Control-Left, \Control-Right,
| \CBackspace, \CDelete
|
Shift + Gray | \SBackspace, \SDelete
|
Function keys | \F<n>
Shift + F-keys | \FS<n>
Ctrl + F-keys | \FC<n>
Shift + Ctrl + F-keys | \FCS<n>
Alt + F-keys | \FM<n>
|
Keypad characters | \Kp-+, \Kp--, \Kp-*, \Kp-/, \Kp-.,
| \Kp-0 .. \Kp-9
|
Characters | <c>
Ctrl + Character | \^<c>
Alt + Character | \e<c>
|
Esc | \e
Tab | \^i
----------------------------------------------------------------
<n> is 1..10 for the DOS version, and 1..12 for Windows 3 and NT.
<c> is a character
________________________________________________________________________
NotGNU 1.4 Copyright (C) 1993 Julie Melbin
Section 4: Configuring NotGNU (cont.) Page 8
------------------------------------------------------------------------
4.d) MESHELL.PIF, COMMAND.PIF
------------------------------
[Windows 3.x and NT only]
MESHELL.PIF and COMMAND.PIF are sample Windows Program Information
Files (PIF) that NotGNU uses to execute shell-window and
shell-command, respectively. They are similar to _default.pif, but
with increased background priority, execution in background enabled,
exclusive execution enabled, and close window on exit.
It is important that you copy COMMAND.PIF to your Windows
directory if you want background tasks like 'compile' to actually
RUN in the background under Windows 3.x. Failure to do so means
that background jobs will run VERY VERY SLOWLY.
Also note that if your pif file does not define CloseWindow on
EXIT, then NotGNU can not tell when the spawned task is complete!
(This code is under repair so apps that don't even start a window
can be monitored; stay tuned..)
4.e) Using an alternative command interpreter
----------------------------------------------
If you have specified the %MESHELL% environment variable,
MESHELL.PIF and COMMAND.PIF will not be used. Instead, execution
parameters for BOTH shell-command and shell-window will be read
from the PIF file that corresponds to the specification in this
variable. Suppose, for instance, that %MESHELL% points to
c:\dos\4dos\4dos.com. You would then have to edit the file
c:\dos\4dos\4dos.pif, so that the following are specified
(Use the Windows PIF editor):
Advanced->Background priority: 90 or more
Execution in background : Yes
Execution exclusive : Yes
Close window on exit : Yes
Also, make sure that NO working directory is specified; otherwise
make/compile will not work properly.
(These are things you should do anyway, even w/o NotGNU).
________________________________________________________________________
NotGNU 1.4 Copyright (C) 1993 Julie Melbin
Section 5: Extra features Page 9
------------------------------------------------------------------------
5.a) NotAlarm
--------------
NotAlarm is a simple reminder function that can be set via the
'alarm' command in NotGNU. Or, if you prefer, you can edit the
alarm file directly: NOTGNU.ALR. Make sure you put notalarm.exe
where you put the editor exe file. The NOTGNU.ALR file is loaded
from HOME on startup.
When setting an alarm, 5 parameters are expected. They are, in
order: Day (1-31), Month (1-12), Hour (0-23), Minute (0-59),
Message (string). '99' can be used as a substitute for 'every'
(every day, every month, every hour..).
This code has minimal error checking.
5.b) NotBoot
-------------
NotBoot is a boot manager for the Windows 3.x and NT versions of
NotGNU. Only one instance of NotGNU can run at once on Windows 3.1,
but starting up 'notboot.exe' with an argument will import the
filename given in the argument into the existing NotGNU window; or
if none exists, NotBoot will start a new NotGNU.
By associating the appropriate file extensions in the File Manager
(or Norton Desktop etc.) with 'notboot.exe', you will be able to
edit the corresponding files by double-click on the file icons,
even if another NotGNU is running. Also, if you are using Norton
Desktop for Windows, you should make 'notboot.exe' your default
Windows editor rather than 'wnot.exe'.
Note that at this time you can't associate a file with notboot
and have the editor print the file by dragging the file to the
print manager. In other words, use notboot if you like to use
file manager to open many files into the editor, and use wnot
if you want to drag and drop for printing. This will be changed
in the future.
________________________________________________________________________
NotGNU 1.4 Copyright (C) 1993 Julie Melbin
Section 6: NotGNU Operations Page 10
------------------------------------------------------------------------
6.a) Mouse operations
----------------------
[These will not work in DOS, sorry!]
Set cursor position:
Left button down-up at desired position.
Resize buffer window (when multiple buffers are displayed):
Left button down-drag on modeline that separates the buffers
Copy region to clipboard:
Left button down-drag over text to be copied. Mark will be set
where dragging started, cursor where it stops.
Cut region to clipboard:
Shift + Left button down-drag over text to be cut. Mark will
be set where dragging started, cursor where it stops.
Paste/Yank:
Right button down-up at desired position. (Note that a new can
be set by down-click ie GNU emacs, or paste occurs at current
dot ie xterms, etc. See toggle-mouse-paste-where).
Insert file from drag & drop client (e.g. File Manager):
Drag file icon from external application, release button at
desired position in NotGNU. (Windows 3 and NT)
Open new buffer w/file from drag & drop client:
Drag file icon from external application, release button on
the modeline. (Windows 3 and NT).
Retrieve file from DIRED buffer:
Left button double-click on filename.
Use buffer from Buffer List:
Left button double-click on buffer name.
Scrolling:
Ctrl-left button will scroll the window; shift-control-left
button reverse the scroll direction. On X11, the editor won't
see the keystate change w/o a mouse motion event. Text
selection highlight (ie dot) will Not update during a scroll
until you move the mouse.)
________________________________________________________________________
NotGNU 1.4 Copyright (C) 1993 Julie Melbin
Section 6: NotGNU Operations (cont.) Page 11
------------------------------------------------------------------------
6.b) Killing, Yanking, Cutting, Pasting
----------------------------------------
The windowed versions of NotGNU operate on three different
kill-buffers/clipboards for cutting & pasting purposes:
1) The internal kill-buffer, updated on the following commands:
- copy-region-as-kill,
- kill-word, kill-line, kill-paragraph, kill-region
To paste back from this buffer, use C-y (yank)
2) A separate buffer for rectangle operations. Use the commands
described in section 6.c.
3) The Windows clipboard, updated on the following commands:
- copy-region-to-clipboard
- kill-region-to-clipboard
- Mouse operations, described in section 6.a.
To paste back from this clipboard, use M-x
yank-from-clipboard, or the right mouse button.
Please note that mouse operations (section 6.a) will NO LONGER
affect NotGNU's internal kill buffer, but merely the external
clipboard.
DNOT.EXE only supports the internal kill buffers (1) and (2).
6.c) Rectangle operations
--------------------------
NotGNU provides GNU Emacs 19-like rectangle operations. Select a
region using the mouse, or set-mark-command followed by a cursor
movement; then type either of the following commands:
M-x copy-rectangle ; Copy rectangle between mark and cursor
M-x delete-rectangle ; Erase rectangle between mark and cursor
M-x kill-rectangle ; Cut rectangle between mark and cursor
M-x clear-rectangle ; Replace text in rectangle with blanks
M-x open-rectangle ; Insert blanks into the rectangle (*)
To yank back the rectangle buffer into the text, use
M-x yank-rectangle ; Insert rectangle buffer into text (*)
(*) Please note that TABs cause strange results in open-rectangle.
Also, yank-rectangle will not change the contents of a rectangle
to account for any yanking to a different tab offset. The other
functions attempt to do the right thing with TABs.
________________________________________________________________________
NotGNU 1.4 Copyright (C) 1993 Julie Melbin
Section 6: NotGNU Operations (cont.) Page 12
------------------------------------------------------------------------
6.d) Autocompletion
--------------------
Pretty straightforward; simply press SPACE or TAB to complete a
filename or a command while typing in the minibuffer. For
filenames, SPACE will list all files, while TAB will list only
directories (useful for quick access to subdirectories in cases
where the parent directory contains many files, such as your
windows directory).
'M-x set-gnu' alters the behavior of file completion such that TAB
attempts full completion w/o generating a full dired-completion
buffer, thus you lose the step-down-into-directory feature
defaulted by notGNU. <Space> attempts to complete only to token
(.,-) when filling in a file name, a'la GNU. It's still not
exactly like GNU, but it's closer.
Wildcards can be used w/autocompletion: Use *.txt <SPACE> to list
all files w/extension ".txt", etc.. NotGNU can NOT open a file
with wildcards in the name, however. 'fo*.bar' will not get you
foo.bar.
6.e) Minibuffer
----------------
Minibuffer editing is not available. However the following keys
are supported:
C-h, Backpace, Del | Delete last typed character
C-w | Delete last typed word
C-u | Delete the whole line
6.f) Buffer List
-----------------
Invoked by M-x list-buffers (C-x C-b).
Available commands are 'u' (use), 's' (save), and 'k' (kill).
6.g) dired
-----------
Invoked by M-x dired (C-x d)
Available commands are 'e' (edit), 'f' (find-file), 'v' (view)
________________________________________________________________________
NotGNU 1.4 Copyright (C) 1993 Julie Melbin
Section 6: NotGNU Operations (cont.) Page 13
------------------------------------------------------------------------
6.h) query-replace, replace-string, set-case
---------------------------------------------
M-x query-replace performs interactive string replacement with
user confirmation for each entry, while M-x replace-string
performs an unconditional replace.
The following options are available when prompted whether to
replace an occurrence with query-replace.
! = unconditionally replace the rest
. = replace this occurrence, and then skip the rest
n, DEL = do not replace this occurrence
y, SP = do replace this occurrence
^G, ESC = quit 'query-replace' mode.
After being done with one buffer, you have the option of moving to
the next buffer, skipping the next, or quitting.
6.i) undo
----------
The way undo works is a bit different from GNU emacs. In GNU, an
undo operation is itself pushed onto the undo stack when executed.
If you do several undos in a row, it will go back in the stack,
but if you do another operation in between two undos, it will
start over again from the top (and undo your undos).
NotGNU has a simpler and more logical approach; any undo will
simply pop out the last executed operation from the undo stack,
and the stack will shrink. Undo also takes an argument; 'C-u 5 M-x
undo' will do 5 undos. Undo's are stored on a per buffer basis and
edits/undos in one buffer do not effect the state in any other.
You can set the maximum depth of the undo stack to some other
value than the default 100; use M-x set-undo-stack-depth.
Increasing the depth increases memory usage, setting the size to 0
disables undo. Saving the file clears the undo stack, you can
also clear it by hand with M-x empty-undo-stacks (to free some
memory).
________________________________________________________________________
NotGNU 1.4 Copyright (C) 1993 Julie Melbin
Section 7: Command reference Page 14
------------------------------------------------------------------------
7.a) Some basic Emacs commands
-------------------------------
If you are new to emacs, the following will undoubtedly be of
help. A word on notation:
C-h means Control-H. Hold down the Ctrl key, and press H.
M-h means Meta-H. Some computers do indeed have a Meta key,
but may label it differently. Look for "Alt", "Extended
char" (HP workstations)... On a PC, M-h means "Alt-H".
If your computer does not have such a key, you can use
ESC. M-h would then be 'ESC h' (Press ESC, then press h).
(NG) means that the function is NotGNU specific, and not
defined in GNU emacs.
(HW) means that the key is hardwired, and cannot be changed.
--------------------------------------------------------------------
C-b, C-f, C-p, C-n | backward-char, forward-char,
or arrow keys | previous-line, next-line
| moves cursor left, right, up, and down.
|
C-a, C-e | beginning-of-line, end-of-line
or Home, End | moves to the beginning or end of line.
|
C-v, M-v | scroll-up, scroll-down
or PgDn, PgUp | jumps one screenfull down or up
|
C-d | delete-char
Backspace | backward-delete-char
| delete one character
|
C-g | keyboard-quit
| if you have started a complex command
| (described below), but you do not want to
| complete it, this command can be used to
| abort it.
|
C-h | help
C-h a, C-h b, | apropos, describe-bindings,
C-h c, C-h d | describe-key-briefly, <JULIE: What is C-h d??>
|
|
________________________________________________________________________
NotGNU 1.4 Copyright (C) 1993 Julie Melbin
Section 7: Command reference (cont.) Page 15
------------------------------------------------------------------------
C-k | kill-line
| cuts to end-of-line if there is anything
| in it; if not, delete the line itself.
| Two C-k's deletes a line with text.
|
C-l | recenter
| redraws the screen and places the line
| with the cursor in the middle. can also
| be used to clean the screen if it
| should 'mess up' for some reason.
|
M-q | quoted-insert
| the next character you type in is
| inserted no matter if it is a control
| character or not. if, however, you type
| C-q and 3 octal digits, the appropriate
| ascii-code will be inserted. (e.g.
| 'C-q 145' would be equivalent to 'e').
|
C-r, C-s | isearch-backward, isearch-forward
| search as you type; and move the cursor
| to the closest occurrence of the string
| typed so far.
|
|
C-u | universal-argument
| type in a number and a command, and that
| command will be executed the appropriate
| number of times. (e.g. 'C-u 79 -' will
| insert 79 hyphens)
|
C-x | c-x prefix
| Special prefix char.
|
C-w, M-w | kill-region, copy-region-as-kill
| cut or copy the current region; that is
| -- the text between the mark and the
| cursor. see set-mark-command below.
|
C-y | yank
| 'paste' the text in the kill buffer.
| used after cutting with C-k or C-w, or
| copying with M-w.
|
________________________________________________________________________
NotGNU 1.4 Copyright (C) 1993 Julie Melbin
Section 7: Command reference (cont.) Page 16
------------------------------------------------------------------------
C-@ | set-mark-command
or C-Space (HW) | sets the mark at the cursor position,
| thus defining the start (end) of the
| region.
|
M-^ | delete-indentation
| join with line above, squish out spaces
|
M-b, M-f | backward-word, forward-word
| moves the cursor one word backward or
| forward.
|
M-d | kill-word
| cut a word.
|
M-m (NG) | delete-line
| delete line regardless of location of
| dot.
|
M-q | fill-paragraph
| reorder the text in this paragraph,
| making the lines fairly adjusted based
| on fill column.
|
M-w | copy-region-as-kill
| described above
|
M-x | execute-extended-command
| do any emacs command; including the more
| complex ones that are not assigned to any
| key or key sequence. To find the current
| line number, for example, type
| 'M-x what-line'.
|
M-% | query-replace
| replace one string with another, and asks
| for confirmation every time.
|
C-x b | switch-to-buffer
| if editing more than one file, switch to
| another file.
|
C-x i | insert-file
| inserts a file into the current text.
________________________________________________________________________
NotGNU 1.4 Copyright (C) 1993 Julie Melbin
Section 7: Command reference (cont.) Page 17
------------------------------------------------------------------------
C-x k | kill-buffer
| 'quit' this file.
|
C-x o | other-window
| puts the cursor in another window, if any.
| see split-window-vertically below.
|
C-x s | save-some-buffers
| save all modified buffers
|
C-x u | undo
| undo the last operation and pop it off
| the undo stack.
|
C-x C-c | save-buffers-kill-emacs
| EXIT. If there are modified buffers,
| emacs will ask if you want to save them.
|
C-x C-f | find-file
| load a file into a new buffer. this is
| one of the most frequently used commands.
|
C-x C-l, C-x C-u | downcase-region, upcase-region
|
C-x C-s | save-buffer
| save current buffer!
|
C-x C-w | write-file
| save current buffer, and prompt for
| filename. default is 'current' name, just
| like C-x C-s
|
C-x C-x | exchange-point-and-mark
| put the cursor at the mark, and set the
| mark where the cursor was.
________________________________________________________________________
NotGNU 1.4 Copyright (C) 1993 Julie Melbin
Section 7: Command reference (cont.) Page 18
------------------------------------------------------------------------
7.b) Specific NotGNU keys
--------------------------
NotGNU has some key commands that are not available in GNU emacs,
keys that are hardwired and cannot be changed, and/or keys that
perform functions not available as extended commands via M-x.
These are:
--------------------------------------------------------------------
C-Space (H) | set-mark-command
C-Up (H, N) | scroll-one-line-down
C-Down (H, N) | scroll-one-line-up
M-m (N) | delete-line
M-C-Up (H, N, K) | Previous window
M-C-Down (H, N, K) | Next window
C-Left (N) | backward-word
C-Right (N) | forward-word
C-TAB (N) | Insert TAB character
TAB (N, K) | Insert 4 spaces
--------------------------------------------------------------------
(H) means that the key is hardwired, and cannot be changed.
(N) means that the key is NotGNU specific.
(K) means that the function is not available via M-x.
________________________________________________________________________
NotGNU 1.4 Copyright (C) 1993 Julie Melbin
Section 7: Command reference (cont.) Page 19
------------------------------------------------------------------------
7.c) Specific NotGNU functions
-------------------------------
This is a list of some of the newer functions in NotGNU. The ones
that are not listed, are generally the same as in GNU Emacs.
To get a complete list, with bindings, press C-h a RET (apropos).
====================================================================
apropos
list all commands containing argument. for a list of ALL
commands, do M-x apropos RET (Or C-h a RET).
append-region-to-buffer
append region to the kill buffer
buffer-flush-undo
clear the undo stack; free memory
clear-rectangle
fill rectangle region with blanks
compile
trys-to-be like GNU version, defaults are 'nmake' on
Windows/NT, 'make' on uni*x systems.
copy-rectangle
copy text from rectangle to the rectangle kill buffer
copy-region-as-kill
copy region to kill buffer
copy-region-to-buffer
copy region and yank into specified buffer
copy-region-to-clipboard
copy region to the Windows clipboard or X11 cutbuffer 0.
delete-rectangle
delete text in rectangle (don't save in kill buffer)
See also kill-rectangle.
display-filename
toggle filename display in modeline
________________________________________________________________________
NotGNU 1.4 Copyright (C) 1993 Julie Melbin
Section 7: Command reference (cont.) Page 20
------------------------------------------------------------------------
display-time
Toggle time display in modeline
find-first-change, find-next-change
find changes in the text since last save.
goto-match
paren matching: finds (), {}, [].. matches
kill-rectangle
cut text from rectangle to the rectangle kill buffer
kill-region-to-clipboard
cut region to the Windows clipboard or X11 cutbuffer 0.
make-backup-files
toggles whether to create backup files (same as
toggle-make-backups)
next-error
On SOME supported systems, will locate the error lines in the
make log and find the source file/line for you in another
buffer. Supported on Windows for MSC 6 and 7, version 3.x of
the Borland C++ compiler, the MS compiler on NT, Ultrix,
DEC-OSF, HP-UX, Solaris 2. 1 with SunSoft compiler. Author is
thinking on making it user-definable via a template file...
open-rectangle
inserts spaces into rectangle
print-buffer, print-file, print-file-exit
guess..
replace-string
unconditional string replace, a la GNU Emacs.
reread-file
equal to killing w/o saving the current file, then revisiting.
revert-to-incremental
At fixed intervals, ~20 secs of so, the contents of all
buffers with filenames are saved to incremental backups. This
cmd reloads the buffer with the content of the most recent
save. (equal to M-x recover-file)
________________________________________________________________________
NotGNU 1.4 Copyright (C) 1993 Julie Melbin
Section 7: Command reference (cont.) Page 21
------------------------------------------------------------------------
set-autosave-inc
specify interval between each auto-save (in seconds)
set-case
specify whether replace-string and query-replace should do
case insensitive search, and/or preserve case when replacing
set-bg-color
set-fg-color
set-fg2-color
set-fg3-color
set background, text, touched text, and echoline prompt
colors. (Old set-text-color, set-touched-text-color,
set-window-color are also supported)
set-directory-cols
specify whether file listings should use single or multiple
columns
set-font
set the current window font; should be fixed pitch
(monospaced) else nasty results.
set-gnu
set/unset GNU-style auto-completion.
set-select-highlight
specify whether highlighted region (w/mouse operations) should
use text or background highlight. Default is background.
set-tab-stop
requires > 1, and divisible by 2
shell-command
executes the contents of the MESHELL environment variable, or
COMMAND.PIF, or command.com/cmd.exe (Windows 3.x/NT), with
given arguments. See sections 4d) and 4e)
shell-window
executes the contents of the MESHELL environment variable, or
MESHELL.PIF, or command.com/cmd.exe (Windows, NT). See
sections 4d) and 4e)
________________________________________________________________________
NotGNU 1.4 Copyright (C) 1993 Julie Melbin
Section 7: Command reference (cont.) Page 22
------------------------------------------------------------------------
show-region
temporary highlight of current region
toggle-check-file-timestamp
change state of file timestamp checking; while enabled, each
op that would modify a buffer checks see that the file is not
newer than the buffer content. Slow on floppies. (Default: no)
toggle-just-write-newline
causes files with to be written w/o the CR (just NL); Can be
overridden per buffer with set-write-cr.
toggle-make-backups
make backup files (Default: yes)
toggle-modified-state
change modified state of a buffer; may clear the undo stack
toggle-mouse-paste-where
determines if MB2 (right mouse button) pastes at dot (cursor),
or at the mouse pointer. (Default: pointer)
toggle-newline-behavior
REMOVED. Use 'toggle-just-write-newline'
toggle-read-only
change read-only state of a buffer; may clear undo stack
toggle-show-linenumber
puts linenumber in modeline. Use ctrl-l if seems out of sync.
toggle-show-touched-text
toggle the drawing of edited text in a different color.
toggle-window-menu
create/destroy a window menubar (Windows/NT). Supports editor
commands plus access to the Windows clipboard.
undo
multilevel undo. See section 6.i)
undo-high-threshold
same as set-undo-stack-depth
________________________________________________________________________
NotGNU 1.4 Copyright (C) 1993 Julie Melbin
Section 7: Command reference (cont.) Page 23
------------------------------------------------------------------------
unix-exec
somewhat like win-exec; spawn a process and don't wait for it.
view-file
like find file, marks buffer read-only
win-exec
execute a Windows program, don't wait for completion (Windows)
yank-rectangle
inserts text from the rectangle kill buffer into rectangle.
yank-from-clipboard
paste text from the Windows clipboard or X11 cutbuffer 0.
________________________________________________________________________
NotGNU 1.4 Copyright (C) 1993 Julie Melbin
Section 8: Limitations and bugs Page 24
------------------------------------------------------------------------
The following is a list of some of NotGNU's limitations in terms of
capabilities, and some of its known bugs. If you discover strange
behaviors that are not described here, please contact the author; her
address is listed in the introduction.
Size limitations
There is no editor-defined filesize limit in NotGNU. Line
length will be limited by the size of a signed integer. The
other limiting factor is virtual memory, though if you have
1000 byte filenames, it might get messy.
Please note, however, that DOS version does NOT have the
ability to use extended or virtual memory and therefore CAN
run out of memory with very large/many files.
No TeX, Lisp or Info
These features are currently beyond the scope of NotGNU.
No binary file support
NotGNU is designed to run under both Unix and DOS; it reads a file
in either format and writes it in desired format. This sometimes
means converting ^M^J to just ^J, sometimes ^J to ^M^J.
No editing in minibuffer
... although Backspace and Ctrl-U will work the usual way. Ctrl-W
will backup (destructively) by words.
TABs in rectangles
Not so much a bug as inelegant. Rectangles are defined by absolute
character offsets, and TABS confuse open-rectangle since it isn't
looking at 'columns' yet.
Display not updated w/DEC's "compose" utility
DEC's "compose" utility steals the focus while composing a
character; NotGNU does not handle that. Press C-l to refresh;
move the NotGNU window away from the Compose bar to avoid.
describe-bindings
'C-h b', or describe-bindings, does not list meta or
ESC key bindings properly.
________________________________________________________________________
NotGNU 1.4 Copyright (C) 1993 Julie Melbin
Section 8: Limitations and bugs (cont.) Page 25
------------------------------------------------------------------------
Timestamp checking and write-file
Timestamp checking won't save you from overwriting a file if you
use write-file directly. Perhaps the buffer should have a timestamp
when created that can be checked against a file.
Startup file processing
can be confused. Also, some commands that require a user action
will stop it. Note that if you put (set-fg-color) in the startup
file, that Window's dialog boxes will pop up on Windows 3.x/NT,
but X11 versions take a command line argument and thus work. In
addition, broken syntax may have the incredibly nasty effect of
crashing the editor!
Some keys are hardwired
The hardwired keys are not perfectly friendly, but it was much
easier to do a couple things that way.
Long-line display
is simplistic.
Pasting with the mouse
into an extended line is pretty hard to get right!
Printing (Windows 3.1/NT only)
is quite simplistic!
Keyboard problems:
Not all X11 servers return the "correct" keypress names for
certain keys. On my PC, m-^ works fine. On my HP server, I need to
do ESC ^ because m-^ doesn't work. Most other meta keys work on
the HP machine though. Similar things are true with the keycodes
for BACKSPACE and DELETE, and their modified values. On my HP
keyboard, m-backspace returns 'U' and m-DeleteLine returns
m-backspace and c-DeleteLine returns c-backspace!
________________________________________________________________________
NotGNU 1.4 Copyright (C) 1993 Julie Melbin
Section 9: Frequently asked questions Page 26
------------------------------------------------------------------------
Since the last release, certain questions have appeared more or less
regularly:
Q) When running iconized, 'make' and 'compile' are S-L-O-W!
A) Copy the file COMMAND.COM to your windows directory, or if you are
using an alternative command interpreter, edit its PIF file. See
section 4.d) and 4.e)
Q) How do I list available commands?
A) Use ``C-h a'' or ``M-x apropos'', then specify your argument.
If you want to list ALL commands, just press RET.
Q) Is source code available?
A) The author is trying to keep the distribution of source code at a
minimum to make fixing bugs/adding features easier. Contact her
directly for more information as the source is available.
Q) Highlight of selected region does not work
A) You have upgraded from a previous version, and not specified
a color for the new item "Echo Text Color". Do this, and save
settings. See section 4.a).
Q) DOS version doesn't use extended memory, the mouse, or extended
keys. Can it be changed?
A) No and Yes. DOS version now reads bios console size and
set-window-size works . If enough people beat me up and I get a
32 bit compiler, other things may also change..
Q) Why do the menu items look the way they do in the window menu?
A) Capital words are commands that are hopefully obvious. The commands
with '-' in the name are the actual notGNU command names. And no, I
don't think there'll ever be a mode to list the English equivalents.
Q) How come there are no scroll bars?
I'll make them optional when I get them working correctly.
Q) Will there be an extension language?
A) Someday maybe. Never say never, but remember this is a small(ish)
editor and not everyone has tons of disk or ram. Remember this answer
in regards to features which are outside the mainstream. :)
________________________________________________________________________
NotGNU 1.4 Copyright (C) 1993 Julie Melbin
Section 9: Frequently asked questions (cont.) Page 27
------------------------------------------------------------------------
Q) open-rectangle looks hosed; yank-rectangle sometimes looks wrong.
What's wrong?
A) The other rectangle ops now do a semi-reasonable job of handling
tabs when operating on rectangles. Yank makes no attempt at all to
figure the tabs in the rectangle and destination to do 'something'
when pasting in (I don't think GNU emacs does either), and Open
gets confused by them when inserting blanks to open an area. So,
open-rectangle has a known bug.
Q) NotGNU sounded interesting, until I read it doesn't have XXXX
A) Thanks for your comment, it will count as a 'vote' for further
development! :-)
________________________________________________________________________
NotGNU 1.4 Copyright (C) 1993 Julie Melbin
Section 10: Updates, mailing lists Page 28
------------------------------------------------------------------------
10.a) FTP downloads
--------------------
This release of NotGNU is available via anonymous FTP to the
following sites (and mirror sites):
Site File Environment
====================================================================
oak.oakland.edu /pub/msdos/editor/xnot14.zip Win3/NT/DOS
ftp.cica.indiana.edu /pub/pc/win3/uploads/xnot14.zip Win3/NT/DOS
netcom.com /pub/notgnu/dnot14.zip DOS
netcom.com /pub/notgnu/wnot14.zip Win3
netcom.com /pub/notgnu/ntnot14.zip NT/Intel
netcom.com /pub/notgnu/ntaxp14.zip NT/DEC AXP
====================================================================
Only major releases will be uploaded to oak and cica though;
intermediate beta releases will primarily be found at netcom.com.
10.b) NotGNU-request
---------------------
Another way to obtain NotGNU executables, as well as information
on the current status, is to send email to:
notgnu-request@netcom.com (NotGNU request service)
In the body of your message, give a "SEND <packet>" command;
packet is one of DNOT, WNOT, NTNOT, NTAXP, DOC, or INFO.
Example:
+------
| To: notgnu-request@netcom.com (NotGNU request service)
| From: alice@wonderland.com (Alice in Wonderland)
|
| SEND WNOT
+------
For more information on how to use NotGNU-request, including
information on how to join the lists described below, give
a 'HELP' command w/o arguments in the same manner.
________________________________________________________________________
NotGNU 1.4 Copyright (C) 1993 Julie Melbin
Section 10: Updates, mailing lists Page 29
------------------------------------------------------------------------
10.c) NotGNU-list
------------------
On request from several users, a NotGNU mailing list is being
introduced these days. The topics for discussion have not yet
been completely settled, but will *probably* have to do mostly
with NotGNU itself (suggestions, problems, ..) and maybe a bit
with editors and/or programming in general. It all depends on
you. :)
To subscribe to the list, send a ``JOIN MAILING'' command to
notgnu-request@netcom.com, in the same manner as described above.
It may take a little while to build it up; moderate traffic is
expected in the beginning.
10.d) Other lists
------------------
A separate list exists for various NotGNU announcements, such as
information on new versions, bug findings, etc; and a third
list exists for distribution of binaries as soon as they are
posted (thereby saving the subscribers the work of that extra
"SEND" command.. :) The syntax for joining these lists are:
JOIN ANNOUNCEMENT
JOIN DISTRIBUTION
Again, a summary of the commands available can be obtained by
sending a ``HELP'' message.
________________________________________________________________________
This document was created by Tor Slettnes on August 9, 1993; last
update was for NotGNU version 1.4 on October 4, 1993. Any comments,
suggestions, bug reports are certainly most welcome. Send e-mail to
<tor@netcom.com> -tor
________________________________________________________________________
NotGNU 1.4 Copyright (C) 1993 Julie Melbin