jless 332iso242novio10

Altair☆ (NBG01720@nifty.ne.jp)
http://www.vector.co.jp/authors/VA000199/

This is a unofficial distribution of the less for OS/2 WARP, based on version 332+iso242.
Please report any problems of this distribution to me at NBG01720@nifty.ne.jp.
This file is written in Japanese language with using Shift_JIS code.

** 目次 **


** はじめに **

これは、OS/2 WARP用のlessの非公式な配布です。less version 332+iso242をベースとしています。オリジナルをそのままコンパイルした場合と異なり、XFree86のxtermやrxvt、ktermなどでも利用可能です。

この配布についてのお問い合わせやバグレポートなどあれば、NBG01720@nifty.ne.jpまでお願いします。


** 332+iso242オリジナル版との差異 **


** クイック・インストール **


** 変更履歴 **

novio10 → novio11の変更点

novio9 → novio10 (非公開)の変更点

novio8 → novio9 (非公開)の変更点

novio7 → novio8の変更点

novio6 → novio7の変更点

novio5 → novio6の変更点

novio4 → novio5の変更点

novio3 → novio4の変更点

novio2 → novio3の変更点

novio → novio2の変更点

オリジナル → novioの変更点


** その他、使用上の留意点 **

オリジナル・ディストリビューションからは変更をしていませんが、unix用インプリメンテーションとOS/2用インプリメンテーションで異なっている点がいくつかあるようです。

** リビルドするには… **

この文書中のURIは、1999年7月18日現在のものです。もし、ここで紹介しているファイルがアクセス不能になった場合には、この文末のe-mailアドレスまで御一報ください。代替アドレスを紹介するか、私のweb pageにそれらを転載するなどの処置を取りたいと思います。

jlessのオリジナルを入手するには

オリジナルのjlessは、http://www.io.com/~kazushi/less/で配布されています。日本語ヘルプ・メッセージのオリジナル(less-jp-help-iso212.gzless-jp-help-iso212-242.patch.gz)もこのwebサイトからリンクされています

jless-332iso242のソースとして、私は、Debian GNU Linuxのソース・アーカイブを利用しました。日本ではringサーバのftp://core.ring.gr.jp/pub/linux/debian/debian/dists/stable/main/source/text/jless_332iso242.orig.tar.gzにミラーされています。

emx開発環境の入手

開発環境には、emx 0.9d FIX 02を使用しました。emxの最新版は、以下のanonymous ftpで配布されています。

独自に追加しているscrsize.exeのコンパイルには、XFree86のXlibとその開発環境もインストールされていなければなりません。Xlibやそのヘッダに、OBJC_INCLUDE_PATHとC_INCLUDE_PATHが通っていない場合は、これらを設定するか、Makefile (Makefile.o2e)を、-Iや -Lオプションを明示するよう書換えてくださ い。

XFree86の入手

OS/2用のXFree86は、http://www.xfree86.org/や、http://borneo.gmd.de/~veit/os2/xf86os2.html (XFree86/OS2 project)で配布されています。日本国内には、ftp://core.ring.gr.jp/pub/XFree86/current/binaries/OS2/などのringサーバにもミラーされています。

それ以外のツール類の入手

emxとXFree86以外には、tar、fileutil、textutil、sysutil、sedなどのGNU toolsもあった方が良いでしょう。(makeやgzipは、XFree86の開発環境に含まれているもので構いません)。OS/2用に移植された、nkf以外の各種ツール類は、 などのwebサイトですぐに見つけられると思います。

後に紹介する作業例の中で使用しているnkfのOS/2用バイナリは、次のwebページからgetできます。

novio11レベルへの更新

novio11レベルのソースを取得するための操作例を以下に示します。
rem jless-332iso242novio11.zipを解凍
unzip jless-332iso242novio11

rem オリジナル・ソースをanonymous ftpから取得し解凍
ncftp ftp://core.ring.gr.jp/pub/linux/debian/debian/dists/stable/main/source/text/jless_332iso242.orig.tar.gz
tar xzvf jless_332iso242.orig.tar.gz

rem novio11パッチをあてる
xcopy jless-332iso242.orig jless\src\
cd jless\src
gpatch -p1 -i diffs/jless-332iso242-novio11.diffs

注)
gpatchは、GNU patchを、patch.exeからgpatch.exeにrenameしたものです。OS/2のpatchコマンドは利用できません。

ヘルプ・メッセージを書換えるには

ここでは、http://www.io.com/~kazushi/less/に公開されているless.hlp.ja (less-jp-help-iso212.gzless-jp-help-iso212-242.patch.gz)をgetして来て、less --helpや、Hコマンドで表示されるヘルプ・メッセージを日本語にする例を紹介します。
rem anonymous ftpからless.hlp.jaのオリジナルを取得し解凍
ftp ftp.big.or.jp
User ID: anonymous
Password: your_mail@your.domain … 礼儀として、あなたのメール・アドレスを入力
ftp> cd /pub/usr2/jam/less/contrib
ftp> binary
ftp> get less-jp-help-iso212.gz
ftp> get less-jp-help-iso212-242.patch.gz
ftp> close
ftp> bye
zcat less-jp-help-iso212.gz | uudecode
… 解凍すると、less.hlp.ja.gzが得られます
zcat less-jp-help-iso212-242.patch.gz | uudecode … less.hlp.ja.diff.gzが得られます
gunzip less.hlp.ja.gz
zcat less.hlp.ja.diff.gz | gpatch

rem mkhelpをコンパイル
gcc -o mkhelp.exe mkhelp.c

rem nkf -sしなくても普通は大丈夫ですが、例えば、JLESSCHARSET=SJISの時には化けます
nkf -s less.hlp.ja | mkhelp > help.c

注)
zcatとgunzipは、gzipへのシンボリック・リンクです。それぞれ、gzip -dc、gzip -dと同じです。

make

Makefileは、Makefile.o2eをコピーして使ってください。

chcp 437
copy Makefile.o2e Makefile
make

正規表現ライブラリの組み込み

このアーカイブで配布するバイナリには、character setを理解する正規表現ライブラリはリンクしていません。ここでは、それをリンクする作業例を紹介します。character setを理解する正規表現ライブラリについては、README.iso.jp、ならびに、http://www.io.com/~kazushi/less/を参照してください。

rem regex_csの入手と解凍
ncftp ftp://ftp.big.or.jp/pub/usr2/jam/less/contrib/regex_cs-lwp9k.shar.gz
zcat regex_cs-lwp9k.shar.gz | sh
… shは、pdkshやbashを流用可

rem defines.hとMakefileをregex-cs対応に修正
copy defines.o2 defines.h
gpatch -i diffs/jless-332iso242novio11-with_cs_regex.diffs
touch defines.h
sed s/regexp/regex_cs/ Makefile.o2e > Makefile
touch stamp-h

rem make
make clean
make

既知の問題点


Altair☆ (NBG01720@nifty.ne.jp)
http://www.vector.co.jp/authors/VA000199/