xyzzyの使い方が分か ..
[2ch|▼Menu]
237:231
08/01/21 01:53:15 MSzVuBGQ0
うはww即レスありがとう

>>233
サブメニューに追加するにはそうすればいいのか
:above-sessionも気付かなかった。lisp/app-menu.l みたら載ってました。

> Schemeじゃないし。
Xyzzy Lispには関数内関数ないのか orz てか、Schemeにはあるのか・・・

> (interactive)
了解しました。ヘルプに対話型?と書いてあったからわからんかったのですが、
メニューからの場合は、コマンドとして設定しないといけないんですね。

>>234
まとめられるんですね。
使わせていただきます

>>235
あー、マクロ使う手もあるんすね。

238:名無しさん@お腹いっぱい。
08/01/21 02:26:05 oYrRmVW10
>>237
>> Schemeじゃないし。
>Xyzzy Lispには関数内関数ないのか orz てか、Schemeにはあるのか・・・
ないんじゃなくて、それ用の記法があるということ。
flet とか labels がそれに該当する。

239:名無しさん@お腹いっぱい。
08/01/21 21:59:27 pfA4+zT60
>>236
他にいい方法思いつかなかっただけ。
よく見たら渡してるのが定数だから flet でもできたかな。

240:名無しさん@お腹いっぱい。
08/01/22 00:13:39 dw9niiM60
教えて下さい。
文字を選択しておいて、たとえば『国家』という二文字を選択しておいて
Shift-F7を押すと『¥ruby{国家}{ }』となるようにするには
どのようなのを書いたらよいでしょうか?
(HTMLの<a>〜</a>のように選択文字列をはさんで、ある文字列を追加する)

