home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frozen Fish 1: Amiga
/
FrozenFish-Apr94.iso
/
bbs
/
alib
/
d2xx
/
d228
/
az.lha
/
Az
/
AZ.doc
< prev
next >
Wrap
Text File
|
1989-06-26
|
26KB
|
540 lines
- AZ - Version 1.40 - Copyright © jm forgeas 1988
(see end of file for changes since v1.00)
(for distribution, see DISTRIBUTION CONDITIONS at end of file)
(
Note to french users:
every new version is ready for download
on the BBS Sgt Flam´s Lonely Amiga´s Club
(16 1) 39 55 84 59
)
The editor of my dreams: it does everything I want, from A to Z !
If you want AZ to do also what you need, send me your observations
but no money. If you did, you should also send money to:
- Matt Dillon who distributes sources for his editor DME, from
which I draw ideas for the memory allocation scheme and other things.
This gave me courage to begin AZ.
- =RJ= Mical for the sources of his FileRequester distributed
in ProSuite.
- Alex Livshits who, together with his support, gave me some
important routines, including the one that allows clipping text in
a window, and also ideas to make AZ more user-friendly.
- Gauthier Groult who worked on the Requesters, and also gave
some good ideas.
- Alain Didierjean for his numerous ideas, and his numerous bug
reports.
Many thanks also to all beta-testers, particularly for their
bug reports:
- Francois Rouaix (SYSOP of SgtFlam) whom I thank also for
the translation to english of this doc, during the Second
European Developpers Conference, and for the following
versions.
- Bernard Couet
- Carlos Das Neves
- Olivier Mandavy
- Olivier Hartmann (also known as Kheops´SYSOP
(16 1) 45 07 85 03 (France). AZ is also on this BBS
available for download)
- Dominico Manfredi
- Philippe Lespinasse
- Jean-Francois Dreyfuss
And here, a *VERY* *BIG* thank to the creators of the Amiga,
the machine of my dreams.
------------------------
AZ does not have script facilities, you can´t redefine menus,
no Bold nor Italic supported, no macros at all...
Congratulations !
...thanks
but *hey*, it has UNDO !
My goal is not to replace DME, and in fact when I need (rarely)
powerful macros, I call DME.
From CLI, you use:
AZ [-b][-s][-d][-tc][-fn][-cn][-p*] [file1]...[fileN]
You also may run AZ under Workbench:
Click on the icon(s) of the text files you want to edit,
and then SHIFT and double-click on the AZ icon.
*** Option -b allows you to modify colors: color 0 for background
and color 1 for text (by default it is the opposite). I really like
it this way. With 1.3 Shell, or Dillon´s one, you may define an alias
Alias HAHA AZ -b
*** Option -s changes the File Requester. It is replaced by
a simple requester with an auto-activated StringGadget. Specially
for those who don´t use their mouse.
*** Option -d desactivates block-deleting on a simple keypress or
on a Paste action. In this mode, the only way to delete a block is
the Cut option.
*** Option -tc adjusts the tabulation. AZ substracts 48 from
the ASCII code of ´c´: -t8 makes it eight spaces. -tB makes it
18 spaces.
Default is 4 spaces, and if ´c´ is less than 1, default is chosen.
*** Option -fn defines the size of the font that should be used
in AZ. The only font allowed is TOPAZ. -f8=Topaz.8. -f1=Topaz.11
*** Option -cn indicates the maximum number of columns in each
line: -c80 for 80 columns max. Default is 256.
*** Option -p* allows you to give the default pattern for selection
of files in the File Requester. Patterns are Unix-like.
Example: -p*.pic, and the requester will only show the name of files
ending with '.pic'.
Default is '*'.
*** A list of files [file1]...: a window is automatically opened
on each file, and then iconified (not the last file window).
This is useful for editing a whole project, for example:
> Alias Loadproject AZ -s -b -d -t3 -f11 -p*.c main.c win.c key.c etc...
Using AZ with the first three options allows an keyboard-only
edition, as in DME. Almost every operation may be done with the
keyboard.
Workbench use:
Click (with SHIFT key down) on your icons, then double-click on
the AZ icon. Iconified windows will be placed in the menu bar
of the screen. I´m using AZ together with MWB, a program written
by Matt Dillon, that permits to have multiple workbench screens.
MWB may be found on a Fish disk.
Options may not be activated from AZ icon.
AZ does not create icons when it saves the files.
FONTS:
I have tested AZ with Topaz.11. It works perfectly, and renders
very well in INTERLACE mode.
Topaz.9 is also ok for people using a TV instead of an Amiga monitor.
However, proportionnal fonts are not well rendered. It´s just because
AZ is a text-editor, not a WYSIWYG word-processor.
The default font is the system font, as defined by Preferences
(that is Topaz 8 (80 cols) or Topaz 9 (60 col))
Keyboard:
- Try the arrows combined with ALT and SHIFT keys
- When a block is highlighted, arrows scroll the text (unless you
are in -d mode)
- SHIFT DEL deletes the current line, and puts it in UNDO clipboard.
- CTRL DEL deletes text from the cursor position to the end of line.
- RETURN works as in DME (very handy)
- To split a line, that´s SHIFT RETURN
- To split a line with back-indentation, that´s SHIFT ENTER
- To join 2 lines (besides using BACKSPACE at beginning of line),
use your mouse: on the first line, make a block from the end of
the text to the end of line, and press DEL (or any other key).
The second will join at the end. If you are in -d mode,
use CUT instead of DEL.
- When NOT in -d mode, if a block is highlighted, typing any
key will delete the block and put it in the UNDO Clipboard.
When in -d mode, the character pressed is inserted in the text,
and the block is not deleted.
- When the cursor is out of the window, any key will recenter
the portion of the text the cursor is in. This is handy to browse
through the text (using scrollbars and gadgets) and then come back
to the old position.
- ALT TAB will position the cursor on the first non-blank
character of the line.
- SHIFT TAB deletes spaces to the left (back tab).
Mouse usage:
- selecting (highlighting) a block is done with moving the mouse with
the left button depressed. If you click on the left button again,
the block will be deselected.
- In block selection mode, scrolling is automatic when you move the
pointer outside the window´s limits.
- When selecting a block, going past the last character of the line
will highlight to the right of the window (to include the carriage
return)
- Menus are standard, right mouse button !
- SHIFT-left button will select a block from the click position to
the cursor position.
- double-click activates block-line mode. In this mode, a block
is made of entire lines. This is useful for copying a set of lines.
EDIT MENU:
- Copy from file: loads a file into the Clipboard. You can then
Paste it where you want (possibly many times). This replaces
the usual ´Insert file´
- Paste to file: writes the content of the Clipboard in a file
This replaces the usual ´Save Block´. Select a block, Copy it,
and ´Paste to file´
- ´Print Selected´ will send the selected text to the printer, even
if you don´t own one (surprise !)
- ´Undo´ is in fact a Paste from the Clipboard 1 (Cut/Paste/Copy
are using the Clipboard 0). Every block deleted with an action
other than CUT will be placed in the UNDO Clipboard.
FIND MENU
- With options "Find Selected" and "Exchange Selected", the
highlighted block is copied into the search StringGadget. No
mistakes while re-typing a string to search.
- Other items works as usual...
TOOLS MENU
- ´Iconify´ opens a small window at the top and right of the screen,
and then closes the big window. To un-iconify, activate the small
window (by clicking in it) then click again with the right button.
When all window are iconified, the f3 key does not un-iconify, but
opens a new window instead.
- ´Insert Hexa´ allows you to insert a set of characters given
by their ASCII code in hex. Insertion of hex strings works just like
any other insertion (eventually deleting a highlighted block).
414243 will insert ABC
A44 will insert RETURN B
FUNCTION KEYS:
- F1 = Edit/Copy from file + Edit/Paste (insert block)
- F2 = Edit/Copy + Edit/Paste to file (save block)
- F3 = Tools/NewWindow (window open)
- F4 = Edit/Copy
- F5 = Edit/Paste
- F6 = Edit/Find
- F7 = Tools/GoToLine
- F8 = Tools/Iconify
- F9 = Project/Save
- F10 = Project/Save + Project/Quit (save & quit)
Simple Requesters:
You may use them from keyboard. RETURN key activates
the next StringGadget if any, otherwise acts like
a click on the left gadget (surrounded by a dark border).
------------------------
NOTE1: during scrolling, the title of the window and the scrollbars
are refreshed only when there is some time left, to ensure maximum
scrolling speed.
NOTE2: to switch 2 blocks, I use UNDO. Remember that every line or
block deleted goes into the UNDO Clipboard (UNLESS in -d mode)
NOTE3: AZ is a multitask program. Code is reentrant, BUT DO NOT
MAKE AZ RESIDENT with the Resident (1.3) command because AZ is
modifying its own segments of code. If you do, the guru will
visit you.
You don´t need to RUN AZ. Just type AZ, it will return the CLI
prompt. (Thanks to cback.o from Lattice, which I modified to make
it reentrant).
Each window is a separate task launched on the SAME code (memory
is expensive !).
If a window is blocked (printing, disk access, etc..), you are
able to edit in the other windows.
NOTE4: The FileIORequester is a modified version of the
=RJ= Mical Requester, made reentrant. You are not forced to wait
until the end of the scan of a disk to switch to the next disk (by
pressing on the Next Drive gadget).
Clicking on the STOP gadget will stop the scanning.
NOTE5: The Amiga system is wonderful. Too bad that those who don´t
program with it can´t share the feeling ! They can´t see the best !
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
C H A N G E S
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
v1.01 - bug fixed when Requester opening followed by a quick RETURN
- good: when iconifying a window which contents have been modified,
colors are inversed in the icon. (token from Dillon´s DME)
- parameter -t added for tabulation
- ENTER key change. Equivalent to RETURN followed by SHIFT TAB.
Useful for back-indentation
- BACKSPACE pressed at beginning of line now appends to the
preceding line.
- double-click activates block-line mode. In this mode, blocks are
made of entire lines.
v1.02 - if menu Save selected when file is Untitled, SaveAs is run instead
- AZ windows open to full screen
v1.10 - refresh of simple Requesters fixed when resize of a window occurs
(fixed with the help of Gauthier Groult)
- fixed bug of repeated tabs that leaved black traces
- block-line mode works like a switch (more intuitive)
- first window opens to full screen, others are smaller
- fixed bug of repeated keys that inserted unwanted characters
(with Amiga-keys)
- fixed bug of pointer remaining in ZZ (note that the click-point
in this image is left-top, and you may also type RETURN to make
a requester disappear)
- fixed bug of PASTE at the end of a long line
- fixed bug on Cut (on multiple lines, it failed to cut some
characters)
- after a Paste or Replace, the cursor is now placed after the
inserted string.
- Find and Replace now have menu short-cuts
- NEW ! Topaz fonts (8, 9 , 11) or others may now be used when
running AZ, using option -f (see above)
If no font is given with option -f, the default font (the one from
Preferences is chosen).
- That´s all for now ! Quite a difference from version 1.02
isn´t it ?
v1.11 - in Find menu, Replace has been changed to ´Exchange´
- in Find menu, new item Exchange All
- in Find menu, two new items: Find selected and Exchange Selected.
The current selected block (if any, it´s highlighted) is now copied
into the search StringGadget. (would you prefer the CLipboard instead ?)
- in menu Find, the buffer used by Find is now different from the
buffer used by Exchange
- fixed small bug on title of iconified window
- the last line (sometimes hidden partially, is now uncovered
when the cursor moves to it
- other minor enhancements.
v1.2 - scrolling is now faster (ClipBlit() instead of ScrollRastPort()).
- memory management has been modified -> faster display.
- accumulation of RAWKEY messages (caused by repeating of up and
down arrows) has been removed by a scan of messages. Memory is
spared because Intuition no longer allocates more messages when
you have a fast repetition factor in Preferences.
- this scanning allows also an immmediate stop of the scrolling
when you stop pressing these arrow keys.
v1.21 - insertion of a character over a block after a Find now
works properly.
v1.22 - bug on too long lines fixed.
- !!! FileRequester has been fixed by Gauthier H. Groult.
new functions have been added, such as wildcards, PARENT , SCAN
and STOP gadgets, interruption on arrows. Design has also been
fixed (much nicer now). And more, it is now REENTRANT ! You can
open a requester in every window of AZ.
By the way, Gauthier has put this FileRequester as well as other
useful functions in a library (to which I gave some modest
contribution), with docs from programmers and everything you need.
Its name is isup.lib, and AZ uses it with luck.
Gauthier is looking for beta-testers.
v1.23 - one time out of a thousand, a small requester locked out
and stayed white. This is over.
- Find on a single character would not skip to the next occurrence.
This has been fixed.
- Scanning has been added, so that scrolling ceases as soon as
you stop pressing left or right arrow. Handy when you select
a block. and then scroll laterally with these two arrows.
v1.24 - put back the original File Requester, because AZ didn´t seem
too well. Test version only. I´m looking for bugs.
v1.25 - Major cleaning of the code. Some internal bugs found (and fixed !)
- SHIFT TAB now deletes spaces (before cursor).
- New: ALT TAB places the cursor on the first non-blank character
of the line. To use with SHIFT-TAB for a back-tab.
- New : SHIFT ENTER (not SHIFT RETURN) splits a line, with
back-indentation on the new (second) line.
- after clicking two times (in block-line mode), Find wouldn´t
show found block anymore. I found the bug this time !
- Characters strings are no more null-terminated. This allows
you to insert 00 characters in the text (using menu Insert Hexa)
- FileRequester modified to have ´OK´ gadget on the left and
´CANCEL´ gadget on the right. There was also a non-reentrant
requester, and I fixed it.
- All Requester may now use CHIP memory, so that AZ works on
512K machines.
- New: ´Clone Line´ duplicates the current line.
v1.26 - You now may insert a carriage return (0x0d) with Ctrl-M.
Before this fix, you could only use the ´Insert Hexa´ menu for
this purpose.
- Bug: Guru visits on quitting AZ, depending on your environment
(not mine, so I couldn´t see that bug). Fixed.
- Deleting a block on the last line of the file would leave an
entire line. Fixed.
- Exchange sometimes left extra characters, or deleted some...
- Some character-display bugs found. Nothing better to fix bug
for adding new ones !
v1.27 - Shortcuts '=' and ';' for 'Exchange All' and 'Print Selected'
- Fixed bug in clipboard managing: when trying a read (Paste) on
a file that is not IFF text, the clipboard was not freed. This solves
the problems with TextCraft and Excellence!
- HELP now pops up a requester with the decription of function keys
- NEW !!! (while waiting for cut by rectangles) it is possible
to indent or back-indent by block:
double-click and highlight a block in 'block-line' mode, then press
TAB to indent or SHIFT+TAB to back-indent.
'Select All' does not provide this feature because it is not part
of the 'block-line' mode.
- when launching AZ with an inexistant file name as parameter,
the FileRequester does not appear any more. There is only a small
requester, and you get rid of it by pressing RETURN. The title
of the window will be the same as the parameter.
- the default for TAB is now 4
v1.28 - recompiled with Lattice 5.02, and the new version of isup.lib
v1.29 - AZ now supports keymaps that send multiple characters on a key
- In 'block-line' mode, pressing left or right arrow allows
indentation by one character
- faster memory management (work with Gauthier Groult)
- fixed bug introduced in v1.27 when running AZ on an inexistant
file
- 'Exchange Selected' now fills both zones with the selected text
- minor bugs fixed
- scanning of Intuition messages is now done on all keys, and also
faster : you will never insert or delete characters by mistake.
- 'Print Selected' does a form feed every 64 lines.
- NEW!!! option 'Send Selected': send the selected text to SER:
with the possibility to end each line by CR, LF, CRLF, SUITE (minitel)
or nothing (ASIS). This option may be used with minitels or modems.
Parameters for the serial port are token from Preferences, so don't
forget to set them properly. For a minitel:
BAUD=1200 READ=WRITE=7 STOP=1 PARITY=EVEN HANDSHAKE=NONE
Beware of accentuation ! no translation is done !
v1.30 - Bug on the hex code displayed in the title bar fixed.
v1.31 - Added TAB as a separator for arguments. There may now be multiple
spaces or TABs between filenames on the command line.
(hmm...) you may now use all 6 options when running AZ...
(hmm...)
v1.32 - New option in menu 'Tools': 'Switch Case' to swith a caracter
from lowercase to uppercase and back. Works also on blocks.
Switch Case is defined only for caracters from 'A' to 'Z' and
'a' to 'z'.
- New option in menu 'Tools': 'To Front Screen' to move an
AZ window from a background screen to the foreground screen.
v1.33 / 09-May-89
- Added LockLayer() and UnlockLayer() before and after modifying
the ClipRects of the Layer of a window.
Yes... it's cleaner... I believe the Guru was there...
- Fixed: when the full pathname of the edited file was too long,
the requester "Can't Create this file" was truncating it.
- Added: test OpenFont() before OpenDiskFont(): even after loading
a font, every byte of memory is released.
- Modification of use in 'Exchange Next/Back':
If a block is already selected, then it is replaced immediately.
Else, this option first 'Find's then replacing is done after.
(this is verification for interactive replace)
- Doc Bug: I never said that CANCEL of simple requesters may be
done from keyboard, but it works: it's ESCAPE (Esc).
Let me remind you: the validation gadget (OK, OPEN, ...) that is
on the left of those requesters is completed by the RETURN key.
- NEW!: block selection from keyboard. CTRL-Space simulates click
and double-click of the mouse. CTRL-arrow simulates move of the
mouse. CTRL-arrow works together with SHIFT and ALT, same way
as arrow alone, but selecting blocks continuously.
- Number of lines is no more limited to 32000, but to several
billions.
v1.34 / 14-May-89
- Bug in 'Paste': when memory was lacking, ClipBoard was not closed.
- Modifications in block-insertion.
- Added option -cNN to ser the maximum number of columns in a line.
- in 'Copy', added a test for available memory before writing to
ClipBoard, in order to avoid errors with ClipBoard.device.
Two days of testing convinced me that I couldn't do better without
more docs on the clipbard, or that device is bugged...
Anyway, ClipBoard is more robust when CLIPS: is assigned in RAM:
(as proposed in WB1.3 startup-sequence), otherwise DoIO()
might be blocked when accessing drives.
- When writing in the ClipBoard of a file, and a line is exactly
of the maximum length, new line is NOT inserted. This avoids
adding empty lines when reading the file/clip back.
- NEW!: 'Load Binary' loads a file without changing tabs to spaces.
You may now edit an executable file: change error messages to your
language (french for example). Do NOT change the length of the
strings !
- Bug fixed when RETURN or SHIFT-DEL near the lower border of
the window (GURU).
- Bug fixed when clicking on CloseWindow gadgets (I hope)
- Scrollbars (lifts) now show 5 lines more after the end of the text,
and one column more on the right of the last column.
- Modification of 'Exchange': the search string is copied into
the 'Find' search string. This allows full interactive exchange.
Choose 'Exchange Next' (or AMIGA-R) to replace, or (AMIGA-N) to
skip to next occurence. This time it's handy.
- Keymap management has been revised. AZ now handles keymaps
completely. This means that using a keymap editor (like KeymapEd
by Tim Priest, available on a BBS near you and on a Fish disk),
you may assign to a key (such as ALT-F1) a sequence of codes
(such as SHIFT-TAB or arrows), or simply a sequence of caracters.
Kind of mini-macros.
- Patterns on file names used in the File Requester may be
specified on the command line using option -p, example: -p*.c
for all file names ending with '.c'. Default is '*'.
- Note: to save to a device (SER:, PRT:) using the File Requester,
just fill the filename zone with the device name (SER: for example).
But you may as well use the menus 'Print Selected' and 'Send Selected'.
v1.40 / 16-May-89
- First release of AZ send to Fred Fish for inclusion in his library.
(via Francois Rouaix and USENET).
To celebrate, we skip directly to version 1.40 !
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
D I S T R I B U T I O N C O N D I T I O N S
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
I give you the authorization (and will be honored) to distribute
AZ to everybody you know, but you must not receive money in
return. AZ must be free.
I strictly forbid any telecommunication service (BBS, others...)
to make AZ available in their downloading section IF they make
money on the communication/download.
To distribute AZ in a commercial package, you MUST have
my written permission.
AZ must be distributed with its docs (at least one) as well as
the icons. (AZ, AZ.doc, AZ.info, AZ.doc.info)
Thank you for that.
~~~~~~~~~~~~~~~~~~~~~~
I will be happy to know if AZ is useful to you, and if not,
what should been added to suit your need.
For bug reports and new ideas to implement, please write me:
~~~~~~~~~~~~~~~~~~~~~~
Jean-Michel Forgeas
13 rue Voltaire
92300 Levallois Perret
FRANCE
~~~~~~~~~~~~~~~~~~~~~~
or by minitel on
Sgt Flam
+33 1 39 55 84 59 (CCITT V23 (1200/75), 7E1)
(from France : 16 1 39 55 84 59)
BAL (mailbox): JM FORGEAS
~~~~~~~~~~~~~~~~~~~~~~
jmf