: > I have made available a new version of the mined text editor on
: >       http://www.inf.fu-berlin.de/~wolff/mined98.tar.gz
I apologize for my double mistake with this announcement.
The link quoted above is now correct and accessible.

I would appreciate any feedback, especially on the question, how 
useful the simple right-to-left / bidi support really is and how it 
might be improved.
Other new Unicode features are
* improved editing support for combined characters and
* optional handling of Unicode line ends

I have not yet updated documentation; please consult the file CHANGES 
which is also included below.

Kind regards,
Thomas Wolff
[EMAIL PROTECTED]
http://www.inf.fu-berlin.de/~wolff/mined-utf.html


-----------------------------------------------------------------------------
Features:
---------
Scrollbar display
May be used for relative or absolute positioning with the three mouse 
buttons.

Flexible and simultaneous handling of different line ends
Unix and MSDOS line ends can be handled in the same editing session and 
are indicated by different coloured line-end symbols. Files without 
trailing line-end can be edited and created.

Transparent long line handling
Overly long lines are now read in transparently. They are attached a "NONE" 
line-end type so they will be written out exactly as they came in.
Splitting within UTF-8 sequences is avoided; splitting of combined 
characters is not avoided, however, they will join seemlessly as lines 
are joined again. (Combining characters at the beginning of a line are 
not displayed in combined display mode.)

Special line-end handling details and binary transparency
With the above two modifications, a couple of line end handling features 
were introduced and binary transparency was achieved.
* Input of NUL characters from file is accepted and is presented as a 
  special "NUL" line-end type. Explicitly entering a NUL character 
  works, too (either literally or with ^V # 0). Thus mined achieves 
  binary transparency through an editing cycle now.
* The ^O command in a line with "NUL" or "NONE" line-end will 
  reproduce this line-end type in contrast to entering a new-line 
  which will always produce a real line-end.
* In order to split a line in two, separated with "NONE" line-end, use 
  HOP ^O (e.g. ^G^O).

Tags file support
Moving to the definition of an identifier using the tags file 
(generated by the ctags command) was added. If a new file is opened 
for this purpose, the current file is saved automatically.
* Command: ESC t when cursor is on identifier (with HOP, it prompts for 
  the identifier), or from Search or Popup menu.

File handling consistency improved
The command ESC # to edit the nth file from the command line was 
extended with ESC # # which just reloads the current file.

Remembering editing information between sessions
In addition to the current position, also the paragraph justification 
margins (wrap-around margins) are remembered until the next 
invocation, but only if justification mode is switched on.


Unicode handling features:
--------------------------
Combined character display
Handling of Unicode combined character display is enabled by default 
with UTF-8 terminal operation. (May be disabled by environment 
variable utf8_no_combining_screen, or command line option -c.)
* There are two editing modes for combined characters: combined and 
  separated. Switch modes by clicking on the "c/C" indicator next to 
  the UTF-8 "L/U" indicator in the flags area of the top line, or in 
  the eXtra menu.
* In combined display mode, the following special functions are available:
  The cursor can be moved into a combined character with 
  ctrl-left-arrow or ctrl-right-arrow, provided these cursor keys are 
  configured to emit distinguished escape sequences with control-key 
  held. ^V-left-arrow and ^V-right-arrow also work. You can determine 
  the exact position of the cursor if permanent character info is 
  switched on (by HOP ESC u or with HOP in the eXtra menu).
* Partially editing combined characters:
  * If the cursor is on a combined character, delete next character 
    will delete the whole combined character, with all combining accents.
  * If the cursor is within a combined character, delete next 
    character will delete the current combining accent only.
  * In separated display mode, all cursor and text modification 
    operations work on the combining parts as displayed.

Search expressions
The restriction that search ranges could not be used for non-ASCII 
characters in UTF mode was removed.
* Search ranges can, however, not be very large as all included 
  characters are listed in an internal buffer which is limited to ca. 
  1 KB.

Case toggle
The case switch function (e.g. in the eXtra menu) works also with all 
Unicode characters.

Unicode line ends
Line separator and paragraph separator are optionally detected and handled.
* Activate this mode by two -u options ("-u -u" on command line or 
  "uu" in MINED environment variable).
* Inserting a new line on a line with Unicode lineend will insert a 
  line separator unless the hop flag is active in which case a 
  paragraph separator will be used.

Basic input support for right-to-left scripts
After entering a right-to-left character, the cursor position is moved 
left of it, so subsequent characters will be appended left and the 
text shifted right. Entering left-to-right characters will obviously 
automatically switch direction; to continue with right-to-left, the 
cursor must be moved manually (e.g. to the line beginning).
* Newline, Space, TAB, and combining characters attempt to behave well 
  according to what was entered before; however, intermediate cursor 
  movement is not considered.
* Activate right-to-left support with the command line option -b.
* This mode is not meant to work with the latest right-to-left xterm 
  patch - it would rather interfere with it. The mined right-to-left 
  mode is just intended to provide a simple mechanism to quickly enter 
  visually correct right-to-left text in a conventional environment.
* Orientation of text alignment remains on the left side in this mode. 
  Suggestions for improvement in order to make it useful for 
  right-to-left or bidirectional writing are welcome.


Interface:
----------
Menu display
Uses block graphics characters if determined to be available.

Menu layout
The pulldown and popup menus are in variable width now (depending on 
contents).

Mouse usage
Was enabled with curses operation (useful for EMX, see below).

Keyboard availability of menus
Menus are available from the keyboard; Alt-letter (or ESC-letter) 
pulls down a menu starting with that letter, Alt-TAB pulls down the 
file menu, Alt-blank pops up the quick menu.
(In order to make Alt work as a modifier, set the xterm resource 
metaSendsEscape to true as suggested in the example file .Xdefaults.mined.)

Line begin/end keys, hop key assignment
In order to get rid of the waste of keyboard assignments which is imposed 
by terminal emulation emitting the same escape sequences for keys of 
the two keypad areas, some X resource definitions were included 
in the file .Xdefaults.mined as a recommendation (section 
XTerm*VT100.Translations). Also the hop key may have to be made available 
explicitly with some X setups (also included in that file).

Keyboard reassignments
In order to make room for the Alt-keys to address menus, some 
commands had to be reassigned:
substitute:     ESC , (was: ESC s)
set marker n:   ESC m (was: ESC ,)
screen smaller: ESC % (was: ESC m)
screen bigger:  ESC & (was: ESC M)
case toggle:    ESC C (was: ESC f)
edit other file: use F3, or "Open" from the File menu (was: ESC e)
print buffer:   use "print buffer" from the File menu (was: ESC p)


Operation in system environment:
--------------------------------
Window resize propagated to parent shell
If the window is resized, the SIGWINCH signal is propagated to the parent 
process so that e.g. the shell also knows about the changed size.


Porting:
--------
Windows ports
Adaptations to enable compilation in Cygwin and EMX environments.
Works in EMX with ncurses and mouse enabled.

Windows port with mouse / DOS port?
A lot of changes to the curses adaptation enabled seemless operation 
in the EMX environment under Windows.
Unfortunately, EMX does not keep its promise to generate dual-mode 
Windows and DOS executables. Can anyone help?


Bug fixes:
----------
Word-wrap
Paragraph justification moved to the wrong position if triggered by a 
space entered at the end of line.

Chinese mode display
In 8/16 bit character set mode, some situations (illegal 16-bit codes) 
of display garbage were fixed.

Various minor bugs


-----------------------------------------------------------------------------
-
Linux-UTF8:   i18n of Linux on all levels
Archive:      http://mail.nl.linux.org/lists/

Reply via email to