241:名無しさん@お腹いっぱい。
08/01/22 01:13:18 EE4jzfJx0
>>240
こんな感じ?
(defvar *insert-parenthesis-list* nil)
(setq *insert-parenthesis-list*
`(("foo(&F)" "<a>" "</a>")
("bar(&B)" "¥ruby{" "}{ }")
))

(defun insert-parenthesis-1 (from to head tail)
(goto-char from)
(insert head)
(goto-char (+ to (length head)))
(insert tail))

(defun insert-parenthesis ()
(interactive)
(and (pre-selection-p)
(consp *insert-parenthesis-list*)
(let ((from (selection-mark))
(to (selection-point))
(menu (create-popup-menu)))
(when (> from to)
(rotatef from to))
(dolist (x *insert-parenthesis-list*)
(let* ((head (second x))
(tail (third x))
(menu-item (concat head " : " tail "\t" (first x))))
(add-menu-item menu nil menu-item
#'(lambda ()
(interactive)
(insert-parenthesis-1 from to head tail)))))
(track-popup-menu menu))))

242:名無しさん@お腹いっぱい。
08/01/22 01:25:32 qllziFmi0
>>240
shortinput
URLリンク(www1.bbiq.jp)

243:240
08/01/22 01:57:53 dw9niiM60
>>241
すごい!! ばっちりです。
自分xyzzyをTeXで使っているのですが、これでパワーアップです。

>>242
ありがとうございます。
勉強させていただきます。

ほんとうにありがとうございます。感謝、感謝!です。 m(_ _)m

244:名無しさん@お腹いっぱい。
08/01/22 02:22:12 20mz+V6l0
>>242のサイトをネットインストーラに登録しようと思って
wikiの↓のコメントの挿入のとこから投稿したんですけど、反映されません。

NetInstaller/配布パッケージ一覧 - XyzzyWiki
URLリンク(xyzzy.s53.xrea.com)

URLリンク(www1.bbiq.jp)

245:名無しさん@お腹いっぱい。
08/01/22 16:57:39 6NoYtEeH0
>>241
横からもらったぁ!感謝!

246:名無しさん@お腹いっぱい。
08/01/22 18:41:43 VkTxoaAo0
今はなき「xyzzy でタグ打っている香具師」で似たようなの見たなぁ〜

247:名無しさん@お腹いっぱい。
08/01/22 19:19:03 EE4jzfJx0
>>246
そうなの?
>>240を見てから適当に書いたんだが..
大したコードでもないので、誰が書いてもそんなに変わらないんじゃないかな。

248:名無しさん@お腹いっぱい。
08/01/22 19:31:18 EE4jzfJx0
今ちょっと見てきたが、quote-region-by-tagのことかな。
確かに似ているね。

shortinputもあるしわざわざ書くこともなかったな..

249:名無しさん@お腹いっぱい。
08/01/22 19:33:39 eht0uDFG0
>>243
TeXならKaTeXの力を借りてkatexhks.lに↓を書き込むのは如何でしょうか.たぶんうまく動くはずです.

(defun KaTeX--ruby (&optional argp)
(cond
((equal 1 argp) (read-string "Kanji: "))
((equal 2 argp) (read-string "Yomi: " :default (rewind-ime-composition)))))

(defun KaTeX-insert-ruby-region (beg end)
(interactive "r")
(KaTeX-insert-braces-region beg end "\\ruby{" (concat "}{" (read-string "Yomi: ") "}")))
(define-key *KaTeX-mode-map* #\S-F7 'KaTeX-insert-ruby-region)

文字列を与えたときに,それの変換前の状態を返すやり方がわからなかったので,
下の関数ではYomi: のデフォルト値がないです.
rewind-ime-composition だと(imeを通して)直前に入力した文字列の変換前のが出てきちゃうのです.
教えてえらい人.

250:名無しさん@お腹いっぱい。
08/01/23 05:18:21 8OzWD4Y50
>>238
flet で囲んだところでだけ使えるのか・・・ちょいと面倒ですな
labels はリファレンスになかた

251:名無しさん@お腹いっぱい。
08/01/23 05:49:26 RxI6lXpQ0
URLリンク(user.ecc.u-tokyo.ac.jp)
下から1/3のあたりにlabels

252:名無しさん@お腹いっぱい。
08/01/23 12:42:00 +vLN5vfR0
xyzzy で IMAP のメールを読むことは可能でしょうか?

253:名無しさん@お腹いっぱい。
08/01/23 22:23:21 8OzWD4Y50
HTML+-modeの色分けがされないのですが、
問題あるかどこを見たらいいんでしょう?

HTMLを読ませた時に、画面下に(HTML+;HTML Support) と出ており、
また、/ などでタグ閉じなどもできる点からメジャーモードとして、作動しているようです。

色わけされない状況ですが、
全ての文字が、「共通設定」の「フォント」タブの「文字色」(白色にしてます)の色になります。

254:253
08/01/23 22:27:40 8OzWD4Y50
自己解決しますた

他の、xml-modeも Delphi-modeも 色つかなくて、なぜか bat-modeだけ色ついてて
変だと思ってたんですが、

「共通設定」の「表示」タブの「キーワードに色をつける」のチェックがはずれていました。
チェックしたら色つきました!!

いつのまに、いじったのかw
あふぉ・・・

255:名無しさん@お腹いっぱい。
08/01/24 13:47:07 qSZLmeUx0
ファイルを開いたときに
文字コードの誤判定があるので

C-u M-x revert-buffer

として euc-jp と入力しています。

これを例えば M-x buffer-euc-jp に
割り当てるにはどうしたらいいでしょうか。

256:名無しさん@お腹いっぱい。
08/01/24 14:14:58 EjwnFr+b0
revert-buffer-with-coding-system と言うそのままの名前のがあるから、
それラップすればいいんじゃない?

257:名無しさん@お腹いっぱい。
08/01/24 17:00:11 eNsLfIXk0
設定のことなのですけど、
画面をスクロールしたときカーソル行もそれにあわせてスクロール
するようにしたいのですが、どうしたらよいのでしょうか?

258:名無しさん@お腹いっぱい。
08/01/24 17:04:13 wuJ5VBz10
kuso gizune

259:名無しさん@お腹いっぱい。
08/01/25 23:52:12 t7UL5v+90
xyzzyで色々やってみようと思い立ったものの・・・

260:名無しさん@お腹いっぱい。
08/01/25 23:56:12 v7OFsorw0
どうした?

261:名無しさん@お腹いっぱい。
08/01/26 04:08:44 2xBnPmR40
combine使えないのね

262:名無しさん@お腹いっぱい。
08/01/26 04:30:20 k01ntuWz0
適当に作れば?
append使ったりしてやれば手間もなさそうに思うけど。

263:名無しさん@お腹いっぱい。
08/01/26 17:02:55 nptdTNl90
>257
スクロール位置が気になったらC-lを押しとけ。

264:名無しさん@お腹いっぱい。
08/01/26 17:55:11 xqCdGihk0
>>257
スクロールってマウスのホイールスクロール?キー入力?
前者なら、昔 2ch に張ったけどな。もう細かいことは忘れた。

265:名無しさん@お腹いっぱい。
08/01/28 15:07:31 bydSav3Y0
そうです。マウスのホイールスクロールです。
いまはその行をマークして戻ってるんですけど。

266:名無しさん@お腹いっぱい。
08/01/28 19:56:54 h0NouF1x0
ホイールと一緒にスクロールしてほしい、ということなら俺もやり方知りたい

カーソル位置にもどるというだけなら、>>263の Ctrl+Lでできるみたいだ

267:名無しさん@お腹いっぱい。
08/01/29 00:48:51 6r+8dzZH0
>>265-266
とりあえず、画面内にカーソルが無いといけないという
xyzzy の仕様があるから、できても1画面までしか実現できないよ。
それでもいいの?

268:名無しさん@お腹いっぱい。
08/01/29 03:49:15 LALrILBL0
画面をマウスでスクロールした時に
カーソルの位置を移動して欲しくないってこと?





269:266
08/01/29 08:16:38 oST7Vmwp0
ごめん、勘違いでした。
今見たら、ホイールと一緒にカーソルついてくるね・・・

270:名無しさん@お腹いっぱい。
08/01/29 19:50:49 yCQ1c01C0
たとえば、いま50行にカーソルがあると
マウスホイールや上下スクロールバーで画面をスクロールしても
カーソルは50行にいてほしい、ということだよね
サクラとかEmとかみたいに

271:名無しさん@お腹いっぱい。
08/01/29 22:39:54 LALrILBL0
まずは、マウスを窓から投げ捨てろ。

272:名無しさん@お腹いっぱい。
08/02/01 08:10:48 USinHq/30
outline-tree2のツリービューのツールチップなんですが、
表示のタイミングや位置を調整するのは無理なんでしょうか?
マウスカーソル直下をホイールでスクロールできるソフトを使っていると、
ツールチップに入力を取られスクロールしないことがあって困っています。

273:名無しさん@お腹いっぱい。
08/02/01 19:31:26 zjhDDFg+0
xyzzyを起動してからしばらく使っていると@を打とうとして[が出てきてしまったり
右Altが効かなくなったりという症状が出てよく再起動するんですが
これはなぜなんでしょうか?
.xyzzyかsiteinit.lにまずいところがある?

274:名無しさん@お腹いっぱい。
08/02/01 22:01:42 JzRxiUZS0
>>273
.xyzzyとsiteinit.l を読み込まないでも再現するか確認
再現しないなら再現するまでファイルの半分ずつ程度読み込んで確認

275:名無しさん@お腹いっぱい。
08/02/01 23:01:11 0EiwKQ3C0
>>272
> マウスカーソル直下をホイールでスクロールできるソフトを使っていると、
> ツールチップに入力を取られスクロールしないことがあって困っています。

俺は TTBase で使えるのを使っているけど、ツールチップ上でかつ異なる
ウィンドウ上でも問題なくスクロールできる。ドライバーが悪いんじゃないの?

>>274
再現するまで時間がかかるようだと、その方法は大変だよ。
すぐに再現すればそれがいいけどね。

んで俺からのアドバイスとしては、以下のを .xyzzy に書いておいて、
URLリンク(white.s151.xrea.com)
現象が起きたときに、
(step '(command-execute "@"))
と入力して、正常時の結果と比較したほうがよいと思う。



276:名無しさん@お腹いっぱい。
08/02/01 23:34:05 zjhDDFg+0
>>274
>>275
ありがとうございます。
不調が出るまでxyzzyを触り続けてみます。



277:名無しさん@お腹いっぱい。
08/02/02 01:24:56 QLhespph0
ヒント:オンラインウィルスチェック、スパイウェアチェック

278:名無しさん@お腹いっぱい。
08/02/02 01:34:18 12/cDF+k0
>>276
> @を打とうとして[が出てきてしまったり
xyzzyの中だけこうなるの?このときにメモ帳とかだと普通に@が出るの?
なんか英語キーボードのキーマップになってるような気がする
キーマップを変更するソフトが入ってて変更するショートカットキーを無意識に押してるとか

279:名無しさん@お腹いっぱい。
08/02/02 02:16:44 xvCQ/4fs0
>>278
xyzzyの中だけです。メモ帳はわからないけどブラウザでは正常に動くので。
キーマップと言えばXKeymacsを入れてるくらいしか思いつかないけど関係無いかと。

再起動すればまた普通に使えるのでxyzzyが原因かと思ったんですが
そうじゃなかったらスレ違いですいません。


280:名無しさん@お腹いっぱい。
08/02/02 03:47:12 xvCQ/4fs0
>>278
追記ですが検証してみたところ確かに英語のキーマップになっているみたいです。
#が]のところに近づいて来てperlが書きやすいんですが右Altが無いのがちょっと。

281:名無しさん@お腹いっぱい。
08/02/02 04:43:39 QLhespph0
XKeymacs知らんけど、アプリごとの設定で xyzzyのときだけ英語キーバインドになっているとか・・・

282:272
08/02/02 09:35:18 KxCafLCj0
スレ違いっぽいですがすみません。
>>275
教えていただいたTTBaseと、プラグインのRedirectWheelGを試してみたところ上手くいったのですが、
xyzzyのテキスト表示部分で1ノッチにつき3行スクロールしてしまいました。
マウスのプロパティのホイールのスクロール量は、1行にしています。
実は、カーソル直下のスクロールなどに自作のAutoHotKeyスクリプトを使っていまして、
RedirectWheelGと同じPostMessageによる実装もして動いていたのですが、
上記の3行スクロールする問題のため、擬似クリックでの実装に切り替えていました。
TTBaseを試して思いついたのですが、xyzzyの時だけツリービューかどうかを判別して
個別対応してみたいと思います。
どうもありがとうございました。


283:名無しさん@お腹いっぱい。
08/02/02 11:33:43 ReaxwS/A0
選択範囲内の文字数をカウントする方法って現段階でありますか?
あったら教えてください。

284:名無しさん@お腹いっぱい。
08/02/02 11:37:09 x4ReHyBl0
count-words-region

285:名無しさん@お腹いっぱい。
08/02/02 11:55:35 aFQKhOrT0
>>283
URLリンク(xyzzy.s53.xrea.com)

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

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

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

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

hisashim: [xyzzy][Lisp] xyzzy diff on UNC path using Cygwin zsh
URLリンク(hisashim.livejournal.com)

を参考に 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:名無しさん@お腹いっぱい。
08/02/03 20:18:38 XiD8Xna90
>>287
お礼を忘れてました、ありがとう。
xyzzy/lisp下読めば大抵わかるんですね。

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

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

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


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

292:名無しさん@お腹いっぱい。
08/02/07 13:21:15 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:続き
08/02/07 13:22:40 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:続き
08/02/07 13:23:28 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:続き
08/02/07 13:24:26 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:続き
08/02/07 13:25:29 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:続き
08/02/07 13:26:19 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:名無しさん@お腹いっぱい。
08/02/07 13:36:31 wXHmQfE90
>>294
(refresh-screen 1)
の後ろに
(when *multiple-replace-replace-whole-buffer*
(goto-char (point-min)))
を追加した方がいいかも。

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

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




300:名無しさん@お腹いっぱい。
08/02/07 14:35:25 wXHmQfE90
>>299
再ダンプしてないんじゃないの?

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

302:名無しさん@お腹いっぱい。
08/02/07 15:52:29 fKcAIYUe0
即興でそんな風に組み上げられるようになりたひ…

303:292
08/02/07 16:07:22 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:名無しさん@お腹いっぱい。
08/02/10 15:01:07 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:名無しさん@お腹いっぱい。
08/02/10 15:19:30 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
08/02/10 15:21:40 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:名無しさん@お腹いっぱい。
08/02/10 19:35:33 Geg9SBWH0
>>305-306
さんクす

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

308:174
08/02/10 20:19:04 0J69YBkb0
>>307
editor::の略。

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

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

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

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

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

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

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

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

>>310
みてみてます。

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

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

313:名無しさん@お腹いっぱい。
08/02/11 00:24:35 8x6C6XBu0
set-buffer-fileio-encodingあたりが参考になるかな。

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

314:名無しさん@お腹いっぱい。
08/02/11 00:30:12 8x6C6XBu0
おっとかぶった。

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

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

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

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

316:名無しさん@お腹いっぱい。
08/02/11 00:50:18 8x6C6XBu0
よくわからんが
*default-fileio-encoding*とかじゃなくて?

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

?????? ?????

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

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

「xyzzy」の検索結果 - tsuge development page
URLリンク(d.hatena.ne.jp)

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

320:名無しさん@お腹いっぱい。
08/02/11 14:15:42 gHRWQnnJ0
98?Me?そんなものは切り捨ててしまえっ

321:名無しさん@お腹いっぱい。
08/02/11 14:18:24 zm6bzkex0
Cでいう__LINE__みたいなマクロって、xyzzyにある?

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

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


323:321
08/02/11 15:13:04 zm6bzkex0
>>322
無いのか・・・
じゃ、教えてくれたの使うわ。ども。


324:名無しさん@お腹いっぱい。
08/02/11 19:51:15 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:名無しさん@お腹いっぱい。
08/02/11 20:04:31 8x6C6XBu0
>>324
info-modoki-modeなら全文検索できるよ。
aproposでもできたと思う。

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

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

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

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

327:名無しさん@お腹いっぱい。
08/02/11 21:07:27 4QznQESt0
>>325
ありがとう。

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

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

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

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

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

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

abc def abc

331:名無しさん@お腹いっぱい。
08/02/12 01:02:51 Izq8RB5W0
multiple-replace.lが更新されてます

332:名無しさん@お腹いっぱい。
08/02/12 06:01:37 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 つづき
08/02/12 06:02:04 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 つづき
08/02/12 06:38:55 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
08/02/12 06:39:47 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
08/02/12 06:40:14 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
08/02/12 06:59:15 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:名無しさん@お腹いっぱい。
08/02/12 08:42:10 v6FfctgN0
>>337
*encoding-menu*がnilのままなんじゃない?

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

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

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

340:332
08/02/12 10:47:21 SUwXSJwZ0
>>338
>>335-226 + >>337の修正で一応期待の動作をしているようでした。
すいません。誤解を与えてしまいました。

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

342:名無しさん@お腹いっぱい。
08/02/12 11:45:57 v6FfctgN0
ああ、全角スペースがあるせいか...失礼。

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

343:名無しさん@お腹いっぱい。
08/02/12 21:12:50 8gfYZCME0
>>324
>*expected-fileio-encoding*
>なんぞこれ?

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

344:332
08/02/13 02:29:19 +OZov14y0
>>342
nbsp;すかー。今度使ってみる

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

345:名無しさん@お腹いっぱい。
08/02/14 19:13:20 jXWgpAyH0
ぐはっ、pwの復号鍵また忘れたのかよ、俺OTL
ってか、おかしいな、なんで開けんのかなあ

346:345
08/02/14 19:19:46 jXWgpAyH0
いや、開けた
この間大掛かりな入れ替えやったんで
ccrypt.exeにパスが通ってなかっただけだった
スレ汚しスマソ

347:名無しさん@お腹いっぱい。
08/02/16 01:22:02 9pj0nuev0
久しぶりに gnugo をやろうかと思ったんだけど、動かん。
だれかhelp

348:名無しさん@お腹いっぱい。
08/02/16 01:44:25 9pj0nuev0
--mode=emacs が無くなっていた。orz

349:名無しさん@お腹いっぱい。
08/02/16 10:28:08 Yih2MVn00
そんなのあったんだ

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

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

351:名無しさん@お腹いっぱい。
08/02/16 18:41:37 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:名無しさん@お腹いっぱい。
08/02/17 00:36:24 zmOC4M1v0
そうかキーボードマクロという手もあったか…
ありがとうございます。これでどこが落ちても安心です。

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

353:名無しさん@お腹いっぱい。
08/02/17 11:48:05 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:名無しさん@お腹いっぱい。
08/02/19 10:59:52 UJLKPsZQ0
outline-tree2でツリー表示名を判定部の次の行を表示したいんだけど、やり方がわからない…

[ほげ]
ぴよ

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


355:名無しさん@お腹いっぱい。
08/02/19 11:52:22 zzbmqgXT0
tips/カレンダーの祝日を最新に
URLリンク(xyzzy.s53.xrea.com)

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


356:名無しさん@お腹いっぱい。
08/02/19 12:45:59 MFRQReTw0
文字列を終了させてください

357:名無しさん@お腹いっぱい。
08/02/19 19:38:42 BsBqGiZQ0
>>355
おそらくコピペした際にゴミでも入ったんだろう。

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

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

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

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

361:名無しさん@お腹いっぱい。
08/02/19 21:09:31 ranz9ZQX0
>>359
この辺を参考にすれば?
URLリンク(hie.s64.xrea.com)

362:名無しさん@お腹いっぱい。
08/02/19 22:10:47 5Zru6txd0
>359
もしかして、*scratch* に書いてたりしないよね?

363:359
08/02/19 23:25:22 qo6PTLRt0
>>360-362
皆さんありがとう

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

364:名無しさん@お腹いっぱい。
08/02/19 23:37:46 idCZyvKk0
>>363
この3っつ入れとけばかなり幸せになるよ。

URLリンク(hie.s64.xrea.com)
URLリンク(xyzzy.s53.xrea.com)
URLリンク(xyzzy.s53.xrea.com)


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


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5373日前に更新/293 KB
担当:undef