lv-4.51.orig/0000755001001300006200000000000010235365165013310 5ustar gotomgotom00000000000000lv-4.51.orig/README0000644001001300006200000000316107776212613014176 0ustar gotomgotom00000000000000------------------------------------------------------------------------------ Documentation of lv is provided on the web. See the following URL: http://www.ff.iij4u.or.jp/~nrt/lv/ ------------------------------------------------------------------------------ All rights reserved. Copyright (C) 1996-2004 by NARITA Tomio. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA See also GNU General Public License Version 2, included in this archive as GPL.txt. ------------------------------------------------------------------------------ INSTALLATION: 0) Expand lv archive, using gunzip/tar. 1) Change your working directory to ``(extracted sub directory)/build''. 2) Execute ``../src/configure'' to configure compiler flags. 3) Launch ``make''. 4) Then, launch ``make install'' as root. ------------------------------------------------------------------------------ NARITA Tomio email: nrt@ff.iij4u.or.jp Homepage: http://www.ff.iij4u.or.jp/~nrt/ lv-4.51.orig/GPL.txt0000644001001300006200000004312706715072544014506 0ustar gotomgotom00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 19yy This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) 19yy name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. lv-4.51.orig/index.html0000644001001300006200000011550710001754441015304 0ustar gotomgotom00000000000000 LV Homepage

All rights reserved. Copyright (C) 1996-2004 by NARITA Tomio
Last modified at Jan.16th,2004.


LV Homepage

lv - a Powerful Multilingual File Viewer / Grep

The latest version is ver 4.51: Download


Table of Contents

  1. Copyright
  2. Feature
  3. Download lv
  4. Installation
  5. Usage
  6. Limitations
  7. Coding systems
  8. Annotation about encoding/decoding scheme
  9. Auto selection of a coding system
  10. Extension for text decoration
  11. Customization
  12. Bug report
  13. Release note
  14. Acknowledgement
  15. Reference

Copyright

All rights reserved. Copyright (C) 1996-2004 by NARITA Tomio.

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

See also GNU General Public License Version 2.


Feature

  • Multilingual file viewer

    lv is a powerful multilingual file viewer. Apparently, lv looks like less (1), a representative file viewer on UNIX as you know, so UNIX people (and less people on other OSs) don't have to learn a burdensome new interface. lv can be used on MSDOS ANSI terminals and almost all UNIX platforms. lv is a currently growing software, so your feedback is welcome and helpful for us to refine the future lv.

  • Multiple coding systems

    lv can decode and encode multilingual streams through many coding systems, for example, ISO 2022 based coding systems such as iso-2022-jp, and EUC (Extended Unix Code) like euc-japan. Furthermore, localized coding systems such as shift-jis, big5 and HZ are also supported. lv can be used not only as a file viewer but also as a coding-system translation filter like nkf (1) and tcs (1).

  • Multilingual regular expressions / Multilingual grep

    lv can recognize multi-bytes patterns as regular expressions, and lv also provides multilingual grep (1) functionality by giving it another name, lgrep. Pattern matching is conducted in the charset level, so an EUC fragment, for example, can be found in the ISO 2022 tailored streams, of course.

  • Supporting the Unicode standard

    lv provides Unicode facilities which enables you to handle Unicode streams encoded in UTF-7 or UTF-8, and lv can also convert their code-points between Unicode and other charsets. So you can display Unicode or foreign texts on your terminal, using the code conversion function to your favorite charsets via Unicode. (However, MSDOS version of lv has none of the Unicode facility.)

  • ANSI escape sequence through

    lv can recognize ANSI escape sequences for text decoration. So you can look ANSI-decorated streams such as colored source codes generated by another software just like intended image on ANSI terminals.

  • Completely original

    lv is a completely original software including no code drawn from less and grep and other programs at all.

Sample Images


Download lv

You can download lv archive. Changes between older versions are described in release note (in Japanese).

Installation

    Standard installation:

    1. Expand lv archive, using gunzip/tar.
    2. Change your working directory to ``(extracted sub directory)/build''.
    3. Execute ``../src/configure'' to configure compiler flags.
    4. Launch ``make''.
    5. Then, launch ``make install'' as root.

    MSDOS installation:

    Before making lv, you need to install LSI C-86 Compiler (limited and freeware version of LSI C-86 for sample usage).

    1. Expand lv archive, using gunzip/tar.
    2. Change your working directory to ``(extracted sub directory)/src''.
    3. Launch ``make -f Makefile.dos''.
    4. Copy ``lv.hlp'', brief help description, to the same directory as lv.exe settled.

    MSDOS version of lv directly outputs ANSI escape sequences without regard to termcap and terminfo. Perhaps you need an ANSI escape sequence driver named ``ANSI.SYS'' (or more sophisticated one) on MSDOS including DOS prompt on MS-Windoze. Since Windoze-NT does not seem to prepare such drivers for DOS prompt in default, please look into the driver configuration when lv fails to handle the terminal capability correctly.


