[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 22:28 / Filesize : 293 KB / Number-of Response : 920
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

xyzzyの使い方が分からぬやし 励ましあえ その11



1 名前:ミスターエックスワイジー [2007/10/06(土) 23:44:07 ID:L/pKByeF0]
xyzzyってさ、一見さんお断りの京都料亭みたいでさ、何から手をつけていいのかわからないでしょ?
とりあえず,初心者同士で解決できる問題はまず過去ログ・グーグルで検索した後ここで相談しましょう
たとえば
 ・ここのHPに書いてある通りにやりましたができません.
 ・xyzzyが起動しなくなりました.
 ・キーバインドってどうやって変更するの?
初心者の私が答えられるのはこの程度です.

自分でlispが書けるような方,こんな機能が欲しいのですが
だれか作ってくださいという方は Win板本スレへ。

xyzzy Part15 @Win板(通称:本家)
pc11.2ch.net/test/read.cgi/win/1175649315/
過去ログ & 関連リンクは>>2-5あたりに。

285 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/02(土) 11:55:35 ID:aFQKhOrT0]
>>283
ttp://xyzzy.s53.xrea.com/wiki/index.php?tips%2F%C1%AA%C2%F2%A4%B7%A4%BF%CA%B8%BB%FA%BF%F4%A4%F2%A5%B9%A5%C6%A1%BC%A5%BF%A5%B9%A5%D0%A1%BC%A4%CB%C9%BD%BC%A8%A4%B9%A4%EB

286 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/03(日) 08:47:01 ID:XiD8Xna90]
C-& の execute-subprocess を
shell-modeの *eshell* で設定したshell上で動かすことはできないでしょうか?

*shell*は以下のように設定しています。
(setq *eshell* "bash -i")

287 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/03(日) 17:48:56 ID:iDXz1KED0]
>>286
execute-subprocess で使ってるのは *eshell* じゃなくて *shell* だね。
別々の変数なので注意。というわけでこんな設定でどう?
(setq *shell* "bash")
(setq *shell-command-option* "-i")

288 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/03(日) 20:17:58 ID:XiD8Xna90]
>>287
(setq *shell* "bash")
(setq *shell-command-option* "-c")
にすると、複数の引数を解釈してくれないので、
例えば、uname -a がunameと解釈される

hisashim: [xyzzy][Lisp] xyzzy diff on UNC path using Cygwin zsh
hisashim.livejournal.com/215556.html

を参考に process.l書き換えたらいけました。

> (si:system-root))))))
>+ (when (string-match (compile-regexp "bash\\|zsh\\(\\.exe\\)?" t) *shell*)
>+ (return-from shell-command-line
>+ (values (format nil "~A ~A '~A'" *shell* *shell-command-option* cmd) dir)))
> (values (format nil "~A ~A ~A" *shell* *shell-command-option* cmd)
> dir))

しかし、bash -c だと、~/.bashrc を読んでくれなくて orz
~/.bashrc で設定した環境変数下(PATHとか)で動かしたかった('A`)
bashスレ行ってくるか・・・

289 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/03(日) 20:18:38 ID:XiD8Xna90]
>>287
お礼を忘れてました、ありがとう。
xyzzy/lisp下読めば大抵わかるんですね。

290 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/05(火) 01:00:29 ID:KGr1ZUlV0]
<ちら裏>
kamail3 で突然メールが表示されなくなってびびった。
.kamail3/config.l を最小元にし、casket, data, メールを
削除してもだめで、マジあせった。
結局 *shell* の値を zsh に変更した事が問題だった。

cmd.exeに戻したら直った。本当によかった。
</ちら裏>

ところで特定のメールアドレスからのメールは常に既読にする
のってどうやって設定するの? config.l.sample に載っている
まんまだと予想したがうまくいかない。orz


291 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/07(木) 10:43:31 ID:FAsMFBYF0]
multiple-replace を現在開いている全てのバッファに適用
するにはどうすればよろしいでしょうか?

292 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/07(木) 13:21:15 ID:wXHmQfE90]
>>291
余り試してないけどこんな感じかな?上手く動かなかったら適当に直して下さい。
(defvar *multiple-replace-selected-buffer* nil)

