Mined release history and change log
Release history with major enhancements / new features
(For the detailed change log, see below.)
- mined 2000.15.3
highlights:
- Maintenance release:
- Enhanced mouse control
- Menu navigation with mouse without button pressed.
- Mouse click escapes from input prompt.
- Further tweaks for MinTTY
- Detecting MinTTY as modified from 0.4.
- Fixed various character width handling issues.
- Support for dynamic adjustment of CJK width property
by font change.
- Adapted encoding handling of window title.
- Mouse operation fixes.
- mined 2000.15.2
highlights:
- Maintenance release:
- Tweaks for Cygwin console and MinTTY terminals
- Tweaks for DOS versions
- mined 2000.15
highlights:
- Character encoding support enhancements:
- Updated to Unicode 5.1; added XHC Hanyu pinyin pronunciation information.
- Enhanced character information display, also in non-UTF-8 text encoding.
Adding Unicode character name and Unicode decomposition, see Info menu.
- Enhanced character substitution display for non-Unicode terminals;
using base character according to Unicode decomposition.
- Encoding conversion from UTF-8 enhanced to all text encodings.
- Enhanced terminal support for cygwin 1.7, including UTF-8 mode.
- Character replacement commands (e.g. ESC _) also unescape
URL escape notation (%E2%82%AC) and HTML numeric entities (&_#x20AC;).
- Text editing features:
- Enhanced line begin/end navigation, may also go to previous/next line.
- Interactive:
- Changed cursor positioning when moving vertically over multi-column characters:
- Turning to the closest side of a TAB.
- Options -T/+T for preference to stay left/right of TAB.
- Enhanced menu navigation (Ctrl-mouse-scroll, initial key word finding).
- Multi-option selection in open Info display ("?") menu.
- Scrollbar mouse control enhancements:
- Scroll direction adapted to other applications (old mode with option -oo).
- Click-and-drag scrollbar scrolling.
- Accelerated scrolling (by half a page) while over scrollbar.
- Added usage hints to messages on typical keyboard interaction misconceptions.
- Help function improvements.
- Tweaked handling of Home/End/Del and modified keypad keys.
- Interworking enhancements:
- Distinction of small/numeric keypad keys for djgpp-compiled DOS version.
- Tweaked uterm terminal invocation script:
- Workaround to safely ensure UTF-8 on cygwin.
- Best guess for user preference of rxvt (if rxvt-unicode is found).
- Command line options for user preference for xterm or rxvt.
- Tweaked cygwin script wmined to use mintty if available.
- Tuned keypad assignments to achieve more uniform keypad functions
among different kinds of terminals as much as possible.
- Support of additional terminal codepages as supported by cygwin 1.7,
also in the djgpp-compiled DOS version.
- Recognising and adapting to PuTTY or MinTTY.
- Printing:
- Added printing feature using notepad /p for cygwin and DOS versions.
- Miscellaneous:
- Applying computed dim screen attribute for line indications (in xterm),
actived by defining an empty environment variable MINEDDIM.
- Revised/enhanced line end handling support:
- Added option +r to convert Unix lineends (LF) to DOS lineends (CRLF).
- Enhanced Mac lineend handling options -R and +R.
- Either of -r/+r can be combined with either of -R/+R.
- Added search pattern "\r" to search for CRLF (DOS/Windows) line ends.
- mined 2000.14
highlights:
- Text editing features:
- Case-insensitive search (except when searching for an identifier).
- New command Alt-x toggles preceding character and its hexadecimal code.
- Character encoding support enhancements:
- Additional option -E? just determines and displays text file encoding(s).
- Additional option +E? just determines and displays terminal encoding.
- Separated display of "isolated" combining characters (e.g. after TAB).
- Improved text encoding auto-detection:
- Improved detection of CJK encodings vs. 8-bit encodings.
- Added auto-detection of Windows-"ANSI" (CP1252), PC-Latin (CP850), MacRoman.
- Improved configuration of auto-detection.
- Character input enhancements:
- New shortcuts for input of plain quote marks (in smart quotes mode).
- Interworking enhancements:
- Terminal encoding handling:
- Added options -f / -F to indicate limited font coverage of special characters.
- Detecting and handling non-Unicode terminal with Arabic ligature joining.
- Detecting and handling special width behaviour of rxvt, mlterm, konsole
concerning unassigned characters, non-BMP, or non-Unicode characters.
- Applying display replacement for illegal Unicode characters by default
(codes ending with FFFE/FFFF, surrogates, non-Unicode code points).
- Fixed a lot of other remaining width display inconsistencies.
- Making use of window focus out/in reports (xterm 224).
- Workaround for xterm 224 bug which could lock up the terminal.
- Adjusting display details to properties of gnome-terminal, konsole.
- Considering termcap information of function key escape sequences.
- Miscellaneous changes:
- Increased speed of some UTF-8 search operations by a factor of ~ 40.
- Colour highlighting of DOS/Mac line end indications.
- mined 2000.13.2
highlights:
- Maintenance release:
- Character input support enhancements
- Interoperability enhancements
- mined 2000.13
highlights:
- Documentation enhancements:
- Revised manual structure, featuring more comprehensive new
chapters on
- Structured editing support
- Character handling support
- Language support
- Character encoding support enhancements:
- Auto-detection and explicit selection of UTF-16 with
and without BOM (big endian and little endian).
- Updated to Unicode 5.0.0 (final, from beta2 in 2000.12).
- Character input support enhancements:
- Added support for multiple accented character input.
- Additional accent prefix keys for most frequent accents of all
Latin-based languages (macron, breve, dot above, ogonek, caron, stroke).
- Added support for convenient combining character input with accent prefix keys.
- Added support for convenient quotation marks input with accent prefix keys.
- Support for Greek (monotonic and polytonic).
- Support for Cyrillic accented characters.
- Interactive enhancements:
- Revised menu structure to be more intuitive.
- Improved menu handling system.
- Interoperability enhancements:
- Making use of xterm 216 mode which provides detection of
Alt-/Control-modified digits and punctuation keys.
- Improved support for some legacy terminals.
- File handling enhancements:
- Consistent setting of file access modes when cloning a file
or creating a new file with executable permission.
- mined 2000.12
highlights:
- Character encoding support enhancements:
- Updated to Unicode 5.0.0 beta2:
- Case conversion, Script information.
- Combining character width properties.
- Han information (from Unihan database) for CJK characters.
- Radical/Stroke input method.
- Added character input mnemonics for new LATIN characters.
- Supplemented Big5 character set with HKSCS-2004 update from
http://info.gov.hk/digital21/eng/hkscs/, adding more than
100 characters.
Handling covers mappings to two Unicode characters,
like for JIS encodings.
- Revised interpretation of locale environment variables to
comply with de-facto locale standard but yet allowing flexible
locale configuration for both text and terminal encoding.
This mechanism is supplemented by other options with useful
precedences.
Command line options to specify text or terminal encoding were
revised, enhanced, and made more comprehensive.
- Revised terminal encoding handling to support also mapped
8-bit encodings including handling of combining characters
(with auto-detection).
- Generally revised handling of text and terminal encoding
to support all combinations of them.
- Supporting lots of additional 8-bit encodings for both
text encoding and terminal encoding. Structured Encoding menu
with submenus for concise text encoding selection.
- Optional Unicode Copy/Paste buffer mode with implicit conversion.
- Character handling support enhancements:
- Supplemented Cangjie input method with additional mappings
from HKSCS-2004 Changjie input code table.
- Case conversion is now always (i.e. in all encodings)
based on Unicode.
- Shift-F3 case cycling function now uses actual Unicode
title case characters when appropriate and available.
- Smart quotes enabled in all text encodings.
- Updated HTML character mnemonics to HTML 4.01.
- Interworking enhancements:
- Improved intuitive assignment of copy/paste functions to
keypad, enhanced flexbility of usage.
- Further improvements on terminal interworking (even
version-specific), especially with KDE konsole. Added kterm
encoding auto-detection.
- Other enhancements:
- New password hiding feature, selected by default for "hidden" files.
- Extended default installation by some aliases and wrappers:
- minmacs, mstar, mpico for invocation of mined in
emulation modes for emacs, WordStar, pico (alpha),
respectively
- umined, xmined for invocation of mined in a
separate terminal window
- uterm to invoke a new terminal window with a
maximum of Unicode support achievable on the system,
including best-choice font selection
- mined 2000.11
highlights:
- Unicode support enhancements:
- Updated to Unicode 4.1.0:
- Case conversion, Script information.
- Combining character width properties.
- Han information (from Unihan database) for CJK characters.
- Radical/Stroke input method (to include new CJK characters).
- Added Hanyu Pinlu and Tang pronunciation information
(from Unihan database) to Han information options.
- Added generic and supplemental character input mnemonics
for new LATIN characters.
- Indication and character information of Unicode combining
characters now refers to the most recent Unicode version, not
the actual terminal capabilities.
- Interactive enhancements:
- Conciliated keypad assignment preference conflict between
Cut/Paste functions (as propagated by mined) and character
deletion / line positioning functions (as often commonly expected):
- The more common Home/End/Delete function
assignments to the respective keypad keys are also
easily accessible (e.g. Alt-Del).
- Documentation for alternative assignment option improved.
- Using Del without a paste buffer gives an
additional hint on alternative usage.
- Additional assignment of "Delete single" function
(to delete without auto-undent, or to delete the last
combining accent only) to F5 Backarrow.
- Additional commands (HOP) F1 F1 / Shift-F1 / Control-F1 / Alt-F1
to display a help status line of (shifted) function key assignments.
- Slight revision of function key assignments to improve
intuitive usage and compliance with common usage.
Unification of DOS version function key assignments.
- Interoperability enhancements:
- Improved detection of shifted function keys on various
kinds and modes of terminals.
- Added keyboard configuration examples for Control-function
key detection for rxvt and mlterm to the runtime support library.
- Added script to support Unicode X font installation to the
runtime support library.
- Modified xterm start script "uterm" so that with newer xterm
versions (from 201) usage of the xterm built-in most recent
version of Unicode width data is enabled (which is often more
current than the system-provided locale version).
- Provided makefile for Interix.
- Feature enhancements:
- Smart arrows added to optional smart input text replacements.
- New word case toggle function Shift-F3 cycling word casing
between all small, beginning capital, and all capitals.
- The "search corresponding bracket" commands ESC ( or ESC )
now also match /* */ pairs and #if #else/#elsif #endif structures.
- New TAB expansion option (-+4 or -+8) that expands TAB key
input to an appropriate number of Space characters.
- Further enhancements:
- Using paps (a Pango printing script) for printing if available.
- Added PC DOS encoding ("codepage 437") to available encodings.
- mined 2000.10
highlights:
- Character encoding, CJK, and input support enhancements:
- Printing feature revamped; now working with all encodings.
- Updated character properties to Unicode 4.0.1.
- Added support for major mapped 8 bit character encodings.
- Added transparent handling of UTF-16 encoded files (with BOM).
- Full support for combining characters in CJK encodings
and 8 bit encodings, including optional separated display mode
and partial editing (within combined character).
- Added Han character information (description / pronunciation)
while browsing text or input method pick lists.
- Enhanced character information conforming to ISO 14755.
- Additional input support for CJK, Vietnamese, Thai, Hebrew.
- Added preinstalled WuBi input method (used by professional
typists in mainland China).
- Added radical/stroke lookup input method for CJK characters,
especially useful for not CJK speaking users.
- Added two Vietnamese input methods (VIQR and VNI) to
preconfigured keyboard mappings, as well as a Vietnamese
accent prefixing input support method.
- Added two more ways of supporting input of Vietnamese
multiple accented characters.
- Revamped mnemonic input support; completed mnemonic patterns
and enhanced documentation.
- Enhanced numeric character input support; conforming to
ISO 14755.
- Interactive enhancements:
- Revamped menu control; added subtitles and flag markers
(showing active options); enabled menu navigation by item letters
or mouse wheel movement.
- Runtime environment enhancements:
- Enhanced interoperability with various terminals; enhanced
detection and handling of available menu border styles as well
as screen attributes used for scrollbar and special character
display for a wide range of terminals.
- Providing runtime support library with X configuration patterns
and terminal startup scripts.
- Portability enhancements:
- Revamped makefiles; enhanced portability and compilation
on legacy systems.
- Enhanced makefiles to provide more installation options;
fixed default target directories for a wider range of target
systems.
- mined 2000.9
highlights:
- Position stack and return function also work across files
(esp. after identifier definition searches using tags file)
- Smart quotes: auto-detection of quotation marks style on
file loading
- Interactive Latin-1 / UTF-8 conversion support
- Support for VIM keyboard mapping files
- mined 2000.8
highlights:
- Major extension of CJK character set support: GB18030,
full EUC-JP, CNS (EUC-TW)
- Vietnamese VISCII character set support
- Auto-detection of UTF-8 / CJK terminal features
- Flexible locale configuration for both text and terminal encoding
- Smart dashes
- Multiple paste buffers (emacs-style)
- emacs command mode
- mined 2000.7
highlights:
- Enhanced East Asian input method support;
selection menu for multiple character choices ("pick list")
- Support for editing CJK encoded files in UTF-8 terminal
- mined 2000.6
highlights:
- Arabic ligature joining support
- New command "return to previous position"
- mined 2000.5
highlights:
- Bidirectional terminal support
- Keyboard mapping
- Script highlighting
- mined 2000.4
highlights:
- Mouse dragging support
- Clever justification (line-wrapping) with auto-indentation
- Back-TAB (undent)
- Version control system support (checkin/-out)
- Enhanced composed character input support
- mined 2000.3
highlights:
- Documentation revision; manual page source changed to HTML
- mined 2000.2
highlights:
- Auto-indentation
- Input support for indented parentheses pairs
- HTML syntax highlighting
- Enabled newline in search/replace
- Mouse support for DOS versions
- mined 2000.1
highlights:
- Smart quotes
- Context-dependent Unicode case toggle
- mined 2000
highlights:
- Binary transparency, including different line-end handling,
unterminated lines, and NUL characters
- Unicode combined character handling
(combined or separated display)
- Optional Unicode line-end display
- Cross-file identifier definition search (using tags file)
- Right-to-left input support ("poor man's bidi" mode)
- Scrollbar
- mined 98
highlights:
- UTF-8 support
- Mouse support
- Pull-down and popup menus
- release 6
- release 5
- release 3
highlights:
- Paragraph justification
- 16-Bit character set support
- release 2
Change log
=============================================================================
Changes from mined 2000.15.2 -> mined 2000.15.3 (June 2009)
===============================================
Interactive:
------------
Mouse click escapes from input prompt.
Enhanced mouse control:
* Menu items can be navigated with the mouse without button pressed.
- Enabled by default for MinTTY, xterm, gnome-terminal.
- Enable with option +*, disable with option -*.
Interworking
------------
For MinTTY:
* Detection of MinTTY 0.4 by terminal type of device attribute response.
* Fixed various character width handling issues.
* Support for dynamic adjustment of CJK width property.
* Handling screen supporting right-to-left but not ligature joining.
- Also introduced explicit option +UU-U to configure this.
* Handling codepage-dependant encoding of window title (since MinTTY 0.3.9).
For PuTTY, a few tweaks handle differences from MinTTY (e.g. title encoding).
For djgpp version, enhanced codepage detection for FreeDOS.
Bug fixes:
----------
Fixed mouse operation stopped after opening a menu in cxterm and hanterm.
Fixed mouse drag-release-copy operation which used to stop working after
a menu was opened or the scrollbar was used in MinTTY (due to handling
of the xterm mouse tracking mode).
=============================================================================
Changes from mined 2000.15 -> mined 2000.15.2 (May 2009)
=============================================
Interworking
------------
In cygwin terminal (also on Linux/Unix after rlogin), fixed Home/End
key handling to be consistent with previous versions.
For MinTTY:
* Tweaked screen feature adjustment.
* Disabled scrollbar (workaround for right-to-left problem, like mlterm).
For djgpp version, tweaked codepage detection to work.
Tweaks to make Turbo-C compilation work again.
=============================================================================
Changes from mined 2000.14 -> mined 2000.15 (April 2009)
===========================================
Text editing features:
----------------------
Line begin/end navigation (small keypad Home/End keys, or Alt-Home/End keys)
may go to previous/next line, respectively, if the current position is
already at line beginning/end.
Character encoding support enhancements:
----------------------------------------
Updated to Unicode 5.1:
* Added XHC Hanyu pinyin pronunciation information (from Unihan database)
to Han information options.
* Updated handling of character properties as appropriate.
* Added mnemos for new Latin characters, revised some redundant mnemos.
Enhanced character information display:
* Showing Unicode information also in non-UTF-8 text encoding.
* Adding character information options for:
Unicode character name, Unicode decomposition, input mnemonics.
* The character or file information to be shown on the status line is
configurable in the Info menu,
* or with a command-line option (+?...) or entry in the MINED variable.
Enhanced character substitution display for non-Unicode terminals; if a
character cannot be displayed by the terminal, mined tries to replace it
with its base character according to Unicode decomposition, and displays it
with cyan background as a substitution indication.
Enhanced encoding conversion function (Alt-Shift-F11, ESC _) to
convert from UTF-8 to any current text encoding.
Added supported Unicode version to the About message.
Tweaked auto-detection of text encoding:
* Not counting sequences of 8 bit no-break space (0xA0) as CJK anymore.
No longer interpreting Unicode LS/PS line/paragraph separators as
line ends if opening a file explicitly in non-Unicode encoding. This
does not work however if non-Unicode encoding is just auto-detected.
Tuned CJK file encoding auto-detection which yielded too many
false positives for Shift-JIS.
Support of additional terminal encodings (esp. in support of cygwin 1.7),
see Interworking enhancements below for a listing.
Revised online help page "Unicode Howto".
Character input enhancements:
-----------------------------
Character replacement commands (ESC _ , ESC ö etc) also unescape
* URL escape notation like %E2%82%AC
* HTML numeric character entities (&_#x20AC; &_#8364;)
Additional command line parameter syntax -K=im-im to preselect an
input method and/or a standby input method (for quick switching
wich Alt-k). Examples: -K=gr-py (select Greek, standby Pinyin)
or -K=-py (standby Pinyin).
Enabled keyboard mapping always by default (made option +K obsolete).
Interactive:
------------
Changed cursor positioning when moving vertically over multi-column characters:
* Moving vertically over a TAB now turns to the side of the TAB column range
closer to the previous position.
* Revised/added TAB navigation options -T/+T;
* With -T, position stays left when moving vertically over TAB or wide char.
* With +T, position stays right when moving vertically over TAB or wide char.
* Fixed alternating left/right over wide characters.
Menu item navigation with initial keys looks for any word in menu label
starting with key.
Menus can be switched with Control-mouse-wheel scroll.
Added documentation about mouse control in open menus.
Info display menu ("?" menu): While selecting multiple sub-options
of displaying char info or Han pronunciations, the menu stays open.
Scrollbar mouse control enhancements:
* Scroll direction adapted to other applications:
Left-click on scrollbar scrolls towards mouse position, right-click in
the other direction (old behaviour left=down/right=up with option -oo).
* New left-click-and-drag scrollbar scrolling.
* Accelerated scrollbar scrolling:
Mouse wheel scrolling on the scrollbar scrolls by half a page.
(Mouse wheel on text: 3 lines; with control: 1 line.)
Added usage hints to messages on typical keyboard interaction misconceptions.
Help function improvements:
* Revised Options -> help menu items.
* Revised keyboard help bars (for function keys and accent prefix
keys); input keys are consistently marked red, accent functions are
marked in cyan highlighting.
* Keyboard help bars can now be invoked with F1 followed by any of the
respective keys to get help on
(not just (Control-/...)F1 / Control-, / Control-1).
Tweaked handling of modified keypad keys to implement the distinction
especially between Home/End/Del and Alt-Home/End/Del as described;
also improved the documentation of keypad interpretation in the manual.
However, available keypad function assignments are unfortunately
limited by the typical insufficiency of terminal emulators to support
all kinds of key recognition as it would be desirable.
Interworking enhancements:
--------------------------
Working with UTF-8 mode of cygwin 1.7 console (detected e.g. by
CYGWIN=codepage:utf8). Note: After rlogin from this console, UTF-8
indication has to be ensured explicitly, e.g. by environment setting,
or by mined option +U.
Terminal encoding handling:
* Detecting bidi markers (format controls, RTL etc) to be printable
since xterm 230.
Terminal features:
* Handling xterm mode formatOtherKeys: 1 (xterm 235).
* Making use of terminal capability to erase multiple characters.
The djgpp-compiled DOS version can now distinguish keys of the
small ("editing") keypad and the numeric ("application") keypad so
especially the Home and End keys are assigned different functions
as with xterm or (more limited) rxvt.
Revised uterm script (for invocation of a Unicode terminal):
* Tweaked uterm script with workaround to safely ensure UTF-8 with xterm
on cygwin.
* Modified uterm to start rxvt-unicode if the current terminal is rxvt
(but only if rxvt-unicode is found, e.g. as urxvt on cygwin).
* Added command line options -rx / -rxvt / -xt / -xterm to explicitly
select user preference to use rxvt-unicode or xterm.
Tweaked cygwin script wmined to use mintty if available.
New option -O to disable script colour highlighting (for Greek, Cyrillic,
Coptic, Armenian).
Disabling in cygwin console by default. Option +O enables it.
Making script highlighting brighter on dark terminals.
Sample file conf_user/profile.mined of the Mined runtime support library:
Suggesting different fancy settings for MINEDUTFRET and MINEDUTFTAB
line end and tab markers, respectively, whether running rxvt or xterm.
New environment variable MINEDBORDER to control colour or menu borders;
suitable values are "35" (magenta), "34" (blue) and "31" (red, default).
Tweaked menu display with a workaround for cygwin buggy colour handling.
New options +F / +FF to indicate a better range of font support in
case the default assumption of mined for the terminal (or an option -F
in the environment) preconfigures font usage to be limit.
New option +k to activate "application keypad mode" of the terminal.
This is normally not needed as mined selects this mode automatically
by the terminal it runs in. If you are running a misconfigured X
windows system which does not facilitate distinguished keypad
functions, you can enforce them by using the NumLock function of the
keyboard and switching on this option.
Workaround for KDE konsole issue rendering text invisible after an
attempt to fix the screen size (which in turn is a workaround for
occasional remote login screen size recognition problems; that
workaround is not applied for konsole anymore).
Tuned keypad assignments to achieve more uniform keypad functions
among different kinds of terminals as much as possible.
Tweaks for vt100:
* Workaround for buggy terminfo vt100 entries.
* Using application keypad mode.
Recognising PuTTY or MinTTY and tuning screen capabilities accordingly.
Support of additional codepages as supported by cygwin 1.7,
plus a few more as provided by libiconv.
These are mainly provided as terminal codepages, they do not appear
in the Encoding menu. However, if you need, you can ask mined to use
them as either the assumed terminal encoding (e.g. +E=CP1250 or +E:WE)
or even text encoding (e.g. -E=CP1250 or -E:WE) using the names or
shortcuts from the list:
CP737 37 DOS Greek
CP775 75 DOS Baltic
CP852 52 DOS Central European
CP853 53 South European, Esperanto (on request of Rugxulo)
CP855 55 DOS Cyrillic
CP857 57 DOS Turkish
CP858 58 DOS Western, CP850 with Euro symbol
CP860 60 DOS Portuguese
CP861 61 DOS Icelandic
CP862 62 DOS Hebrew
CP863 63 DOS French Canadian
CP864 64 DOS Arabic
CP865 65 DOS Nordic
CP866 66 DOS Russian
CP869 69 DOS Modern Greek
CP1125 25 DOS Ukraine
CP1250 WE Windows Central European
CP1253 WG Windows Greek
CP1254 WT Windows Turkish
CP1256 WA Windows Arabic
CP1257 WB Windows Baltic
In the djgpp-compiled DOS version, mined tries to detect the codepage
using the DOS API. This is untested, however.
Printing:
---------
Added printing feature using notepad /p to the uprint script,
effective for the cygwin version. This enables mined to print under
Windows (unless one of paps of uniprint happens to be installed
which would then be used).
The djgpp version of mined uses notepad directly for printing so it
can at least print Unicode output if it is being run under Windows.
Miscellaneous:
--------------
Added search pattern "\r" to search for CRLF (DOS/Windows) line ends.
Revised line end handling options:
* Added option +r to convert Unix lineends (LF) to DOS lineends (CRLF).
* Mac lineend transformation option -R no longer implies -r.
* Mac lineend handling option +R no longer splits DOS lineends.
* Either of -r/+r can be combined with either of -R/+R.
Applying computed dim screen attribute for line indications (in xterm),
actived by defining an empty environment variable MINEDDIM; the colour
value is computed from the current foreground and background colours.
Added environment variable MINEDEMPH to configure highlighted parts of
status line messages separately from line indicators.
Added ".xul" to suffix list triggering HTML/XML style highlighting.
Handling encoding of window title filename display properly in cygwin console.
Bug fixes:
----------
Fixed file position marker update function which spoiled the marker file
(@mined.mar) when editing a UTF-16 text file (in 2000.14).
Fixed search/replace problem with initial newline in the search pattern,
which used to skip every immediately following second occurrence.
Backarrow deletes whole combined character left again (broken since 2000.14).
Enabled input of no-break space using Ctrl-Shift-space in prompt input.
Fixed garbage display after ESC _ (or alternatives) on HTML character entity.
Fixed positioning anomaly with auto-indent after right-to-left text entry.
Fixed proper recognition of shifted function keys (broken in 2000.14).
Fixed Shift-F3 word case toggle function for words prefixed by "$" or "_".
Fixed MINED=+E... setting to be accepted in DOS/Windows console.
Suppressing notification of changed input method while input is active
on prompt line.
Fixed interpretation of Linux console shifted function keys.
Fixed changing position anomaly when moving cursor vertically over
wide characters multiple times.
Tweaked character selection menu (pick list for CJK input methods)
display handling to fix some colouring and width problems.
Fixed uterm script to handle resource strings properly.
Fixed confusing message "Cannot undo previous paste" (on Control-F4
or Alt-Insert) into "No previous paste to exchange".
Fixed interix terminal interworking to assume CP437 rather than CP850.
Fixed some width handling inconsistencies in CJK terminals, especially
Big5-encoded terminals (e.g. cxterm, rxvt):
* Display width of non-displayable character in Unicode text.
* Positioning of flags after wide quote style flag.
Suppressing display of file loading error message (esp. "Line(s) too long")
if only using option -E?.
Fixed evaluation of select system call in case it returns -1 (sun cmdtool).
Tweaked weird file protection settings that were inconsistent among various
operating systems if saving a file after editing text read from a pipe.
Consistently adding bold or dim attributes to different line end markers.
Removed option -t from manual which did not work since mined 2000;
use environment variable MINEDTAB instead.
Fixed handling of mouse events if the TERM variable is not properly set
to either xterm or rxvt (e.g. TERM=vt100 after remote login) which did not
work since 2000.8.
Fixed garbled notification of non-ASCII input method name in non-UTF-8
terminal.
Fixed some interference problems with selecting different information
display options.
Fixed encoding conversion function (UTF-8 vs Latin-1) on bytes FE and FF.
In xterm with different TERM setting (e.g. TERM=rxvt), mouse focus out clicks
were reported as "Unknown keyboard control sequence" (in 2000.14); fixed.
With option -M (no menu line), the title of a long menu is no longer
suppressed (since being positioned above the screen). This also:
Fixed big red artefact in DOS version with -M when opening Options menu.
Fixed screen handling of scrolling up when terminal cannot delete line
or scroll partially (e.g. VT52).
Fixed a bug that would transform a new file name (e.g. after F3) like
"~/%s" into a formatted string.
Fixed option -X to suppress all actions on window title.
Fixed make auxiliary script mkkmlist which had a shell interworking problem
on some systems and fail to generate the list of keyboard mappings.
=============================================================================
Changes from mined 2000.13.2 -> mined 2000.14 (July 2007)
=============================================
Text editing features:
----------------------
Case-insensitive search (for all small letters in plain search expression).
Not applied when searching for an identifier (current identifier occurence,
HOP F8, or identifier definition, Alt-t).
New command Alt-x toggles preceding character and its hexadecimal code.
Control-Del (if properly configured with terminal) on combined
character deletes only the base character, leaving combining accents
which may then be combined with the previous character.
Character encoding support enhancements:
----------------------------------------
Additional sub-options -E? and +E? to just determine the encodings
of text files or the terminal, respectively, print out information and quit.
Always separated display of "isolated" combining characters (like for
all combining characters in "separated" display mode), occuring at the
line beginning or after a TAB character, which would otherwise be
hidden or hardly recognisable on screen.
Tweaked auto-detection of text encoding:
* UTF-8 vs 8 bit detection is no longer affected by terminal encoding
(UTF-8 terminal used to set a preference).
(If auto-detection fails, however, the fallback is still affected
by the terminal encoding, or the TEXTLANG environment variable.)
* Improved detection of CJK encodings vs. 8-bit encodings.
* Added auto-detection of Windows-"ANSI" (CP1252), PC-Latin (CP850), MacRoman.
* Improved configuration of auto-detection:
* Less frequent encodings are not detected by default (MacRoman, VISCII).
* Shortcut "8" in environment variable MINEDDETECT disables auto-detection
of all CJK encodings.
Character input enhancements:
-----------------------------
New shortcuts Alt-' and Alt-" for input of plain single and double
quote marks (while in smart quotes mode).
Interworking enhancements:
--------------------------
Terminal encoding handling:
* Added options -f, -ff, -fff to gradually restrict usage of special
graphic characters for display of menu borders,
menu selection highlighting, and the scrollbar.
* Added options -F, -FF to restrict usage of special characters for
display of line indications and selected menu items.
* Detecting and handling non-Unicode terminal with Arabic ligature joining
(e.g. mlterm in GB18030 or ISO Arabic encoding).
* Tuned mapped terminal detection to work (as opposed to CJK assumption)
in a weird case (mlterm with luit).
* Fixed combining character data version detection for mlterm.
* Detecting and handling special width behaviour of rxvt and mlterm
(and different versions of them) concerning unassigned characters,
non-Unicode characters, and specific width property deviations,
as well as non-BMP width handling of KDE konsole.
* Fixed missing suppression of display of an unassigned Unicode character
(or CJK character mapped to unassigned Unicode character, esp. in GB18030)
in a CJK terminal. Overridden with +C.
* Applying display replacement for illegal Unicode characters
(codes ending with FFFE/FFFF, surrogates, non-Unicode code points).
Overridden in three levels with +C, +CC, +CCC.
* Fixed handling of CJK width data in Unicode-based CJK terminal.
- Added missing check for width data version to CJK auto-detection.
- Fixed Unicode width function to consider this case.
- Cleaned CJK width function to be generic based on fixed handling.
- Added handling of wide characters in Latin-1 range.
* Ambiguous width handling: properly handling wide display of
surrogates code points by xterm -cjk_width.
* Fixed handling of mapped text encoding characters with double width
on CJK terminal.
* Fixed input of Control-@ (NUL, used as Mark command) in mapped
8 bit terminal with different text encoding.
* Fixed recognised PC terminals (e.g. TERM=cygwin) to override
UTF-8 encoding assumption by locale environment (auto-detection
which would otherwise override wrong environment settings does
not work with most PC terminals).
* Fixed window title display of non-ASCII characters to work in
CJK-encoded konsole/gnome-terminal.
* Fixed display of non-BMP characters in xterm -cjk_width mode
(which used to work only for plane 2/3/15/16 ranges).
* Taking care of wcwidth glitch about Yijing Hexagram Symbols.
Using window focus out/in reports (since xterm 224) to improve
interpretation of mouse clicks (not positioning the cursor when
the mouse is just clicked to focus the window).
Workaround for bug in xterm 224 which would lock up the terminal on
mouse clicks (due to mouse highlight tracking mode which is now disabled
for xterm 224).
Recognising gnome-terminal and disabling usage of fancy menu borders,
menu selection, and fine-grained scrollbar.
Recognising more "dark colour terminals" (konsole, gnome-terminal);
improved visibility of selected menu item on them.
Usage of terminal capabilites:
Now mined also considers the termcap information of function key
escape sequences, in addition to its built-in knowledge of typical
escape sequences of a large range of terminals
(where the latter is usually the more effective resource of
information for recognition of terminal input key escape sequences
because installed termcap entries are largely incomplete).
Miscellaneous changes:
----------------------
Increased speed of certain search operations in UTF-8 mode (especially
starting with ".*") by a factor of ~ 40.
Discarded option +m.
Line end indications: By default, line-end indications for DOS and
Mac line ends will be the same as for Unix line ends but coloured;
mined uses blue for DOS line ends and yellow for Mac line ends.
The previous default of distinct line-end indications is preserved
for black and white terminals.
Environment variables to configure specific indications are retained
(MINEDDOSRET, MINEDMACRET, MINEDUTFDOSRET, MINEDUTFMACRET).
Deletion of combined characters: delete character function tweaked to
also delete Arabic joined characters with the base character in joining
terminal (mlterm).
Enabled key navigation also in Quotes style menu.
Option -M only suppresses display of the menu header line
(including flags) (pull-down and pop-up menus can still be opened
with keyboard commands), but mouse control remains enabled.
Fixed menu display position in this mode (making menu titles of
pull-down menus visible).
Tuned selected menu item marking for terminals than cannot reverse
display or hide cursor.
Detecting slow terminal escape sequences (starting with a late '['
or ']' after an escape) and discarding them (rather than inserting
garbage into the text).
Dropped ESC ] variation of the goto marker command.
Added housekeeping for the position marker file @mined.mar: old entries
for the current file name are removed. Not used on PC versions (djgpp).
Bug fixes:
----------
Structured search: added recognition of #elif for C macro bracket searching.
Fixed password hiding for multiple occurrences of "password" in a line.
Fixed "HOP -" not to spoil the underlining by applying smart dashes.
Combined character editing:
* Fixed positioning after inserting character into combined character
(substituting the previous base character, also with ESC X or ESC U).
* Fixed Control-BackSpace within combinined character to delete base
character.
* Fixed BackSpace deletion/positioning anomalies when the cursor was
micro-positioned within a combined character or (after a TAB)
positioned on an isolated combining character.
Combined character repositioning:
* Fixed micro-position within combined character to persist after
display refresh (ESC .).
* Fixed micro-position within combined character to persist after
reloading file (e.g. in new mined session), also after returning to
a file with Alt-Return (marker stack), after help viewing and checkout.
Text encoding handling:
* Added handling of joining characters (Arabic LAM/ALEF) in joining
terminal (probably mlterm) and non-Unicode text encoding (GB18030 or
8-bit Arabic); both combined and separated display mode.
* Fixed handling of auto-detection vs. explicit encoding (-E) when
editing multiple files.
Character input support:
* Fixed ambiguous mnemonics to distinguish between input methods as
documented (failed in 2000.13); e.g. ^V'' -> right double quote mark,
while ^V space '' space -> acute accent (RFC 1345 mnemo).
* Fixed Latin-1/UTF-8 conversion function Alt-Shift-F11 from also
sometimes applying mnemonic conversion.
Fixed hint in manual on properly using xterm VT220 keyboard option.
Enhanced handling of line markers (special line ends) on CJK terminals.
Manual page: fixed descriptions for command variants "with HOP" in
command reference which were missing in 2000.13.2.
Fixed uterm script in case none of LC_ALL, LC_CTYPE, LANG is defined.
Fixed cygwin version from not restoring tty mode after shell command (ESC !).
Reenabled shell escape (ESC !) when mined was invoked with redirected
input (e.g. in a pipe) which could not access the terminal since 2000.2.
Not working in cygwin version.
Code revision: further factoring out of functional blocks (file
operations, text buffer handling).
Reenabled QUIT signal from keyboard (sent with ^\ key) to interrupt
search operations (did not work for ~ 10 years).
Fixed minedmar housekeeping scripts (Unix and DOS). (Also added
implicit housekeeping, see above.)
Fixed cygwin version from not assuming "modified" with option -r.
=============================================================================
Changes from mined 2000.13.1 -> mined 2000.13.2 (December 2006)
===============================================
Documentation enhancements:
---------------------------
Improved hints on modified function key input:
* Overview of system-specific limitations and remedies.
* Additional hint on workaround to use ESC Fn instead of Alt-Fn for
accent prefix functions.
Revised HTML manual file to be displayed properly with other browsers
than Firefox (IE, Opera, konqueror).
Tweaked man page generation (from HTML manual) to produce improved layout;
also including ->NEW-> tags in man page.
Interactive enhancements:
-------------------------
Interpreting ESC Fn as Alt-Fn even after ESCAPE delay (for first accent
key in text input, not on prompt line).
Character input support enhancements:
-------------------------------------
Additional workaround to use Control-V Fn instead of Control-Fn for
accent prefix functions.
Added source indications to Input method menu.
Added information message after switching the input method.
Made input method tags unique - thus enabled distinguished selection
between Kazakh and Katakana - and added check for this to makefile.
(Also added check for uniqueness of character mapping tags to makefile.)
Input methods:
* Replaced previous Thai keyboard mapping of uncertain origin with
slightly different Thai Kesmanee keyboard mapping from m17n.
(Previous method is still included in the distribution and can
be enabled by uncommenting its entry in keymaps.cfg.)
* Re-enabled previous Amharic input method called "Ethiopic" (from yudit)
but leaving in new input method "Amharic" (generated from Unicode data)
above it in the menu (as a preferred method according to user feedback).
Mnemonics and accent prefix keys:
* Enhanced documentation for multiple accent combinations, and special
arrangement for accent below.
* Added additional mnemonic for line below, enabling its input with
3 times Control-- as a prefix.
Interoperability enhancements:
------------------------------
Terminal keyboard handling:
* Reassigned escape sequence ESC [29~ which is emitted by xterm on the
Menu key to invoke HOP rather than Shift-F6. This provides a more
easily accessible HOP function for laptops (which do not have the
right/numeric keypad) and enables assignment of the HOP function to
the middle keypad key ("5") for KDE konsole which is by default
deprived from this feature due to a deficiency in the QT framework.
* Using application keypad mode with xterm 216 or later since modified
keypad keys (Control- etc) are now distinguished in that mode.
* Added recognition of modified function keys in xterm HP and SCO keys
modes.
Terminal encoding handling:
* Added terminal encoding detection of FreeBSD console and a number of
KOI8-R, MacRoman, and ASCII terminals.
* Fixed filename encoding handling in window title of KDE konsole terminal.
Terminal screen handling:
* Tweaked highlighting of selected menu item to ensure good contrast
on dark terminal background too.
* In DOS version (djgpp), tweaked highlighting of selected menu header
to be more consistent with Unix versions.
Unicode terminal start script:
* Tweaked uterm (the script to invoke a terminal with best-choice
Unicode fonts) to not hang if xlsfonts ties up at the server.
* Fixed uterm to work properly with an explicit -display parameter.
* Tweaked uterm to add some X resource preferences for xterm when
invoked with an application (-e). (See uterm manual page for details.)
Printing:
* Tweaked printing script uprint to cooperate with newer version of paps.
Building mined / makefiles:
* Tweaked some makefiles to work also on systems with the termcap API
installed only in /lib (not in /usr/lib).
* Fixed makefile problem when makefile.gcc could be used but not gmake
(esp. on SunOS without native C compiler).
* Added hint to INSTALL.DOC to build mined with 64 bit libraries on
Linux (LIB=64 make) or SunOS (LIB=/64 make).
* Including pre-transformed version of Radical/Stroke input method
table in distribution to ensure that mined can be built on Mac OS
(where generation of this file fails since neither sed nor gcc can
handle long strings there).
Bug fixes:
----------
Menu handling:
* Fixed menu navigation with letter keys which did not work after a
menu had been opened with a right-click.
* Fixed middle mouse click on flag (to toggle it) not to apply HOP, so
especially toggling the input method works with the middle button.
* Fixed open menu not closing properly after window resizing.
Fixed display error after deleting a combining character that was
combined with a TAB character (since 2000.6).
Fixed printing script uprint to properly report if neither the paps
nor the uniprint utility can be found (since 2000.11).
Fixed screen size change handling to work also with ncurses.
The curses version (minced) could not detect some screen properties
anymore (e.g. combining character support, since 2000.13.1); fixed.
In DOS version (djgpp) running in cygwin console, fixed wrong assumption
about terminal encoding.
Fixed file name "~" to expand to $HOME, too (like in "~/something"),
for use with ESC d command.
Fixed a new instance of inappropriate error messages "Unknown
character mnemonic" to "Invalid character" (when a valid mnemonic was
not found on first attempt of the new mnemonic lookup algorithm but
the character found later cannot be inserted in the current encoding).
Fixed a crash condition in cygwin version when using the print command.
=============================================================================
Changes from mined 2000.12 -> mined 2000.13 (October 2006)
===========================================
Documentation enhancements:
---------------------------
Revised manual structure, featuring more comprehensive new chapters on
* Structured editing support
* Character handling support
* Language support
Equipped HTML manual version with an auto-navigation index.
Character encoding support enhancements:
----------------------------------------
Enhanced support for UTF-16 files:
* Added auto-detection of UTF-16 without BOM (big endian and little endian).
* Added explicit command line selection of UTF-16.
Now all big/little endian UTF-16 files with or without BOM can be
auto-detected and explicitly selected. Copy/Paste when editing a
UTF-16 file was fixed.
Updated to Unicode 5.0.0 (final, from beta2 in 2000.12):
* Cangjie input method codes (as before, supplemented with additional
mappings from HKSCS-2004 Changjie input code table.)
* Han information (from Unihan database) for CJK characters (6 fixes),
now also including Hangul pronunciation (new in Unihan database).
* Character properties for display indication (one dash association changed).
When TERM=cygwin, mined assumes a terminal encoding that is reduced by
those Windows Latin characters which are poorly emulated by cygwin.
Unicode character code display (ESC u) now also notifies about
too long UTF-8 encoding sequences.
Character input support enhancements:
-------------------------------------
Revised handling of accent prefix keys; turned implementation generic,
fixing some inconsistencies in accent combination.
* Additional accent prefix keys (like Alt-3, Control-3, Control-Alt-3
etc) as attached to modified digits for Vietnamese input, are now
applicable also in the prompt line (e.g. for search expressions).
Added support for multiple accented character input:
* Multiple accent prefix keys can be combined, so e.g.
F5 F6 u enters U+01D8 (u with diaeresis and acute),
Control-2 Control-7 a enters U+1EB1 (a with grave and breve),
Control-- Control-: u enters U+1E7B (u with macron and diaeresis),
Control-, Control-( e enters U+1E1D (e with cedilla and breve),
Alt-7 Control-, alpha
Alt-F6 Shift-F6 Control-, alpha
Control-less Control-` Control-, alpha
all enter U+1F82 (alpha with psili and varia and ypogegrammeni), etc.
* Generic handling of accent prefix with precomposed base character,
applying implicit decomposition if needed, so e.g. F6 ü will enter u
with diaeresis and acute (even without explicitly configured
mnemonic) etc.
Added accent prefix keys:
* Additional accent prefix keys for most frequent accents of all
Latin-based languages (macron, breve, dot above, ogonek, caron, stroke).
* Support for convenient combining character input with accent prefix keys.
* Support for convenient quotation marks input with accent prefix keys.
* Support for Greek (monotonic and polytonic) by adding respective
accent keys and accented character mnemonics.
* Support for Cyrillic accented characters by adding respective
accent keys and accented character mnemonics.
Added character mnemonics:
* Added mnemonics for input of separate Unicode combining characters
using the newly-introduced accent prefix keys combined with Tab.
* Additional sets of accented mnemonics for Greek and Cyrillic.
* New short mnemonics (to be used after Control-V prefix) "zz" for the
DOWNWARDS ZIGZAG ARROW symbol, "cm" for the CHECK MARK symbol (in
addition to the "OK" mnemonic from RFC 1345).
* Alternative mnemonics like "SCHWA" in addition to "Schwa" and
additional more intuitive ones like "_ou" for Latin small letter ou
and "_alpha" for Latin small letter alpha.
* Mnemonics combining accents on precomposed characters like
"æ'" in addition to "ae'" so if you have "æ" on your keyboard,
you can now enter Latin ae with acute using it, either with a
mnemonic sequence (combining it with ') or also using the acute
accent prefix function (F6 or Control-1).
Mnemonic input improvements:
* Fixed entering accent prefix with subsequent non-ASCII character in
non-Unicode text mode.
* Enabled entering character mnemonics with non-ASCII characters in
non-Unicode text mode.
* Enabled detection of more intuitive accent mnemonics (like ^V"a as a
two-letter mnemonic) in full mnemonic input mode (like ^V space "a ).
Input methods:
* Added keyboard shortcut Alt-I to open Input Method menu.
* Supporting space and non-ASCII characters in menu names of input methods.
* Fixed Kazakh input method to use "`" as a prefix rather than "` "
(as generated from yudit kmap).
* Included Amharic input method generated from Unicode script range
Ethiopic, instead of previous Ethiopic mapping (from yudit) or
Amharic SERA mapping (from m17n) which both seem to be widely
inconsistent between character mnemonics and Unicode character names.
(Those other two are included in the distribution, however, and can
be enabled by uncommenting their entry in keymaps.cfg.)
Added generation feature for keyboard mappings from m17n input methods
(*.mim files from the m17n-db package) to the mkkbmap script.
Interactive enhancements:
-------------------------
Improved display of ESC, F1, Control-V, and Han info prompt lines.
Revised menu structure, improved / added some menu items:
* File menu:
"Discard & Quit" renamed to just "Quit"
"Save To" renamed to "Set Name"
* Edit menu:
new item "Paste Other" pastes external buffer
(from other instance of mined)
integrated edit items from former Extra menu
* Search menu: renamed to "Search/Go"
* former Extra menu:
split into editing functions (moved to Edit menu)
and settings (in new Options menu)
* new Options menu:
gateway items to the flag menus (in case direct opening of flag
menus by right-clicking the flag is not intuitive enough)
integrated former (DOS-only) Screen menu (now also for Unix)
(as a sub-menu)
added help items
help topics viewer
About mined
function key help bars
Revised menu handling system:
* Pull-down menus and flag menus can also be opened by scrolling the
mouse wheel on the menu header or the flag indication, respectively.
* All menus are now scrollable (when window is smaller than full
menu); implementation of pull-down and pop-up menus was unified.
* Open menus are now closed when the window is resized in order to
prevent calculation problems for resizing and repositioning the
selected item (limitation planned to be removed in future version).
Reassigned command to invoke system command with paste buffer as input
(pipe paste buffer into program) from ESC c (deprecated) to HOP ESC !.
Added script highlighting support to curses version.
Menu layout, highlighting of selected menu item:
* Enabled "stylish selection bar" for selected menu item by default,
as font support seems to have improved; this highlights the selected
item (during menu navigation) continuously from left to right menu border.
* Enabled stylish selection bar also for double menu borders (-Qd)
using adjusted graphic characters.
* Added option -Qq to disable this layout feature.
* Highlighting selected item now with coloured background; colour is
configurable with the environment variable MINEDSEL.
Added toggle feature for TAB expansion mode (options -+4, -+8, can
now be changed from the Options menu or the Auto indent menu).
New commands:
* HOP ESC T toggles the TAB expansion mode.
* Alt-F12 toggles the Input method (between current and previous one,
like left-clicking on the Input method flag indication)
* Control-F12 opens the Input method menu
* Control-F2: save current file (if needed) and exit mined; alternative
to ESC ESC, avoiding without the function key detection delay
(Fixed from SUSE 10.2 alpha pre-release) In emacs command mode (-e),
remapped two key commands:
* ESC ESC now dispatches to the mined ESCAPE commands (Alt-x deprecated)
* HOP was reassigned to ^\ (as ^^ is now overlayed as an accent prefix key)
Interoperability enhancements:
------------------------------
Detecting and enabling keyboard escape sequences generated by new
xterm resource modifyOtherKeys mode (xterm 214/216) which facilitates
generic detection of Alt/Shift/Control-modified keys (without having
to setup individual key translations).
Auto-detecting and supporting xterm resource utf8Title mode (xterm
213) which facilitates display of Unicode file names in the window title.
Added resource (value true) to sample file Xdefaults.mined.
Printing script uprint: Removed dpi option for paps which is not
supported anymore in newer versions as paps fortunately changed to
generating outlines.
Added application note (to manual section "Terminal interworking problems")
indicating that kterm should be configured to run in either euc or sjis
mode because its default mode (ISO 2022) is not supported.
Added setup for keypad support for VT220, xterm emulating VT220 mode
(assuming proper setting of TERM=vt220), and Linux console.
Added detection of new modified function key codes for F1-F4 (e.g. with
Control) that seem to have been introduced with xterm 216. (Modified
F5 etc work as before.)
Skipping auto-detection of terminal features if the terminal does not
support ANSI-like escape sequences.
Added some legacy terminal support:
* recognition of some legacy function key escape sequences
* supporting terminals that cannot insert/delete lines (was broken
since introduction of menus due to the menu header line)
* supporting VT52 (if indicated properly by TERM environment variable)
Abandoned the option -A (introduced in 2000.11) as disabling the ESC
prefix detection may lead to unexpected partial escape sequences
appearing to the user.
Added workarounds for display of menu borders in xterm -cjk_width mode
which has some display bugs with remains of background colour after
overwriting a character cell.
File handling enhancements:
---------------------------
When cloning a file (with Save As / Set Name / ESC n / ESC d),
file permissions (access modes) are preserved and cloned.
With the +x command line option, new files are given executable
permission only where read permission is also set.
Bug fixes:
----------
Fixed misconceived interpretation of "Spacing Combining" character
category, thus spacing Marks are no longer highlighted (since 2000.11).
Toggling the text encoding (left click on Encoding flag) was improved
to always remember the last selected encoding distinct from the current one.
Fixed locale "vi_VN" to be recognised as UTF-8 encoded.
Fixed command line option for initial search (+/EXPR) not to check
(since 2000.3) and interpret (since 2000.7) EXPR as options.
Fixed handling of backslash in keyboard mapping tables in some cases.
Revised install targets of makefiles for improved robustness.
Fixed cygwin makefile install target to consider $(prefix) or $(root)
for desktop icon, and to include wmined and wmined.bat.
Fixed makefile to work for installing alias links despite of
missing main makefile. (Updated in 2000.12.2)
In cygwin makefile, fixed path to desktop installation script mkicon.
(Updated in 2000.12.2)
Added linking of appropriate makefile.* to src/makefile to configure script.
(Updated in 2000.12.1)
Tuned screen attributes of curses version to match non-curses version
better in menus (color usage, invisible cursor, bold border),
in case anyone would be using the curses version (make minced).
On cygwin, fixed inappropriate error message "Cannot read paste buffer"
to "Buffer is empty" if no paste buffer exists.
Fixed Han info menu not being properly cleared after moving away from
Han letter which led to incorrect redisplay of old info after screen refresh.
Fixed occasional screen garbage after inserting with open Han info menu.
Fixed wrong error message "Interrupted system call" (since 2000.11) when
trying to paste non-existing buffer after screen has been resized (due
to static nature of errno which was left untouched in this case and is
now explicitly set to 0 which is hopefully portable).
Tuned menu width for partial menu display to be always at maximum width
of the full menu to avoid irritating border artifacts when scrolling.
Fixed occasionally postponed correct screen adjustment when updating the
screen after terminal/window size has changed.
Fixed failure of workaround for avoiding menu display garbage on bidi
terminal (mlterm) when display was at top of file.
Also enabled this workaround for non-UTF-8 encoding, too.
Fixed -E option without following option parameter from randomly
selecting a text encoding.
Fixed near-endless display loop after window was resized to a very
thin one (since 2000.5).
(Fixed from SUSE 10.2 alpha pre-release) Multiple accent combinations
with ambiguous mnemonics for at least one of the accents also work now.
(Fixed from SUSE 10.2 alpha pre-release) Fixed Alt-H from inserting
the closing HTML tag at the wrong place.
(Fixed from SUSE 10.2 alpha pre-release) Fixed prompt for multiple
accent prefixes to display properly also in non-UTF-8 text encoding.
Applying explicit workaround for invisible cursor control missing
from terminfo/termcap data (Sun), enabling nicer menu appearance.
=============================================================================
Changes from mined 2000.11 -> mined 2000.12 (March 2006)
===========================================
Interactive enhancements:
-------------------------
Enabled display of left shift marker by default (indicating that a long
line has been shifted out left for display).
Changed display of left and right shift markers to reverse coloured
for clearer indication.
Enabled graphic menu borders in more terminals (also in CJK terminals).
Two slight reassignments of shifted function keys make room for more
intuitive assignments:
* Detached copy function from Control-Ins. Use End/Shift-End instead.
* Detached function to move to previous/next beginning of paragraph
from Control-cursor-up/down. Use Control-Shift-cursor-up/down instead.
After pasting with the Insert key, the cursor is now by default placed
behind the pasted region.
To paste and leave the cursor positioning before the pasted region,
use ^P or Control-Insert.
See the -V/+V options to change the default behaviour.
The Alt-Insert function to paste previous buffer(s) (ring buffer function)
now also works when the cursor stays left of the pasted region.
Changed the function of left-clicking the Input Method menu to
toggle between the current and the previous keyboard mapping
rather than cycle through the mappings (like on the Encoding menu).
Changed the function of left-clicking the Quote Style menu to
toggle between the current and the previous quotation mark style
rather than cycle through the styles (like on the Encoding menu).
New option +D sets up xterm (by sending dynamic configuration codes)
to apply two useful keyboard handling modes:
* Delete key on small keypad sends DEL character rather than an escape
sequence and can thus be distinguished from the Delete key on the
big (numeric) keypad.
* Prepend ESC to character if pressed with the Alt or Meta key in
order to enable Alt-commands (e.g. Alt-f to open the file menu,
Alt-Shift-H to enter HTML markers etc).
(Unfortunately this cannot be done by default as it cannot be undone
because the previous state cannot be detected.)
(This xterm setting should rather be configured permanently as
suggested in the sample file Xdefaults.mined in the
Mined runtime support library.)
Character encoding support enhancements:
----------------------------------------
Updated to Unicode 5.0.0 beta2:
* Case conversion, Script information.
* Combining character width properties (continuing to work with older
width data versions by terminal auto-detection).
* Han information (from Unihan database) for CJK characters.
* Radical/Stroke input method.
* Added generic and supplemental character input mnemonics for new
LATIN characters.
Supplemented Big5 character set with HKSCS-2004 update from
http://info.gov.hk/digital21/eng/hkscs/, adding more than 100 characters
and fixing 5 characters that seem to be mapped incorrectly in libiconv.
Handling covers mappings to two Unicode characters, like for JIS encodings.
Revised interpretation of locale environment variables to comply with
de-facto locale standard. Added environment variable TEXTLANG to
specify text encoding preference (esp. for new files).
The order in which environment variables are searched for an
encoding specification is now:
(TEXTLANG), LC_ALL, LC_CTYPE, LANG
where TEXTLANG is only considered for assumed text encoding (with
precedence over the other variables), while the L* variables are
considered for setting of the terminal encoding.
Note however:
* Explicit command line parameters are available to specify either
terminal or text encoding. They override environment variable settings.
* UTF-8 terminal auto-detection overrides other terminal encoding settings.
* Text encoding auto-detection overrides environment settings but not
command line settings.
* Assumed text encoding can be switched while editing as usual.
Revised and enhanced command-line options to specify encodings:
-E selects text encoding, +E assumes terminal encoding;
-/+EX (single-letter tag) uses special tag as before,
-/+E=charmap uses charmap name (as reported by locale charmap command)
-/+E.suffix uses encoding suffix as used in locale names
-/+E:flag uses 2-letter flag used by mined as indication in Encoding flag
Revised terminal encoding handling to support also mapped 8-bit encodings
(i.e. non-Latin-1 8-bit encodings like ISO-8859-*, KOI, DOS, Windows etc).
Handling of combining characters (with auto-detection) is covered.
(PC character set handling is no longer a special case.)
Generally revised handling of text and terminal encoding to support all
combinations of them.
CJK terminals are no longer restricted to handle text in matching CJK
encoding only; all encodings (Unicode, other CJK, 8-bit) can now also
be edited in CJK terminals. However, especially for CJK terminals
proper display and width handling of characters that are not handled
by the terminal or not contained in the font cannot always be provided
although some auto-detection is applied for handling of extended code ranges.
Supporting lots of additional 8-bit encodings, including all that appear
to be known by typical locale set installations, for both text encoding
and terminal encoding. For text encoding, folding less important ones
into sub-menus of the encoding menu to keep it concise.
New optional Unicode mode for Copy/Paste buffer which maintains its
contents always in Unicode, so that Copy/Paste of text works between
differently encoded files (or sections of a file, if encoding is
switched while editing) with automatic character code conversion.
Enable with -Eu or right-click on Paste buffer menu ("="/"+") and
select "Unicode".
Character handling enhancements:
--------------------------------
Supplemented Cangjie input method (verified for Unicode 5.0.0 beta2)
with additional mappings from HKSCS-2004 Changjie input code table.
Enhanced the mkkbmap script to automatically merge Unihan and HKSCS
generated keyboard mappings into the Cangjie input method mapping table
(invoke ./mkkbmap cj +).
Identifier character recognition - also used for word boundaries - is
now always based on Unicode character categories.
Case conversion is now always (i.e. in all encodings) based on Unicode.
With Shift-F3 (or "Word case toggle" from the Extra menu) which cycles
a word between all small, title case, and all capitals, for title case
now an actual Unicode title case character is used if available.
Updated HTML character mnemonics to HTML 4.01. Added make script to derive
them automatically.
Smart quotes enabled in all text encodings.
Tuned Quotes style menu according to new information about international
typographic quote marks usage.
Enhanced indication of characters not displayable on the terminal:
Additional Unicode indications (like 'E' on cyan background for the
Euro symbol already) for quotation marks and dashes.
Tweaked mnemonic input support for character mnemonics that already
contain non-ASCII characters (e.g. for Vietnamese mnemonic input of
multiple-accented characters) to work also in non-UTF-8 text mode.
Interoperability enhancements:
------------------------------
Checked mined with kterm.
Added auto-detection of kterm encoding.
In rxvt, the two keypad Del keys (small keypad, numeric keypad)
are automatically distinguished from each other and invoke the
Delete Character (small keypad) and Cut (numeric keypad) functions,
respectively (with Control-/Shift-/Alt- alternatives, see manual).
Fixed screen color handling problem with newer configurations of
terminfo (ncurses) entries.
Fixed display of 8-bit encoded files in UTF-8 terminal with
wide non-CJK characters (xterm -cjk_width).
Fixed handling of CJK encoded characters in the range 0xA0** as
extended code points, to prevent bogus display in some terminals
(transparent display can be enforced with the +CCC option, like for
other extended code points).
Fixed handling of JIS characters that map to two Unicode characters
for printing (ESC f p) and character info display (ESC u).
Added control strings for more terminals to display the file name
in the window header.
Fixed make problem with newer configurations of ncurses when ncurses
development package is not installed by preferring ncursesw over ncurses.
Adding -ldl when linking ncurses version (make minced) and libdl library
exists to fix make problem with newer ncursesw configuration.
Tweaked environment settings TERM=ansi or ansi-nt to let mined assume
CP850 terminal encoding (e.g. with Windows command line telnet),
tweaked TERM=interix to indicate CP850 rather than CP437.
Further enhancements:
---------------------
The search corresponding command for #if/#else/#endif structures was
enhanced to consider nested structures.
Added a few supplementary mnemonics, e.g. for the downwards zigzag arrow.
Added new password hiding feature which hides all characters behind
the string "assword" in a line (to accommodate for password and Password).
Activated with the option -P. Disabled with +P.
By default, this mode is activated when editing a file whose name starts
with ".".
The former option to enable proportional font support was changed to +p.
Added logic to distinguish CJK locales with the ambiguous encoding suffix
".euc".
Added pico emulation mode (function emulation unfinished).
Added aliases minmacs, mstar, mpico for invocation of mined in
emulation modes for emacs, WordStar, pico, respectively.
Added wrapper scripts umined, xmined for invocation of mined in a new
separate terminal window. With umined, it will be enforced to be in
UTF-8 mode (using the uterm script).
Revised uterm script to invoke a new terminal window in UTF-8 mode with
suitable fonts. Fixed locale manipulation. Including uterm in default
installation to system bin directory, also installing a manual page.
Detecting terminal versions (by requesting terminal device attributes),
which enables the version-specific application of workarounds for
terminal bugs.
Deprecated environment variable MINEDHELPFILE, replaced by MINEDDIR
which may point to the installation directory of the Mined runtime
support library (unless installed in one of the typical locations)
which also contains the uprint script.
Revised structure of Mined runtime support library, using subdirectories.
Bug fixes:
----------
Added workaround for the often missing xterm/rxvt termcap entry eA
(enable alternate character set). Without this workaround,
menu borders would not be displayed correctly in VT100 graphics mode
(-Qv, default in Latin-1 terminal) if mined was linked with termcap
(which is the default on cygwin and some other systems). Linked with
ncurses, the termcap API would deliver the correct information to
be handled by mined. This bug (needing such a long explanation)
exposed only in rare situations, especially on cygwin :(
With the workaround above, enabled graphic menu borders in more terminals
(also in CJK terminals).
PC terminal character set assumed when a PC terminal is detected was
actually codepage 850, not 437 as previously described. Now it varies,
according to terminal name. Adapted documentation.
Abandoned option -G (which displayed some control characters as graphics)
which didn't work anymore since 2000.8.
Workaround: explicitly disabling 256 colour mode for KDE "konsole" terminal
to avoid buggy blinking on using the respective control sequences.
Fixed position handling of long line with screen display shifted out left
if left shift marker is enabled. Enabling this feature by default.
Revised format of MINEDTAB and MINEDSHIFT environment variables for
more intuitive configuration.
Fixed the auxiliary scripts "installfonts" and "makeprint" to use
`pwd` rather than $PWD which is not maintained by all shells.
Added option -xrm 'UXTerm*locale:false' to scripts umined and uterm in
order to make sure UTF-8 mode is enforced and prevent xterm (older
version) from involving luit which would occasionally stall when started.
Fixed Xdefaults.mined example resources to refer to 9x18U and 10x20U
rather than 9x18 and 10x20 as those names are used in the Unicode
X fonts package.
Fixed wrong screen position handling of indication of illegal CJK
codes starting with 8E in EUC-JP encoding on CJK terminals.
When a PC terminal is detected, mined uses the brighter version of
red for "dimmed" display of line markers instead of the almost
invisible very dark red.
Fixed some numeric/mnemonic character input/transformation functions to
not perform "smart" handling, e.g. TAB expansion to white spaces.
Fixed HTML tag input to not perform "smart" handling, esp. replacing
less/greater angles with a double arrow.
Fixed search for matching MIME separator to really match the actual
separator and not simply go to the next "--".
In rxvt, Unicode characters that are Not Assigned are always displayed
as a single-width replacement character. This is not consistent with
xterm behaviour which would display them as a double-width replacement
if they are located within a double-width Unicode range (which sounds
reasonable). This would cause display positioning inconsistencies.
Mined now has a workaround for some of these cases (assuming that
rxvt runs the most recent Unicode width data version available;
or actually the same as mined assumes - handling of multiple
auto-detected terminal Unicode versions does not cover this special case).
Fixed accent prefix keys to always give precedence to the accented
character rather than the RFC 1345 mnemonic character in ambiguous cases.
Suppressed inappropriate message "Unknown character mnemonic" when
a two-letter mnemonic input or control-digit accent prefix input
is cancelled (with ESC or a function key).
Fixed inappropriate error message "Unknown mnemonic character" to
"Invalid character" if a valid two-letter mnemonic is entered but cannot
be inserted because the current encoding does not support the character
(this special case had gone wrong with the general fix of this matter
in 2000.10).
Fixed positioning error in +V mode (placing the cursor behind the pasted
region) if the last paste buffer line contained TAB characters. This
enables making it the default behaviour for the Insert key and
properly supporting the ring paste buffer by default.
Tuned menu item for Hebrew quote mark style to avoid right-to-left
display confusion on bidirectional terminal (mlterm).
Fixed mnemonic character transformation (ESC _) in non-UTF-8
mode for non-ASCII mnemonics (like the ones for Vietnamese).
Added missing character conversion of non-ASCII input in an 8-bit terminal
for CJK text encoding.
Printing: If the auxiliary uprint script fails, try to put the fallback
invocation of lp/lpr into UTF-8 mode, using LC_ALL and hoping that this
has an effect (maybe with cups properly configured).
Fixed bogus screen scroll-down on mouse click in KDE konsole.
Tuned popup menu handling to always ignore an initial (immediate) mouse
release event so if the menu happens to pop up right under the cursor
it does not prematurely select an action.
Fixed display of "\" character in ESC prompt in Shift-JIS or Johab
text encoding mode (since 2000.10).
Fixed display of no-break space on prompt line in CJK terminals.
Fixed display of some special line indications (e.g. Unicode paragraph
separator) in various situations (e.g. xterm -cjk_width).
Removed scrollable pull-down menus from the feature list of 2000.11 as this
was not (and is not) true. Pull-down menus are cut to the screen height,
pop-up menus and keyboard mapping selection menus are scrollable.
Revised toggling of character encoding (by clicking on the Encoding flag)
which often used to forget its toggling alternative (since 2000.10).
Fixed environment settings TERM=ansi or ansi-nt to let mined assume
CP850 terminal encoding (e.g. with Windows command line telnet).
=============================================================================
Changes from mined 2000.10 -> mined 2000.11 (July 2005)
===========================================
Interactive enhancements:
-------------------------
Conciliated keypad assignment preference conflict between Cut/Paste
functions (as propagated by mined) and character deletion /
line positioning functions (as often commonly expected):
- Additional character deletion function Alt-Del.
- Better documentation for alternative -k option.
- Changed error message "Mark not set" to include a hint on keyboard usage:
"Mark not set for Cut and Paste - type Alt-Del to delete char, F1 k for help".
Enabled scrolling for popup menus (esp. flag menus) so that menu
opening in low-height terminals (e.g. 24 lines or lower) is no longer
suppressed and esp. the Encoding and Input Method menus are always shown.
Updated to Unicode 4.1.0:
* Case conversion, Script information.
* Combining character width properties (continuing to work with older
width data versions by terminal auto-detection).
* Updated Han information (from Unihan database) for CJK characters.
* Updated Radical/Stroke input method to include new CJK characters.
* Added Hanyu Pinlu and Tang pronunciation information (from Unihan
database) to Han information options.
* Added generic and supplemental character input mnemonics for new
LATIN characters.
Indication of Unicode combining characters (visible indication and
character information) now refers to the most recent Unicode version,
not the actual terminal capabilities; a combining character not handled
as such by the terminal will be highlighted also in combined display mode.
Renamed File menu item "Paste file" to "Insert file" (which is probably
more common usage). So also the menu item "Print" can now be selected
with a single "p" key.
Additional assignment of "Delete single" function (to delete without
auto-undent, or to delete the last combining accent only) to F5 Backarrow
in case Control-Backarrow is not configured.
Renamed File menu entry "New Name" to "Save To ..." which is considered
more intuitive. It changes the file name associated with the edit
buffer but doesn't save the file yet; the originally loaded file (if
any) is not affected.
Additional commands F1 F1 / Shift-F1 / Control-F1 / Alt-F1 to display
a help line (in the bottom status line) with short indications of the
functions assigned to the function keys F2... in normal and shifted
modes. With HOP, permanent display of this help information is toggled.
Interoperability enhancements:
------------------------------
Accepting xterm resource mode "XTerm*modifyCursorKeys: 3".
Accepting Alt-function key combinations from terminals that implement
them by prefixing ESC.
New option -A to disable this feature and avoid the accompanying delay
after ESC ESC before mined exits.
Accepting Alt-function key combinations formed by appending ;11 etc
instead of ;3 etc after ESC [ or by inserting 11 etc after ESC O.
Detecting right keypad function key combinations as distinguished from
small keypad in rxvt in order to better support the various shifted
Home/End/Delete key combinations (in support of revision mentioned
under "Interactive enhancements").
In KDE "konsole" terminal, disabling rounded menu borders by default
as konsole is lacking decent font support for Unicode characters.
(Patch included in SuSE 9.3 mined 2000.10 package.)
Added keyboard configuration examples for Control-function key detection
for rxvt and mlterm to the runtime support library.
Replaced function key mappings for "HP workstation keyboard" with
those for older extended VT100, older xterm, and some others for an
enhanced range of terminal interoperability.
Added shifted (Control-/Alt-) function key detection for HP terminals
or (with xterm) keyboard mode.
Added function key detection for SCO terminals or (with xterm) keyboard mode,
including Shift-/Control-/Alt- combinations, plus PuTTY SCO mode shifted keys.
Added script to support Unicode X font installation to the
runtime support library.
Added xterm parameter -mk_width to xterm start script "uterm" for
UTF-8 mode in addition to -u8 (applied from xterm version 201).
This enables the xterm built-in most recent version of Unicode width
data, even if the system-provided locales maintain an older version.
Provided makefile for Interix. Included function key assignments
(escape sequences) for Interix console.
DOS version (djgpp): Unified keypad and function key assignments to
mined functions with general (Unix) version. Remapped specific
screen size and mode control functions to Control-/Alt- with +, -, /
(Control or Alt with +, -, or / keypad key).
Further enhancements:
---------------------
New TAB expansion option (-+4 or -+8) that expands TAB key input
to an appropriate number of Space characters.
Added "smart arrows" input text replacements (in addition to smart dashes)
if smart quotes mode is active.
Revised print script (uprint in the runtime support library) to use
paps (a Pango printing script) if available. Removing temporary file
after printing.
The "search corresponding bracket" commands ESC ( or ESC ) now also match
/* */ pairs and #if #else/#elsif #endif structures.
Smart text replacements (esp. smart dashes) are suppressed while
entering multiple characters during a repeat command.
New case toggle function Shift-F3 cycles casing of a word between
all small, beginning capital, and all capitals. For Japanese script,
it toggles the word between Hiragana and Katakana.
New function key assignments:
* Alt-F2 to Save to a different file ("Save As")
(was Control-F2 previously)
* Control-(Shift-)F2 to enforce creation of the text position memory
file @mined.mar to ("Save Position", then Save)
* Control-F3 to View a file (edit read-only)
* Alt-F7 / Alt-F8 to search backward
* Control-F10 to open first flag menu (Info menu)
Added PC DOS encoding ("codepage 437") to available encodings.
The command ESC _ (or Control-F11) also replaces an HTML character
tag (e.g. &_euro;) with its represented character.
Packaging, building and installation:
-------------------------------------
Moved doc/compilation to COMPILE.DOC so the subdirectory doc of the
distribution archive now contains only user documentation.
Added PACKAGE.DOC with hints how to make system-specific mined packages.
Leaving out the default link src/makefile from the distribution as it
used to confuse some installers for which the default (GNU make and cc)
does not work. A generic make with auto-detection of the suitable makefile
should be invoked from the top-level distribution directory as described
in the file INSTALL.DOC.
Bug fixes:
----------
Fixed missing use of terminal capability to "enable alternate
character set" (terminfo enacs, termcap eA) so graphic menu borders
should now work in some remaining cases and no longer be replaced with
letters.
(Patch included in SuSE 9.3 mined 2000.10 package.)
Fixed partial scrollbar update logic to prevent gaps in scrollbar display.
(Patch included in SuSE 9.3 mined 2000.10 package.)
Tweaked panic handling to terminate more smoothly after a screen output
error (e.g. if output crashes with ncursesw 5.4 on a more than 3 bytes
UTF-8 sequence).
(Patch included in SuSE 9.3 mined 2000.10 package.)
Suppressed activation of xterm "mouse hilite tracking" mode if compiled
with curses.
(Patch included in SuSE 9.3 mined 2000.10 package.)
Fixed menu border handling with xterm -cjk_width mode, including a
workaround for xterm font handling bug.
Emacs command mode (-e): Fixed ^X^C not to unconditionally save file
but to prompt first (like mined command ESC q).
Also fixed ^Xk (which previously behaved like ESC q) to edit a new
file (thus discarding the edit buffer, like F3).
Fixed part of keymap generation mkkbmap (yudit keymap auxiliary script).
Fixed character width interworking problem with CJK-encoded rxvt.
Fixed missing display of menu continuation indication (scrollable
keyboard mapping pick list) with non-graphic menu borders (option -Qa).
Fixed recognition of smart quotes style in previous file editing session.
Limited display of pull-down menus (File menu etc., not flag menus) to
screen height so that in low-height terminals (less than 22 lines)
confusing bottom menu item display is avoided when navigating down.
Fixed incorrect usage of terminal height adjustment (workaround for
occasional cygwin xterm mismatching xterm / tty size, since 2000.10)
for window height lower than 24 lines.
Added error detection and message to command "Save Position" but not
to implicit save position function when actually writing the file
as the message would inappropriately interfere with the file writing
information (and maybe error message referring to this).
Fixed re-positioning to previous cursor position after opening a file
when the previous position had been after a combining character.
Fixed wrong sorting sequence of non-BMP case conversion entries
leading to case toggle not working for various (also BMP) characters
(since 2000.4).
Unified function key assignments of some special keyboards with those
on usual keyboards (xterm, VT100, ...):
F6, F7 on Sun and HP keyboards, F10, F11, F12 on Iris keyboards,
F16-F20 on 9780* keyboards.
Mapped F13-F22 on 9780* keyboards generically to Control-F3-F12 (may
be shifted in addition).
Fixed display of control characters on prompt line in CJK mode; (they
were incorrectly echoed, and incorrectly handled when erased, in 2000.10).
Explicit encoding option (-u, -EG, -EW etc) has to override environment
preference for text encoding (unless for non-CJK encoding in CJK terminal
which is not supported). Fixed missing overriding.
Removed remark in manual page (option -E with CJK encoding) that
UTF-8 auto-detection could override explicit encoding selection which
is not true anymore since 2000.10.
Fixed writing of panic file on nested catching of external signals.
Fixed missing update of window title (file name) in some cases when
file name was changed for writing but writing was cancelled.
Fixed selection of usable temporary directory with respect to
considering its write permissions.
Fixed flickering multiple update of flags area when starting mined
(e.g. showing "L1" twice, then "U8") (since 2000.5).
Fixed smart quotes mode handling to be taken from previous editing
session when opening a file which did not properly set
plain style in some cases (since 2000.9).
=============================================================================
Changes from mined 2000.9 -> mined 2000.10 (February 2005)
==========================================
Features:
---------
Added radical/stroke lookup input method for CJK characters.
Added Han character information (Han info option in new Info menu) for
both text browsing and pick list character selection. This displays
selectable character pronunciations and descriptions from the Unihan
database, either on the status line or in a popup menu.
Poor man's bidi mode was tweaked and enabled by default unless the
terminal is detected (or configured) to be a bidi terminal; this mode
enhances inserting small pieces of right-to-left (e.g. as quotations)
into left-to-right text; when switching from right-to-left back to
left-to-right by entering a left-to-right character, the cursor
automatically skips to the end (visual end) of the previously entered
right-to-left text on the line. This priority is justified by the
assumption that this mode (with visual storing order) is only useful
for inserting small right-to-left quotations into left-to-right text
and not for editing right-to-left documents (which should be stored in
logical order).
Many more enhancements and additions for internationalisation and
character encoding support:
* Updated character data to Unicode 4.0.1.
* Combining characters in CJK encodings are now supported.
* Multiple mapped 8-bit character encodings are available, including
full combining character support.
* UTF-16 is handled transparently.
* For details and further features see below.
Many enhancements and additions for character input support:
* CJK, Vietnamese, Thai, Hebrew.
* Combined character editing in CJK and 8 bit encodings.
* For details and further features see below.
New header line command HOP "-" underlines the line that starts before
the cursor position.
Added a printing feature that prints the text being edited
considering the selected text encoding. (It uses a Unicode printing
script contained in the runtime support library and the uniprint
program from the yudit package.)
Modified the item in the File menu to print the file (or actually
the edit buffer), not the paste buffer.
The menu interface was enhanced, see below.
User interface enhancements:
----------------------------
Enhanced menus with subtitles.
Enhanced flag menus with markers that show which options are activated.
Made menu items selectable by typing the first letter of their
descriptions, cycling through all items beginning with that letter.
Enabled menu item selection by mouse wheel scrolling. Note that your
mouse driver may be configured to generate multiple (e.g. 3) mouse
wheel events on one mouse wheel movement (e.g. with Windows).
Rearranged default input method menu according to the order of the
letters "CJK".
Keyboard mapping selection menus ("pick list") that are too large to
fit on the screen are now scrollable and pageable (with cursor keys).
Revised navigation in pick lists (keyboard mapping selection menus);
improved highlighting and function of cursor movement.
New mode for more stylish menu item selection highlighting (-QQ).
Looks nice on Unicode terminals. Not made the default, however,
because block characters used for it might not align well with simple
borders with all fonts.
Displaying line-end entered on prompt line (esp. for searching) using
highlighted marker representation (like for text display) rather than
control character representation.
Revised character indications for characters (esp. CJK) that cannot
be displayed for various reasons; made indications uniform on
different terminals.
Command interface enhancements:
-------------------------------
^V followed by a function key now generically invokes the same function
as with control-function key.
Enhanced numeric character input with the option of Unicode value
input in CJK or mapped 8 bit mode by typing a 'u', 'U', or '+' (in
addition to an optional '#' or '=' for octal or decimal numeric input).
With numeric character input, the Space key was modified to enable
"successive multiple character entry" according to ISO 14755; so if
the numeric code is terminated by a Space key, another numeric
character can be entered subsequently.
Added Alt-E command to open encoding menu; modified Alt-V command
to toggle between view only and edit mode (to reuse previous Alt-E).
Added Alt-F10 to open first flag menu (info menu).
Added cedilla accent prefix function to ctrl-F5 (combining this and
ring above as they are not ambiguous).
Added Help to eXtra menu.
Additional command ESC @ to set marker (in addition to control-@ /
control-Space, ESC ^, control-], or the Home or Select key, for the
sake of keyboard configurations that cannot easily enter those -
control-Space may not be configured, ^ may be an accent prefix "dead key",
control-] may be caught by telnet, Home may be cumbersome on Laptops).
The "search corresponding bracket" commands ESC ( etc. were extended:
In case you are editing a mailbox file, these commands also work for
MIME separators or mail headers; in this case, the search direction
depends on the command character, e.g. ESC ( searches backward, ESC )
searches forward.
Added command Alt-F9 to repeat the previous search but in the opposite
direction. Added command Alt-Shift-F9 to search for current identifier
backward.
Mnemonic input support enhancements:
------------------------------------
Completed mnemonic patterns (generic accent mnemonics) for Latin-based
characters, supplemented more intuitive patterns for "accents below".
Completed documentation of these mnemonic patterns and enhanced the
overview in the manual and on the "Character Mnemos" web page.
Revised additional character composition mnemonics; made additions
consistent with generic RFC1345 mnemonics, removed redundant mnemonics,
added missing Latin characters (esp. with multiple accents).
Tweaked mnemonic character input handling to allow input of ambiguous
mnemonics in long mnemonic input mode (e.g. "^V pi " in contrast to
"^Vpi", where the long form prefers the RFC 1345 mnemonic).
The ugly previous solution to prepend an additional "1" for ambiguous
RFC 1345 mnemonics was replaced by this new mechanism.
Enabled mnemonic character input support (^V Space mnemo Return)
for non-UTF-8 encodings.
Input method support enhancements:
----------------------------------
Added two input methods to the default set of preinstalled input methods:
WuBi (after having read it's perhaps the fastest input method used by
professional typists in mainland China) and 4 Corner.
Added generation feature for further keyboard mapping tables
(used as input methods) for further mappings from Unihan data
in addition to Cangjie: MainlandTelegraph and TaiwanTelegraph codes,
pronuncations for Cantonese, HanyuPinlu, Mandarin, Tang,
JapaneseKun, JapaneseOn, Korean, Vietnamese.
(Not included in distribution as these seem of questionable value,
entries included in keymaps.cfg but disabled.)
Added generation feature for further keyboard mapping tables
used for Vietnamese input methods: VIQR , VNI , Vtelex.
Include VIQR and VNI in the default configuration.
The keyboard mapping generation script mkkbmap inserts additional
punctuation automatically.
With the environment variable MINEDKEYMAP, both active and standby
keyboard mappings can be preselected, e.g. MINEDKEYMAP=py-rs.
Option +K enables keyboard mappings (input methods) even in 8-bit
terminal or when editing a Latin-1 file - although the characters thus
entered will mostly only be displayed by substitute indications, as
most characters anyway when editing UTF-8, CJK encoded, or mapped
8 bit encoding files in an 8-bit terminal.
Keyboard mapping generation from Unihan data (with mkkbmap using mkkmuhan)
sorts characters in entries according to the priorities of their
Unicode ranges (assigning lower priority to "Supplement" and
"Extension" and "Compatibility" ranges).
This especially affects the Cangjie input method in a few character
selections. So the "pick lists" are now displayed more in order
of relevance.
Further input support enhancements:
-----------------------------------
Added Vietnamese accent prefixing method found on the web, using
control/alt-digit combinations as prefixes. This is only enabled
when additional key translations for xterm are configured with
the X resources. (Added to Xdefaults.mined sample file.)
Added character composition mnemonics (using generic accent prefixes)
for Vietnamese double-composed characters, i.e. placing a second accent
on Vietnamese base characters that already have a single composition,
e.g. if you have mapped your keyboard to have A with circumflex
available, you can enter "^VÂ'" (Control-V A-circumflex apostrophe) to
produce the combined character U+1EA4 (A with circumflex and acute).
Added a Thai input method.
Added control-backspace function that removes combining accents from
combined characters and also does not unindent on leading blanks.
This is only enabled when an additional key translation for xterm is
configured with the X resources. (Added to Xdefaults.mined sample file.)
Added Hebrew quote style (using Gershayim U+05F4 for quotation
and Geresh U+05F3 for apostrophe), and added Hebrew Maqaf (U+05BE)
as a smart dash replacement for "-" if there is an adjacent Hebrew
character.
Character encoding support enhancements:
----------------------------------------
Updated character data to Unicode 4.0.1:
case conversion, character-to-script mapping, screen width (continuing
to work with older width data versions by terminal auto-detection).
Updated keyboard mapping table for Cangjie input method accordingly.
Combining characters in CJK encodings are now supported
(both JIS encodings and GB18030), in either UTF-8 or CJK terminal mode.
Added further 8-bit character encodings, including full combining
character support.
Maintaining UTF-16 transparently, i.e. a UTF-16 encoded file is
written back in UTF-16 again (with BOM) (was previously converted
to UTF-8). No explicit menu/command line options are currently
available for UTF-16 as internal handling is in UTF-8.
Made handling of Unicode LS and PS line ends (previous option -uu)
the default. New option +u-u disables them.
The character information command (ESC u) or mode (HOP ESC u) was
enhanced to conform to ISO 14755; in UTF-8 mode, CJK mode, and
mapped 8 bit encoding mode, Unicode character information is displayed
additionally: script name, character category, and Unicode value.
The Han character information mode always shows the character code,
and in CJK encoding mode additionally the Unicode value, independently
of availability of Unihan character descriptive information for the
current character.
Added options +C, +CC, +CCC for fine-tuning of display of unknown
CJK character codes on CJK terminals.
Added option -CC to assume CJK terminal and override UTF terminal
auto-detection.
Revised (fixed/tweaked) character value transformation commands
[HOP] ESC X/U/D/A to perform a more useful and consistent set of
functions; HOP ESC X now also scans a UTF-8 sequence; [HOP] ESC U
now transforms values between current text encoding and Unicode;
[HOP] ESC D/A now acts like [HOP] ESC U but using decimal/octal.
Interoperability enhancements:
------------------------------
Improved UTF-8 and CJK terminal feature auto-detection for speed-up on
slow terminal connections.
Assuming terminal to run PC character set (codepage 850) if
environment variable TERM begins with "pcansi", "nansi", "ansi.",
or contains "-emx", to support remote login from DOS box to Unix.
Enabled optional PC character set operation when running cygwin version
in DOS box (when using CYGWIN=codepage:oem in a DOS box).
Added handling for rxvt-specific cursor and function key escape sequences.
Revised handling of screen attributes for better and extended support
of legacy terminals, relying more on termcap and checking if
direct use of ANSI controls as a fallback is appropriate (usage
of hard-coded ANSI controls cannot be just avoided because for many
colour terminals, colour handling is usually not configured with
termcap/terminfo but of course users want the xterm colour feature to
be made use of).
Enabled semi-stand-alone operation of cygwin version (with only
cygwin1.dll needed to be available, but without installed cygwin
system, especially without termcap information accessible) by assuming
hard-coded terminal properties for the "cygwin" terminal if it is
unknown by the system.
Enabled menu border option -Qa for DOS version for use with embedded
dosemu (esp. running in an xterm where it does not emulate DOS block
graphics characters).
Enabled menu border option -Qa for curses version, and enabled use
of Unicode menu borders for curses version.
Tweaked terminal block graphics capability detection, enabling block
graphics (rather than ASCII graphics) on more terminals (e.g. cygwin).
Also using termcap "ac" / terminfo "acsc" capability now to support
proper block graphics on more terminals (e.g. mac, ibm3151).
Abolished use of the MINEDTERM variable. Now determining all
terminal-specific properties and restrictions from TERM.
Added make target "minced" to build a curses version; it uses
the ncursesw library which supports UTF-8. Using curses is discouraged,
however; see the comments in doc/compilation.
Building and installation enhancements:
---------------------------------------
Added installation of runtime support library (online help, templates
for inclusion of environment settings and X resources, scripts to
configure and invoke xterm in a suitable way, printing script, script
that helps building a printing environment).
Added make targets "localinstall", "optinstall", and "homeinstall" so
the user can choose explicitly to install in /opt or $HOME/opt, or in
either /usr or /usr/local with corresponding different subdirectories
as used by various systems.
Revised makefiles to improve building on legacy systems.
For dynamic make targets / dependencies, introduced dynamic makefile
generation with non-GNU make. (Maintaining two versions and keeping
$(shell ) feature with GNU make for less confusing user feedback.)
Revised directory names used in makefiles for installation of
mined manual and help files as used by various systems in the
/usr or /usr/local hierarchies.
Further enhancements:
---------------------
Added push marker stack before searching for current character (HOP ctrl-F8).
Improved documentation how to set up a common inter-window paste
buffer in a heterogeneous network using the environment variables
$MINEDTMP and $MINEDUSER. Enabled using the same buffer for
DOS version (djgpp).
Added environment variables ESCDELAY and MAPDELAY to tune the waiting
time applied for recognising function keys or input method sequences to
be mapped, respectively.
ESCDELAY also affects the time the terminal has to respond to a
cursor position report request (used for terminal capability detection).
Added push to marker stack before replace with confirm (ESC r) starts.
Added command line option ++ to terminate options (to support
filenames that start with "-" or "+").
Revised checking and reporting attempts to enter, compose or transform
character codes or mnemonics that are illegal or not valid in the
current encoding; e.g. added "Invalid character" feedback when trying
to insert a character that does not exist in the current encoding.
Added "o" to the set of numbering items taken into account with
clever paragraph rewrapping.
Special handling of Turkish "i" for case toggling is now triggered
by environment variables LANG or LC_ALL or LC_CTYPE beginning with "tr"
(rather than the special variable MINEDTURKISH).
Bug fixes:
----------
Fixed cursor remaining invisible after using a menu in cygwin version.
Fixed makefile to enable compilation with djgpp again.
This also fixes a compilation problem with some SunOS configurations.
Fixed mnemonic character input handling to enable input of ambiguous
HTML mnemonics starting them with "&" (e.g. "^V &_not ", broken since
mined 2000.8).
Changed separated display mode indication flag from acute to grave to
avoid interference with ambiguous width property (xterm option
-cjk_width). Also its background colour was changed from reverse to
cyan to be consistent with the combining character display itself.
Disabling fine-grained scrollbar if -cjk_width terminal mode is
detected to avoid interference with ambiguous width property.
Constrained usage of "mouse hilite tracking" mode to xterm;
on some other terminals (esp. cygwin, rxvt) this could interfere with
a scroll down control sequence and would incorrectly scroll down the
screen on left mouse clicks (since mined 2000.4).
Tweaked mkchrtab script (compiling character set mapping tables) to
work for cygwin in some cases that used to expose weird compiler errors.
Fixed positioning problem after suppressing second quote mark in
flags area if first quote mark is a double-width character (used
to output a NUL character then which produces a space on some terminals,
e.g. cygwin DOS box - this is now being suppressed).
Considered to constrain usage of 256 colour mode to "xterm" to avoid
screen garbage if the mode is not compiled in to rxvt and other
terminals.
This applies to scrollbar colours (unless explicitly configured with
environment variables) and to Unicode script highlighting (by
lowest-distance mapping of colours to the 8 basic colours).
(But as screen garbage with buggy rxvt occurs only in some
configuration modes, 256 colour usage was left enabled there.)
Fixed GB18030 auto-detection and width handling.
Fixed EUC-JP half-width character width handling in CJK terminal
(rxvt in EUC-JP mode). Note that these characters are not displayed
properly by cxterm in EUC-JP mode.
Fixed overriding of explicitly selected CJK encoding (e.g. -EG) by
VISCII auto-detection (since 2000.9).
Avoid using vt100 graphics for menu borders in rxvt and cygwin xterm which
do not seem to support them (option -Qv is available to enforce them).
CJK character codes that do not map to Unicode are now displayed
with the indication '?' with cyan background to avoid screen garbage by
invalid character codes, unless overridden by the +C option for
transparent display of CJK encoded characters.
Fixed buffer size limitation for search expression ranges not to
corrupt buffer.
Fixed interrupted highlighting in selected line of quote style menu in
8 bit terminals after non-8-bit quote mark replacement indication.
Fixed error messages on character input support (e.g. mnemonic) to
be consistent with respect to "Unknown character mnemonic" versus
"Invalid character".
Enabled input of NUL character with ^V NUL (^V control-Space).
Fixed fine scrollbar display which used to mix up top and bottom part
of marker in some cases.
Fixed fine scrollbar display which used to leave gaps in some cases of
adding lines.
Fixed resolving ambiguous function key control codes with certain
specific terminals.
Fixed margin interpretation when setting left or right line margins to
current position with Enter in a shifted line - using real line column
now instead of screen column.
Fixed missing refresh of menu header line after cancelling a keyboard
mapping pick list by clicking on the encoding or combined display flag.
Fixed incorrect assumption of combining screen if locale was incorrectly
configured to indicate UTF-8 in a non-UTF-8 terminal.
Fixed reverse highlighting problem on some terminals with mnemonic
character input on prompt line.
Enabled scrollbar display in djgpp version.
Fixed function key detection for DOS versions compiled with curses
which was broken since 2000.7.
Disabling pipe input/output detection in DOS version when DOSBox is
detected (by looking at %COMSPEC%).
Fixed display bug after inserting TAB in CJK-encoded text.
Fixed inappropriate "conversion" of line-end into U+3000 with
diacritic transformation command (ESC _) (since 2000.8).
Workaround to accept delayed cursor position reports instead of
giving an error message. This affects slow remote connections and
the cygwin terminal if configured with CYGWIN=tty (in which case the
cursor report comes only after the first keyboard input which is a
cygwin bug).
Fixed generation of script colouring table from colours.cfg which
could have failed with small-letter script names depending on locale
environment (since mined 2000.10 alpha as script names were all-caps
before).
Fixed ^V__ which didn't input ^_ as documented (since mined 2000.4).
Tweaked scrollbar attribute handling so that useful scrollbar display
is enabled in hanterm. This needed a workaround so that the scrollbar
position is now indicated by blank space in a CJK terminal using
Korean encoding (UHC or Johab) if TERM=xterm. If you use another
terminal in this configuration (e.g. cxterm or rxvt with TERM=xterm)
set the environment variable MINEDSCROLLFG="44;36" or ="38;5;45"
to reenable coloured display of the scrollbar position.
Fixed display bug when an incomplete UTF-8 sequence was followed by
a TAB character.
Fixed non-ASCII command characters to work regardless of active
encoding.
Fixed missing indication for no-break space (U+A0) in UTF-8 mode
with djgpp-compiled version (was inconsistently shown as blank).
Fixed one buggy entry in VISCII character mapping.
Added ASCII remapping entries in Shift-JIS and Johab character mappings,
and handling them for display and input.
Tweaked encoding toggle function (when clicking on the character
encoding flag in the flags area) to properly toggle between the
current and the previous text encoding.
Fixed xterm workaround of tweaking window title string (showing the
filename) for non-ASCII characters in UTF-8 screen mode.
Fixed Turkish case conversion special handling which was broken since
2000.4; added further special handling for Turkish and for Lithuanian
COMBINING DOT ABOVE.
=============================================================================
Changes from mined 2000.8 -> mined 2000.9 (March 2004)
=========================================
Enhancements in character encoding handling and input support:
--------------------------------------------------------------
Used more compact representation for character set tables and
keyboard mapping (input method) tables, reducing size of binary by > 700K.
For Japanese encoded text on a UTF-8 terminal, the JIS encodings that
map to two Unicode characters are supported.
Keyboard mapping / input methods: Configurable function of space key
in multiple choice selection menu (option -K).
Keyboard mapping / input methods: added support for VIM keyboard mapping
files.
Tuned CJK encoding auto-detection.
Tuned CJK vs. ISO 8-bit auto-detection.
Added VISCII auto-detection.
Added Shift-JIS auto-detection.
CJK encodings may be selected (or disabled) to be taken into account
for auto-detection by configuring the environment variable MINEDDETECT.
Added option -l for more intuitive selection of Latin-1 text encoding
(and disabling of auto-detection) rather than with +u.
Tuned terminal mode auto-detection to reduce flickering delay on 8-bit
xterm (using fewer test strings) and improve stable fallback if
auto-detection fails partially on slow terminal connections.
The keyboard mapping menu can be grouped with separators, specified
in the keymaps.cfg file.
Features:
---------
Smart quotes: auto-detection of quotation marks style on file loading.
Keyboard mapping / input methods: added support for VIM keyboard mapping
files.
New functions for interactive character encoding conversion
(Latin-1 / UTF-8) to partially fix files with mixed encoding:
A search function finds UTF-8 characters in Latin-1 mode, and vice versa.
The character can then be converted into the current encoding.
The search function is invoked with HOP search corresponding -
e.g. HOP ESC ( - or Alt-F11 .
The conversion is invoked with the diacritic transformation function,
e.g. ESC _ or ESC ö , which was extended for this purpose.
For repeated interactive conversion, both functions can be combined
with Alt-Shift-F11 (convert current character, then search next).
Enhancements in user interaction:
---------------------------------
Implemented a finer-grained scrollbar in a UTF-8 terminal, using
Unicode character cell vertical eighth blocks U+2581..U+2587.
(Can be disabled with -o1 if font does not contain those characters.)
Implemented lazy scrollbar update for speed-up on slower
terminal lines (e.g. remote access). (Can be disabled with -o8.)
Verified correct recognition and function of mouse wheel movement.
Scrolling by multiple lines (option -LN, default N=3), or by 1 line
with control, or by 1 page with shift.
Added "paste previous" function (emacs style buffer ring) to Edit menu.
Added backspace capability to decimal number input function (e.g. to
enter a line number or margin column).
Tuned position of popup menu not to appear far right of the line contents;
if clicked there, the menu is placed on the the line end
(which is the new cursor position in this case).
The diacritic transformation command (ESC _) derives language-specific
preferences (such as can be explicitly applied by using the command
variations ESC ö etc) from the locale environment.
Added a sample xterm key translation to Xdefaults.mined to assign
the HOP function to the Scroll Lock and Pause keys in order to
provide the HOP function easily on Laptops/Notebooks.
Making cursor invisible while menu is open.
Revised menu names for CJK encodings for better recognition.
Further enhancements:
---------------------
Position stack and return function also work across files
(esp. after identifier definition searches using tags file).
Added /usr/share/info as a search path location for the online help file
to meet cygwin conventions, adapted makefile.cygwin installation dirs.
When editing multiple files, switching to another one resets the
view only flag to its invocation state (option -v).
Tuned various file loading functions (including character encoding
auto-detection) to speed up startup with large files.
Bug fixes:
----------
Fixed declaration of getenv which caused failure on 64 bit systems.
Added quotes to egrep parameter in global makefile, needed with some
shells (would cause make to fail on SunOS).
Fixed display of non-break space (0xA0) in Latin-1 text and terminal
mode on prompt line.
Fixed missing tolerance against multiple blanks separating choices
in keyboard mapping files.
Fixed encoding handling problem after toggling from VISCII to UTF-8
(by clicking on encoding flag).
Fixed width assumption when inserting certain characters (e.g. Euro sign)
in GB18030 mode which led to wrong cursor position.
Fixed a problem with moving between flag menus.
Fixed a missing screen update problem after replacements with
embedded newlines.
Fixed a wrong screen update problem (missing lines near end-of-file
on screen) after replacements with embedded newlines.
Fixed corrupted paste buffer after tags file search (for identifier
definition, ESC t) that spoiled a subsequent paste operation with
inserted garbage.
Added auto-detection of terminal capabilities for plane 2 double-width
and plane 1 / plane 14 combining characters, avoiding display confusion.
Fixed cursor positioning problem when mouse was clicked during prompt
line input after menu invocation.
Fixed cursor positioning bug (since version 2000.8) after character
insertion on the first screen column in a shifted line (an overlong
line shifted for display).
Fixed paragraph justification (line wrap) to use TAB for indentation
on subsequent lines (instead of blanks) if a numbered paragraph starts
with a TAB after the numbering (as it used to do with unnumbered
paragraphs).
Restricted mode (--) prevents ESC E (switch from view only to edit mode)
and ESC W (save unconditionally).
Re-included Turbo-C 2 project file which had been overwritten by
Turbo-C 3 project file. (Turbo-C is not really recommended anymore
but as it still compiles, I'm keeping it available.)
Adapted format of online help files to avoid multiple backspace
characters for bold formatting which does not work with newer
versions of less.
If the editing buffer cannot be filled (out of memory), the associated
file name is cleared to assure that the file is not accidentally
overwritten with its truncated buffer version. (This was already
unlikely because the editing mode was set to View only, but it could
still be saved with an enforced Save command like Shift-F2 or ESC W.)
Not displaying the number of characters anymore after loading a file
with CJK encoding and without predetermined encoding (e.g. loading with
-C only, or just by auto-detection) because the number used to be wrong.
The correct character count can be displayed at any time with the ESC ?
command. Character count after loading is still displayed for Latin-1
or UTF-8 encoding, or if CJK encoding was explicitly specified (e.g. -EG).
Fixed bugs in ESC t command (to find declaration of current identifier)
if tags file search expression contained special characters (tab, \, *).
Fixed top of marker stack not being recognised as such after marker
push operations.
=============================================================================
Changes from mined 2000.7 -> mined 2000.8 (August 2003)
=========================================
Features:
---------
Major extension of CJK character set support: GB18030
(Unicode-compatible 4-byte extension of GBK),
extended EUC-JP (including 3-byte encodings),
and CNS (EUC-TW with 4-byte encodings).
Added support for mapped single-byte character encodings,
enabled Vietnamese VISCII character set (option -EV).
Auto-detection of terminal features (UTF-8, different width data
versions, handling of double-width, combining and joining characters;
CJK, handling of non-EUC code points, GB18030, 3-byte and 4-byte encodings).
Flexible locale configuration for both text and terminal encoding:
Mined accepts both explicit encoding suffixes (starting with ".") or,
if none are specified, also some region suffixes (starting with "_").
See manual page, section "Locale configuration".
Smart dashes: If smart quotes are active, also an input sequence
of "--" is replaced with an en dash (if preceded by a blank) or
an em dash.
New emacs mode: functions are assigned to control keys and Meta-keys
(ESC commands) as defined by the emacs editor. Also the emacs paste
buffer ring and cut/paste behaviour was implemented.
This mode is in beta state and detailed documentation (esp. command
listing) is not available yet.
The mined ESC commands can be reached via Meta-x.
Function keys remain unaffected.
See also option +V.
The multiple buffers ring is also available in non-emacs mode.
Enhancements in special display of character encoding:
------------------------------------------------------
Enabled display of Unicode FULLWIDTH forms in Latin-1 terminal.
Enabled substitute display of CJK encodings in Latin-1 terminal,
with clear display of FULLWIDTH ASCII.
Enabled substitute display of Euro sign in Latin-1 terminal.
Alternative options -Eg / -Ej / -Ec to set -EG / -EJ / -EC but
if running in a CJK terminal this tells mined to assume that the
terminal cannot display GB18030 4-byte encodings, CNS 4-byte
encodings, EUC-JP 3-byte encodings, respectively.
Revision and improvement of CJK display indications:
¤ (cyan background) (8-bit terminal): CJK cannot be displayed here
@ (cyan background) (CJK terminal): CJK code cannot be displayed on terminal
# (cyan background): invalid CJK code (not assigned in selected encoding)
# (cyan): illegal (esp. incomplete) CJK code
The character encoding indication in the flags area was extended to
two letters.
Enhancements in character input support:
----------------------------------------
Tweaked handling of character selection menu ("pick list" for
multiple choice mappings) so that a blank key moves on to the next
alternative. Also the cursor-right/left keys move within a selection
line now.
Added input method TUT.roma for Japanese.
Revised Hiragana and Katakana input method tables.
CJK input method tables were extended with punctuation mappings.
Extended low/capital letter toggle function (F11) to toggle
between Hiragana and Katakana.
Enhanced smart quotes heuristics to support smart quotes in CJK text.
Revised input mnemonics for Unicode accented characters; removed
redundant mnemonics.
Additional input mnemonics :(, :), ): for smileys (Unicode mode).
Diacritic transformation function enhanced with language-specific
preference transformations:
control-F11 and ESC _ apply the default transformations
which are the same as available for two-letter mnemonic input (e.g. ^Vae).
With Escape commands with diacritic letters that occur on respective
national keyboards, the according preference transformations take
precedence:
ESC ö, ESC ä, ESC ü, ESC ß: ae->ä, oe->ö
ESC é, ESC è, ESC à, ESC ù, ESC ç: oe->oe ligature (Unicode mode, U+0153)
ESC æ, ESC å, ESC ø: ae->æ, oe->ø
ESC _, control-F11: ae->æ, oe->oe ligature (Unicode mode, U+0153)
Enhancements in command input:
------------------------------
Made Delete/Remove keys on keypads configurable to either Cut or
Delete character right. The option -k now switches all Home/End
and Del keys to the more usual behaviour, although I still think
it's a waste of keypad space to have these functions on two
keypads; I think the mined approach to leave the standard behaviour
on the "small keypad" and assign buffer functions to the right-most
keypad is more useful.
If the keyboard emits specific control and shift sequences,
control-Del is always "Delete character right" and shift-Del is
always "Cut to buffer" in either key assignment mode.
Also control-Home and control-End always moves to the beginning or
end of the current line, while shift-Home and shift-End always
invoke the buffer functions (mark and copy).
Revision of function key assignment.
F12 is no longer attached to the diacritic transformation function
(assignment had been inadvertently overridden for some releases already),
as on some (many?) terminals F12 cannot be distinguished from shift-F2.
New function assignments:
F12 enable memory for file positions in current directory
F11 (unchanged) low/capital letter toggle
shift-F11 low/capital toggle for whole word from cursor (like HOP F11)
control-F11 diacritic transformation, e.g. ae->æ
ctrl-shift-F11 (like HOP ESC U) transform Unicode value into character
shift-F2 write file even if unmodified
control-F2 save file as (prompt for new name, then save)
shift-F4 write paste buffer to file
alt-Insert replace text just pasted with preceding paste buffer
control-F4 replace text just pasted with preceding paste buffer
shift-Home mark position
shift-End copy to buffer
control-Home go to line beginning
control-End go to line end
Home (default) mark position
End (default) copy to buffer
Home (with -k option) go to line beginning
End (with -k option) go to line end
Home/End (on small left keypad) reverse function of right Home/End
HOP shift-F8 search for definition of current identifier (using tags file)
HOP control-shift-F8 search for identifier definition (prompts)
HOP control-F8 search for current character (new function)
VT100: Find search
VT100: Select mark position
VT100: Do copy to buffer
control-Up (new, see below) move to previous paragraph beginning
control-Down (new, see below) move to next paragraph beginning
control-Ins copy to buffer
control-@ (control-space) mark position
New commands to move to previous/next paragraph boundary:
control-Up, control-Down (hold control key and press cursor up or down).
The current text position is pushed on the position stack also with
the Goto Line/% command (^G).
Enhancements in terminal operation:
-----------------------------------
Tweaked screen attribute handling to improve behaviour of certain
terminals that do not match their termcap entry (esp. cxterm).
Tweaked screen handling for menu borders to provide workarounds
for various weird terminal behaviours (esp. mlterm and Linux console).
Moved some ambiguous function key escape sequences into a special
table that is (automatically) only selected if a vt100 terminal
is set up (by the TERM variable). Added assignments for shifted
function keys of certain terminal emulators.
Further Enhancements:
---------------------
When a menu is open, the cursor-left or cursor-right keys cycle
through the pull-down and flag menus.
Added smart quotes style for Japanese corner brackets.
Smart quotes style can also be preselected with the environment
variable MINEDQUOTES which should then contain the opening/closing
quote pair or just the opening quote mark.
Renamed X resource configuration plug-in .Xdefaults.mined to
Xdefaults.mined for better handling and to comply with other
packages' usage.
Enhanced the script to generate man pages from HTML to handle tables.
Fixed manual page generation to filter out empty lines which spoiled
the layout.
Manual:
* Added discussion of the disputed keypad function assignment into Key
layout section.
* Moved HOP section right behind the Key layout section.
Options:
--------
New option -* to disable mouse support (requested by an emacs mode
user who prefers to use the xterm copy/paste mouse function).
Option +V to enable emacs-style paste buffer functions for "delete
word" and "delete to end of line" commands (^T, ^K), and place the
cursor behind the pasted region after buffer insertion.
(May become the default in a future version, disabled by -V.)
New option -QX to select the style of menu borders where X is one of
s: simple border,
r: rounded corners,
f: fat border,
d: double border,
a: ASCII border (can be combined with another option -Qs or -Qr),
v: VT100 alternate character set graphics border,
@: reverse blank border.
Mined sets an appropriate default based on its assumptions of the
terminal capabilities.
Latin-1 or UTF-8 character encoding can now also be selected with
the -E option: -EL, -EU.
Bug fixes in CJK handling:
--------------------------
Removed length restriction on keyboard mapping multiple choice
menu, thus enabling Pinyin input method to work.
Fixed mnemonic character input problem in CJK mode.
Fixed handling of unmapped Unicode characters in CJK terminal mode
in input method selection menu, avoiding ragged menu borders
(but leaving empty entries for menu consistency between encodings).
Bug fixes with paragraph justification:
---------------------------------------
Fixed paragraph justification on lines with two successive blanks
(as used after a sentence by some people) which could actually wrap
lines between the blanks (and leave leading blank on the next line)
if the right margin happened to be at that point.
Fixed clever paragraph justification on lines without blanks which
used to change the right margin.
Fixed a display handling bug that could lead to wrong display after
invoking paragraph justification from the menu.
Bug fixes with screen display:
------------------------------
Fixed interference of Unic