[Last updated: <2001/12/11 10:02:06 +0900>]
-----------------------------------------------------------------------------------------
buf2html
[buf2html-0.0.0.3] (2001/12/10)
なるべくバッファの表示を再現するような HTML を生成します。
ソースコードの印刷にでも。
キーワード、正規表現キーワード、text-attribute に対応していますが、 tag のあるモード
(html-mode, html+-mode 等) では正確に動きません。
一行反転表示にも対応していません。
(古いかもしれない)buf2html.l 自身を buf2html した結果。
(古いかもしれない)buf2html.l 自身を buf2html-with-number した結果。に少し付加。
www-mode での表示を HTML 化。
[ChangeLog]
☆ [Version 0.0.0.3] (2001/12/10)
〇 行番号付き出力 buf2html-with-number 追加。
☆ [Version 0.0.0.2] (2001/12/08)
〇 キーワードが大文字小文字を区別するかの判定。
〇 tag 文字 (syntax-open-tag-p, syntax-close-tag-p) をキーワードより優先させる
ように修正。
〇 その他。
☆ [Version 0.0.0.1] (2001/12/07)
〇 門田さんの mode2htm.l, ini2css.l を参考にして初版作成。
mayu-mode
[mayu-0.0.0.3] (2001/08/29)
「窓使いの憂鬱」の設定ファイル (*.mayu) 用モードです。
・キーバインド
RET
改行+インデント付け
TAB
インデント付け
C-c C-c
リージョンをコメントに
C-;
現在の行のコメントをトグル
M-;
indent-for-comment
[[mayu-mode]]
[ChangeLog]
◇ [Version 0.0.0.3] (2001/08/29)
☆ 「窓使いの憂鬱」ver. 3.26 の mayu-mode.el に対応してみたつもり。 キーワードの
"R-" への対応と、M-; (indent-for-comment) の修正。
◇ [Version 0.0.0.2] (2001/08/23)
☆ RET とか TAB でインデントできるようにしてみた。
☆ キーワードを何も書いていない空の MAYU ファイルを付属とか。
◇ [Version 0.0.0.1] (2001/08/06)
☆ 「窓使いの憂鬱」に付属の mayu-mode.el をちょっと変えただけの mayu-mode.l を書
いてみた。 C-cC-c でリージョンをコメント、C-; で行のコメントをトグル。
csv-mode
[csv-0.0.0.7] (2001/10/31)
CSV, TSV ファイル (*.csv, *.tsv) 用モードです。
あまり大きなファイルの編集には適していません。
・キーバインド
M-TAB
同じ列の値からの補完入力
C-c ,
セパレータの変更
C-c v
現在行の値の表示
C-c h
一行目をヘッダとするかどうかのトグル
C-c o
列幅を最小に
C-c f
列幅を揃える
C-c c b
罫線で囲む
C-c C-i
列の挿入/追加
C-c C-d
列の削除
C-c C-c
列の入換
C-c C-s
列と方法を選択してソート
M-n
次行の同じ列に移動
C-Down
同上
M-p
前行の同じ列に移動
C-Up
同上
TAB
次の列に移動
M-f
同上
C-Right
同上
M-b
前の列に移動
C-Left
同上
[[csv-mode-select]] [[csv-mode-sort]]
[ChangeLog]
◇ [Version 0.0.0.7] (2001/10/31)
☆ ファイル名のないバッファを csv-mode に出来なかったバグを修正。
◇ [Version 0.0.0.6] (2001/10/23)
☆ 変数名の変更 *csv-max-column-strict-default* を *csv-max-column-number-strict-
default* に
☆ csv-convert-to-box
◇ [Version 0.0.0.5] (2001/10/19)
☆ ソートの修正
◇ [Version 0.0.0.4] (2001/10/19)
☆ ソート方法を追加しやすいように修正。
☆ *csv-header-flag* を *csv-header-flag-default* に変更。
☆ *csv-separator-char* を *csv-separator-char-default* に変更。
☆ *csv-tsv-separator-char*。 拡張子が tsv の場合の separator character。 charac
ter が指定してある場合 separator をその character に。
☆ *csv-max-column-number-strict-default* (ver 0.0.0.6)。t, nil, その他の値。
◇ [Version 0.0.0.3] (2001/10/18)
☆ ソートを修正。
☆ デフォルトで一行目をヘッダと認識するように変更。
☆ ヘッダありの場合は補完入力にヘッダを含まないように。
◇ [Version 0.0.0.2] (2001/10/18)
☆ 列の挿入/追加・削除・入換。
☆ 列と方法を選択してソート。
☆ 一行目をヘッダとしているかどうかをmode-lineに表示(C-c h でトグル)。
◇ [Version 0.0.0.1] (2001/10/17)
☆ 初版作成。
●設定例
(export 'ed::csv-mode "ed")
(autoload 'csv-mode "csv-mode" t)
(pushnew '("\\.csv$" . csv-mode) *auto-mode-alist* :test 'equal)
(pushnew '("\\.tsv$" . csv-mode) *auto-mode-alist* :test 'equal)
;; ソート方法の追加
(defun my-csv-mode-hook ()
(pushnew (list "文字数の少ない順"
#'(lambda (str-a str-b)
(let ((len-a (length str-a))
(len-b (length str-b)))
(cond
((< len-a len-b) -1)
((= len-a len-b) 0)
(t 1)))))
ed::*csv-sort-method-list*
:test #'(lambda (a b) (string= (car a) (car b)))))
(add-hook 'ed::*csv-mode-hook* 'my-csv-mode-hook)
bat-mode
[bat-0.0.0.1] (2001/08/06)
バッチファイル (*.bat) 用モードです。
[[bat-mode]]
[ChangeLog]
☆ [Version 0.0.0.1] (2001/08/06)
〇 必要にせまられて作ってみた。力まかせ構文チェックでとても重い。 コメントや
文字列を結構むりやり判断しているのでおかしい点がきっと多々。 (set-text-att
ribute) を使っているので色指定で :comment, :string が指定できず 色設定がと
てもへん。色設定をしないとまともにつかえないかと。
ini-mode
[ini-0.0.0.1] (2001/09/05)
INI ファイル (*.ini) 用モードです。
・キーバインド
C-c C-c
リージョンをコメントに
C-;
現在の行のコメントをトグル
M-;
indent-for-comment
[[ini-mode]]
[ChangeLog]
◇ [Version 0.0.0.1] (2001/09/05)
☆ INI ファイル用の決まった書式はないような気がするけど適当に作ってみた。 叩き台
なものだけれど、必要な機能も思いつかないのでこのままかも。
pickup-pattern
[pickup-pattern-0.0.0.3] (2001/11/27)
検索文字列や指定したパターンを強調表示します。
選択/全パターンの強調表示の解除、再描画も可能です。
たくさん公開されている文字列色づけ lisp の一つです。
関連 lisp は 山本さんによる [xyzzy:05281] の colorstring.l (旧版? strcolor), Toy さん
による toy-color.l などがあります。
[[pickup-pattern]]
[ChangeLog]
☆ (2001/11/27)
〇 一行 (require "struct") を追加したものと差し替え。 byte-compile に関する問
題はなくなったと思います。 亀井さんありがとうございました。
☆ [Version 0.0.0.3] (2001/11/20)
〇 byte-compile はしても大丈夫だが pickup-pattern.l の作りが変のようで 構造体
が入っている変数 *pickup-pattern-list* を (define-history-variable) した状
態で byte-compile すると 2 度目の xyzzy の起動からおかしくなる。 (define-h
istory-variable) したい。
〇 hook とか、editor::*show-match-hook* に引っかけるための関数とかを追加。
〇 pickup-pattern-list-show。
〇 その他いろいろ。
☆ [Version 0.0.0.2] (2001/11/17)
〇 defstruct を使ったら、ilogic と同じくバイトコンパイルするとまともに動かな
くなりました。macro への理解が圧倒的に足りません。誰か。
〇 デフォルトの配色などの設定を変えた。
〇 前景色・背景色などをパターン毎に設定することもできるように。
〇 正規表現で pickup するパターンがグループ化されていたら、一番目のグループに
マッチした文字列のみ pickup するように変更。
☆ [Version 0.0.0.1] (2001/11/14)
〇 初版作成。Tips から昇格させてみた。
●設定例
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; pickup-pattern
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; --- 基本設定 ---
(load-library "pickup-pattern")
(global-set-key '(#\C-c #\p #\s) 'pickup-pattern-set-input)
(global-set-key '(#\C-c #\p #\C-s) 'pickup-pattern-set-input-detail)
(global-set-key '(#\C-c #\p #\r) 'pickup-pattern-refresh-select)
(global-set-key '(#\C-c #\p #\C-r) 'pickup-pattern-refresh-all)
(global-set-key '(#\C-c #\p #\u) 'pickup-pattern-unset-select)
(global-set-key '(#\C-c #\p #\C-u) 'pickup-pattern-unset-all)
(global-set-key '(#\C-c #\p #\d) 'pickup-pattern-delete-select)
(global-set-key '(#\C-c #\p #\C-d) 'pickup-pattern-delete-all)
(global-set-key '(#\C-c #\p #\l) 'pickup-pattern-list-show)
;; pickup したパターンの表示方法
(setq *pickup-pattern-fg* 1)
(setq *pickup-pattern-bg* 3)
(setq *pickup-pattern-bold* t)
(setq *pickup-pattern-underline* nil)
(setq *pickup-pattern-strike-out* nil)
;; pickup するパターンの検索方法
;; re-search-forward-pickup, re-search-backward-pickup では無視されます
(setq *pickup-pattern-regexp* t)
(setq *pickup-pattern-overlap* nil)
;;; --- 検索設定 ---
;;; 検索文字列を pickup (消去は pickup-pattern-unset-all 等で)
;; 検索前に pickup 表示を全て解除
(setq *pickup-pattern-pre-search-unset* t)
;; 検索文字列をリストに追加
(setq *pickup-pattern-search-pattern-add* nil)
;; (正規表現)検索文字列入力時のみ色づけしたい場合はこっちの関数を
(global-set-key #\M-s 're-search-forward-pickup)
(global-set-key #\M-C-s 're-search-backward-pickup)
;; repeat-forward-search, repeat-backward-search 等、どの検索時にも色づけしたい
;; 場合は上のでなく、既存の関数の hook に引っかける。(毎回色づけするので遅いかも)
;(add-hook '*show-match-hook* 'pickup-pattern-last-search)
;;; --- フック設定 ---
;; pickup 時は paren を括弧のみに (喜多さん paren.l)
(add-hook '*pickup-pattern-set-hook*
#'(lambda () (setq *paren-highlight-only-paren* t)))
(add-hook '*pickup-pattern-unset-all-hook*
#'(lambda () (setq *paren-highlight-only-paren* nil)))
;;; --- pickup リスト保存関連 ---
;; pickup パターンリストを次回起動時も引き継ぎ設定
(unless (find 'ed::*pickup-pattern-list* ed::*history-variable-list* :test #'eq)
(define-history-variable ed::*pickup-pattern-list*))
;; pickup パターンリストの引き継ぎ解除
;(setq ed::*history-variable-list*
; (delete 'ed::*pickup-pattern-list* ed::*history-variable-list* :test #'eq))
;; pickup パターンリストのデフォルト指定
;; (define-history-variable) していると上書きされるので効きません。
(if (or (not (boundp 'ed::*pickup-pattern-list*))
(null ed::*pickup-pattern-list*))
(setq ed::*pickup-pattern-list*
(list
(ed::make-pickup-pattern-item
:pattern "xyzzy"
:name "xyzzy をデフォルト設定で強調")
(ed::make-pickup-pattern-item
:pattern "(def\\_s+ +\\(\\_s+\\)"
:name "lisp の変数や関数などの定義を強調 (簡易版)"
:regexp t :foreground 3 :background 14 :bold nil :underline t)
(ed::make-pickup-pattern-item
:pattern "\\(?:h?ttp\\|ftp\\|http\\)://[-a-zA-Z0-9_/~.#@%?&=;+(),'$!*:]+"
:name "URL 強調" :regexp t :foreground 4 :background 0
:bold nil :underline t :strike-out nil))))
popup-mode-memo
[popupmemo-0.0.0.2] (2001/08/17)
モード毎のキーバインディングや自分で設定したメモを popup 表示します。
モード毎のキーバインディングをちょっと調べたい貴方に。
(メモの桁揃えをしたい場合は TAB 文字が便利です)
[[popup-mode-memo]]
[ChangeLog]
☆ [Version 0.0.0.2] (2001/08/17)
〇 *popup-mode-memo-one-side-local* 変数の追加。 t だとメモがある場合 *popup
-mode-memo-view-local-bindings* が t でも binding を表示しない。 minor mod
e のことを考えていなかったりと適当。
☆ [Version 0.0.0.1] (2001/08/17)
〇 物忘れの激しい自分のために作成したものを少しまともにして公開。
●設定例
(load-library "popup-mode-memo")
; C-F12 で表示
(global-set-key #\C-F12 'popup-mode-memo)
(set-function-bar-label #\C-F12 "memo")
; minor mode の binding を表示
(setq *popup-mode-memo-view-minormode-bindings* t)
; local mode の binding を表示
(setq *popup-mode-memo-view-local-bindings* t)
; global な binding を表示
(setq *popup-mode-memo-view-global-bindings* nil)
; t だとメモがある場合 *popup-mode-memo-view-local-bindings* が t でも
; local mode の binding を表示しない
(setq *popup-mode-memo-one-side-local* nil)
(popup-mode-memo-add-new
'lisp-interaction-mode ; buffer-mode で指定 (ESC ESC buffer-mode)
"F1: info-modoki"
"F5: 開いているファイルを byte-compile"
"F10: load-library 等の上で押すと対象ファイルを開く"
"C-c b: siteinit.l をコンパイルし、ダンプファイルを消す"
"C-x C-e: 最後のセンテンスを評価 (eval-last-sexp)"
)
(popup-mode-memo-add-new
'editor::diff-mode ; buffer-mode で指定 (ESC ESC buffer-mode)
"n: diff-forward"
"ESC Down: diff-forward"
"p: diff-backward"
"ESC Up: diff-backward"
"m: diff-merge (新を旧にマージ)"
"r: diff-merge-reverse (旧を新にマージ)"
"u: diff-undo"
"q: diff-quit"
)
(popup-mode-memo-add-new
"Lisp" ; mode-name で指定 (ESC ESC mode-name)
"F1: info-modoki"
"C-x C-e: 最後のセンテンスを評価 (eval-last-sexp)"
)
ilogic
[ilogic-0.0.0.4] (2001/10/10)
「イラストロジック」や「ののぐらむ」と呼ばれるパズルの問題の入力・作成・自動解答を行え
ます。
作りかけなので、いろいろと足りません。
付属の makefile で ilogic-make (byte-compile) をしないと動作が遅すぎます。
data.l を byte-compile すると動作しません。(誰か教えてください。)
・キーバインド
勘でお願いします。
とりあえず [SPACE]、[TAB]、それから [Enter] で。
[[ilogic-menu]] [[ilogic-autosolve]]
[ChangeLog]
☆ [Version 0.0.0.4] (2001/10/10)
〇 ファイル構成を含めいろいろ変更。
〇 作成した問題の保存がうまくできていなかったのを修正。
〇 余計な undo が効かないように修正。
☆ [Version 0.0.0.3] (2001/10/08)
〇 ファイル構成を変更。
〇 問題の作成ができるようになる。 ~/.ilogic/config.l で設定できるようにしてみ
る。
〇 パズルパレス copyright (C) by TIME INTERMEDIA の「ののぐらむ」問 1 〜 200
で動作チェック。 全ての問題を自動解答できることを確認。 全ての問に重複解が
1つもなく、また難問揃いなことに驚く。
☆ [Version 0.0.0.2] (2001/10/05)
〇 ファイル構成を含めいろいろ変更。
☆ [Version 0.0.0.1] (2001/10/04)
〇 イラストロジックを解く過程を表示するだけのマクロに、メニューをつけてみる。
問題の入力はかろうじてできるようにしたが、作成の方はまだ。 なんにせよ動け
ばいいぐらいの意気込みで書いているものなので酷いコードでバグだらけ。 コード
をまともにしてから公開なんてことにすると、永遠に公開できそうにないため公開
。 2ch-mode や kamail はスゴイと実感。
-----------------------------------------------------------------------------------------
Tips
◇
browser-wrap
[browser-wrap.l] (html表示) (2001/12/08)
html+-mode 等で browser.dll を便利に使わせてもらう。
下に書いてみた設定。
M-F9, M-F10 で navigate モード on/off。
M-F11 で navigate 表示領域を変更。
html+-mode では C-xC-s で保存と同時に navigate 画面更新。
ついでに Another HTML-lint を使う設定なんかも。
[[browser-wrap]]
[[browser-wrap2]]
[ChangeLog]
☆ [2001/12/08]
テンポラリファイルの文字コードが元のバッファと同じになるように修正。
☆ [2001/12/07]
ファイル名のないバッファでも navigate できるようにしてみた。
環境変数 TEMP, TMP もしくは xyzzy のホーム以下にテンポラリファイルができます。
☆ [2001/10/04]
設定例の auto-time-stamp.l を使っていない場合が間違っていたのを修正。
ご指摘ありがとうございました。
☆ [2001/10/01]
無駄なコードを修正。 デフォルトのサイズを少し広めに。
☆ [2001/09/14]
ML や 2ch を参考に browser 表示領域を回転できるようにしてみた。 表示位置は勝手
に覚えときます。
☆ [2001/09/13]
無駄なコードが随分あったので修正。
●設定例
;; browser
;(autoload 'navigate "browser" t)
;(autoload 'refresh-browser "browser" t)
(autoload 'close-browser "browser" t)
;; browser-wrap
(autoload 'navigate "browser-wrap" t)
(autoload 'refresh-browser "browser-wrap" t)
(autoload 'navigate-current-buffer "browser-wrap" t)
(autoload 'navigate-current-buffer-with-check "browser-wrap" t)
(autoload 'navigate-current-file "browser-wrap" t)
(autoload 'navigate-current-file-with-check "browser-wrap" t)
(autoload 'rotate-browser "browser-wrap" t)
(autoload 'save-buffer-with-time-stamp-and-navigate-current-file-with-check "browser-wrap" t)
(autoload 'save-buffer-and-navigate-current-file-with-check "browser-wrap" t)
;(global-set-key #\M-F9 'navigate-current-file)
(global-set-key #\M-F9 'navigate-current-buffer)
(set-function-bar-label #\M-F9 "OpenBrowser")
(global-set-key #\M-F10 'close-browser)
(set-function-bar-label #\M-F10 "CloseBrowser")
(global-set-key #\M-F11 'rotate-browser)
(set-function-bar-label #\M-F11 "RotateBrowser")
(defun my-html+-mode-hook ()
; ------------------------------------------------------------
; browser が開いていたら現在のファイルを表示
(navigate-current-file-with-check)
; auto-time-stamp.l の save-buffer-with-time-stamp を使っている人用
(define-key ed::*html+-mode-map* '(#\C-x #\C-s)
'save-buffer-with-time-stamp-and-navigate-current-file-with-check)
; ; auto-time-stamp.l を使っていない人用
; (define-key ed::*html+-mode-map* '(#\C-x #\C-s)
; 'save-buffer-and-navigate-current-file-with-check)
; ------------------------------------------------------------
; html+-mode で htmllint を使って構文チェック (CGI)
(defvar *htmllint-url* "http://localhost/htmllint/htmllint.cgi?V;X=w3m;URL=")
(defun htmllint-cgi ()
(interactive)
(let ((file (get-buffer-file-name)))
(when file
(close-browser)
(navigate (concat *htmllint-url* file)))))
(define-key ed::*html+-mode-map* '(#\C-c #\C-l) 'htmllint-cgi)
(define-key ed::*html+-mode-map* #\M-F12 'htmllint-cgi)
(set-function-bar-label #\M-F12 "htmllint")
; ------------------------------------------------------------
; html+-mode で htmllint を使って構文チェック
(defvar *htmllint-file* "C:/httpd/htdocs/htmllint/htmllint")
(defun htmllint-exec ()
(interactive)
(let ((file (get-buffer-file-name)))
(when file
(pipe-command
(format nil "perl \"~A\" \"~A\""
(map-slash-to-backslash *htmllint-file*)
(map-slash-to-backslash file))))))
(define-key ed::*html+-mode-map* '(#\C-c #\l) 'htmllint-exec))
(add-hook 'ed::*html+-mode-hook* 'my-html+-mode-hook)
◇
2ch-browser-wrap
[2ch-browser-wrap.l] (html表示) (2001/09/15)
2ch-mode で browser.dll を便利に使わせてもらい、Ascii Art を見たり書いたりしてみる
。 (役に立ちません。)
とりあえずアスキーアートが見られればよい、というくらいのへなちょこコードです。
[2ch-0.0.0.6] (2001/09/13 02:20:52) で動作確認。
xyzzy/site-lisp/ あたりに置いて、 xyzzy/.2ch/config.l に
(require "2ch-browser-wrap")
とか書いてみれば多分動きます。
・2ch-mode への追加/変更キーバインド
[スレ]
n
この発言を browser.dll で表示
N
発言を browser.dll 表示(範囲を入力)
TAB
次の発言もしくはスレを閉じる
browser.dll 使用中なら発言を表示
M-Down
同上
M-Up
前の発言もしくはスレを閉じる
browser.dll 使用中なら発言を表示
[発言フォーム]
M-n
発言を browser.dll で表示
C-x C-c
発言を保存し browser.dll 使用中なら表示
[[2ch-browser-thread]]
[[2ch-browser-form]]
[ChangeLog]
☆ [2001/09/15]
無駄なコードが結構あったので修正。
◇
colortest
[colortest.l] (2001/12/10)
色設定はわりとよくあるのでカラーテストを表示してみる。
2ch の xyzzy スレッド 383 番を元に書いてみた。
色設定が適当ですが出力を HTML 化してみました。 こんなのがバッファに表示されます。
おすすめの色設定を誰か。
[[colortest]]
◇
insert-directory-tree
[insert-directory-tree.l] (2001/10/19)
何かと必要になる、ディレクトリーツリーを出力します。
●出力例
C:/utils/xyzzy/
├ .abbrev_defs
├ .cftp
├ .www
├ .xyzzy
├ xyzzy.exe
├ XYZZY.w98
├ xyzzycli.exe
├ xyzzyenv.exe
├ _katexrc
|
├ .ilogic/
| ├ config.l
| |
| └ data/
| |
| ├ 2ch/
| | └ 00000001.dat
| |
| ├ convert/
| | |
| | └ パズルパレス/
| | ├ 0001.dat
| | ├ 0002.dat
| | ├ 0003.dat
| | ├ 0004.dat
...
◇
open-load-library-file
load-library の行の上で F10を押すと対象ファイルを開く (2001/10/18)
逸見さんのサイトのlispモードのカスタマイズ例にある「load-library の行の上で F10を押
すと対象ファイルを開く」のまねで、require や autoload でも開いてみる。
;; F10 で load-library 等の対象ファイルを開く
(defun open-load-library-file ()
(interactive)
(let (file fullpath)
(save-excursion
(scan-buffer "(" :reverse t)
(if (or (looking-at "(si:\\*load-library[ \t\n]+\"\\([^\"]+\\)\"")
(looking-at "(load-library[ \t\n]+\"\\([^\"]+\\)\"")
(looking-at "(require[ \t\n]+\"\\([^\"]+\\)\"")
(looking-at "(autoload[ \t\n]+[^\"]+\"\\([^\"]+\\)\""))
(setq file (match-string 1))))
(when file
(dolist (path *load-path*)
(setq fullpath (merge-pathnames file path))
(when (and (file-exist-p fullpath) (not (file-directory-p fullpath)))
(find-file fullpath)
(return-from open-load-library-file))
(setq fullpath (concat fullpath ".l"))
(when (and (file-exist-p fullpath) (not (file-directory-p fullpath)))
(find-file fullpath)
(return-from open-load-library-file))
(setq fullpath (concat fullpath "c"))
(when (and (file-exist-p fullpath) (not (file-directory-p fullpath)))
(find-file fullpath)
(return-from open-load-library-file)))
(message "ファイルが見つかりません: ~A" file))))
(define-key ed::*lisp-mode-map* #\F10 'open-load-library-file)
(define-key ed::*lisp-interaction-mode-map* #\F10 'open-load-library-file)
◇
set-sjis-crlf-hook
指定ディレクトリ以下のみ文字コード・改行コードを SJIS CRLF に指定 (2001/10/18)
特定のディレクトリ以下で新規ファイルを作成する際、文字コード・改行コードを SJIS C
RLF に指定する。
;; 指定ディレクトリ以下のみ文字コード・改行コードを SJIS CRLF に指定
(defvar *sjis-crlf-directory* '("C:/My Documents/" "C:/utils/eMemoPad/"))
(defun set-sjis-crlf-hook ()
(let ((file (get-buffer-file-name))
dir dir-length)
(when (and (zerop (point-max))
(string file))
(setq dir (directory-namestring file))
(dolist (sjis-crlf-dir *sjis-crlf-directory*)
(setq dir-length (length sjis-crlf-dir))
(when (and (>= (length dir) dir-length)
(string-equal sjis-crlf-dir (subseq dir 0 dir-length)))
(set-buffer-fileio-encoding *encoding-sjis*)
(set-buffer-eol-code 1)
(return))))))
(add-hook '*find-file-hooks* 'set-sjis-crlf-hook)
◇
open-filer-from-buffer-file-directory
カレントバッファのファイルのディレクトリでファイラを開く (2001/11/27)
;; カレントバッファのファイルのディレクトリでファイラを開く
(defun open-filer-from-buffer-file-directory ()
(interactive)
(let ((o-filer-primary-directory *filer-primary-directory*))
(if (get-buffer-file-name)
(progn
(setq *filer-primary-directory* (directory-namestring (get-buffer-file-name)))
(open-filer)
(setq *filer-primary-directory* o-filer-primary-directory))
(open-filer))))
(global-set-key '(#\C-c #\C-f) 'open-filer-from-buffer-file-directory)
-----------------------------------------------------------------------------------------
OHKUBO Hiroshi <konata_o@hotmail.com> [[counter]]