(defun perform-multiple-replace (pattern-replacement-list query regexp interactive-p noerror)
(let ((literal (null regexp))
(count 0)
(nodup nil)
(opoint (point))
(not-found t)
(def nil)
(last-match nil)
(last-match-char nil)
(undo-bound (or interactive-p query))
(pattern nil)
(replacement nil)
(point-pattern-list nil)
(point-search nil))
(undo-boundary)
(when interactive-p
(if regexp
(setq *last-multiple-search-replace-regexp-list*
pattern-replacement-list)
(setq *last-multiple-search-replace-string-list*
pattern-replacement-list))
(let ((*multiple-replace-regexp-search* regexp))
(declare (special *multiple-replace-regexp-search*))
(setq *last-multiple-replace-setting* (multiple-replace-make-setting))))

293 名前:続き mailto:sage [2008/02/07(木) 13:22:40 ID:wXHmQfE90]
(if regexp
(setq pattern-replacement-list
(mapcar #'(lambda (pattern-replacement)
(cons
(if (stringp (car pattern-replacement))
(compile-regexp (car pattern-replacement) *multiple-replace-case-fold-search*)
(car pattern-replacement))
(cdr pattern-replacement)))
pattern-replacement-list)))
(unless query
(begin-wait-cursor))
(loop
(setq point-pattern-list nil)
(save-excursion
(setq search-point (point))
(dolist (pattern (mapcar 'car pattern-replacement-list))
(when (and (or (regexpp pattern) (stringp pattern))
(scan-buffer pattern
:regexp regexp
:no-dup nodup
:last-match (cons last-match last-match-char)
:case-fold *multiple-replace-case-fold-search*
:left-bound *multiple-replace-word-search*
:right-bound *multiple-replace-word-search*))
(push (cons (point) pattern) point-pattern-list))
(goto-char search-point)))



294 名前:続き mailto:sage [2008/02/07(木) 13:23:28 ID:wXHmQfE90]
(unless point-pattern-list
(if (yes-or-no-p "次のバッファも置換する?")
(progn
(unless *multiple-replace-selected-buffer*
(setq *multiple-replace-selected-buffer* (selected-buffer)))
(next-buffer)
(when (eq *multiple-replace-selected-buffer* (selected-buffer))
(setq *multiple-replace-selected-buffer* nil)
(quit))
(refresh-screen 1)
(perform-multiple-replace pattern-replacement-list query regexp interactive-p noerror))
(progn
(setq *multiple-replace-selected-buffer* nil)
(return))))
(setq pattern (cdar (stable-sort (nreverse point-pattern-list) '< :key 'car)))
(setq replacement (cdr (assoc pattern pattern-replacement-list :test 'equal)))
(scan-buffer pattern
:regexp regexp
:no-dup nodup
:last-match (cons last-match last-match-char)
:case-fold *multiple-replace-case-fold-search*
:left-bound *multiple-replace-word-search*
:right-bound *multiple-replace-word-search*)

295 名前:続き mailto:sage [2008/02/07(木) 13:24:26 ID:wXHmQfE90]
(if (and (eql (match-beginning 0) (match-end 0))
(eql last-match (match-beginning 0)))
(setq nodup t)
(progn
(setq not-found nil)
(show-match)
(unless (pos-visible-in-window-p (point))
(recenter))
(if query
(progn
(refresh-screen)
(message (if (eq def 'help)
"(y)置換, (n)スキップ, (!)残り全部, (u)アンドゥ, (C-g)中止, (.)中止して戻る"
(format nil "置換する?: ⇒ ~S" replacement)))
(setq def (lookup-keymap *query-replace-map* (read-char *keyboard*) t)))
(setq def 'automatic))
(when (cond ((eq def 'act)
t)
((eq def 'skip)
(setq nodup t)
nil)
((eq def 'automatic)
(setq query nil)
t)
((eq def 'undo)
(and (plusp count)
(undo)
(setq count (1- count)))
(setq nodup nil)
nil)

296 名前:続き mailto:sage [2008/02/07(木) 13:25:29 ID:wXHmQfE90]
((eq def 'quit-and-back)
(goto-char opoint)
(setq def 'quit)
(return))
((eq def 'quit)
(return))
((eq def 'recenter)
(recenter)
(setq nodup nil)
nil)
((and (consp def)
(eq (car def) 'throw))
(throw (cdr def) count))
(t (setq def 'help)
(setq nodup nil)
nil))
(setq last-match-char (unless (= (match-end 0) (point-min))
(char-before (match-end 0))))
(unless (replace-match replacement :literal literal)
(return))
(setq last-match (point))
(setq nodup (= (match-beginning 0) (match-end 0)))
(when (and undo-bound query)
(undo-boundary))
(setq count (1+ count)))))
(when (eobp)
(return)))

297 名前:続き mailto:sage [2008/02/07(木) 13:26:19 ID:wXHmQfE90]
(unless query
(end-wait-cursor))
(hide-match)
(unless noerror
(and (eq def 'quit)
(quit))
(and not-found
(error "文字列が見つかりません")))
(when (and interactive-p
(null *executing-macro*))
(message "~d個置換しました" count))
count))

diff にすればよかったな...

298 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/07(木) 13:36:31 ID:wXHmQfE90]
>>294
(refresh-screen 1)
の後ろに
(when *multiple-replace-replace-whole-buffer*
(goto-char (point-min)))
を追加した方がいいかも。

299 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/07(木) 14:20:16 ID:FAsMFBYF0]
>>292
どうもありがとうございます。>>292-298 を multiple-replace.l (20050413)
の該当箇所と置き換えてみましたが、M-x multiple-replace-string だと
現在のバッファのみしか置換されませんねぇ。

multiple-replace.lc は一端削除してあります。




300 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/07(木) 14:35:25 ID:wXHmQfE90]
>>299
再ダンプしてないんじゃないの?

301 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/07(木) 15:21:39 ID:FAsMFBYF0]
>>300
あちゃ〜、仰る通りです。すみませんでした。m(_ _)m

302 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/07(木) 15:52:29 ID:fKcAIYUe0]
即興でそんな風に組み上げられるようになりたひ…

303 名前:292 mailto:sage [2008/02/07(木) 16:07:22 ID:wXHmQfE90]
バグがあった。
>>294
(progn
(setq *multiple-replace-selected-buffer* nil)
(return))))

(progn
(when *multiple-replace-selected-buffer*
(setq *multiple-replace-selected-buffer* nil)
(quit))
(return))))
に修正して下さい(文字数のカウントは面倒なのでパス)。

>>302
ほとんどソースのままなんだけどね。
Netinstallerからリファレンスとinfo-modoki-modeなどを入れて後はgrepとかタグジャンプを
使えばある程度は書けるようになると思う。



304 名前:名無しさん@お腹いっぱい。 [2008/02/10(日) 15:01:07 ID:Geg9SBWH0]
ナイスな補完がしたくて、netinstaller で ac-mode を入れたのですが、
C-nやC-pではなく、カーソルキーで補完項目の選択がしたいと思っています。

そこで、.xyzzyに以下などを書きました

; 選択キー割り当て
(define-key *ac-mode-internal-map* #\Down 'ac-mode-select-next)
(define-key *ac-mode-internal-map* #\Up 'ac-mode-select-prev)

*ac-mode-internal-map* や、ac-mode-select-prev などが、export されておらず、
未定義などと言われたのですが、こういうときは、export するしか方法はないのでしょうか?
(exportして byte-compile し、動作自体は上手くいくのは確認しました)
アップデートとかを考えると、できるだけ元ソースを直接いじりたくないのですが・・・

305 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/10(日) 15:19:30 ID:0ycF+83t0]
>>304
(define-key *ac-mode-internal-map* #\Down 'ed::ac-mode-select-next)
(define-key *ac-mode-internal-map* #\Up 'ed::ac-mode-select-prev)

もしくは、
siteinit.l 内でそれらのシンボルをexportするとか。

306 名前:305 mailto:sage [2008/02/10(日) 15:21:40 ID:0ycF+83t0]
まちがえた。
(define-key ed::*ac-mode-internal-map* #\Down 'ed::ac-mode-select-next)
(define-key ed::*ac-mode-internal-map* #\Up 'ed::ac-mode-select-prev)


307 名前:名無しさん@お腹いっぱい。 [2008/02/10(日) 19:35:33 ID:Geg9SBWH0]
>>305-306
さんクす

exportしなくても、>>306で動きました。
ed::ってパッケージ名?でしょうか。指定すればいいんですね。

308 名前:174 mailto:sage [2008/02/10(日) 20:19:04 ID:0J69YBkb0]
>>307
editor::の略。

309 名前:名無しさん@お腹いっぱい。 [2008/02/10(日) 23:49:13 ID:Geg9SBWH0]
以前に、現在のバッファの文字コードを変えられないかと質問した者です。

前に教えていただいた方法では、バッファを再読み込みしてエンコードを変えられました。

ファイルだとうまくいっていたのですが、
ファイルではなく名前付きのバッファだとうまくいきません orz
「ファイル名がありません」と言われてしまいます。

例えば、C-@ や ruby-mode の C-c C-x などの
標準出力や実行したコマンドなどで出力したバッファです。

バッファの内容はそのままにエンコードを切り替える方法ないでしょうか?
前の方法は再読み込み、というところにヒントがあると思うのですが・・・

310 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 00:14:30 ID:8x6C6XBu0]
>>309
リファレンスやlispディレクトリ以下のソースコードを参考に自分で書いてみたら?

311 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 00:15:58 ID:7Ad5u+xK0]
>>309
選択して
編集→変換→漢字コード→自動判定
とか

312 名前:309 [2008/02/11(月) 00:23:34 ID:4QznQESt0]
(set-buffer-fileio-encoding *encoding-utf8*)
などとやってみたのですが、バッファのステータスバー?の表示はurf-8に変わるのですが、
実際の表示は変わりませんでした。

>>310
みてみてます。

>>311
この操作でとりあえずバッファの内容は、読めるようになるのですが、
次にコマンドを実行したときに、引き継いでくれません orz

出力するときに、sjisにエンコードしないといけないんですかね・・・
逆に言うとsjisしか出力できない?

313 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 00:24:35 ID:8x6C6XBu0]
set-buffer-fileio-encodingあたりが参考になるかな。

自分で書いてみるのがlisp覚えるには一番だと思うけどね。



314 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 00:30:12 ID:8x6C6XBu0]
おっとかぶった。

じゃあconvert-encoding-to-internal、convert-encoding-from-internalあたりかな。

これもリファレンスにあるけどね。

315 名前:名無しさん@お腹いっぱい。 [2008/02/11(月) 00:40:18 ID:4QznQESt0]
あああ、なんかわかってきた。
共通設定の文字エンコーディングの判定で「自動判定」から「UTF-8」にしても、
C-&とか、ruby-modeのC-c C-x とかの一時的なバッファは、全部sjisのままでした。

バッファに出力前に、 >>314とか、>>312のようなエンコードの設定を個別にしてやらないといけない?のですかね。
lispごとに個別対応せなあかんのか・・・('A`)

316 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 00:50:18 ID:8x6C6XBu0]
よくわからんが
*default-fileio-encoding*とかじゃなくて?

317 名前:名無しさん@お腹いっぱい。 [2008/02/11(月) 08:21:18 ID:4QznQESt0]
エンコーディングの設定を弄りながら、試しているのですが、
アラビア語ってもしかして xyzzy は対応してないんでしょうか?
IEで表示したアラビア語を UTF-16やUTF-8のバッファに張り付けても、
豆腐になってしまいます
リァル・ウル・ァル・リケル・館・

?????? ?????

318 名前:名無しさん@お腹いっぱい。 [2008/02/11(月) 08:57:40 ID:4QznQESt0]
調べましたら、xyzzyはアラビア語は非対応なんすね。
言われてみると確かに右から左だし特殊だもんな・・・。

下のサイト見てたら、UIのコントロール類はUNICODE非対応なんですね。
文字のデータはUNICODE対応なのに、ちょっとびっくり。

「xyzzy」の検索結果 - tsuge development page
d.hatena.ne.jp/tsugehara/searchdiary?word=xyzzy

319 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 11:14:00 ID:WV462O5U0]
UIのコントロールまでウニコードにしたらwin98やMeで動かなくないか?

320 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 14:15:42 ID:gHRWQnnJ0]
98?Me?そんなものは切り捨ててしまえっ

321 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 14:18:24 ID:zm6bzkex0]
Cでいう__LINE__みたいなマクロって、xyzzyにある?

322 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 14:44:09 ID:VqxxbeLC0]
>>321
なさげ。
toggle-trace-on-error と、バイトコンパイルしないで実行させることで
たいていの場合は十分わかる。

>>318 のリンク先を見てて思いだしたが、xyzzy はシステムフォントで
メニューを表示しているんだよね。それなら、MS ゴシック等で決めうち
されていたほうが、日本語Windows以外で使用する場合も、フォント追加だけ
で済むから、まだましなんだよな。


323 名前:321 mailto:sage [2008/02/11(月) 15:13:04 ID:zm6bzkex0]
>>322
無いのか・・・
じゃ、教えてくれたの使うわ。ども。




324 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 19:51:15 ID:4QznQESt0]
まだ、エンコーディング弄ってますw

(setq *expected-fileio-encoding* *encoding-utf8n*)
(setq *default-fileio-encoding* *encoding-utf8n*)
(change-fileio-encoding *encoding-utf8n*)
(set-buffer-fileio-encoding *encoding-utf8n*)

これらの違いがいまいちわからないです('A`)
過去ログ検索で同じ用途で使われていたりして、どれを使うべきなのか……
こんな感じであってますか?

*expected-fileio-encoding*
なんぞこれ?
リファレンス未記載

*default-fileio-encoding*
バッファの新規作成時のエンコーディング設定。

change-fileio-encoding
現在のバッファのエンコーディングを変更 。(interactive) で、M-x でも実行可能
リファレンスに載ってなかた。

set-buffer-fileio-encoding
現在 or 指定したバッファのエンコーディング設定を変更。M-xで実行できない


.chm の リファレンス、任意文字列で検索できたらなあ……
encodingとかで検索してどれが何か一通り把握したい。

325 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 20:04:31 ID:8x6C6XBu0]
>>324
info-modoki-modeなら全文検索できるよ。
aproposでもできたと思う。

326 名前:名無しさん@お腹いっぱい。 [2008/02/11(月) 20:19:44 ID:4QznQESt0]
できた!!!11
C-& や、 ruby-mode のC-c C-xなどで、出力される文字コードを指定する方法

(setq *default-process-encoding* *encoding-euc-jp*)

encoding.lに定義されてた・・・
デフォルトは、*encoding-sjis*になってます
個別の対応コードいらない!!ヨカタ

みなさん、つきあってくれてありがとうございました。

327 名前:名無しさん@お腹いっぱい。 [2008/02/11(月) 21:07:27 ID:4QznQESt0]
>>325
ありがとう。

とりあえず、リファレンスの chm を全文検索したかったので、
xy-reference.l の
1132行目を
 Full-text search=Yes
に書き換えて、chmをコンパイルしてみました。
上手くいきました。

しかし、なんで、デフォルトは、Full-text search=Noになっているんだろ???

328 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 23:12:02 ID:ncxJHqiF0]
emacs で (query-replace-highlight t) した時のような効果を
xyzzy で行うことはできますか?

329 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 23:20:03 ID:qAaYVA730]
> emacs で (query-replace-highlight t) した時のような効果を
kwsk

330 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/12(火) 00:41:06 ID:PWVPl84S0]
>>329
query-replace-stringすると
ヒットした文字列が順番に選択(?)されて変換するか聞いてきますよね
このときに選択されていない変換候補の文字列もハイライト処理されます

例をあげると下の文字を abc -> aaa でquery-replace-stirng
一つ目のabcの置換を聞かれてる時点で 2個目の abc がハイライトされています

abc def abc

331 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/12(火) 01:02:51 ID:Izq8RB5W0]
multiple-replace.lが更新されてます

332 名前:名無しさん@お腹いっぱい。 [2008/02/12(火) 06:01:37 ID:SUwXSJwZ0]
>>326を簡単にできるように、>>234のwikiの記事を参考にして
ポップアップメニューで表示できるようにしています。

.xyzzy に以下のコードを書いたのですが、C-c C-e を押しても、C-c eの方が実行されてしまいます。
何が悪いのでしょうか・・・?


; エンコーディング変更ポップアップ と メニューに追加
(defvar *encoding-menu* nil)
(defun encoding-menu (encode-func)
  (or *encoding-menu*
      (let ((menu (create-popup-menu)))
        (mapc #'(lambda (x)
                  (add-menu-item menu nil (car x)
                                 #'(lambda ()
                                     (interactive)
                                     (funcall encode-func (cdr x)))))
              `(("utf-8n \t(&8)" . ,*encoding-utf8n*)
                ("utf-16 \t(&6)" . ,*encoding-utf16*)
                ("sjis   \t(&S)" . ,*encoding-sjis*)
                ("auto   \t(&A)" . ,*encoding-auto*)
                ("euc-jp \t(&E)" . ,*encoding-euc-jp*)
                ;("jis    \t(&J)" . ,*encoding-jis*)
                ))
        (add-menu-item menu :select "詳細指定\t(&_)"
                       #'(lambda (encoding)
                           (interactive "zEncoding: ")
                           (funcall encode-func encoding)))
        (setq *encoding-menu* menu))))

333 名前:332 つづき [2008/02/12(火) 06:02:04 ID:SUwXSJwZ0]
; ポップアップ
(defun revert-buffer-encoding-popup2 ()
  (interactive)
  (track-popup-menu (encoding-menu #'revert-buffer)))

(defun encoding-menu-in-file-autoload ()
  (let ((filemenu (get-menu *app-menu* 'ed::file)))
    (insert-popup-menu filemenu
                       (1- (get-menu-position (get-menu *app-menu* 'ed::file) :above-session))
                       (encoding-menu #'revert-buffer) "Reopen with Encoding (&G)\tC-c e")))
(defun set-default-process-encoding (encoding)
  (setq *default-process-encoding* encoding))

(defun process-encoding-popup ()
  (interactive)
  (track-popup-menu (encoding-menu #'set-default-process-encoding)))

(add-hook '*init-app-menus-hook* 'encoding-menu-in-file-autoload)
; ポップアップのキー設定
(global-set-key '(#\C-c #\e) 'revert-buffer-encoding-popup2)
(global-set-key '(#\C-c #\C-e) 'process-encoding-popup)
----------------------
終わり



334 名前:332 つづき [2008/02/12(火) 06:38:55 ID:SUwXSJwZ0]
メニュー二ついるのに、 *encoding-menu* しかないから片方できなくて当たり前だ・・・orz

; エンコーディング変更ポップアップ と メニューに追加
(defvar *encoding-menu* nil)
(defvar *process-encoding-menu* nil)
(defun encoding-menu (encoding-menu encode-func)
(or encoding-menu
(let ((menu (create-popup-menu)))
(mapc #'(lambda (x)
(add-menu-item menu nil (car x)
#'(lambda ()
(interactive)
(funcall encode-func (cdr x)))))
`(("utf-8n \t(&8)" . ,*encoding-utf8n*)
("utf-16 \t(&6)" . ,*encoding-utf16*)
("sjis \t(&S)" . ,*encoding-sjis*)
("auto \t(&A)" . ,*encoding-auto*)
("euc-jp \t(&E)" . ,*encoding-euc-jp*)
;("jis \t(&J)" . ,*encoding-jis*)
))
(add-menu-item menu :select "詳細指定\t(&_)"
#'(lambda (encoding)
(interactive "zEncoding: ")
(funcall encode-func encoding)))
(setq encoding-menu menu))))