Usage

  • How to launch lv?

    When you just wish to display a file on a terminal, please launch lv from command line like this:

    % lv [options] files ...

    Or, using redirect or pipe-line:

    % another_command | lv [options]
    % lv [options] < file

    Compressed files that have suffix ``gz'', ``z'', or ``GZ'', ``Z'' are extracted by lv using zcat (1), and ``bz2'' or ``BZ2'' with bzcat (1). Please install zcat and bzcat that can expand all of them.

    In case that standard output is not connected to an ordinal terminal but to redirect or pipe-line, lv works as a coding-system or code-points conversion filter like nkf (1) and tcs (1).

    lv also works like grep (1) by giving it another name, lgrep. Please install symbolic (or hard) link whose name is lgrep to lv (1). Or, lgrep functionality is also turned on the option '-g'. lgrep is used like below:

    % lgrep [options] grep_pattern files ...
    % another_command | lgrep [options] grep_pattern
    % lgrep [options] grep_pattern < file

    The coding-system of grep_pattern can be specified as ``keyboard coding system'' (see below).

  • Command line options

    -A<coding-system>
    Set all coding systems to coding-system.
    -I<coding-system>
    Set input coding system to coding-system.
    -K<coding-system>
    Set keyboard coding system to coding-system. If it is not set, output coding system will be applied to it.
    -O<coding-system>
    Set output coding system to coding-system.
    -P<coding-system>
    Set pathname coding system to coding-system.
    -D<coding-system>
    Set default EUC coding system to coding-system.

    coding-system

    • a: auto-select
      Its entity is iso-2022-kr until an 8bit code is found.
    • c: iso-2022-cn
    • j: iso-2022-jp
    • k: iso-2022-kr
    • e: Extended Unix Code
      • ec: euc-china
      • ej: euc-japan
      • ek: euc-korea
      • et: euc-taiwan
    • u: UCS transformation format
      • u7: UTF-7
      • u8: UTF-8
    • l: iso-8859-1..9
      • l1..9: iso-8859-1..9
      • l0: iso-8859-10
      • lb,ld,le,lf,lg: iso-8859-11,13,14,15,16
    • s: shift-jis
    • b: big5
    • h: HZ
    • r: raw mode
      No decoding and encoding are performed.

    Coding-system translations / Code-points conversions:

    iso-2022-cn, -jp, -kr can be converted into euc-china or -taiwan, euc-japan, euc-korea, respectively (and vice versa). shift-jis uses the same internal code-points as iso-2022-jp and euc-japan.

    Since big5 characters can be converted into CNS 11643-1992 with negligible incompleteness, big5 streams can be translated into iso-2022-cn or euc-taiwan (and vice versa) with code-points conversion. Note that the iso-2022-cn referred here is not GB sequence, only just CNS one. You should remember that lv cannot translate big5 into GB directly.

    The search function of lv may not work correctly when lv additionally performs ``code-points'' conversion (not ``coding-system'' translation), because visible code and internal code are different from each other. lv will try to avoid this problem with converting charsets of search patterns automatically, but this function is not always perfect.

    -W<number>
    Screen width
    -H<number>
    Screen height
    -E'<editor>'
    Editor name (default 'vi -c %d')
    ``%d'' means the line number of current position in a file.
    -q
    Assert there is delete/insert-lines control
    Please set this option on a MSDOS ANSI terminal that has capability to delete and/or insert lines. As to termcap and terminfo version, it will be set automatically.

    -Ss<seq>
    Set ANSI Standout sequence to (default "7")
    -Sr<seq>
    Set ANSI Reverse sequence to (default "7")
    -Sb<seq>
    Set ANSI Blink sequence to (default "5")
    -Su<seq>
    Set ANSI Underline sequence to (default "4")
    -Sh<seq>
    Set ANSI Highlight sequence to (default "1")
    These sequences are inserted between ``ESC ['' and ``m'' to construct full ANSI escape sequences.

    -T<number>
    Set Threshold-code which divides Unicode code-points in two regions. Characters belonging to the lower region are assumed to have a width of one, and the higher characters are equated to a width of two. (Default: 12288, = 0x3000)
    -m
    Force Unicode code-points which have the same glyphs as iso-8859-* to be Mapped to iso-8859-* in a conversion from Unicode to another character set which also has the corresponding code-points, in particular, Asian charsets.

    -a
    Adjust character set for search pattern (default)
    -c
    Allow ANSI escape sequences for text decoration (Color)
    -d, -i
    Make regexp-searches ignore case (case folD search) (default)
    -f
    Substitute Fixed strings for regular expressions
    -k
    Convert X0201 Katakana to X0208
    -l
    Allow physical lines of each logical line printed on the screen to be concatenated for cut and paste after screen refresh
    -s
    Force old pages to be swept out from the screen Smoothly
    -u
    Unify several character sets, eg. JIS X0208 and C6226. In addition, lv equates ISO 646 variants, eg. JIS X0201-Roman, and unknown charsets with ASCII.
    -g
    Turn on lgrep mode.
    -n
    Prefix each line of output with the line number within its input file on lgrep.
    -v
    Invert the sense of matching on lgrep.
    -z
    Enable HZ auto-detection (also enabled by run-time C-t).

    -+
    Clear all options
    You can also turn OFF specified options, using ``+<option>'' like +c, +d, ... +z.

    -
    Treat the following arguments as filenames

    -V
    Show lv version
    -h
    Show this help

  • Configuration

    Options can be described in the configuration file ``.lv'' (``_lv'' on MSDOS) located at you home directory. If and only if you use MSDOS, you can locate ``_lv'' at current working directory. They can be also described in the environment variable LV.

    Every configuration will be overloaded in the following order if there is. Command line options are always read finally.

    1. .lv located at your home directory
    2. (_lv located at current working directory: MSDOS only)
    3. Environment variable LV
    4. Command line options

    Examples:

    • MSDOS (Input is shift-jis, Screen height is 25 lines, Highlight seq is "1;45", Underline seq is "1")
      set LV=-Is -H25 -Sh1;45 -Su1

    • UNIX csh (Input is HZ-enabled auto-select, Output and Keyboard is both iso-2022-cn)
      setenv LV '-z -Oc -Dec'

  • Run-time commands

    0-9:
    Argument
    g, <:
    Jump to the line number (default: top of the file)
    G, >:
    Jump to the line number (default: bottom of the file)
    p:
    Jump to the percentage position in line numbers (0-100)
    b, C-b:
    Previous page
    u, C-u:
    Previous half page
    k, w, C-k, y, C-y, C-p:
    Previous line
    j, C-j, e, C-e, C-n, CR:
    Next line
    d, C-d:
    Next half page
    f, C-f, C-v, SP:
    Next page
    F:
    Jump to the end of file, and wait for a data to be appended to the file until interrupted.
    /<string>:
    Find a string in the forward direction (regular expression)
    ?<string>:
    Find a string in the backward direction (regular expression)
    n:
    Repeat previous search in the forward direction
    N:
    Repeat previous search in the backward direction (not REVERSE)
    C-l:
    Redisplay all lines
    r, C-r:
    Refresh screen and memory
    R:
    Reload the current file
    :n:
    Examine the next file
    :p:
    Examine the previous file
    t:
    Toggle input coding systems
    T:
    Toggle input coding systems reversely
    C-t:
    Toggle HZ decoding mode
    v:
    Launch the editor defined by option -E
    C-g, =:
    Show file information (filename, position, coding system)
    V:
    Show LV version
    C-z:
    Suspend (call SHELL or ``command.com'' under MSDOS)
    q, Q:
    Quit
    UP/DOWN:
    Previous/Next line
    LEFT/RIGHT:
    Previous/Next half page
    PageUp/PageDown:
    Previous/Next page

  • How to input search strings?

    You can input a string which consists of multi-bytes characters and search the string as a regular expression. lv's regular expression is similar to Mule's one.

    The following keys have special meanings in the keyboard input:

    C-m, Enter
    Enter the current string
    C-h, BS, DEL
    Delete one character (backspace)
    C-u
    Cancel the current string and try again
    C-p
    Restore a few old strings incrementally (history)
    C-g
    Quit

  • Regular expressions

    • `. (period)'
      matches any single character. For example, ``a.b'' matches any three-character string which begins with `a' and ends with `b'.
    • `*'
      constructs repetition of an expression more than 0 times. For example, ``ab*'' matches `a', `ab' `abb', etc.
    • `+'
      constructs repetition of an expression more than once. For example, ``ab+'' matches `ab', `abb', but not `a'.
    • `?'
      matches the preceding expression either once or not at all. For example, ``ca?r'' matches `car' or `cr'; nothing else.
    • `[ ... ]'
      makes a character set. For example, ``[ab]+'' matches any string composed of just `a's and `b's. You can also include character ranges in a character set, by writing two characters with a `-' between them. For example, ``[a-z]'' matches any lower-case letter. If the characters implies a multi-bytes charset, lv makes a multi-bytes range, ordering code-points as unsigned integer. Mutually overlapping ranges (or charset) are not guaranteed.
    • `[^ ... ]'
      makes a complemented character set. For example, ``[^a-z0-9A-Z]'' matches all characters *except* letters and digits.
    • `^'
      matches the empty string at the beginning of a line.
    • `$'
      is similar to `^' but matches only at the end of a line.
    • `\'
      quotes the special characters.
    • `\1'
      matches characters each of which has a width of 1 column.
    • `\2'
      matches characters each of which has a width of 2 columns.
    • `\|'
      specifies an alternative. For example, ``foo\|bar'' matches either `foo' or `bar' but no other string.
    • `\( ... \)'
      \(, \) is a grouping construct. For example, ``ba\(na\)*'' matches `ba', `bana', `banana', etc.

Limitations

  • Up to 8192 bytes per a logical line

    lv manages file location pointers logically, separating LOGICAL lines by LF (line feed) or CR (carriage return), or CR/LF. The length of a logical line is limited up to 8192 bytes. And lv insert a LF forcibly when a line has a length over 8192 bytes. Note that all of CRs or CR/LF are replaced with single LF on UNIX during decoding. As to MSDOS, CRs are inserted before every LFs without thinking.

  • Physical lines per a logical line

    A logical line is divided into PHYSICAL lines to fall into the screen width. lv limits physical lines up to "characters / 16" lines length per a logical line for management of them. Note that when a logical line has more lines, the rest of the limit are truncated and not displayed at all.

  • Limitation of encoding space

    Encoding space is limited upto "characters * 4" bytes length for each decoded string. Even if encoded string would be longer than that, the encoding process is dropped at the limit.

  • Limitation of the number of logical lines

    The number of logical lines is also limited. Currently, lv can handle up to about 2 Giga lines on UNIX (65000 lines on MSDOS). Note that lines which exceed this limitation cannot be displayed at all.

Coding systems

  • ISO 2022 based coding systems

    lv handles ISO 2022 based coding systems as they are stateless on the logical line level. So you have to specify a coding system before decoding, and lv maybe adds redundant codes during encoding.

    • iso-2022-cn
      RFC 1922 tailored coding system.

      G0 G1 G2 G3
      Designation ASCII GB 2312-80, CNS 11643-1992 Plane 1, ISO-IR-165 CNS 11643-1992 Plane 2 CNS 11643-1992 Plane 3..7

    • iso-2022-jp
      RFC 1468 and 1554 tailored coding system. All 94charsets use G0, and all 96charsets use G2 with single shift inside lv.

    • iso-2022-kr
      RFC 1557 tailored coding system. All charsets except ASCII use only G1 with locking shift inside lv.

  • Extended Unix Code

    lv can decode mixture texts of euc-* and iso-2022-*, when you select euc-* as the input coding system.

    • euc-china
      G0 G1 G2 G3
      Designation ASCII GB 2312-80 not used not used

    • euc-japan
      G0 G1 G2 G3
      Designation ASCII JIS X 0208 JIS X 0201 Katakana JIS X 0212

    • euc-korea
      G0 G1 G2 G3
      Designation ASCII KS C 5601-1987 not used not used

    • euc-taiwan
      G0 G1 G2 G3
      Designation ASCII CNS 11643 Plane 1 CNS 11643 Plane 2-7 not used

  • UCS transformation format

    lv can convert character codesets between Unicode and the following charsets: GB 2312-80, JIS X 0208, JIS X 0212, KSC 5601-1987, Big Five, CNS 11643-1992 Plane 1-2, and ISO 8859-1..16.

    Currently lv's mapping table is based on Unicode 1.1.

    Encoding Charset used for mapping from Unicode
    iso-2022-cn GB 2312-80 (primary), CNS 11643-1992 (secondary), (ISO 8859-*)
    iso-2022-jp JIS X0208, JIS X0212, JIS X0201, (ISO 8859-*)
    iso-2022-kr KSC 5601-1987, (ISO 8859-*)
    euc-china GB 2312-80
    euc-japan JIS X0208, JIS X0212, JIS X0201
    euc-korea KSC 5601-1987
    euc-taiwan CNS 11643-1992 Plane 1-2
    shift-jis JIS X0208, JIS X0201
    big5 Big Five

    When you output Unicode CJK unified ideographs through iso-2022-cn, GB 2312-80 is used primarily, and the rest which are not included in GB are mapped into CNS 11643-1992.

  • Other coding systems

    • iso-8859-*
      ASCII and one of ISO 8859/1-16 are designated on G0:G1 invoked to GL:GR, respectively.

    • shift-jis
      lv can decode mixture texts of shift-jis and iso-2022-jp, when you select shift-jis as the input coding system.

      Note that euc-japan and shift-jis are mutually exclusive for decoding.

    • big5
      Since big5 characters can be partially converted into CNS 11643-1992 Plane 1-2, lv can load big5 streams and output them through ISO 2022 based coding systems or euc-taiwan. Several big5 characters which have no correspondence to CNS are output as ``?'' (question mark).

    • HZ
      HZ is defined in RFC 1843. It would consist of four escape sequences, ~~, ~{, ~}, and ~\n, but lv does not support the last one, ~\n sequence, and leaves it alone. You should remember that lv does not conform full of RFC 1843. HZ will be decoded as euc-china in lv.

    • raw mode
      No decoding and encoding is performed.

Annotation about encoding/decoding scheme

  • Handling of invalid codes

    Characters belonging to invalid character sets, for example, JIS X 0212 for shift-jis, are printed as ASCII at its code-point up to originally supposed width.

    Invalid characters which cause error state under specified coding system might be ignored partially. If it is printable, it will be output as a control character.

  • Backspace

    BS (backspace) characters included in files are interpreted as follows:

    • <char> BS <char>
      Highlighted <char>
    • ``_'' BS <char>
      Underlined <char>
    • ``o'' BS ``+''
      Highlighted ``o''
    • Otherwise
      BS deletes a character on the left side of it.

  • How to look in a binary file?

    Decoding of lv is robust even for binary files. You can look in a binary file and decode embedded strings in it. However, there might be ignored characters if you decode binary files through a particular coding system. Option -Ir, raw decoding, saves such ignored characters other than CRs.

Auto selection of a coding system

  • Default coding system

    Default input coding system is auto-select described below. In auto selection state, lv decodes an input stream as iso-2022-kr. Default output coding system is iso-2022-jp on UNIX, or shift-jis on MSDOS (as long as Japanese version of lv).

    If you don't specify any input coding system, that is, when auto-select is specified, lv will select input coding system automatically.

  • How does lv select a coding system?

    Auto selection state continues until an 8bit code is found, and the auto selection of input coding system is performed on demand.

    When a 8bit code is found during file loading and the input coding syste is auto-select (its entity is iso-2022-kr), lv examines ``the first line that contains the first 8bit code''. Then lv tries several 8bit decodings as below:

    • simple euc decoding test (included euc-china and euc-korea)
    • euc-japan (or euc-taiwan) decoding test
    • big5 decoding test
    • shift-jis decoding test
    • utf-8 decoding test (only on platforms other than MSDOS)

    The coding system cheking results are examined in the following order:

    1. Only when there is no error state in simple euc decoding, lv will assumes the input coding system is default EUC coding system, which is defined by option -D.
    2. Only when there is no error state in euc-japan (or euc-taiwan) decoding, lv will assumes the input coding system is euc-japan (Japanese version). Since there is no syntactical difference between euc-taiwan and euc-japan, this action is to be altered in Taiwanese environment.
    3. Only when there is no error state in big5 decoding, lv will assumes the input coding system is big5. Since big5 sequences are similar to EUCs, sometimes its streams will be misunderstood as EUCs.
    4. Only when there is no error state in shift-jis decoding, lv will assumes the input coding system is shift-jis. Since shift-jis shares code-points with EUCs partially, its streams may be possibly misunderstood as EUCs.
    5. Only when there is no error state in utf-8 decoding, lv will assumes the input coding system is utf-8. Like big5 and shift-jis, sometimes its steams will be misinterpreted as another coding system.
    6. Otherwise, lv will assumes the input coding system is ISO 8859-1 (latin-1).

    If a text contains only EUC code points, it is hard to identify the language the EUC coding system represents. So lv provides default EUC coding system used when lv chooses the input coding system from EUCs. Default EUC coding system is set by option -D (euc-japan on Japanese version LV).

    You can toggle coding systems even while viewing a file by run-time command `t' and `T', which traverses through all coding sytems implemented in LV. In addition, you can toggle HZ decoding mode by C-t on demand.

    You should remember that the auto-selection mechanism of LV works incorrectly in some cases. Especially, if a text contains only JIS X 0201 Katakana in shift-jis, it will be misinterpreted as euc-japan.

    If the result of auto selection is incorrect and you know the input coding system, please set it by the option -I, which disables auto selection.


Extension for text decoration

  • Option -c enables ANSI escape sequences in the form of ESC [ ps ; ... ; ps m, where ps takes following values:

    • 1: Highlight
    • 4: Underline
    • 5: Blink
    • 7: Reverse
    • 30: Black
    • 31: Red
    • 32: Green
    • 33: Yellow
    • 34: Blue
    • 35: Magenta
    • 36: Cyan
    • 37: White
    • 40-47: Reverse of 30-37

  • Every sequence is independent of one another. lv will reset all values before new value is set. Meanwhile, multiple pss are accepted within one sequence.
  • Every sequence is only effective within a logical line. On crossing logical lines, all attributes are reset automatically. Please recall that lv handles each logical line as stateless.
  • You can specify one color at once. When multiple colors are specified, the last one is effective.
  • As to reversed characters, a specified color is applied to the ``reversed background color''. You cannot specify the color of ``out-clipped characters''.
  • You can customize actual sequences to be output to the screen. Please specify them by option -S.

Customization

  • Customization for command key bindings
    Please modify the keybind table in keybind.h.

  • Customization for terminal controls
    When you add a new terminal control, please add codes to console.c. When you wish to change interpretation of escape sequences, please modify console.c and escape.c. However, some ANSI escape sequences are configurable through options.

  • Changing default screen size of MSDOS ANSI terminals
    Default screen size is 80 columns by 24 rows. To change this, please modify console.c. However, screen size can be specified through options.

  • Changing default coding systems
    Currently, Japanese version of lv uses following values:

    MSDOS UNIX
    Input: auto-select auto-select
    Keyboard: shift-jis iso-2022-jp
    Output: shift-jis iso-2022-jp
    Pathname: shift-jis iso-2022-jp
    Default EUC: euc-japan euc-japan

    To change above, please modify lv.c. However, those coding systems can be specified through options.

  • Customization for coding systems
    Currently, an ISO 2022 universal decoder, and EUC, HZ, shift-jis, big5, UTF-7, UTF-8 decoders are implemented. When you wish to add another coding systems, please add source codes, referencing ctable_t.h, ctable.c, encode.c, decode.c, iso2022.c, etc.

  • Customization for character sets
    Please add your favorite character sets, referencing itable_t.h, itable.c, etc. Currently recognized character sets are itemized below. You have to specify code length (bytes) and graphical width (columns) of each character as attributes. There is no necessity that code length and graphical width equal each other. Current implementation does not support per character length, but you can specify the maximum length of them in itable, it may not cause problems. You cannot add charsets whose code length is more than 3 bytes. (If you desire to do it, you can add only little modification to lv, so up to 4bytes charsets can be supported by lv.)

    ISO 646 United States (ANSI X3.4-1968)
    JIS X0201-1976 Japanese Roman
    JIS X0201-1976 Japanese Katakana
    ISO 8859/1 Latin alphabet No.1 Right part
    ISO 8859/2 Latin alphabet No.2 Right part
    ISO 8859/3 Latin alphabet No.3 Right part
    ISO 8859/4 Latin alphabet No.4 Right part
    ISO 8859/5 Cyrillic alphabet
    ISO 8859/6 Arabic alphabet
    ISO 8859/7 Greek alphabet
    ISO 8859/8 Hebrew alphabet
    ISO 8859/9 Latin alphabet No.5 Right part
    ISO 8859/10 Latin alphabet No.6 Right part (Nordic)
    ISO 8859/11 Thai alphabet
    ISO 8859/13 Latin alphabet No.7 Right part (Baltic Rim)
    ISO 8859/14 Latin alphabet No.8 Right part (Celtic)
    ISO 8859/15 Latin alphabet No.9 Right part
    ISO 8859/16 Latin alphabet No.10 Right part
    JIS C 6226-1978 Japanese kanji
    GB 2312-80 Chinese hanzi
    JIS X 0208-1983 Japanese kanji
    KS C 5601-1987 Korean graphic charset
    JIS X 0212-1990 Supplementary charset
    ISO-IR-165
    CNS 11643-1992 Plane 1..7
    JIS X 0213-2000 Plane 1..2
    Big5 Traditional Chinese
    Unicode 1.1

    These charset are only recognized by lv, and it is depend on your terminal's capability that actually can display them or not.

    Inversely, you can handle non-listed charsets above as latin-1 in such case as a 8bit coding system is displayed on a 8bit terminal. (If there is no code conversion and each character has one column.)


Bug report

Please send a bug report to nrt@ff.iij4u.or.jp when you find any bugs around lv.

Release note

Click here. (in Japanese)

Acknowledgement

I would like to express my $B46 $B8eF#$5$s(B(gotom@debian.or.jp)

$BLnB<$5$s(B(nomu@ipl.mech.nagoya-u.ac.jp)
$B@PDM$5$s(B(ishizuka@db.is.kyushu-u.ac.jp)
$BLnCf$5$s(B(nona@in.it.okayama-u.ac.jp)
$B>>86$5$s(B(moody@osk.threewebnet.or.jp)
$BB<0f$5$s(B(murai@geophys.hokudai.ac.jp)


Reference

  • JIS X 0202-1991 $B>pJs8r49MQId9f$N3HD%K!(B
    Information processing - ISO 7-bit and 8-bit coded character sets - Code extension techniques
  • JIS X 0208-1990 $B>pJs8r49MQ4A;zId9f(B
    Code of the Japanese graphic character set for information interchange
  • JIS X 0212-1990 $B>pJs8r49MQ4A;zId9f(B - $BJd=u4A;z(B
    Code of the supplementary Japanese graphic character set for information interchange
  • RFC 1468 Japanese Character Encoding for Internet Messages
  • RFC 1554 ISO-2022-JP-2: Multilingual Extension of ISO-2022-JP
  • RFC 1557 Korean Character Encoding for Internet Messages
  • RFC 1843 HZ - A Data Format for Exchanging Files of Arbitrarily Mixed Chinese and ASCII characters
  • RFC 1922 Chinese Character Encoding for Internet Messages
  • RFC 2152 UTF-7 A Mail-Safe Transformation Format of Unicode
  • RFC 2279 UTF-8, a transformation format of ISO 10646
  • Understanding Japanese Information Processing ($B!XF|K\8l>pJs=hM}!Y(B)
    Ken Lunde O'Reilly & Associates, Inc. ISBN 1-56592-043-0
  • CJK.INF Version 2.1 (July 12, 1996)
    Online Companion to "Understanding Japanese Information Processing"
    Ken Lunde
  • Unicode Mapping Data at the Unicode Consortium web site.
  • Compilers - Principles, Techniques, and Tools
    Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman Addison-Wesley, ISBN 0-201-10088-6

Back to NARITA Tomio
email: nrt@ff.iij4u.or.jp
Homepage: http://www.ff.iij4u.or.jp/~nrt/
lv-4.51.orig/relnote.html0000644001001300006200000013136410001754123015641 0ustar gotomgotom00000000000000 LV Release Note

All rights reserved. Copyright (C) 1996-2004 by NARITA Tomio


LV Release Note


Back to LV Homepage.

  • ver 4.51 (Jan.16th,2004)
    • fixed keyboard-interrupt handling while reloading a file to avoid segmentation fault. (pointed out by Masanori GOTO <gotom@debian.or.jp>)
    • modified definitions of boolean_t, PAGE_SIZE, VDISCARD, and autoconf for libcurses for AIX. (pointed out by SHIOTA Shoichi <Shoichi.Shiota@lightwell.co.jp>)
    • omitted to specify owner and group to install command, and omitted include langinfo.h when HAVE_LANGINFO_CODESET is not defined, for Max OS X. (pointed out by Koki NAKASHIRO <nakasiro@sdl.hitachi.co.jp>)
  • ver 4.50 (Nov.14th,2003)
    • fully incorporated patches from 4.49.5.a to 4.49.5.f by Tomohiro KUBOTA <kubota@debian.org>.
      very thanks to KUBOTA san and Debian activities.
    • added polling function for regular files with slightly modified patch from Pawel S. Veselov <vps@manticore.2y.net>.
    • corrected Polish entry in hello.sample (pointed out by Michal Szymanski <msz@astrouw.edu.pl>)
    • enabled itable cache.
    • Big5 to Unicode mapping didn't work at all (fixed offset of coding system table)
      (See http://lists.debian.or.jp/debian-devel/200311/msg00006.html)
    • changed configure.in to check locale.h, setlocale, nl_langinfo(CODESET)
    • corrected copyright year of each file to the first year
    • fixed editor call not to return by SIGINT unexpectedly

  • ver 4.49.5.f (Oct.26th,2003) (Tomohiro KUBOTA test version)
    • Initialize file->used[] in FileAttach() in file.c to avoid segfault in lgrep.

  • ver 4.49.5.e (Sep.19th,2003) (Tomohiro KUBOTA test version)
    • a patch from Toshinori Numata <numa@sysrap.cs.fujitsu.co.jp> to fix segfault in invalid locale, to support locale names without country part, and to support non-GLIBC-type encoding names.

  • ver 4.49.5.d (Aug.30th,2003) (Tomohiro KUBOTA test version)
    • manpage fix: error occured with apropus and man -k. (See http://bugs.debian.org/119125)
    • Doesn't stop and try to output even when $TERM is not valid. (See http://lists.debian.or.jp/debian-users/200110/msg00342.html)
    • use long instead of int for i_str.
    • Checks $EDITOR and $VISUAL variables when invoking an editor.

  • ver 4.49.5.c (Aug.30th,2003) (Tomohiro KUBOTA test version)
    • -D option now specifies default (fall-back) coding system, not default EUC coding system. This means that -D coding system is used not only for determination of EUC coding systems but also determination of other coding systems.
    • Input coding detection improved. The detection is done as following: At first, it is checked whether the input coding system is UTF-8 compliant or not. Since UTF-8 is a relatively strict coding system, it is not likely that non-UTF-8 file is misdetected as UTF-8. If the input coding is not UTF-8 compliant, then, other multibyte coding systems are checked only when LC_CTYPE locale belongs to east Asia. In this stage, it is clear that the input coding system is not multibyte. Thus, check if the default (fall-back) coding system and adopt it if it is not multibyte. If the current LC_CTYPE locale is 8bit, adopt it. At last, guess from language/country part of LC_CTYPE locale.
    • Output coding detection based on LC_CTYPE locale.

  • ver 4.49.5.b (Aug.30th,2003) (Tomohiro KUBOTA test version)
    • Updated KSX1001 <-> Unicode mapping table.

  • ver 4.49.5.a (Aug.30th,2003) (Tomohiro KUBOTA test version)
    • Added ISO-8859-10,11,13,14,15,16.
    • Changed coding system names for '=' key because they were confusing because they are different from naming for command line options. I adopted full names because I could not find any reason the names have to be short.

  • ver 4.49.5 (May.10th,2003)
    • Don't read .lv located at the current directory, except for MSDOS. This fix prevent possible local root exploit using config files (CAN-2003-0188).

  • ver 4.49.4 (Aug.24th,2000)
    • fixed a bug of non-regular file loading (file.c).
    • added option -i to enable casefold search and +i to disable it.
    • added keybind 'w' to 'previous line'.
    • modified input routine to accept DEL as delete key. Thanks John.
    • modified console code to care putchar() as a macro. Thanks Kenji.
    • renamed some variables for clarity.
    • added JIS X 0213-2000 Plane 1,2 as independent charsets of JIS X 0208.
    • I heard that KS C 5601 has changed its name to KS X 1001.

  • ver 4.49.3 (Nov.2nd,1999)
    • modified import.h to remove needless #ifndef.
    • added key bindings for PageUp/PageDown to move prev/next page, and changed Left/Right bindings to moving prev/next half page.
    • added bzip2 support for *.bz2 files with bzcat(1).
    • modified ConfFilename() to refer environment variable MAN_PN and show that instead of "(stdin)" when man(1) passes the variable to lv.
    • modified iso-8859-7/Unicode mapping table.
    • fixed a bug that standout sequences remaine when you search a string before suspend/edit, and after that you immediately cancel the search.
    • fixed a bug again, lv blocks stdin stream by itself, before the first page cache is filled (once fixed in ver 4.2beta2).

  • ver 4.49.2 (Sep.14th,1999)
    • added run-time command '=' that acts equally as 'C-g'.
    • changed LV_FILES_MAX constant to LV_FILES_UNLIMITED for UNIX version.

  • ver 4.49.1 (Jul.25th,1999)
    Translation of utf-8 and utf-7 into iso-8859-* was mishandled. Since iso-8859-* are ISO 2022 8bit system and output routine of that was shared with iso-2022-jp inside lv, so Unicode was converted into JIS Japanese codeset by mistake. Furthermore, some glyphs in iso-8859-2..9 that iso-8859-1 also contains were incorrectly mapped into iso-8859-1.

    Then I changed following points:

    • Rebuilt iso-8859-* mapping table.
    • Separated iso-8859-* encoding routine from iso-2022-jp.

    This bug report was posted by <elad@tsur1.dhis.org>.

  • ver 4.48.2 (Jun.24th,1999)
    $B
  • grep$B%b!<%I$G5/F0$9$k%*%W%7%g%s(B-g$B$r?7@_$7$^$7$?(B.
  • $B%*%W%7%g%s(B-q$B$N0UL#$r5UE>$5$;$^$7$?(B. $B$?$@$7(B-q$B$O(BMSDOS$BHG$G$7$+0UL#$r;}$A$^$;$s(B.
  • $B%I%-%e%a%s%H$N(BKnown bugs$B$r:o=|$7$^$7$?(B. $B $B%j%U%!%l%s%9$,8E$/$J$C$F$$$?$N$G?7$7$$FbMF$K$7$^$7$?(B.

  • ver 4.48.1 (Jun.15th,1999)
    $B
  • FileClose() $B<~$j$K%P%0$,$"$j$^$7$?(B. FileOpen(), FileClose() $B$OL>A0$,F0:n$rH?1G$7$F$$$J$+$C$?$N$G(B, FileAttach(), FileDetach() $B$KL>A0$rJQ99$7$^$7$?(B.
  • $BJ#?t$N%U%!%$%k$r;XDj$7$F(B lgrep $B$H$7$FF0:n$9$k;~(B, $B$3$l$^$GESCf$N%U%!%$%k$r%*!<%W%s$G$-$J$$$H(B exit() $B$7$F$7$^$C$F$$$^$7$?$,(B, $B ISO 2022 $B%G%3!<%@!<$,%(%i!<>uBV$N;~$K@8@.$9$k%4%_$,(B C0$B=89g$K>h$i$J$$$h$&$K2~A1$7$^$7$?(B. $B$^$@0BDj$H$O;W$($J$$$?$a(B, $B%^%$%J!<%P!<%8%g%s$H$7$^$9(B.

  • ver 4.48 (Jun.7th,1999)
    FileOpen() $B<~$j$K%P%0$,$"$j$^$7$?(B.

  • ver 4.47 (Jun.7th,1999)
    $B
  • $BO@M}9T$N:GBgD9$r(B8192$B%P%$%H$KJQ99$7$^$7$?(B ($B2?%P%$%H$G$b$$$$$N$G$9$,(B, $B$=$l$J$j$KIi2Y$b$+$+$k$N$G(B, $B$3$NCM(B). $BFbItE*$K$O(B, $BO@M}9T$N!XDL>o$N:GBgCM!Y$O(B 1024 $B%P%$%H$H$7$F(B, $B$=$l$r1[$($kO@M}9T$@$1$r!XFCJL07$$!Y$9$k$3$H$K$7$^$7$?(B.
  • $B$3$l$KH<$J$$(B, FileLoadLine(), IstrAlloc(), Decode(), Encode() $B$J$I$r(B STR_SIZE $B0J>e$ND9$5$,=hM}$G$-$k$h$&$K=$@5$7$^$7$?(B
  • CR$B$N$_$N2~9T(B (Mac$B$N2~9T(B?) $B$rG'<1$9$k$h$&$K$7$^$7$?(B.
  • $B$3$l$KH<$J$$(B, $B!X2~9T!Y$rJ8;z%3!<%I$H$7$FJ];}$9$k$h$&$KJQ99$7$^$7$?(B. $B$3$l$K$h$j(B, $B%U%#%k%?$H$7$FF0:n$7$?>l9g$K(B, STR_SIZE$B$r$^$?$0!X6/@)2~9T!Y$,(B, $B%Q%$%W$K=PNO$5$l$J$$$h$&$K$J$j$^$7$?(B. ($B$7$+$7(B, $B6-3&$r$^$?$0Id9f$O=>MhDL$jJ,CG$5$l$F$7$^$$$^$9(B ;-<).
  • $B%(%s%3!<%G%#%s%0%9%Z!<%9$r(B, $B!XJ8;z?t$N(B4$BG\!Y$K9-$2$^$7$?(B. $B8GDjD9%9%Z!<%9$G=hM}$G$-$J$$>l9g$K(B, $BE,59(B, malloc() $B$G%a%b%j$r3NJ]$9$k$h$&$K$7$^$7$?(B.
  • istr.c ($B2DJQD9(B zone allocation) $B$rBgI}$KJQ99$7$^$7$?(B.
  • $B%U%#%k%?$H$7$FF0:n$9$k>l9g(B, $BI8=`F~NO$r%U%!%$%k$H$7$FJ#@=$7$J$$$h$&$K$7$^$7$?(B.
  • $B%*%W%7%g%s(B -p $B$rGQ;_$7$^$7$?(B. lv$B$N%Y!<%9ItJ,$KB?$/$NJQ99$r2C$($?$?$a(B, $B$A$g$C$H%P%.!<$H$$$&5$$,$7$^$9(B.

  • ver 4.46
    $B%P!<%8%g%s$r(B1$B8DHt$P$7$^$9(B.

  • ver 4.45 (May.28th,1999)
    $B8^==Mr$5$s(B<igarashi@ueda.info.waseda.ac.jp>$B$N$4;XE&$G
  • $BO@M}9T$N:GBg%P%$%H?t$K6a$$D9$5$N9T$r=hM}$9$k$H(B, $BK\Mh(B, $B=PNO$5$l$k$Y$-9TKv$N0lItJ,$,:o=|$5$l$k(B (utf-8$B$r(Butf-8$B$G=PNO$9$k>l9g$J$I(B)$B%P%0$r=$@5(B.
  • $B0l9T$,(B1024$B%P%$%H$r1[$($k%1!<%9$O0U30$HB?$$$h$&$J$N$G(B, $BO@M}9T$N:GBg%P%$%H?t$r(B 1023 $B$+$i(B 2047 $B$KJQ99$7$?(B ($B%a%b%j$N>CHqNL$,FMA3(B, $BG\$K$J$k?4G[$O$"$j$^$;$s(B).

  • ver 4.44 (May.24th,1999)
    $B
  • $B$3$l$^$GJ#?t$N%U%!%$%k$r;XDj$7$?>l9g$G$b(B, 1$BHVL\$N%U%!%$%k$,3+$1$J$+$C$?$i$J$i$P=*N;$7$F$$$?$,(B, $B$=$&$G$O$J$/ $BJ#?t$N%U%!%$%k$,;XDj$5$l$?>l9g(B, $B:G=i$+$iA4It$N%U%!%$%k$r3+$/$N$G$O$J$/(B, $B3+$/I,MW$,=P$F$+$i3+$/$h$&$K$7$?(B.

  • ver 4.43 (May.22nd,1999)
    $B8eF#$5$s(B<gotom@cs.titech.ac.jp> $B$N$4;XE&$G
  • Debian GNU/Linux $B$G(B configure $B$9$k$H2hLL@)8f$N%i%$%V%i%j$,%j%s%/$5$l$J$$(B.

  • ver 4.42 (May.14th,1999)
    $B$h$7$@$5$s(B <yoshidam@inse.co.jp> $B$N$4;XE&$G
  • autoconf$B$K4XO"$7$F(Bconsole.c$B$N(Binclude$B$N@Z$jJ,$1$rJQ99$7$?(B.
  • $B%U%#%k%?$H$7$FF0:n$9$k;~(B, /dev/tty $B$r(B open $B$7$J$$$h$&$K$7$?(B.

  • ver 4.41 (May.7th,1999)
    • $B8eF#$5$s(B<gotom@cs.titech.ac.jp> $B$H$N%G%#%9%+%C%7%g%s$N$9$((B, $B$3$NHG$+$i(B Copyright$B$r(B GNU General Public License $B$KJQ99$7$^$7$?(B. very thanks!
    • $B%I%-%e%a%s%H$J$I$K5-$5$l$?(B nrt$B$N%"%I%l%9$,4V0c$C$F$$$^$7$?$N$GD{@5$7$^$7$?(B. $BD9$$4VJ|CV$7$F$7$^$C$F?=$7Lu$4$6$$$^$;$s$G$7$?(B.
    • autoconf $B2=$7$^$7$?(B (itojun$B$5$s$N9W8%$G$9(B).
    • $BJ#?t$N%U%!%$%k$rF1;~$K3+$1$k$h$&$K$7$^$7$?(B. $B%U%!%$%k4V$N0\F0$O(B :n $B$H(B :p $B$G$9(B. $B%j%/%(%9%H$r2<$5$C$?J}(B, $B$3$A$i$NIT

    • ver 4.40 (Oct.27th,1998)
      $B
      • $B;R%W%m%;%9(B (zcat) $B$r5/F0$7$?8e$G(B wait $B$9$k$N$rK:$l$F$$$^$7$?(B. $B$=$N$?$a(B lgrep $B$KBt;3$N05=L$5$l$?%U%!%$%k$rEO$9$H(B $B0l5$$K%W%m%;%9%F!<%V%k$r?)$$DY$9$H$$$&>p$1$J$$%P%0$,$"$j$^$7$?(B. $B%U%!%$%k$r(B close $B$9$k:]$K(B wait $B$9$k$h$&$K=$@5$7$^$7$?(B. $B$3$l$r5!2q$K?7$7$$HG$r%j%j!<%9$7$^$9(B.
      • iso-2022-cn $B$N(BANSI$B%(%9%1!<%W%7!<%1%s%9$K$h$k=$>~$K0lIt%P%0$,$"$j$^$7$?(B. $B6qBNE*$K$OJ8;z=89g$N@Z$lL\$r8Y$0B0@-$,;X<(%7!<%1%s%9It$GH?1G$5$l$^$;$s$G$7$?(B.
      • MSDOS $B$G(B make $B$G$-$J$$(B & conf.c $B<~$j$K%P%0$,$"$k$H$$$&%l%]!<%H$rD:$-$^$7$?(B. $B%=!<%9$H(B Makefile $B$r=$@5$7$F(B MSDOS $B$G(B make $B$G$-$k$h$&$K$7$^$7$?(B. $BB<0f$5$s(B (lv$B%j%j!<%9Ev=i$+$i$*@$OC$K$J$C$F$$$^$9(B), $B%l%]!<%H$"$j$,$H$&$4$6$$$^$9(B.
      • lv.hlp $B$r(B Makefile $B$NCf$G;XDj$7$?(B libdir $B$KCV$/$h$&$KJQ99$7$^$7$?(B. $B8&5f<<$NC]Eg$/$s(B<takesima@mt.cs.keio.ac.jp>, $B$"$j$,$H$&(B. $B%(%G%#%?$r5/F0$9$k5!G=$bC]Eg$/$s$N%j%/%(%9%H$G$7$?$M(B.
      • Unicode $B$J$I3F$N%D!<%k$r;H$&;~$OE,59JQ99$7$F2<$5$$(B.

      Tips: $B$I$3$K$b=q$+$:$K$$$^$7$?$,(B, kterm $B$G(B CNS 11643-1992 $B$rI=<($G$-$k$h$&$K$9$k$HJXMx$G$9(B (gset.h, gset.c $B$r=$@5$9$k$H4JC1$KDI2C$G$-$^$9(B). CNS 11643-1992 Plane 1 $B$d(B Plane 2 $B$N%U%)%s%H$O%U%j!<$N$b$N$,G[I[$5$l$F$$$^$9(B. mnews$B$N%j!<%@$K(Blv$B$r;XDj$9$k$HCfJ8$N%K%e!<%9$rFI$`$N$,4JC1$G$9(B. $BFC$K%K%e!<%9$O(Bbig5$B$H(Beuc-china$B$H(Bhz$B$H(Butf-8$B$,F~$j:.$8$C$F$$$k$N$G(B, $B<+F0H=JL(B($B<:GT$7$?>l9g$O(BRun-Time$B$N%3!<%I7O@Z$j49$((B)$B$OJXMx$K46$8$^$9(B. $B=PNO$r(BISO 2022$B7O$K8BDj$9$k$3$H$K$h$j(B, $B%U%)%s%H$b(BGB (euc$B$H(Bhz$B$H(Butf-8)$B$H(BCNS (big5$B$H(Butf-8$B$N0lIt(B)$B$N(B2$BJ$1$^$9(B.

      $BF|K\8l$N%I%-%e%a%s%H$O$^$@(B($B:F(B)$B@0Hw$7$F$$$^$;$s(B. $B

    • ver 4.39 (Aug.10th,1998)
      4.38$B$K(B, $B$d$C$Q$j%P%0$,$"$j$^$7$?(B. $BB(:B$K65$($FD:$$$?@nH($5$s(B,$B$"$j$,$H$&$4$6$$$^$9(B. $B$^$?%P%0$,$"$j$^$7$?$i$4O"Mm$/$@$5$$(B.

      Tips: Emacs $B$K$O(B grep (Emacs 20 $B0J9_$K$O99$K(B grep-find) $B$H$$$&5!G=$,$"$j(B, grep $B$7$?7k2L$r;HMQ$7$F%?%V%8%c%s%W$9$k$3$H$,$G$-$k$=$&$G$9(B. $B$3$3$G(B grep $B$NBe$j$K(B lgrep $B$r;HMQ$9$k$3$H$,$G$-$^$9(B. $B$?$@$7%3!<%I7O$N@_Dj$r$-$A$s$H$9$kI,MW$,$"$k$_$?$$$G(B,

      	(define-program-coding-system "*grep*" nil (cons *euc-japan* *euc-japan*))
      	(setq grep-command "lgrep -n ")
      	
      $B$3$s$JIw$K$7$?$i$&$^$/F0:n$7$^$7$?(B. (find-grep$B$O(B Mule 2.3 $B$K$OL5$$$_$?$$$G;n$7$F$$$^$;$s(B).

    • ver 4.38 (Aug.10th,1998)
      $B@nH($5$s(B(kawabata@exa.onlab.ntt.co.jp)$B$N$4;XE&$K$h$j]$H$J$k%U%!%$%k$,0l$D$N>l9g$O%U%!%$%kL>$rI=<($7$J$$(B, $B$5$i$K(Bgrep$B$N%^%C%A%s%0$r5UE>$9$k%*%W%7%g%s(B-v$B$r:n@.$7(B, $B=>Mh$N(B-v ($B%P!<%8%g%sI=<((B)$B$r(B-V$B$KJQ99$7$^$7$?(B.

      $B$=$NB>(B, lv.c $B$rJ,3d$7$F(B conf.c $B$r:n@.$7$?(B, lgrep $B$H$7$FF0:n$9$k;~$N8!:w%Q%?!<%s$N%3!<%I0LCV$N<+F0JQ49$N=$@5$J$I(B, $BJQ99E@$,Hf3SE*B?L\$N$?$a(B, $B%P%0$rF~$l$F$7$^$C$?2DG=@-$b$"$j$^$9(B. $B%P%0$rH/8+$7$?;~$O%P%0%l%]!<%H$r$*4j$$CW$7$^$9(B.

    • ver 4.37 (Jun.22nd,1998)
      $B$h$7$@$5$s(B(yoshidam@inse.co.jp)$B$N$4;XE&$K$h$j $B5W$7$V$j$K%3!<%I$r8+D>$7$^$7$?(B. $B;~4V$,$"$k8B$j=$@5$$$?$7$^$9$N$G%P%0%l%]!<%H$r$*4j$$CW$7$^$9(B.

    • ver 4.36 (Jan.27th,1998)
      $B@55,I=8=4XO"$K%P%0$,$"$j$^$7$?(B. $B$^$?(BUnicode$B$G$J$$%U%!%$%k$r(BUnicode$BC
    • ver 4.35 (Jan.15th,1998)
      HZ$B$G%(%s%3!<%I$G$-$k$h$&$K$7$?(B.

    • ver 4.34 (Jan.7th,1998)
      grep $B$H$7$F;H$($k$h$&$K$7$?(B. lv $B$K(B lgrep $B$H$$$&L>A0$N%j%s%/$rD%$k$H(B grep $B$N$h$&$KF0:n$7$^$9(B. HZ$B$r%5%]!<%H$7$?(B. $B$=$l$KH<$J$$%*%W%7%g%s(B -z $B$r(B HZ $B%G%3!<%IMQ$K>y$jEO$7(B, $B$3$l$^$G$N(B -z $B$r(B -p $B$KJQ99$7$?(B ($B$3$N(BHZ$B$O40A4$J
    • ver 4.33 (Dec.11th,1997)
      $BCe$G(B latin1 $B$J$I$r%+%C%H(B&$B%Z!<%9%H$7$F%5!<%A$9$k$3$H$,$G$-$^$;$s$G$7$?(B. lv $B$NC $B%3!<%IJQ49(B (Big5->CNS, CNS->Big5, Unicode->etc, etc->Unicode $B$J$I(B) $B$rH<$&>l9g$NJ8;zNs%5!<%A$,>e/$72~A1$7$?(B. $B%-!<%\!<%I$N%3!<%I7O$r;XDj$7$J$+$C$?>l9g(B, $B=PNO$N%3!<%I7O$HF1$8%3!<%I7O$,@_Dj$5$l$k$h$&$KJQ99$7$?(B ($B2hLL$+$i$N%+%C%H(B&$B%Z!<%9%H$r9MN8$7$F$=$&$7$^$7$?(B). $B$=$NB>(B, $B$$$m$$$m$H%=!<%9$r@0M}$7$?$?$a(B, $B$A$g$C$H%P%.!<(B. (^_^;;

      GNU Win32 $B$G$b(B make $B$G$-$k$h$&$K$7$^$7$?$,(B, $B2fK}$G$-$J$$DxCY$/$F;H$$$b$N$K$J$j$^$;$s(B. Win32 $B$,$b$&$A$g$C$H$^$H$b$K$J$C$?$iBP1~$7$^$7$g$&(B.

    • ver 4.32 (Dec.5th,1997)
      $BF~NO%3!<%I7O$K(B auto-select $B$r;XDj$7(B, $B$+$D(B, 8$B%S%C%H$NN)$C$F$$$kJ8;z$rH/8+$7$?;~$N(B, $BJ8;z%3!<%I$N<+F0H=JL$r6/2=$7$?(B. $B$3$l$KH<$J$$%G%U%)%k%H$N(BEUC$B$N%3!<%I7O$r;XDj$9$k%*%W%7%g%s(B -D $B$r?7@_$7$?(B. $B$3$l$O<+J,$N4D6-$GIaCJ;H$C$F$$$k%3!<%I7O$N$3$H$G$O$J$/(B, $B<+J,$N4D6-$GFI$`2DG=@-$N:G$b9b$$!X(BEUC$B!Y$N%3!<%I7O$r0UL#$7$F$$$k(B. $B$^$?(B, $BH=JL$K<:GT$7$?;~$N%G%U%)%k%H$r(B ISO 8859-1 $B$KJQ99$7$?(B. ($B$3$l$^$G(B shift-jis $B$K$J$C$F$$$?$,(B, $B$=$l$OIT<+A3$@$H$D$/$E$/;W$C$F$$$?(B). $B$^$?(B,$B<+F0H=JL$K<:GT$7$?>l9g$K(B, lv $B$NCf$+$iF~NO%3!<%I7O$rJQ99$G$-$k$h$&$K(B C-t, t, T$B$N(B3$B$D$N
    • ver 4.31 (Dec.2nd,1997)
      $B%+!<%=%k%-!<$r8+$k$h$&$KJQ99$7$?(B.

    • ver 4.30 (Nov.15th,1997)
      FreeDOS $B$H$$$&(B MSDOS$B8_49$N(B OS $B$,$"$k$3$H$rCN$j(B, $B$5$C$=$/(B lv $B$rF0$+$7$F$_$?$N$G$9$,7k2L$OA4$/%@%a$G$7$?(B. $B$=$3$G(B MSDOS $BHG$N2hLL=PNO$r$A$g$C$H?($j$^$7$?(B. $B$3$l$^$G(B int 29h $B$O;HMQ$7$J$$$3$H$K$7$F$$$^$7$?$,(B, FreeDOS $B$N$?$a$K%]%j%7!<$rJQ$($^$7$?(B. $B:#8e$O(B RS232C $B$J$I$r;H$C$?%j%b!<%HCo$KF0:n$7$^$;$s$N$G$4Cm0U$/$@$5$$(B. $B6qBNE*$K$O(B, RS232C $B$K=PNO$9$Y$-2hLL$,%3%s%=!<%k$K=PNO$5$l$k$H$$$&(B, elvis $B$N$h$&$J$*$P$+$5$s$J>uBV$,H/@8$7$^$9(B. $B$7$+$7(B, $B$$$^$I$-(B DOS $B$K(B AUX $B$GF~$k?M$b5)$G$7$g$&$+$i(B, $B$=$s$J>l9g$O%=!<%9$rJQ99$9$k$h$&$K$7$F$/$@$5$$(B.

    • ver 4.29 (Nov.6th,1997)
      X0201$B$N%+%?%+%J$r(BX0208$B$KJQ49$9$k%*%W%7%g%s(B -k $B$r:n$C$?(B. $B%*%W%7%g%s(B-F$B$r(B-P$B$KJQ99$7$?(B.

    • ver 4.28 (Nov.5th,1997)
      $B:G6a$N$I$l$+$N%P!<%8%g%s$G%Q%9L>(B($B%U%!%$%kL>(B)$B$N%3!<%I7O$r%*%W%7%g%s(B-F $B$G;XDj$G$-$k$h$&$K$7$?$3$H$r%^%K%e%"%k$K5-=R$9$k$N$rK:$l$F$$$?(B. $B$7$+$7(B, $B$3$N5!G=$,40A4$G$J$+$C$?$?$a(B, $BD>$7$?(B. MSDOS $B$G(B make $B$G$-$J$$E@$rD>$7$?(B.

    • ver 4.27 (Oct.31th,1997)
      $B%*%W%7%g%s(B -d $B$r%G%U%)%k%H$K$7$?(B.

    • ver 4.26 (Oct.29th,1997)
      $B%*%W%7%g%s(B -E $B$G%(%G%#%?$rDj5A$7(B, $B%3%^%s%I(B v $B$G$=$N%(%G%#%?$r5/F0$G$-$k$h$&$K$7$?(B. ver 4.23 $B$GD>$7$?$O$:$N@55,I=8=$N%P%0$,D>$C$F$J$+$C$?(B. $B$3$l$rD>$7$?(B.

    • ver 4.25 (Oct.27th,1997)
      lv $B$r;H$C$F(B kterm $B$J$I$N>e$G%U%!%$%k$r8+$F$$$k;~$K(B, $BJ#?t9T$K$^$?$,$k(B ($BO@M}E*$J(B) $B0l9T$r%+%C%H(B&$B%Z!<%9%H$7$?$D$b$j$,(B, $B9TKv$GJ,3d$5$l$?J#?t$N9T$H$7$F%Z!<%9%H$5$l$F$7$^$$(B, $B$A$g$C$H%`%+$D$/$3$H$,EY!9$"$j$^$9(B. $B$3$NLdBj$O(B, $B%S%e!<%"$H $B%*%W%7%g%s(B -l $B$r;XDj$9$k$H(B, ^L $B$d(B ^R $B$G2hLL$r%j%U%l%C%7%e$9$k$3$H$K$h$j(B, $BJ*M}E*$KJ,3d$5$l$?O@M}9T$r0l$D$N9T$H$7$F%+%C%H(B&$B%Z!<%9%H$G$-$k$h$&$K$J$j$^$9(B.

      $B6qBNE*$K$O(B, $BO@M}E*$KO"B3$9$kJ*M}9T$N9TKv$G(B, $B%+!<%=%k$r7W$J%3!<%I$rAw=P$7$^$;$s(B. $B$3$NJ}K!$O(B kterm $B$J$I$G$O>el9g$J$I$K<+F0E*$K kterm $B$J$I$r;HMQ$7$F$$$F(B, $B>e5-$NF0:n$KLdBj$,$J$1$l$P%*%W%7%g%s(B -l $B$r;XDj$7$F;H$C$F$/$@$5$$(B.

    • ver 4.24 (Oct.21st,1997)
      .gz $B$d(B .Z $B$N%U%!%$%k$,L5$$>l9g$K(B, $B:G=i$+$iCF$/$h$&$K$7$?(B.

    • ver 4.23 (Oct.14th,1997)
      UNIX$BHG$G07$($k:GBg9T?t$r(B 2^31 $B9T$KJQ99$7$?(B ($B$?$@$7(B, $B
    • ver 4.23 (Sep.?,1997)
      $B@55,I=8=$N:G8e$K%P%C%/%9%i%C%7%e$,$"$k$H%O%s%0$9$k%P%0$rB`<#(B.

    • ver 4.21 (Mar.26th,1997)
      $BBgJQ?=$7Lu$"$j$^$;$s(B!! ``big5-hku''$B$OBg13$G$7$?(B. ($B$d$C$Q$j(BETen$B$C$]$$$h$&$G$9(B.) $B$b$&:.Mp$r>7$-$?$/$J$$$?$a(B, $B:#8e$O(Bbig5$B$NI=5-$r0BD>$K!X(Bbig5$B!Y$GE}0l$$$?$7$^$9(B. ($B$3$l$G0B?4$7$FL2$l$^$9(B. :-)

      $B$3$NHG$G;d$N3X@8@83hCf$K9T$J$&%j%j!<%9$r=*N;$7$^$9(B. lv$B$O;d0l?M$,:n$C$?$b$N$G$O$"$j$^$;$s(B. $BBg@*$NJ}!9$N8f6(NO$K46 $B$I$J$?$+(Blv$B$N%m%4$r:n$j$^$;$s$+(B? (CD$B$N%8%c%1%C%HIw$G$bNI$$$G$9(B.) $B%@%&%s%m!<%IMQ$N%/%j%C%/%\%?%s$bM_$7$$$G$9(B.

    • ver 4.20 (Mar.22th,1997)
      $B%I%-%e%a%s%H$H%=!<%9$K4^$^$l$F$$$?(B, $B$$$/$D$+$N(Btypo$B$rD>$7$^$7$?(B. $B%9%/%j!<%s$X$NI=<(4X78$r>/!9?($j$^$7$?(B. istr$B$N%"%m%1!<%7%g%s$r>/!9?($j$^$7$?(B. $B$?$@$7(B,$B$=$l$[$IBg$-$J0c$$$O$"$j$^$;$s(B.

      3$B7n(B14$BF|$K(B fj $B$K%"%J%&%s%9$7$^$7$?$,(B, $BFC$K%P%0%l%]!<%H$,L5$$$h$&$G$9$+$i(B, $B$3$3$GD94|$KEO$C$?&B%F%9%H$K6h@Z$j$r$D$1$?$$$H;W$$$^$9(B. $B:#8e(B, $B$3$N$^$^$7$P$i$/MM;R$r8+$F(B, lv$B$N3+H/$rCfCG$7$^$9(B.

      $B3'MM(B,$B2?EY$b2?EY$b%@%&%s%m!<%I$5$;$F$7$^$C$F?=$7Lu$"$j$^$;$s$G$7$?(B. $B&B%F%9%H$K;22C$7$FD:$$$?Bg@*$NJ}!9(B, $B$I$&$b$*Hh$lMM$G$7$?(B.

      $B

    • ver 4.2beta5 (Mar.14th,1997)
      $B%*%W%7%g%s$N;XDjJ}K!$r>/$7JQ99$7$?(B. $B%9%$%C%A$@$1$N%*%W%7%g%s(B, $BNc$($P(B -c $B$d(B -d $B$r(B -cd $B$H=q$$$F$bNI$$$h$&$K$7$?(B. $B$3$l$^$G(Bbig5$B$r(BETen$B$H$7$F07$C$F$$$?$,(B, Unicode $B$H$NMm$_$G(B, $B$=$l$O(B big5-hku $B$G$J$1$l$P$J$i$J$$$3$H$K5$$E$$$?(B. $B$=$N$?$a(Bbig5-eten$B$NI=5-$r(Bbig5-hku$B$K=$@5$7(B, CNS $B$H$NJQ49%F!<%V%k$+$i(B ETen $BItJ,$r:o=|$7$?(B. ($B3F Unicode $B$+$i(B ISO 8859-* $B$X$NJQ49$G(B, $B $B$D$^$j(B, Unicode $B$r(B iso-2022-cn $B$G=PNO$9$k>l9g(B, GB 2312-80 $B$,M%@h$5$l$k(B. GB $B$KL5$$J8;z$O(B CNS $B$G=PNO$5$l$k(B. ($B$3$NJU$N%]%j%7!<$O2?$bDj5A$5$l$F$$$J$$$h$&$G$9$M(B?) $B$=$7$F8=>u$G$O(B, CNS $B$rM%@h$7$?(B iso-2022-cn $B$O9M$($J$$$3$H$K$9$k(B. ($Bl$G$O$I$N$h$&$K;HMQ$5$l$F$$$k$N$G$7$g$&(B?!) $B$?$@$7(B, CNS $B$@$1$r4^$`(B iso-2022-cn $B$O(B, Unicode $B$+$i(B euc-taiwan $B$d(B big5 $B$r7PM3$7$F(B iso-2022-cn $B$r=PNO$9$k$3$H$G:n$k$3$H$,$G$-$k(B. $B$=$N>l9g(B, Unicode $B$+$i(B CNS $B$XJQ49$G$-$J$$J8;z$O(B ``?'' (Question mark) $B$H$J$k(B.

      Unicode $B$K$D$$$F(B. $B8=:_(B lv $B$,;HMQ$7$F$$$k%F!<%V%k$O(B Unicode 1.1 $B$K4p$E$$$F$$$^$9(B. ($B$3$l$O@hDx5$$E$-$^$7$?(B. :-) $B$=$7$F8=:_$N(B Unicode $BI8=`$O(B 2.0 $B$N$h$&$G$9$+$i(B, $B0lIt(B, $B8m$C$?%3!<%I0LCV$X$NJQ49$,9T$J$o$l$F$$$k$_$?$$$G$9(B. $B!XD>!Y$N8mJQ49$OL\N)$A$^$9$M(B. (^_^;; $B!!$H;W$C$?$i(B, Unicode 2.0 $B$G$bD>$C$F$J$$$h$&$G$9(B(?) $B$3$l$C$F(B,$B@5$7$$%^%C%T%s%0$J$s$G$7$g$&$+(B... ($B$h$/;w$F$$$kJ8;z$K%^%C%T%s%0$,L5$$$N$K(B, $B$3$s$J$K0c$&J8;z$K%^%C%T%s%0$,$"$C$?$j$7$F(B, $B$h$/J,$+$i$J$$(B Unicode.)

      Unicode 2.0 $B$H(B CJK unified ideographs $B4V$N%^%C%T%s%0$N%F!<%V%k$G$9$,(B, ftp://unicode.org/ $B$+$iF~ $B$$$/$D$+%a%b(B. Unicode $B$+$i(B CNS 11643-1992 $B$X$NJQ49$K$D$$$F(B, $B8=:_$O(B($BFbMF$N$=$m$C$?(B)$BJQ49%F!<%V%k$,F~(B, $B$@$=$&$G$9(B) $B$r%3!<%IJQ49$NBP>]$H$7$F$O07$C$F$$$J$$(B.

      $B$$$m$$$m=q$-$^$7$?$,(B, $BA0%P!<%8%g%s$+$i$NJQ99E@$OKAF,$G5s$2$?E@$@$1$G$9(B. $B:G6a%P%0%l%]!<%H$,Mh$J$$$N$G(B,$B$H$F$bNT$7$$$G$9(B(^_^;;

    • ver 4.2beta4 (Mar.12th,1997)
      - ($B%^%$%J%9(B) $B$d(B + $B$G;O$^$k%U%!%$%k$r8+$k$3$H$,$G$-$J$+$C$?$?$a(B, $B%*%W%7%g%s(B ``-'' ($B$=$l0J9_$N0z?t$r%U%!%$%kL>$H8+$J$9(B) $B$r:n$C$?(B. Makefile$B$r@0M}$7$?(B. ($B%3%s%Q%$%i%U%i%0$r(B ``CONFIG'' $B$H$$$&%U%!%$%k$KJ,N%$7$^$7$?(B. $B$3$A$i$r=$@5$7$F$/$@$5$$(B.) $B=q8K$r@0M}$7$?(B. MSDOS$BHG$N=q8K$K%=!<%9$rF~$l$k$N$r$d$a$?(B. UNIX$BHG$N=q8K$G(B, $B$3$l$^$GJL$N%U%!%$%k$K$J$C$F$$$?%=!<%9%U%!%$%k$N=q8K$r(B, $B%5%V%G%#%l%/%H%j$KE83+$9$k$h$&$K$7$F0l$D$N=q8K$K$^$H$a$?(B. $B3F%U%!%$%kL>$N@hF,$K=q8K$NL>A0$N%G%#%l%/%H%j$r4^$a$?(B. ($B$D$^$j(B,$BE83+$9$k$H%5%V%G%#%l%/%H%j$,$G$-$^$9(B. $B$=$N%G%#%l%/%H%j$G(B make $B$7$F2<$5$$(B. $B%=!<%9$O$=$N$^$?%5%V%G%#%l%/%H%j$KE83+$5$l$^$9(B.)

    • ver 4.2beta3
      $B$"$j$^$;$s(B. $B$3$N%P!<%8%g%s$O(B FreeBSD $BMQ$N(B ports $B$r:n$k$?$a$K0l;~;HMQ$7$^$7$?(B.

    • ver 4.2beta2 (Mar.4th,1997)
      UTF-7$B$N%(%s%3!<%G%#%s%0$K0lIt(B,$B%P%0$,$"$j$^$7$?(B. (base64$B$NNs$NESCf$G2hLL@)8fMQ$N%(%9%1!<%W%7!<%1%s%9$,=P$F$7$^$C$F$$$^$7$?(B. help.ja$B$r(BUTF-7$BCJ}$,;H$($^$9(B.) $B%*%W%7%g%sL>$rBgI}$KJQ99$7$?(B. ($BBgJ8;z$N$b$N$r>.J8;z$KJQ99$7$^$7$?(B.) $B%*%W%7%g%s(B-U$B$G(Bbig5-eten$B$r(BCNS$B$KJQ49$9$k$3$H$r$d$a$?(B. $B%*%W%7%g%s(B-u$B$O5l(BJIS$B$r?7(BJIS$B$X(B, $B$^$?(BJIS$B%m!<%^;z$r(BASCII$B$XJQ49$9$k$?$a$K;H$C$F$/$@$5$$(B. $B%Z!<%8$r$a$/$k:]$K%9%/%m!<%k$r;H$C$F8E$$FbMF$rA]$-=P$9%*%W%7%g%s(B-s$B$r?7@_$7$?(B. ($B3'MM$N9%$_$K$^$+$;$^$9(B.) $BCm0U(B: $B!X(Bcat | lv$B!Y$rl9g$O(B cat $B$NJ}$r;&$7$F$/$@$5$$(B.) $B$3$l$r(B, $B$-$A$s$H(B ^C $B$G;_$a$i$l$k$h$&$K=$@5$7$^$7$?(B. $B$I$J$?$+(Blv$B$N%m%4$r:n$j$^$;$s$+(B?

    • ver 4.2beta1 (Mar.2nd,1997)
      $B;n83E*$K(B Unicode $B$r%5%]!<%H$7$F$_$^$7$?(B. $B$^$@(B, $B$"$^$j(B Unicode $B$N$3$H$rM}2r$7$F$$$J$$$N$G$9$,(B, $B$H$j$"$($:(B Unicode $BC Unicode$B$NJQ49%F!<%V%k$O(B ftp://unicode.org/pub/UNIX/MAPPINGS/ $B$+$iF~

      MSDOS$BHG$K$O(B Unicode $B$r07$&5!G=$O$"$j$^$;$s(B.

      $B%P%0%l%]!<%H(B,$B$=$NB>(B, $B$h$m$7$/$*4j$$CW$7$^$9(B.

    • ver 4.1beta7 (Feb.25th,1997)
      $B%*%W%7%g%s(B-E$B$rGQ;_$7$?(B. big5$B$O(B,$B$d$O$j(Bbig5$B$N$^$^FI$_9~$`$3$H$K$7$?(B. $B$?$@$7(B, $B$3$N>l9g(B, big5$B$r(Biso-2022-cn$B$J$I$G=PNO$9$k$H(B, $BJ8;zNs$N%5!<%A$,@5>o$K5!G=$7$J$$(B($B5U$bF1MM(B.$B$3$l$O;EMM$K$J$j$^$9(B.). $B$?$@$7(B, $B%*%W%7%g%s(B-U$B$r;XDj$9$l$P(B big5$B$r>o$K(BCNS$B$KJQ49$7$FFI$_9~$`$3$H$,$G$-$k$?$a(B, $B$=$N$h$&$JLdBj$r2sHr$G$-$k(B. $BJQ49$G$-$J$$(Bbig5$B$O(B8$B%S%C%HL\$rMn$7$F=PNO$9$k$3$H$K$7$?(B. big5$B$+$i(BCNS$B$X$NJQ49%k!<%A%s$K%P%0$,$"$C$?(B. $BO@M}9T$KBP$9$kJ*M}9T$N@)8B$r(B16$B9T$+$i(B64$B9T$KA}$d$7$?(B. (1024$BJ8;z$,A4$F(B4$B%1%?I=<($N@)8fJ8;z$@$C$?$H$7$F(B, 4096$B%1%?(B. $B$3$l$r(B80$B%1%?$GI=<($9$k$H(B52$B9T$G$9$N$G(B, $B$@$$$?$$$=$l$/$i$$$GNI$$$H;W$$$^$9(B.)

    • ver 4.1beta6 ($BL5$7(B)
      $B$"$l(B, $B$J$<$+L5$$$G$9$M(B (^_^;;

      $B$A$g$C$H:.Mp$7$F$$$^$9(B.

    • ver 4.1beta5 (Feb.23th, 1997)
      JIS C 6226$B$,(Beuc-japan$B$G=PNO$5$l$J$$$H$$$&(B, $BHs>o$K>p$1$J$$%P%0$,H/8+$5$l$^$7$?(B. $B$3$l$rD>$7$^$7$?(B. $B0lJ}(B, JIS X 0201$B%m!<%^;z$r(BASCII$B$K(B, JIS C 6226 $B$r(B JIS X 0208 $B$KJQ49$9$k%*%W%7%g%s(B-U$B$r?7@_$7$^$7$?(B. ($B$3$N%*%W%7%g%s$H$O4X78$J$/(B, C6226 $B$O(B euc-japan$B$G=PNO$5$l$^$9(B.) $B$^$?%*%W%7%g%s(B -U $B$O(B, ISO 2022$B$N%G%3!<%I$K4X$7$F(B, lv$B$,CN$i$J$$J8;z=89g$N$&$A(B94$BJ8;z=89g$N$b$N$r(B ASCII $B$H$7$FFI$_9~$_$^$9(B. $B$3$l$K$h$j(Blv$B$NG'<1$9$kJ8;z=89g$r$$$/$D$+:o=|$7$^$7$?(B.

    • ver 4.1beta4 (Feb.18th, 1997)
      ANSI$B%(%9%1!<%W%7!<%1%s%9$r%+%9%?%^%$%:$G$-$k$h$&$K$7$?(B. $B1Q8lHG$N%I%-%e%a%s%H$r:n$C$?(B.

    • ver 4.1beta3 (Feb.14th, 1997)
      $BB<0f$5$s(B(murai@geophys.hokudai.ac.jp)$B$N;XE&$K$h$j(B, $B%3!<%I7O$N<+F0A*Br$,>u67$K$h$C$F:nF0$7$J$$%P%0$r=$@5$7$?(B. $B%3!<%I7O$r@0M}$7(B, ISO 2022$B7OE}$r(Biso-2022-cn, iso-2022-jp, iso-2022-kr$B$K8BDj$7$?(B. ($B$3$l$^$GM>7W$K@_Dj$7$F$$$?$b$N$r:o=|$7$?(B.) $B<+F0A*BrCf$K2>Dj$9$k%3!<%I7O$r(Biso-2022-kr$B$KJQ99$7$?(B ($B$3$l$^$G$O(BG1$B$KH>3Q%+%J$,>h$C$F$$$?(B. $B$=$l$r%O%s%0%k$KJQ99$7$?(B.). iso-2022-cn$B$H(Beuc-taiwan$B$r?7@_$7$?(B. $B$=$l$KH<$$(BCNS 11643-1992$B$r(Bitable$B$K4^$a$?(B. $B$^$?(Bbig5$B$H(BCNS$B$NAj8_JQ49$r9T$J$($k$h$&$K$7$?(B. big5$B$NI=5-$r(Bbig5-eten$B$K2~$a$?(B. $B%3!<%I7O$NL>>NJQ99$H?7@_(B/$BGQ;_$KH<$$(B, $B3:Ev$9$k%*%W%7%g%s$b=$@5$7$?(B. $B$3$N%I%-%e%a%s%H$r0l?7$7$?(B.

    • ver 4.1beta2 (Feb.12th, 1997)
      $B>>86$5$s(B(moody@osk.threewebnet.or.jp)$B$N;XE&$K$h$j(B, SystemV$B7O$N(B^Z$B$N07$$$r2~A1$7(B, $B$-$A$s$H%W%m%;%9%0%k!<%W$X(BSIGSTOP$B$rHt$P$9$h$&$K$7$?(B. ($B$3$l$^$G5$$E$+$J$/$F:Q$_$^$;$s(B.) $B%P%$%J%j%U%!%$%k$r(BRaw$B%b!<%I0J30$GFI$_9~$`$H%;%0%a%s%F!<%7%g%s%U%)%k%H$r(B $B5/$9$3$H$,$"$j$^$7$?(B. ($B$^$l$K(BIstrFree()$B$G(BSIGSEGV$B$,Ht$V(B) $B$3$l$rD>$7$?(B. man$B$N=PNO$r8+$k;~$J$I$KJ#?t$NJ8;zB0@-$r;XDj$7$F$b:G8e$N0l$D$7$+M-8z$K(B $B$J$i$J$+$C$?E@$r2~A1$7$?(B. $B$^$?(B,man$B$N7k2L$r8+$k:]$N(B^H$B$N07$$$KITHw$,$"$C$?$N$GD>$7$?(B. $B%*%W%7%g%s(B-M$B$r(B-P$B$KJQ99$7$?(B.

    • ver 4.1beta1 (Feb.8th,1997)
      $B$h$&$d$/=$O@$,=*$j$^$7$?(B. $B$5$F(B, lv$B$N%P!<%8%g%s$r0l$D>e$2$^$9(B. $B$h$C$F(B ver 4.0 $B$N@5<0HG$OB8:_$7$^$;$s(B. 4.1$B$G$O0JA0$+$i7|0F$@$C$?(B, $BI8=`F~NO$H(Bzcat$B$+$i$NF~NO$r%Q%$%W$GFI$`$3$H$K$7$^$7$?(B(UNIX$BHG(B). $B$?$@$7(Blv$B$N9=B$E*LdBj$+$i(B,$BI8=`F~NO$rI=<($9$k>l9g(B, 1$B2hLLJ,(B(+$B%Z!<%8$N@Z$lL\$^$G(B)$B$rFI$_9~$^$J$$$HI=<($G$-$^$;$s(B. $B$I$&$7$F$bI8=`F~NO$rFI$_9~$s$@!X$=$N;~!Y$KI=<($7$?$$$H$$$&>l9g$O(B, -M$B%*%W%7%g%s$r;XDj$7$F$/$@$5$$(B. $B$=$l$+$i(B, Linux$B$N%5%]!<%H$r2C$($^$7$?(B. (termcap$BHG$N$_(B. Linux$B$N(Bterminfo$BHG$O(B,$B$^$@3NG'$7$F$$$^$;$s(B.) $B$=$N:](B, UNIX$B$NCpJs$,H4$1Mn$A$k$H$$$&%P%0$,$"$j$^$7$?$,(B, $BD>$7$^$7$?(B. $B>o;~%*%s$K$7$F$$$F$b(BOK$B$G$9(B. $B%3!<%I7O$NH=CG$NJ}K!$bJQ99$7$^$7$?(B. $B$3$l$^$G@hFI$_$r9T$J$C$FH=CG$7$F$$$^$7$?$,(B, $BH=CG$9$kI,MW$,Gw$i$l$k$^$GH=CG$7$J$$$3$H$K$7(B, $B!X4A;z$i$7$-J8;z$r4^$`:G=i$N0l9T!Y$G(B $B%3!<%I7O$r7hDj$9$k$3$H$K$7$^$7$?(B.

    • ver 4.0beta9 (Jan.6th,1997)
      $B%&%#%s%I%&Cl9g$K$h$C$F$O8mF0:n$9$k$3$H$,$"$C$?(B. $B%j%m!<%ICf$K(B,$B%j%m!<%I$7$F$$$k$HI=<($9$k$h$&$K$7$?(B.

    • ver 4.0beta8 (Dec.28,1996)
      $B%5!<%A$r9bB.2=$7$?(B. ($B$3$l$/$i$$$,8B3&$N$h$&$G$9(B. less$B$N:G?7%P!<%8%g%s$HHf3S$7$F$_$F$/$@$5$$(B. $B$b$&Ii$1$J$$$>(B :) ASCII$BJ8;z$NBgJ8;z(B/$B>.J8;z$r6hJL$7$J$$%5!<%A$r:n$C$?(B. ($B%*%W%7%g%s(B-D$B$G;XDj$7$F$/$@$5$$(B.) $B:GBg9T?t$r(B32768$B9T$KJQ99$7$?(B. $B%3!<%I7O$NH=CG$N$?$a$K%U%!%$%k$rFI$_9~$`%P%$%H?t$N>e8B$r(B 16K$B%P%$%H$KJQ99$7$?(B.

    • ver 4.0beta7 (Dec.15,1996)
      $BLnCf$5$s(B (nona@in.it.okayama-u.ac.jp) $B$N;XE&$K$h$j(B, $B
    • ver 4.0beta6 (Dec.12,1996)
      $B@PDM$5$s(B (ishizuka@db.is.kyushu-u.ac.jp) $B$N;XE&$K$h$j(B, $B%5%U%#%C%/%9$,(Bgz, z, Z$B$N%U%!%$%k$O(Bzcat$B$GE83+$7$F$+$iFI$`$h$&$K$7$?(B.

    • ver 4.0beta5 (Dec.10,1996)
      $B%j%m!<%I$7$?;~$KFs=E$K%U%!%$%k$r%/%m!<%:$7$F$7$^$$(B, bus error$B$d(Bsegmentation fault$B$r5/$7$F$$$?(B. $B%j%m!<%I$7$?;~$K(B,$B%5!<%ACf$N%U%i%0$,Mn$A$F$7$^$$(B, $B:G=i$N%5!<%A$,F1$8>l=j$K%R%C%H$7$F$7$^$C$F$$$?(B.

    • ver 4.0beta4 (Dec.9,1996)
      $B%X%k%W%U%!%$%k$rJ,N%$7$?(B. $B%j%m!<%I$7$?:]$K%5!<%A%Q%?!<%s$r%/%j%"$7$F$$$?$,(B, $B%/%j%"$7$J$$$3$H$K$7$?(B. DOS$BHG$G(B, file_t $B$b(B i_str_t $B$HF1MM$K(B far $B%]%$%s%?2=$7$?(B. DOS$BHG$N%a%b%j4IM}$K$D$$$F%a%b(B: malloc$B$GG[CV$5$l$k%R!<%W%5%$%:$K@)8B$r@_$1$^$7$?(B. $B8=:_$O(B10K$B%P%$%H$C$F$$$k$N$K(Bnot enough memory$B$H$$$&%(%i!<$,(B $B=P$F0[>o=*N;$9$k$h$&$J$3$H$,$"$l$P(B, lv.c $B$NCf$N(B HEAP_SIZE $B$N@_Dj$r(B, $B$h$jBg$-$JCM$KJQ99$7$F(Bmake$B$7D>$7$F$/$@$5$$(B. UNIX$BHG$G$O$=$N$h$&$J@_Dj$O$"$j$^$;$s(B. ($BEvA3(B, far $B$H$$$&%-!<%o!<%I$bL58z$K$7$F$"$j$^$9(B.)

    • ver 4.0beta3 (Dec.8,1996)
      DOS$BHG$N%a%b%jG[CV4X78$N%3!<%I$r=EE@E*$K=$@5$7$?(B. $B%U%!%$%k$r%j%m!<%I$9$k5!G=$r2C$($?(B.

    • ver 4.0beta2 (Dec.5,1996)
      $BBg$-$/$J$j2a$.$?@55,I=8=4X78$N%U%!%$%k$rJ,3d$7$?(B. MSDOS$BHG$GJ8;zNs$NG[CV$K(Bfar$B%a%b%j$r;HMQ$9$k$h$&$K$7$?(B. $B$3$l$K$h$C$FJB$N%P%$%J%j%U%!%$%k$G$O(B $B%;%0%a%s%HFb$G$N%a%b%jITB-$NLdBj$O5/$3$i$J$/$J$C$?(B. ($B%a%b%j$r?)$&(B&$BCY$/$J$k$H;W$$$^$9$,(B, $B%U%!%$%k$,!X8+$l$J$$!Y$h$j$+$ONI$$$N$G$O$J$$$+$H$b;W$$$^$9(B.)

    • ver 4.0beta1 (Dec.4,1996)
      $B$d$O$j(B,$B%P!<%8%g%s$r?J$a$k$3$H$K$7$?(B. ($B$h$C$F(Bver 3.9$B$N@5<0HG$OB8:_$7$J$$$3$H$K$J$j$^$9(B). iso-8859-*$B$r(B8$BC10L7O$N(BISO 2022$B$H$7$F%(%s%3!<%I$9$k$h$&$KJQ99$7$?(B. ($B$3$l$^$G(BEUC$B$H$7$F07$C$F$$$?(B.) ISO 2022$B$r(B8$BC10L7O$b4^$`7A$K=$@5$7$?(B. ms-kanji$B$N(BG1$B=89g$N=i4|CM$,4V0c$C$F$$$?$N$GD>$7$?(B. $B%(%s%3!<%I4X78$N%3!<%I$rItJ,E*$K$^$H$a$?(B.

    • ver 3.9beta19 (Dec.3,1996)
      $BJ8;z$N%3!<%ID9$r(B2$B%P%$%H$^$G$K@)8B$7$?(B. ($BA4$F$NJ8;z$r(B2$B%P%$%H$GI=8=$9$k$3$H$K$7$?(B). $B$=$l$KH<$C$F(B,$B%G%3!<%I(B/$B%(%s%3!<%I$NBgItJ,$K=$@5$r2C$($?(B. $B@55,I=8=$K$h$k%5!<%A$r2C$($?(B. $B%*%W%7%g%s$r%U%!%$%k$+$i;XDj$G$-$k$h$&$K$7$?(B. $B;XDj:Q$_$N%*%W%7%g%s$rL58z$K$9$k%*%W%7%g%s$r2C$($?(B. $BF~NOJ8;zNs$N%R%9%H%j$rLa$;$k$h$&$K$7$?(B.

      $B$3$N%P!<%8%g%s$O(Bbeta18$B0JA0$HHf3S$7$FHs>o$KB?$/$N=$@5$r2C$($F$$$k$?$a(B, $B6K$a$F%P%.!<$H;W$o$l$^$9(B. $BFC$K@55,I=8=$N$J$b$N$G(B, Mule$B$N%I%-%e%a%s%H$K$"$k$h$&$J!X??$N@55,I=8=!Y$K$O(B, $B$[$I1s$$>uBV$K$"$j$^$9(B. $B$b$7@55,I=8=$^$o$j$NF0:n$G$*$+$7$J=j$,$"$l$P(B, $B$<$R$<$R(B,$B;d$K$*CN$i$;$/$@$5$$(B.

    • ver 3.9beta18 (Dec.3,1996)
      $BL5$7(B.

    • ver 3.9beta17 (Nov.25,1996)
      $BJ8;z=89g$r(B1$B8D2C$($?(B. SP$B$N07$$$KITHw$,$"$C$?$N$GD>$7$?(B. UNIX$BHG$N(BSuspend$B$KITHw$,$"$C$?$N$GD>$7$?(B. ($B$3$l$^$G<+J,$KAw$C$F$$$?(BSIGSTOP$B$r(B, $B<+J,$N%W%m%;%9%0%k!<%W$KAw$k$h$&$K$7$?(B.)

    • ver 3.9beta16 (Nov.24,1996)
      $B2hLL=PNO$K%`%@$,B?$+$C$?$N$G(B,$B$J$k$Y$/%`%@$J=PNO$r$7$J$$$h$&$K$7$?(B.

    • ver 3.9beta15 (Nov.17,1996)
      $B$$$/$D$+$NJ8;z=89g$r:o=|$7$?(B. iso-2022-kr$B$r2C$($?(B. ($B$H$$$C$F$b/$7%P%0$C$F$$$?(B.

    • ver 3.9beta14 (Nov.16,1996)
      ANSI$B%(%9%1!<%W%7!<%1%s%9$N$&$A(B, $BJ8;z$N?'$dB0@-CM$r;XDj$9$k%7!<%1%s%9$rDL$9$3$H$,=PMh$k$h$&$K$7$?(B. ($B%*%W%7%g%s(B-C$B$G;XDj$9$k(B). $B%X%k%W%a%C%;!<%8$r%W%m%0%i%`K\BN$K4^$aD>$7$?(B. raw$B%b!<%I$HF1MM$KB>$N%3!<%I7O$G$b(B, $B$=$N%3!<%I7O$G=PNO$G$-$J$$J8;z$rL5M}LpM}=PNO$9$k>l9g$K(B, $BJ8;z=89g$N%P%$%H?t$,I=<(I}$h$jB?$$;~(B, $BI=<($:$l$r5/$9%P%0$,$"$C$?$N$GD>$7$?(B.

    • ver 3.9beta13 (Nov.15,1996)
      $B%W%m%0%i%`K\BN$+$i%X%k%W%U%!%$%k$rJ,N%$7$?(B.

    • ver 3.9beta12 (Nov.15,1996)
      $B$$$/$D$+$N%*%W%7%g%s$rJQ99$7$?(B. $B=PNO$N%3!<%I7O$O(B-O$B$G;XDj$9$k$3$H$K$J$C$?(B. $B$9$Y$F(B($BF~NO(B,$B%-!<%\!<%I(B,$B=PNO(B)$B$N%3!<%I7O$r(B-A$B$G;XDj$G$-$k$h$&$K$7$?(B. $BJ8;z=89g$H%3!<%I7O$K(Bbig5$B$r2C$($?(B. $B$3$l$^$GI8=`F~NO$,(Btty$B%G%P%$%9$G$J$$>l9g$O%X%k%W$rI=<($7$F$$$?$,(B, $BI8=`F~NO$r $B:#2s2C$($?(Bbig5$B$N3FJ8;z$O(B,$BFbItE*$K$b(Bbig5$B$=$N$^$^$G3JG<$5$l$^$9(B. $B$3$l$r(Biso-2022-jp$B$d(Biso2022$B$N(B7$B%S%C%H$G=PNO$7$h$&$H$9$k$H(B 8$B%S%C%HL\$,N)$C$F$$$k%3!<%I$,=P$F$7$^$$$^$9$N$G(B $BCm0U$7$F$/$@$5$$(B (Big5$B$O(Biso2022$B$K$OE,9g$7$F$$$J$$$N$G(B, $B$=$b$=$b$=$s$J=PNO$O$G$-$J$$(B). $B$J$*(B, big5$B$rL5M}LpM}(Biso2022$B$G=PNO$9$k:]$N=*C
    • ver 3.9beta11 (Nov.14,1996)
      base64, quoted-printable $B$N%3!<%I$r:o=|$7$?(B. $B:GBg9T?t$r1[$($?%U%!%$%k$KBP$7$F$O(B,$B%U%!%$%kKvHx$GDL>o$N(B(END)$B$G$O$J$/(B, (TRUNCATED)$B$HI=<($9$k$h$&$K$7$?(B.

    • ver 3.9beta10 (Nov.12,1996)
      EUC$B$N2r $B$=$NB>(B: $B%Z!<%8%5%$%:$H%*%s%a%b%j%Z!<%8?t$K$D$$$F%a%b(B. $B$R$H2hLL$KI=<($5$l$F$$$kJ#?t$N%Z!<%8$K4X$7$F(B, $BNc$($P2hLL$N>eC<$H2u67$r:n$C$F$O$$$1$J$$(B. ($BNc$($P(B, DOS$BHG$G%Z!<%8%5%$%:(B16$B9T(B,$B%*%s%a%b%j(B2$B%Z!<%8(B,$B$H$$$&@_Dj$O$G$-$J$$(B.) $B$3$N@)8B$rh$N?t$GJQ99$7$FNI$$(B. $B$?$@$7(B, lv $B$G07$($k:GBg9T?t$O(BPAGE_SIZE * SLOT_SIZE $B$G7h$^$k$?$a(B, $B%Z!<%8%5%$%:$r=L$a$k$H(B,$B$=$NJ,(B,$B07$($k9T?t$,8:$k$N$GCm0U(B.

    • ver 3.9beta9 (Nov.9,1996)
      $BJ8;z=89g$r$$$/$D$+DI2C$7$?(B. $B%3!<%I7O$NDj?tL>$rJQ99$7$?(B. ISO 2022$B$N(B7$BC10L7O$N%(%s%3!<%I$K4X$7$F%7%s%0%k%7%U%H$rMQ$$$k$b$N$H(B, $B%m%C%-%s%0%7%U%H$rMQ$$$k$b$N$H(B,$BN>J}$rMQ0U$7$FA*Br$G$-$k$h$&$K$7$?(B. ISO 2022$B$N%(%s%3!<%G%#%s%0$K%P%0$,$"$C$?(B. ($B5<;wJ8;z=89g$N@Z$j49$($N:]$KITMW$J;X<($r9T$J$C$F$$$?(B.) raw$B%b!<%I$K$*$$$F(B,$BJ8;z=89g$N%P%$%H?t$,I=<(I}$h$jB?$$>l9g(B, $BI=<($:$l$r5/$9%P%0$,$"$C$?(B.

    • ver 3.9beta8 (Nov.8,1996)
      ASCII$BC
    • ver 3.9beta7 (Nov.7,1996)
      FreeBSD$BMQ$N%3!<%I$r2C$($?(B. $B%U%!%$%k$N:G8e$r<($9%U%i%0$r8m$C$F%U%!%$%k$NESCf$GN)$F$F$$$?(B. beta5$B$N(B($B$A$g$C$H(B)$B9bB.2=$,$d$C$Q$j%P%0$C$F$$$?(B.$BD>$7$?$D$b$j(B. $B%*%W%7%g%s$r4D6-JQ?t$+$i$b;XDj$G$-$k$h$&$K$7$?(B. $B2hLL%5%$%:$r%*%W%7%g%s$+$i@_Dj$G$-$k$h$&$K$7$?(B. $BCuBV$KCV$$$F$+$i(B, $B:F$S=$@5$r2C$($FF1$8%P!<%8%g%s$H$7$F?7$7$$$b$N$rCV$$$F$*$j$^$9(B. ($B$3$A$i$N%m%0$K$h$k$H(B,$B;CDj(Bbeta7$B$r(Bget$B$J$5$l$?J}$O$$$i$C$7$c$i$J$$(B $B$3$H$K$J$C$F$$$^$9$N$G(B,$BLdBj$J$$$+$H;W$$$^$9(B.)

    • ver 3.9beta6 (Nov.7,1996)
      UNIX$BHG$r%3%s%=!<%k$GF0$+$9$3$H$rK:$l$F$$$?(B.$B$3$l$rD>$7$?(B. SunOS (X, Console), NEWS5000 (Sun$B$N(BX$B$+$i(Bremote login$B$7$?>uBV(B), $B8E$$(BRISC News (X, Console), $B8E$$(BCISC News (X, Console), Solaris (X, Console), HP-UX (X, Console), IRIX (X),$B$G3F!9(B,$BF0:n3NG'$7$?(B. $B
    • ver 3.9beta5 (Nov.6,1996)
      $B$"$^$j$K(Blv$B$,CY$$$?$a(B,$B$A$g$C$H9bB.2=$7$?(B. ($B$3$&$$$&(B-$B$*$W$A$^$$$:(B-$B$r$d$k$H(B,$B$?$$$F$$%P%0$,:.F~$7$^$9(B).

    • ver 3.9beta4 (Nov.5,1996)
      $B$$$/$D$+$N%=!<%9$N%U%!%$%kL>$rJQ99$7$?(B. ($B@53N$K$O(B,$BJ,$+$l$F$$$?%3%s%=!<%k4X78$N%=!<%9$r(B1$B$D$K$^$H$a$?(B). $B%3%s%=!<%k4X78$N4X?tL>$r%W%j%U%#%C%/%9(BConsole$B$KJQ99$7$?(B. ($B0JA0$O(BDisplay$B$@$C$?(B). MSDOS$BHG$G$b%-!<%\!<%I%$%s%?!<%i%W%H=hM}$r$9$k$h$&$K$7$?(B. $BFI$_9~$s$@9T?t$N?t$(J}$,%P%0$C$F$$$?$N$G=$@5$7$?(B.

    • ver 3.9beta3 (Nov.4,1996)
      $BO@M}9T$N:GBg%P%$%H?t$r(B1023byte$B$K$7$?(B. $B$^$?(B,$B$=$3$+$i
    • ver 3.9beta2 (Nov.4,1996)
      3.9beta1$B$O(BEUC$B$N%G%3!<%I$,%P%0$C$F$$$?(B. ($B5$$E$+$J$/$F8fLH$J$5$$(B.) $B%5%9%Z%s%I$9$k:]$K2hLL$r%U%i%C%7%e$7$F$$$J$+$C$?(B. C-g $B$r!X(Blv$B$N=*N;!Y$+$i!X%U%!%$%k>pJs(B($B9T?t$J$I(B)$B$NI=<(!Y$KJQ99$7$?(B. iso-2022-7bit$B$G(B96$BJ8;z=89g$r=PNO$9$k>l9g(B, $B$3$l$^$G$O(BG1$B=89g$H%m%C%-%s%0%7%U%H$rAH9g$;$FMQ$$$F$$$?$,(B, G2$B=89g$H%7%s%0%k%7%U%H$r;H$&$h$&$KJQ99$7$?(B. $B%3!<%I7O$N<+F0A*Br$G(B, $BH=CG$N$?$a$KFI$_9~$`%U%!%$%k$N%5%$%:$K>e8B$r@_$1$?(B. $B8=:_$O%U%!%$%k@hF,$N(B32768$B%P%$%H(B($B$F$-$H!<$C$9(B). $B9THV9f;XDj$NITET9g$rD>$7$?(B.

    • ver 3.9beta1 (Nov.2,1996)
      $B2hLL%5%$%:$NJQ99$KBP1~$7$?(B. base64, quoted-printable $B$N%3!<%I$r2C$($?(B. $B%U%#%C%/%9$7$?%P%0$OC$5$l$J$+$C$?(B. $BIT@5$J(BESC$B%7!<%1%s%9$r%9%?%s%I%"%&%H$7$F$$$J$+$C$?(B. $B%(%s%3!<%ICf$K1?$,0-$$$H(Bsegmentation fault$B$r5/$92DG=@-$,$"$C$?(B. $BA4$F$NJ8;z$r@)8fJ8;z$HF1MM$KI=<($G$-$k$h$&$K$7$?(B. ver 3.8 $B$OHt$P$9(B.

    • ver 3.8beta1 (Oct.25,1996)
      UNIX $BMQ$N%3!<%I$r2C$($F%Y!<%?8x3+(B.

    • ver 3.7
      lv $B$r5!G=%"%C%W$7$FC1FH$G8x3+(B. $B$3$3$+$i%j%j!<%9%N!<%H$rIU$9$k(B.

    • ver 3.7 $B0JA0(B
      nrt $B$N%*%^%1$H$7$FG[I[(B.

    Back to LV Homepage.

    Back to NARITA Tomio
    email: nrt@ff.iij4u.or.jp
    Homepage: http://www.ff.iij4u.or.jp/~nrt/
    lv-4.51.orig/lv.10000644001001300006200000002455110001753705014012 0ustar gotomgotom00000000000000.TH LV 1 "v.4.51 (Jan.16th,2004)" .SH NAME lv \- a Powerful Multilingual File Viewer / Grep .SH SYNOPSIS .B lv, lgrep .br .B lv -h .br .B lv -V .br .B lv [-[+]acdfgiklmnqsuvz] .br [-A\fIcoding-system\fP] [-I\fIcoding-system\fP] [-K\fIcoding-system\fP] .br [-O\fIcoding-system\fP] [-P\fIcoding-system\fP] [-D\fIcoding-system\fP] .br [-Ss\fIseq\fP] [-Sr\fIseq\fP] [-Sb\fIseq\fP] [-Su\fIseq\fP] [-Sh\fIseq\fP] .br [-T\fInumber\fP] [-W\fIwidth\fP] [-H\fIheight\fP] [-E'\fIeditor'\fP] [-+] .br [-] (\fIgrep pattern\fP) [\fIfiles ...\fP] .SH DESCRIPTION .IP "\fIMultilingual file viewer\fP" \fIlv\fP is a powerful multilingual file viewer. Apparently, lv looks like \fIless\fP (1), a representative file viewer on UNIX as you know, so UNIX people (and \fIless\fP people on other OSs) don't have to learn a burdensome new interface. lv can be used on MSDOS ANSI terminals and almost all UNIX platforms. lv is a currently growing software, so your feedback is welcome and helpful for us to refine the future lv. .IP "\fIMultiple coding systems\fP" lv can decode and encode multilingual streams through many coding systems, for example, ISO 2022 based coding systems such as iso-2022-jp, and EUC (Extended Unix Code) like euc-japan. Furthermore, localized coding systems such as shift-jis, big5 and HZ are also supported. lv can be used not only as a file viewer but also as a coding-system translation filter like \fInkf\fP (1) and \fItcs\fP (1). .IP "\fIMultilingual regular expressions / Multilingual grep\fP" lv can recognize multi-bytes patterns as regular expressions, and lv also provides multilingual \fIgrep\fP (1) functionality by giving it another name, \fIlgrep\fP. Pattern matching is conducted in the charset level, so an EUC fragment, for example, can be found in the ISO 2022 tailored streams, of course. .IP "\fISupporting the Unicode standard\fP" lv provides Unicode facilities which enables you to handle Unicode streams encoded in UTF-7 or UTF-8, and lv can also convert their code-points between Unicode and other charsets. So you can display Unicode or foreign texts on your terminal, using the code conversion function to your favorite charsets via Unicode. (However, MSDOS version of lv has none of the Unicode facility.) .IP "\fIANSI escape sequence through\fP" lv can recognize ANSI escape sequences for text decoration. So you can look ANSI-decorated streams such as colored source codes generated by another software just like intended image on ANSI terminals. .IP "\fICompletely original\fP" lv is a completely original software including no code drawn from \fIless\fP and \fIgrep\fP and other programs at all. .SH "OPTIONS" .IP "-A<\fIcoding-system\fP>" Set all coding systems to \fIcoding-system\fP. .IP "-I<\fIcoding-system\fP>" Set input coding system to \fIcoding-system\fP. .IP "-K<\fIcoding-system\fP>" Set keyboard coding system to \fIcoding-system\fP. If it is not set, output coding system will be applied to it. .IP "-O<\fIcoding-system\fP>" Set output coding system to \fIcoding-system\fP. .IP "-P<\fIcoding-system\fP>" Set pathname coding system to \fIcoding-system\fP. .IP "-D<\fIcoding-system\fP>" Set default (fall-back) coding system to \fIcoding-system\fP. .IP "coding-system:" a: auto-select .br c: iso-2022-cn .br j: iso-2022-jp .br k: iso-2022-kr .br ec: euc-china .br ej: euc-japan .br ek: euc-korea .br et: euc-taiwan .br u7: UTF-7 .br u8: UTF-8 .br l1..9: iso-8859-1..9 .br l0: iso-8859-10 .br lb,ld,le,lf,lg: iso-8859-11,13,14,15,16 .br s: shift-jis .br b: big5 .br h: HZ .br r: raw mode .IP "Examples:" -Il2: input coding system is iso-8859-2 .br -Ks: keyboard coding system is shift-jis .br -Oek: output coding system is euc-korea .br -Ab: all coding systems are big5 .IP "Coding-system translations / Code-points conversions:" iso-2022-cn, -jp, -kr can be converted into euc-china or -taiwan, euc-japan, euc-korea, respectively (and vice versa). shift-jis uses the same internal code-points as iso-2022-jp and euc-japan. .sp Since big5 characters can be converted into CNS 11643-1992 with negligible incompleteness, big5 streams can be translated into iso-2022-cn or euc-taiwan (and vice versa) with code-points conversion. Note that the iso-2022-cn referred here is not GB sequence, only just CNS one. You should remember that lv cannot translate big5 into GB directly. .sp The search function of lv may not work correctly when lv additionally performs ``code-points'' conversion (not ``coding-system'' translation), because visible code and internal code are different from each other. lv will try to avoid this problem with converting charsets of search patterns automatically, but this function is not always perfect. .IP "-W<\fInumber\fP>" Screen width .IP "-H<\fInumber\fP>" Screen height .IP "-E'<\fIeditor\fP>' (default 'vi -c %d')" Editor name (default 'vi -c %d') .br ``%d'' means the line number of current position in a file. .IP "-q" Assert there is delete/insert-lines control. .br Please set this option on a MSDOS ANSI terminal that has capability to delete and/or insert lines. As to termcap and terminfo version, it will be set automatically. .IP "-Ss<\fIseq\fP>" Set ANSI Standout sequence to \fIseq\fP (default "7") .IP "-Sr<\fIseq\fP>" Set ANSI Reverse sequence to \fIseq\fP (default "7") .IP "-Sb<\fIseq\fP>" Set ANSI Blink sequence to \fIseq\fP (default "5") .IP "-Su<\fIseq\fP>" Set ANSI Underline sequence to \fIseq\fP (default "4") .IP "-Sh<\fIseq\fP>" Set ANSI Highlight sequence to \fIseq\fP (default "1") .sp These sequences are inserted between ``ESC ['' and ``m'' to construct full ANSI escape sequences. .br .IP "-T<\fInumber\fP>" Set Threshold-code which divides Unicode code-points in two regions. Characters belonging to the lower region are assumed to have a width of one, and the higher characters are equated to a width of two. (Default: 12288, = 0x3000) .IP "-m" Force Unicode code-points which have the same glyphs as iso-8859-* to be Mapped to iso-8859-* in a conversion from Unicode to another character set which also has the corresponding code-points, in particular, Asian charsets. .br .IP "-a" Adjust character set for search pattern (default) .IP "-c" Allow ANSI escape sequences for text decoration (Color) .IP "-d, -i" Make regexp-searches ignore case (case folD search) (default) .IP "-f" Substitute Fixed strings for regular expressions .IP "-k" Convert X0201 Katakana to X0208 while decoding .IP "-l" Allow physical lines of each logical line printed on the screen to be concatenated for cut and paste after screen refresh .IP "-s" Force old pages to be swept out from the screen Smoothly .IP "-u" Unify several character sets, eg. JIS X0208 and C6226. In addition, lv equates ISO 646 variants, eg. JIS X0201-Roman, and unknown charsets with ASCII. .IP "-g" Turn on lgrep mode. .IP "-n" Prefix each line of output with the line number within its input file on lgrep. .IP "-v" Invert the sense of matching on lgrep. .IP "-z" Enable HZ auto-detection (also enabled by run-time C-t). .br .IP "-+" Clear all options .br You can also turn OFF specified options, using ``+