Hatena::Groupcadr

わだばLisperになる このページをアンテナに追加 RSSフィード

2004 | 12 |
2005 | 01 | 02 | 07 | 10 | 11 |
2006 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 11 |

2007-07-14

CADRエミュレータ (2) ユーザ環境設定編

| 23:08 | CADRエミュレータ (2) ユーザ環境設定編 - わだばLisperになる を含むブックマーク はてなブックマーク - CADRエミュレータ (2) ユーザ環境設定編 - わだばLisperになる

CADRはシングルユーザシステムですが、ユーザ毎に環境を設定して切り換えて使用することはできます。

(login 'foo)

とすることで、ユーザfooでログインできます。

何らかの理由で、環境設定初期化ファイルを読み込ませたくない場合は、

(login 'foo t)

とします。

(logout)

でログアウトします。

ホームディレクトリの作成

fooでログインした場合、ホームディレクトリfooにある。lispm.initを読み込み実行します。

恐らくホームディレクトリの場所の指定は様々あると思うのですが、良く分からないので、とりあえず、ホームディレクトリを作成し、その中にlispm.initを作成することによってユーザ環境を設定する方法を書きます。

とりあえず、ログインして作業を開始します。

(login 'foo t)

として、初期化ファイルを読み込まずログインし、F2 f(F2キーのあとで、Fを押す)とFile System Editorが起動するので、Tree edit rootを左クリック。しばし待ち、

>*.*.*

の上で右クリック。(ディレクトリのパスセパレータは、">"です)

Directory operationsメニューが表示されるので、Create Inferior Directoryを選択

名前の入力を促されるので、ユーザIDと同じ名前を入力するとディレクトリが作成されます。

初期化ファイルの作成

ホームディレクトリが作成されたので、ユーザの初期化ファイルを作成してみます。

一旦

(logout)

でログアウトし、

(login 'foo)

でログインし直します。

(ed)

と入力すると、Zmacs(Lisp Machine版のEmacs)が起動します。

ホームディレクトリにいるので、Emacsと同様に、C-x C-fとし、lispm.initを作成します。

初期化ファイルについては情報が少なく詳細は不明ですが、自分が適当に探って作成してみたものを置いてみます。

ウェブから入手できる初期化ファイルとしては、http://www.unlambda.com/lisp/mit.page

で配布されているファイルの中に、David Moon氏の初期化ファイルがあります。(moon/moon.lispm)

自分もそれを参考に作成してみました。

※αとなっている場所は、制御文字^Bで、εは、^Fです。

入力に関しては、Emacsと同様に^Q^B等で入力できます。

;-*- Mode:LISP; Package:USER; Base:8.-*-

(login-setq base 10.			; 表示用の基数を10進数に設定
	    ibase 10.			; 入力用の基数を10進数に設定
	    user-id "g000001")		; ユーザID

;; キーバインドのカスタマイズ
(login-eval zwei:(set-comtab-return-undo *standard-comtab* 
					 '(#α/m com-insert-crs         ; C-mとReturnとで同じ振舞い
					   #α/i com-indent-for-lisp    ; C-iとタブとで同じ振舞い
					   #α/h com-tab-hacking-rubout ; C-hでRubout(Backspace)
					   #ε\sp com-just-one-space))) ; C-M-Spaceで、Just one Space
(login-eval zwei:(set-comtab-return-undo *completing-reader-comtab* 
					 '(#α/m com-complete-and-exit))) ; エコーエリア?でもC-mが使えるようにしてみる(中途半端)

;;
(ed ">g000001>gazonk.del")                   ; ログインするとすぐZmacsが起動