335 名前:332 [2008/02/12(火) 06:39:47 ID:SUwXSJwZ0]
ミスッタ orz

; エンコーディング変更ポップアップ と メニューに追加
(defvar *encoding-menu* nil)
(defvar *process-encoding-menu* nil)
(defun encoding-menu (encoding-menu encode-func)
 (or encoding-menu
   (let ((menu (create-popup-menu)))
    (mapc #'(lambda (x)
         (add-menu-item menu nil (car x)
                 #'(lambda ()
                   (interactive)
                   (funcall encode-func (cdr x)))))
       `(("utf-8n \t(&8)" . ,*encoding-utf8n*)
        ("utf-16 \t(&6)" . ,*encoding-utf16*)
        ("sjis  \t(&S)" . ,*encoding-sjis*)
        ("auto  \t(&A)" . ,*encoding-auto*)
        ("euc-jp \t(&E)" . ,*encoding-euc-jp*)
        ;("jis  \t(&J)" . ,*encoding-jis*)
        ))
    (add-menu-item menu :select "詳細指定\t(&_)"
            #'(lambda (encoding)
              (interactive "zEncoding: ")
              (funcall encode-func encoding)))
    (setq encoding-menu menu))))

336 名前:332 [2008/02/12(火) 06:40:14 ID:SUwXSJwZ0]
; ポップアップ
(defun revert-buffer-encoding-popup2 ()
 (interactive)
 (track-popup-menu (encoding-menu *encoding-menu* 'revert-buffer)))

(defun encoding-menu-in-file-autoload ()
 (let ((filemenu (get-menu *app-menu* 'ed::file)))
  (insert-popup-menu filemenu
            (1- (get-menu-position (get-menu *app-menu* 'ed::file) :above-session))
            (encoding-menu '*encoding-menu* 'revert-buffer)
            "Reopen with Encoding (&G)\tC-c e")))
(defun set-default-process-encoding (encoding)
 (setq *default-process-encoding* encoding))

(defun process-encoding-popup ()
 (interactive)
 (track-popup-menu (encoding-menu *process-encoding-menu* 'set-default-process-encoding)))

(add-hook '*init-app-menus-hook* 'encoding-menu-in-file-autoload)
; ポップアップのキー設定
(global-set-key '(#\C-c #\e) 'revert-buffer-encoding-popup2)
(global-set-key '(#\C-c #\C-e) 'process-encoding-popup)
----------------------------
終わり

337 名前:332 mailto:sage [2008/02/12(火) 06:59:15 ID:SUwXSJwZ0]
途中ミスってました。気づいたら、xyzzyのメニューがなくなっててびっくりした
何度も吸いません

> (defun encoding-menu-in-file-autoload ()
>  (let ((filemenu (get-menu *app-menu* 'ed::file)))
>   (insert-popup-menu filemenu
>             (1- (get-menu-position (get-menu *app-menu* 'ed::file) :above-session))
>             (encoding-menu '*encoding-menu* 'revert-buffer)
>             "Reopen with Encoding (&G)\tC-c e")))

(defun encoding-menu-in-file-autoload ()
 (let ((filemenu (get-menu *app-menu* 'ed::file)))
  (insert-popup-menu filemenu
            (1- (get-menu-position (get-menu *app-menu* 'ed::file) :above-session))
            (encoding-menu *encoding-menu* 'revert-buffer)
            "Reopen with Encoding (&G)\tC-c e")))

338 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/12(火) 08:42:10 ID:v6FfctgN0]
>>337
*encoding-menu*がnilのままなんじゃない?

toggle-trace-on-errorや途中に(msgbox "~A" 変数名)みたいなのを入れて、どこがバグってる
のか調べてみるといいよ。

339 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/12(火) 08:45:23 ID:v6FfctgN0]
>>330
関数perform-replaceの途中にでも変数patternをハイライトするような処理を書けばいいと思う。

scan-bufferで検索してset-text-attributeで色を付けたり、regexp-keyword-listを使ったりすれば
いいんじゃないかな。

340 名前:332 mailto:sage [2008/02/12(火) 10:47:21 ID:SUwXSJwZ0]
>>338
>>335-226>>337の修正で一応期待の動作をしているようでした。
すいません。誤解を与えてしまいました。

341 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/12(火) 11:18:47 ID:v6FfctgN0]
>>340
あれ、>>335-336>>337の修正でもメニューが消えるような気がするけど。
まあ、そちらで動くならいいんじゃないですか。

342 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/12(火) 11:45:57 ID:v6FfctgN0]
ああ、全角スペースがあるせいか...失礼。

字下げは半角空白を&nbsp;に(一つおきに)変換するといいらしいですね。

343 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/12(火) 21:12:50 ID:8gfYZCME0]
>>324
>*expected-fileio-encoding*
>なんぞこれ?

insert-file-contentsでファイルを挿入する時の文字コードを指定できるっぽいので使ってマス
(find-file-internal()→find-file-readin()の流れより推測)



344 名前:332 mailto:sage [2008/02/13(水) 02:29:19 ID:+OZov14y0]
>>342
nbsp;すかー。今度使ってみる

>>343
確認しました。確かに、inser-fileなどのエンコーディングに使われてますね

345 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/14(木) 19:13:20 ID:jXWgpAyH0]
ぐはっ、pwの復号鍵また忘れたのかよ、俺OTL
ってか、おかしいな、なんで開けんのかなあ

346 名前:345 mailto:sage [2008/02/14(木) 19:19:46 ID:jXWgpAyH0]
いや、開けた
この間大掛かりな入れ替えやったんで
ccrypt.exeにパスが通ってなかっただけだった
スレ汚しスマソ

347 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/16(土) 01:22:02 ID:9pj0nuev0]
久しぶりに gnugo をやろうかと思ったんだけど、動かん。
だれかhelp

348 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/16(土) 01:44:25 ID:9pj0nuev0]
--mode=emacs が無くなっていた。orz

349 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/16(土) 10:28:08 ID:Yih2MVn00]
そんなのあったんだ

350 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/16(土) 10:42:07 ID:Yih2MVn00]
2ch-modeの追っかけスレ一覧で
「このスレからこのスレまで全部マークする」
あるいは
「この板のスレをマークする」
ってする方法ありませんか。

サーバがてんぽったスレが混じってると更新チェック時
止まったり聞いてきたり煩わしいので
それ以外のスレだけマークしてチェックしたいなーと。
今は m m ↓ の連打のあと m r したりしてやってます。

351 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/16(土) 18:41:37 ID:pGz4J8zJ0]
>>350
ナローイングとキーボードマクロで足りそうな気がするけど

(defun tracking-mark-region (beg end)
(interactive "r")
(save-excursion
(when (< end beg)
(let ((tmp beg))
(setq beg end end tmp)))
(goto-char beg)
(while (< (point) end)
(2ch::tracking-mark-set)
(unless (next-line 1)
(return)))))

352 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/17(日) 00:36:24 ID:zmOC4M1v0]
そうかキーボードマクロという手もあったか…
ありがとうございます。これでどこが落ちても安心です。

できたのを見ると難しくなさそうんだけどなー

353 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/17(日) 11:48:05 ID:H+EE5hn/0]
自分は

(setq *ignore-host-regexp-list-on-track-updating* '("pc11\\.2ch\\.net" "game14\\.2ch\\.net"))

(defun tracking-update-list (&optional ignore-error marked-only)
  (interactive)
             :
      (when (and (not (thread-dat-kako-p (tracking-list-dat track)))
                 (or (not marked-only)
                     (board-mark-p i)))

        (let (ignore-line-flag
              (hostname (tracking-list-host track)))
          (dolist (ignore-host-regexp *ignore-host-regexp-list-on-track-updating*)
            (when (string-match ignore-host-regexp hostname)
              (setq ignore-line-flag t)))

          (unless ignore-line-flag

            (reverse-line)
            (refresh-screen)
             :

てな感じで特定のホストを除外してる。



354 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/19(火) 10:59:52 ID:UJLKPsZQ0]
outline-tree2でツリー表示名を判定部の次の行を表示したいんだけど、やり方がわからない…

[ほげ]
ぴよ

とあったら
ツリーで表示したいのは
[ほげ]
でなく、
ぴよ
にしたいんだけど…


355 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/19(火) 11:52:22 ID:zzbmqgXT0]
tips/カレンダーの祝日を最新に
xyzzy.s53.xrea.com/wiki/index.php?tips%2F%A5%AB%A5%EC%A5%F3%A5%C0%A1%BC%A4%CE%BD%CB%C6%FC%A4%F2%BA%C7%BF%B7%A4%CB

バイトコンパイルしようとすると、
文字列が終了していません
と言って怒られるのですが、どうしたらいいでしょう?


356 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/19(火) 12:45:59 ID:MFRQReTw0]
文字列を終了させてください

357 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/19(火) 19:38:42 ID:BsBqGiZQ0]
>>355
おそらくコピペした際にゴミでも入ったんだろう。

・新規ファイルを作ってもう一回コピペする。
・それで駄目ならダブルクォートの対応を確認する。

358 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/19(火) 19:42:41 ID:BsBqGiZQ0]
あとファイルのエンコーディングも確認した方がいいかもね。
SJIS以外で保存してると、一見問題なさそうなコードでも
エラーが出る事もあるから。

359 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/19(火) 20:26:30 ID:FhKRO0sW0]
保存せずに×を押して「やっちまーたー」って事が多いのですが、
保存していない場合は閉じようとしても確認するようにできますか?
何か設定を触ってしまったのかな・・・。デフォでこれでしたっけ?

360 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/19(火) 20:44:32 ID:BsBqGiZQ0]
確かデフォでは確認ありの筈。
モードに関係なく確認なしで終了するのけ?

361 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/19(火) 21:09:31 ID:ranz9ZQX0]
>>359
この辺を参考にすれば?
hie.s64.xrea.com/xyzzy/note2/wiki.cgi?page=kill-xyzzy#p2

362 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/19(火) 22:10:47 ID:5Zru6txd0]
>359
もしかして、*scratch* に書いてたりしないよね?

363 名前:359 mailto:sage [2008/02/19(火) 23:25:22 ID:qo6PTLRt0]
>>360-362
皆さんありがとう

アフォでした、scratchに書いていたんですね。
scratchに重要なメモをする癖があったようで・・・。orz
お騒がせしました。
361さんの先を参考にしてscratchの保存確認も常に行うようにしてみますです



364 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/19(火) 23:37:46 ID:idCZyvKk0]
>>363
この3っつ入れとけばかなり幸せになるよ。

hie.s64.xrea.com/xyzzy/note/auto-save-buffers.html
xyzzy.s53.xrea.com/wiki/?cmd=read&page=tips%2Fscratch%20%A4%F2kill-buffer%A4%AB%A4%E9%CA%DD%B8%EE
xyzzy.s53.xrea.com/wiki/index.php?tips%2Fscratch%A4%CE%C3%E6%BF%C8%A4%C3%A4%C6%BE%C3%A4%B5%A4%CA%A4%AF%A4%C6%A4%E2%A4%A4%A4%A4%A4%B8%A4%E3%A4%F3


#昔 scratch-plus ってのがnetinstallerにあったんだけど消えてんのか。

365 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/19(火) 23:58:51 ID:cd+0cuU30]
scratch をメモ代わりに使う on xyzzy
womo.nconc.net/2005/10/26/save-scratch

memorandomを使って履歴を取ってる。

366 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/20(水) 00:13:45 ID:tGVwZhK/0]
ども。

>>354
「アウトラインツリー設定」の「正規表現」タブで以下のように指定を。
^\[.*\] *\n\(.*\)

問題なければ適当に正規表現を微調整した後に、
「アウトライン作成関数の生成」でもどうぞ。


367 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/20(水) 09:42:46 ID:q9R+TuS50]
XP から Vista に変更しました。
IE の HTML ソースを開くエディタに xyzzycli.exe を設定しました。

それなのに、すでに開いている xyzzycli で開かず、
もう一つ xyzzy が起動します。

2 つ xyzzycli が開いた状態で、
エクスプローラから何かファイルを開こうとすると
「xyzzyとの通信でエラーが発生しました」というダイアログが出ます。

XP の時は大丈夫だったのですが、
Vista でもうまく使う方法はありませんか。

368 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/20(水) 09:48:26 ID:k5pitGmK0]
VistaだとIEは別ユーザで動作しているような状態になってるんじゃないかね。

369 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/20(水) 11:18:55 ID:/9zWxSYz0]
>366
似たようなことをやっていたんですが、どうやらoutline-treeの使い方が間違っていた模様o....rz
(見出し解析の正規表現のほうでやろうとしていた)
指定された方法で行い、必要なものを追加すると想定したものが作成されました。
ありがとうございました。

370 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/20(水) 11:37:48 ID:EI87wZg50]
>>357
>>358
ありがとうございます。utf-8nで保存していたのが原因でした。
SJISに治したところ無事バイトコンパイルできました。


371 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/20(水) 11:59:40 ID:q9R+TuS50]
>>368
なるほど。
xyzzy の質問ではなく Vista の質問になってしまい恐縮なのですが、
どこで設定できるものなのでしょうか…。
( プロパティなども探したのですがわからなくて )

372 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/20(水) 18:56:32 ID:4z6nW4tM0]
>371
かなり手抜きだがSleipnir使っとけ。
低い権限で動くのはIEだけ。

373 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/20(水) 22:05:26 ID:q9R+TuS50]
>>372
ありがとうございます。
Sleipnir を入れてみました。
軽くていいですねー。
でも同じです…。

IE のソースを開くのに、どのかのサイトで見た
レジストリを変更して xyzzycli にしたのですが、
ほかの Vista ユーザは大丈夫なんでしょうか?



374 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/21(木) 01:37:35 ID:OvBqmuxY0]
ども。
>>369
> (見出し解析の正規表現のほうでやろうとしていた)
これが正しいなんていう使い方はないですが、私はまさにその方法の通り、
その場その場で正規表現を書いて見出し解析の正規表現でアウトラインを
作ってファイルを確認しています。
一定の正規表現を使い続ける場合には、アウトライン作成関数を生成
するのもよいですね。


375 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/21(木) 12:42:43 ID:Lljx7OvK0]
Windows を再起動する度に各 mode の色分けがおかしくなる現象が出ています。

1. html+-mode を使って HTML 編集。
2. Windows 再起動。
3. html+-mode の色が xml-mode の色に。(しかし機能的には html+-mode)
4. Windows 再起動。
5. 今度は css-mode の色が何か他の mode の色に。(しかし機能的には css-mode)

こんなん経験したひといますか。

376 名前:375 mailto:sage [2008/02/21(木) 17:39:21 ID:Lljx7OvK0]
html+-mode.l と siteinit.l バイトコンパイルしなおしたら html+-mode も css-mode も直った。
おさーがせしました。

377 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/21(木) 23:38:13 ID:l18cwfyj0]
>>373
XPにアップグレード。

378 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/21(木) 23:55:03 ID:W2UeIQDJ0]
>373
Vista使ってないからよくわからん。
会社でテスト機に入れたVistaをちょっと触っただけなのでIEのソースを開くのとか試さなかったよ。
UACとか影響してるのかなぁ?

379 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/21(木) 23:56:06 ID:5OgdfT3L0]
2000もあるでよ

380 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/22(金) 00:19:12 ID:x6dXvwtL0]
(dolist (c '(#\C-0 #\C-1 #\C-2 #\C-3 #\C-4 #\C-5 #\C-6 #\C-7 #\C-8 #\C-9))
  (global-set-key c 'digit-argument))

これってどういう風に動くんでしょう?
Emacs風キーバインドに近づける、の他のコマンドについてはだいたいわかったのですが。

あとファイル―新規作成に当たるコマンドの名前がわかりません。
調べ方も……。どこを見ればいいのかな……。

381 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/22(金) 02:29:33 ID:/bbFQVmb0]
>>380
(global-set-key #\C-0 'digit-argument)
(global-set-key #\C-1 'digit-argument)
...
(global-set-key #\C-9 'digit-argument)
のように展開されて,
M-2 aの代わりにC-2 aと打てるようになります.
(aを2回入力する)

新規作成は
1. C-x C-fして存在しないファイル名を入力
2. 適当に何か書いて保存
とやるのが普通.

382 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/22(金) 02:37:21 ID:PACRPcr+0]
>>380
ファイル−新規作成のコマンドは new-file。lisp/app-menu.l を見ればわかる。
まあ確かに >>381 のやり方のほうが普通だとは思うけど。
とりあえず何か調べたかったら lisp ディレクトリを grep してみるといいかも。

383 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/22(金) 09:53:27 ID:h87OB2zF0]
>>378
UAC 外したら OK でした!
でも、会社のため UAC 外すと怒られるんです。

UAC となると方法はないものなのでしょうか。

>>377
あー。XP に戻したい…。2000 は勘弁。



384 名前:383 mailto:sage [2008/02/22(金) 10:07:26 ID:h87OB2zF0]
会社でも騒いでいたら原因が分かりました。

「だいな」というファイラを使っているのですが、
「だいな」から xyzzycli を起動するとダメでした。

エクスプローラからなら大丈夫。

だいなも UAC も Vista も捨てられないのが残念。
( 今となっては Sleipnir も )

385 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/24(日) 20:46:12 ID:npd+fK9m0]
>>381-382
ありがとうございます。

あと昇順ソートはEmacs風キーバインドに近づける、の
sort-lines使えば良いんですが、
降順ソートをC-u M-x sort-linesで行うことは可能ですか?
やってみたら普通に昇順にされたんですが、
そもそもC-u M-x って普通のM-x と違うんでしょうか。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<293KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef