Select sjis if the characters are not shown properly. Internet Expolorer is the targetted browser.

@(#) index.txt

$Filename: index.txt $
$Lastupdate: 2018-08-28 11:41:40 $

流出予測研究所 openpage へ

このディレクトリには、流出予測研究所で使用している xyzzy の lisp プログラムが置かれています。

[TopHdngList] [BodyStart] [Top] [End]

CONTENTS   CONTENTS が閉じられているときでも [Contents] ボタンは有効です。
CONTENTS が閉じられているときに、アウトライン見出しのところに表示 されている [Contents] ボタンをクリックすると、 CONTENTS を表示して、 そのアウトライン見出しに対応している CONTENTS の中の見出しにジャンプします。
この後、CONTENTS は表示されたままになります。
CONTENTS 内の各行の最後に示されている数字は、 そのアウトライン見出し行が文書ファイルの何行目にあるかを表しています。

[ContentsTop]
TOP HDNG LIST ALL HEADING LIST NOTE LIST

[Close TOP HEADING LIST]

ALL HEADING LIST ■はアウトライン見出しのタイトル □はそれ以外
18*1 ■xyzzy は何?
37*2 ■kh-base.l
50*3 ■kh-insertnum.l
74*4 ■kh-myregion.l
102Head □オプション文字列がある形
119*5 ■kh-xyzzyfunc.l
151*6 ■kh-odr.l
162*7 ■kh-odrtools.l
176*8 ■occur.l

[Close ALL HEADING LIST]

NOTE LIST
Note の一覧: Note はありません。

[Close NOTE LIST]

[Top] [End] [ContentsTop]

[CTop] [Contents][TopHdngList][][Next][SameLvlPrev][Child][SameLvlNext][Parent][Top][End]

1 xyzzy は何?

xyzzy は、カスタマイズ可能で軽快な Windows 用のテキストエディタです。 xyzzy は 亀井哲弥氏 よって開発された Emacs ライクなテキストエディタです。 Common Lisp にほぼ準拠した言語で拡張可能であり、多くの機能が Lisp によって実装されています。

http://xyzzy-022.github.io/ から取得できます。

筆者が気に行っているところは、common lisp によって自由にカスタマイズでき、ポップアップメニューを作成するなど対話的な操作を定義できるところです。

次に示す図は、筆者が使用している、画面を右クリックしたときにポップアップするメニューの一部です。

表示失敗?: ./index.txt--popupmenu.png
右クリックによるポップアップメニュー
アウトライン文書を処理するために用意した操作をクリックして選択したり、キーボードから選択できるようになっています。アウトライン文書については、../o2h/index.html を参照してください。

 

[CTop] [Contents][TopHdngList][Prev][][Next][SameLvlPrev][Child][SameLvlNext][Parent][Top][End]

2 kh-base.l

./kh-base.l は、基本的な lisp プログラムを収録しています。

site-lisp ディレクトリに置き、バイトコンパイルしておきます。

kh-base.l には requre 文がありません。

./kh-base.l.html は、kh-base.l を ../o2h/index.html で紹介している o2h を使用して、html ファイルに変換したものです。

o2h については、http://rfri.saloon.jp/openpage/o2h/index.html を参照してください。

 

[CTop] [Contents][TopHdngList][Prev][][Next][SameLvlPrev][Child][SameLvlNext][Parent][Top][End]

3 kh-insertnum.l

./kh-insertnum.l では、指定した範囲のプログラムコードに、

する関数が定義されています。

kh-insertnum.l には、requre 文がありません。

例えば、範囲を指定して、M-x insert-linenum とすると、行番号を書く欄の最初の桁位置を問い合わせて来ます。左端から行番号欄が始まるときは、0 にします。行番号を書く欄の最初の位置が 1以上であるとき、その桁位置より左に書いてあるものはそのままにして変えないで、指定された桁位置から、行番号と ": " を挿入します。

行番号は3桁で表記されます。

./kh-insertnum.l.html は、kh-insertnum.l を ../o2h/index.html で紹介している o2h を使用して、html ファイルに変換したものです。

o2h については、http://rfri.saloon.jp/openpage/o2h/index.html を参照してください。

 

[CTop] [Contents][TopHdngList][Prev][][Next][SameLvlPrev][Child][SameLvlNext][Parent][Top][End]

4 kh-myregion.l

./kh-myregion.l は、開始マークと終了マークを持った範囲を定義し、それを取りあつかうためのいくつかの関数を提供する xyzzy 用のプログラムです。

default では、開始マークと終了マークは、それぞれ、 @begin{foo} と@end{foo} の形です。foo の部分は、範囲につける名前で、その範囲に入れるプログラムの名前などをユーザが指定します。kh-myregion.l では、範囲につける名前は、変数 markstring に格納されます。

@begin{foo} ----------------------------------------------
...
@end{foo} ------------------------------------------------

こんな形です。

つぎのような形も考えます。

@begin{foo}{bar} -----------------------------------------
...
@end{foo} ------------------------------------------------

この形を、"オプション文字列がある形" と呼びます。

このような開始マークと終了マークに囲まれた範囲を「マーク付き範囲」と呼ぶことにします。

kh-myregion.l には、つぎの require 文があります。

  (require "kh-base")
  (require "kh-insertnum")

kh-myegion.l は、site-lisp ディレクトリに置き、バイトコンパイルしておきます。

./kh-myregion.l.html は、kh-myregion.l を ../o2h/index.html で紹介している o2h を使用して、html ファイルに変換したものです。

o2h については、http://rfri.saloon.jp/openpage/o2h/index.html を参照してください。

 

[CTop] [Contents][TopHdngList][Prev][][Next][SameLvlPrev][Child][SameLvlNext][Parent][Top][End]

5 kh-xyzzyfunc.l

kh-xyzzyfunc.l では、ファイル、フォルダー、URL を処理する xyzzy 用の関数を定義しています。

ODR 文書の中で使用することだけが目的の関数もあります。そういうものは、kh-odr.l に移動した方がいい。[2017-12-31] 作業中です。

このファイルで定義されている関数

   Folder, File, Xv, Start, vFile,

では、C:/dirlink というディレクトリがあって、

   foo.lnk, foobar.lnk, ...

のような名前の、ディレクトリへのショートカットとが置いてあるという前提に立っています。

   (File "sitelisp.lnk" "kh-base.l")

のように書くと、C:/dirlink/sitelisp.lnk が指すディレクトリにある kh-base.l を開きます。このようにすることで、良くアクセスするディレクトリへのアクセスを簡単にします。

C:/dirlink というディレクトリがあるという前提に立っている関数では、 C:/dirlink というディレクトリがあるか検査して、無ければその旨をメッセージボックスに表示して、関数の実行を停止します。

kh-xyzzyfunc.l には、つぎの require 文があります。

  (require "kh-base")

./kh-xyzzyfunc.l.html は、kh-xyzzyfunc.l を ../o2h/index.html で紹介している o2h を使用して、html ファイルに変換したものです。

o2h については、http://rfri.saloon.jp/openpage/o2h/index.html を参照してください。

 

[CTop] [Contents][TopHdngList][Prev][][Next][SameLvlPrev][Child][SameLvlNext][Parent][Top][End]

6 kh-odr.l

kh-odr.l は、ODR (Outline Documentation Rule for O2h) 文書の整形作業をサポートする関数を定義しています。

./kh-odr.l.html は、 kh-odr.l を ../o2h/index.html で紹介している o2h を使用して、html ファイルに変換したものです。

o2h については、http://rfri.saloon.jp/openpage/o2h/index.html を参照してください。

 

[CTop] [Contents][TopHdngList][Prev][][Next][SameLvlPrev][Child][SameLvlNext][Parent][Top][End]

7 kh-odrtools.l

kh-odrtools.l では、xyzzy で ODR 文書を編集するときに使用したら便利な関数を定義しています。

kh-odr.l の中でも、ODR 関係の関数が定義されています。

画像ファイルを参照するコードを挿入したりするのは、kh-odr.l の方で定義されています。

./kh-odrtools.l.html は、kh-odrtools.l を ../o2h/index.html で紹介している o2h を使用して、html ファイルに変換したものです。

o2h については、http://rfri.saloon.jp/openpage/o2h/index.html を参照してください。

 

[CTop] [Contents][TopHdngList][Prev][][Next][SameLvlPrev][Child][SameLvlNext][Parent][Top][End]

8 occur.l

occur.l は、元々 http://www4.ocn.ne.jp/~ssuda/utilities.htmlから取得しました。

[2018-01-20] に、このページにアクセスして見ましたが、もうこのページは無いようで、「このサイトにアクセスできません」と表示されます。

検索した結果を表示する窓がポップアップして、該当する行をクリックすると、その行にジャンプします。

次の図は、win-odr.odr という文書ファイルを編集中に、M-x list-heading を実行したときに表示される窓を示しています。

表示失敗?: ./index.txt--180825105159.png
M-x list-headings を実行した例
関数名 機能
list-headinglines 見出し行のリストをポップアップ
search-word-in-headlines 検索語を含む見出行をpopアップ

occur.l には、つぎの require 文があります。

  (require "kh-odr")

kh-odr.l の中で定義されている headingline 関数を使っているためです。

./occur.l.html は、kh-occur.l を ../o2h/index.html で紹介している o2h を使用して、html ファイルに変換したものです。

o2h については、http://rfri.saloon.jp/openpage/o2h/index.html を参照してください。

利用例を示します。

.xyzzy の中に次のように書きます。

(require 'occur)

(setq *occur-regexp* "^¥¥(¥¥*[¥¥*]* ¥¥|; ¥¥* ¥¥)")
(setq *my-occur-regexp* "^¥¥(¥¥*[¥¥*]* ¥¥|; ¥¥* ¥¥|(defun ¥¥)")
(setq *my-occur-string* nil)

(global-set-key '(#¥C-5 #¥5); 見出し行のリストをポップアップ
                'list-headlines)

(global-set-key '(#¥C-5 #¥6); 検索語を含む見出行をpopアップ
                'search-word-in-headlines)
                
(global-set-key '(#¥C-5 #¥7); occur 検索語を含む行をpopアップ
                'search-string-in-lines)
; 見出し行にかぎらず、検索します。

(global-set-key '(#¥C-5 #¥8); 前回実行した occur 操作の繰り返し
                'repeat-last-occur-work)

これで、例えば、C-5 5 とタイプすると、見出し行のリストをポップアップします。

 

Produced by the use of o2h version 13.01.
[CTop] [Top] [Prev] [Body] [BodyStart] .