[表示 : 全て 最新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あたりに。

554 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/23(日) 01:38:20 ID:LPw1MvYP0]
あ、なんかシンボルの最初のやつが違うのか。

なるほど。

ありがとうございました。

555 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/23(日) 01:40:43 ID:wLcTUJuT0]
>>554
リファレンスの backquote とか見ればなんとなく意味がわかるかも

556 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/23(日) 07:44:15 ID:NhCMrJiZ0]
ディレクトリの数が多くなってくるとこうするのが好きだなぁ。

(setq *ebdict-directories*
(mapcar #'(lambda (path)
(merge-pathnames path dict-directory))
'("Koujien" "Webstar" "Wordnet")))

557 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/23(日) 13:09:31 ID:FMoHEnkw0]
scheme-modeを久しぶりに入れようと思ったらなくなっちゃいました。

ttp://fun.sci.fukuoka-u.ac.jp/wiki/index.php?xyzzy


558 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/23(日) 21:10:33 ID:1AObhsCU0]
>>557
結構前から消えてるね
拡張Lisp見つけたら片っ端からコレクションしてる俺は勝ち組み

559 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/23(日) 21:37:00 ID:7ToPnKQ+0]
>>556
なるほど。確かにそっちの方がスマートですね。
ありがとうございます。

>>555
うーん、なんとなくわかったようなわからんような……。

560 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/23(日) 21:47:34 ID:7ToPnKQ+0]
 xyzzy Lisp Programming辺りを読んで出直してきます……。

561 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/23(日) 22:10:40 ID:FMoHEnkw0]
>>558
数日前にはあったよ。結構前からとはこれいかに?

562 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/23(日) 23:05:49 ID:1AObhsCU0]
ちょっと前 5分
少し前   30分
結構前   2時間
かなり前  数日
すごく前  古代



563 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/23(日) 23:43:53 ID:kb7j9F9a0]
かなりとすごくのギャップが激しいなw

564 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/23(日) 23:53:55 ID:LCPYsBbe0]
なんで具体的な数字からいきなり古代とかになるんだよw

565 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/24(月) 01:06:16 ID:DZPkEqmK0]
ひとつ、ふたつ、みっつ、…えっと、たくさんっ

566 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/24(月) 18:16:27 ID:pZJoAxj10]
萌えた

567 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/25(火) 21:22:00 ID:vft/Trh+0]
Lisp勉強中
(defun たす (&rest p)
  (let ((sum (apply #'+ p)) (num '("ひとつ" "ふたつ" "みっつ")))
  (cond ((> sum 3) "たくさんっ!")
          ((> sum 0) (nth (1- sum) num))
          (t "ないよっ!"))))

(たす 1 3)
=> たくさんっ!

マクロにも挑戦してみた。面白そうなんだけどわけわかんね。
(defmacro けいさん (&rest exp)
  `(progn (setq とね 0 をね 0 たすの #'たす)
    (apply ,@(reverse exp))))

(けいさん 1 とね 3 とね 4 とね -5 をね たすの)
=> みっつ

小一時間かかってやっと少しわかってきた('A`)
こんなんでいいのかな。


568 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/25(火) 21:35:13 ID:vft/Trh+0]
うそ。なんかミスってた。マクロの方"ふたつ"って出る。

(apply ,@(reverse exp) 0)

にすれば合う。
apllyって引数をリストで渡さないで羅列にしとくと
最後のが無視されるのかな?
リファレンス見たけどわからん。


569 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/25(火) 22:34:47 ID:3OCHSTON0]
>>568
なんでかは知らないけど apply の最後の引数はリストじゃないとダメらしい。
(apply #'+ -5 4 3 1)
=> 2
(apply #'+ -5 4 3 1 ())
=> 3
(apply #'+ '(-5 4) 3 1)
=> 不正なデータ型です: (-5 4): number
(apply #'+ -5 4 '(3 1))
=> 3

570 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/25(火) 22:39:29 ID:s0yHGKbv0]
何でも何も、そのまんまの動作だろ。

571 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/25(火) 22:54:17 ID:3OCHSTON0]
いや、何でこういう仕様になっているのかなってこと。
別に最後の引数だけ特別扱いしなくても良さそうなのに。

って書いてから思ったけどそんなことしたら
(apply #'list '(1 2 3)) が (list 1 2 3) なのか (list '(1 2 3)) なのか
分からなくなっちゃうのか。
勝手に納得しました。

572 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/25(火) 22:59:57 ID:A8Dcbrq10]
だな。
(apply #'+ -5 4 3 1 ())
ってのは
(apply #'+ '(-5 4 3 1))
を書き換えた形なわけだし。
末尾が(本来なら)nilである必要があるってことだ。



573 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/25(火) 23:08:17 ID:A8Dcbrq10]
すまん、なんか勘違いしてた。無かったことに

574 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/25(火) 23:26:21 ID:3OCHSTON0]
なんとなく分かった気がする。
単純に引数を順番に繋げているだけなのかも。
例えば
(arg1 . (arg2 . (arg3 . last-arg)))

(arg1 arg2 arg3 . last-arg)
と等価だけど、この場合 last-arg がリストじゃないと nil でターミネイトされない。

って理解でいいのかな?

575 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/25(火) 23:40:13 ID:s0yHGKbv0]
apply の最後の引数は defun とか lambda 式の引数の &rest の部分

576 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/26(水) 00:33:48 ID:HpZOS2g+0]
>>568
羅列で渡したいならfuncallを使えばいいじゃん。


577 名前:568 mailto:sage [2008/03/26(水) 00:58:15 ID:74fzE1emO]
>>569-576
おお、なんか色々ありがとう。
>>576
リファレンスに 引数の個数が静的に定まらない場合にはfuncallは向かない って
書いてあったから、ろくに調べず避けてたんよ。
確かにfuncall使うとうまくいくなあ。
向かないっていうのはどういう状況なのかな…

578 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/26(水) 01:05:43 ID:P5nzC0k10]
>>577
> リファレンスに 引数の個数が静的に定まらない場合にはfuncallは向かない って
マクロ展開すれば分かるけど定まってるじゃん。

(macroexpand
'(けいさん 1 とね 3 とね 4 とね -5 をね たすの))
(progn (setq とね 0 をね 0 たすの #'たす) (apply たすの をね -5 とね 4 とね 3 とね 1))

> 向かないっていうのはどういう状況なのかな…
「けいさん」をマクロじゃなくて関数で書いたときとか。

579 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/26(水) 20:06:58 ID:74fzE1emO]
>>578
あああマクロ展開で'たす'にばらした引数のリスト渡せるんだから
apply使う必要ないってことか。丁寧にありがとう。

applyの挙動についてはOnLisp見たらわかりやすい説明があった。
頑張って読もう。

580 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/27(木) 16:20:33 ID:tHIU8V9iO]
リストの最後はぬるぽ

581 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/28(金) 03:57:52 ID:p6SwFBAV0]
翻訳
'(a . (b . (c . (d . ())))) => (a b c d)

582 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/28(金) 06:32:00 ID:crk1xY6lO]
'(a . ()) => (a)
'(b . (c . ())) => (b c)
'(a . (b c))) => (a b c)



583 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/31(月) 00:13:06 ID:dTDMqvZE0]
grepの履歴を残すことってできるんですか?
プログラムが膨大でgrepしまくるんで、同じのを何度もするのがめんどくさい…

584 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/31(月) 07:41:50 ID:mKkT1juv0]
>>583
create-new-buffer

585 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/03/31(月) 08:13:55 ID:mKkT1juv0]
>>583
それともこれかな?
(car *minibuffer-search-string-history*)

586 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/01(火) 00:17:29 ID:5B6ARg360]
最近howm-wrapで C-c , c すると
 C:/xyzzy/howm/2008/04/2008-04-01-001311.howm
 指定されたファイルが見つかりません。
とか出るようになってしまいました

新しい.howmのファイルを作ってから一ヶ月以上経つので
何が原因か今となってはさっぱり分からない状態です
どなたかアドバイスいただけませんでしょうか、お願いします

587 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/01(火) 00:23:52 ID:upgEc9WvP]
ネットインストーラーからmerge-tagsっていう拡張lisp落としたけど、
解凍できない。。
何度かDLしなおしたんだけど、UPファイルが壊れてるのかな?

588 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/01(火) 00:39:05 ID:kYyzZhjf0]
>>586
初期状態に戻して動くか確認する。

toggle-trace-on-errorしてみる。

あやしげなところをコメントにしたりmsgboxを入れてみたりする。

こんな感じで。

>>587
そうみたいだね。

589 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/01(火) 01:45:14 ID:D2UfspsE0]
たしかにgrepの結果を複数表示できたら楽ですよね。grep1,grep2,grep3・・・みたいに

590 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/01(火) 02:18:51 ID:b4lchcaI0]
>>589
ttp://www.bookshelf.jp/2ch/software/1116710824.html#164

591 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/01(火) 07:39:16 ID:uhE8zRGd0]
xyzzy で拡張正規表現は使えるんでしょうか?
外部DLLを読み込めば使えるとか
そういうレスを過去スレで見た気がするんですが
いつ頃だったか思い出せないんですよ…。

592 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/01(火) 07:49:13 ID:kYyzZhjf0]
>>591
せめてこのスレくらい見ようよ。



593 名前:591 mailto:sage [2008/04/01(火) 09:16:47 ID:uhE8zRGd0]
>>592
このスレ自体で探すのを忘れていました…。
>>192にありますね。 ありがとうございました

594 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/01(火) 10:00:10 ID:kYyzZhjf0]
>>593
ついでにいうとNetInstallerからも導入できるみたいだね。

595 名前:586 mailto:sage [2008/04/01(火) 12:37:30 ID:5B6ARg360]
>>588
ありがとうございます
空いている時間に少しずつやってみます


596 名前:586 mailto:sage [2008/04/01(火) 22:36:24 ID:5B6ARg360]
原因が分かりました
wikiの「tips/文字コード判定が外れる(ので判定を強化)」を
.xyzzyに書いたのが原因だったようです
じゃあどうすれば良いのかというのは私には分からないので
取り合えず消してしまいました、どうもすみません<<作者の方

597 名前:583 mailto:sage [2008/04/03(木) 23:46:43 ID:MtOD4Gz30]
>>590
ありがとうございます!
仕事がはかどりそうです

598 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/04(金) 17:02:12 ID:5pdAjW470]
電信八号というメーラの、メール原稿エディタに xyzzy を使用しています。
xyzzy のエディタにおいて、「メール原稿の引用行だったら文字の色を変える」には、siteinit.l にどう書けばいいのでしょうか?

行頭が '>' で始まる、という条件にマッチすればいいと思います。

電信八号から xyzzy を起動するとき、必ず *.TXT というファイルを開くので、xyzzy は text-mode になっています。

599 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/04(金) 21:00:09 ID:52xMPtYg0]
text-mode ってことは den8view は使ってないの?

600 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/04(金) 21:07:57 ID:LtRzmFFC0]
>>598
正規表現キーワードでぐぐれ

601 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/04(金) 21:12:43 ID:5pdAjW470]
>>599
レスどうもありがとうございます。
den8view という単語を始めて知りました。

これのことではなくて、
decatur.hp.infoseek.co.jp/den8view.htm

den8view.l のことでしょうか?

そういえば同僚が、電信八号をアイコン化して見えなくしておいて、
xyzzy をたちあげて Emacs の mew みたいな使い方をしてたな・・・・
始めてみたときびっくりした記憶があるが、これのことでしょうか?

自分は den8view は使っていません。ビューワは 電ラブをつかっています。

主にメールを返信するときに、バッファ内に引用した元メールが挿入されますが、
このときに、行頭が > で始まっていたら、別の色になっていると
見やすいなと思ったしだいです。

602 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/04(金) 21:22:11 ID:hJMoEJVh0]
>>601
リファレンスでregexp-keyword-listの項目を調べれば簡単にできると思うよ。



603 名前:601 mailto:sage [2008/04/04(金) 21:36:41 ID:5pdAjW470]
できたーー!!
ぐぐって
xyzzy.s53.xrea.com/reference/wiki.cgi?p=regexp-keyword-list
www.geocities.co.jp/Technopolis-Mars/8229/xyzzy/xyzzy-color.html
をみつけて、下のほうを少しカスタマイズしたらできました。皆さんどうもありがとうございました。

にしてもxyzzy はすごいな。自分は Meadow ユーザで、電八が Meadow の終了を検知できないので、
ここだけ xyzzy を使っているのですが(siteinit.l も、いくつかのキーバインドを設定しただけ)

ohkubo.s53.xrea.com/xyzzy/
こことかみるとすごいですね。アウトライン表示とか、画面半分にブラウザを表示してプレビューは、
Meadow や Emacs より簡単そうですね。
HTML はこれから Meadow じゃなくて xyzzy で書こうかなぁ。

xyzzy、もっと勉強してみよう。

Meadow(Emacs) と xyzzy は、もはや別ですね。


604 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/04(金) 21:37:05 ID:52xMPtYg0]
>>601
den8view.l のことでした。
たしかに、編集のみの用途なら必要ないですね。
色付けは regexp-keyword-list でいいと思います。

605 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/04(金) 22:03:17 ID:52xMPtYg0]
もうできたみたいだけど空気読まずに自分が書いてみたのを晒してみる。

(add-hook '*text-mode-hook*
          #'(lambda ()
              (let ((color-list '((:color 1 0 :line)
                                  (:color 2 0 :line)
                                  (:color 3 0 :line)
                                  (:keyword 0 :line)))
                    (re-format "^\\([ \t ]*[|>>]\\|^[A-Za-z0-9]+>\\)\\{~D\\}")
                    rk-list)
                (make-local-variable 'regexp-keyword-list)
                (setq regexp-keyword-list
                      (compile-regexp-keyword-list
                       (dotimes (i (length color-list) rk-list)
                         (push (list (format nil re-format (1+ i))
                                     t (nth i color-list) nil)
                               rk-list)))))))

606 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/05(土) 00:52:21 ID:08I5Nynh0]
Lispのコードを見て思ったんですが、コードを見るとインデントとか独特的ですね。
また、コメントもあまりないようですが、みなさんすごいですね。

私はC言語しか知らない組込み野郎ですが、そろそろC言語以外の言語を学ぼうかと思っています。

607 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/05(土) 02:01:16 ID:etgNhTEdO]
数値を英語に変換する関数書いてて、2^64あたりまで対応しとけば問題ないかなと思ったのに
1000!とか計算してみたらフツーにでてきてビックリした。
centillion(170!あたり?)以降の英語がわからん。

608 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/05(土) 02:07:40 ID:ReCcMRhK0]
西洋の命数法
ja.wikipedia.org/wiki/%E8%A5%BF%E6%B4%8B%E3%81%AE%E5%91%BD%E6%95%B0%E6%B3%95#long_scale.E3.81.A8short_scale.E3.81.AE.E6.AF.94.E8.BC.83
en.wikipedia.org/wiki/Names_of_large_numbers

609 名前:469 mailto:sage [2008/04/05(土) 02:14:31 ID:UJHrdSmA0]
>>607
もしかしてformat?

610 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/06(日) 17:08:01 ID:rp76UFGS0]
アクティブなバッファのタブを目立たせる方法ないですかね。
背景色変えるとか太字にするとかなんか。

611 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/06(日) 17:16:39 ID:MfVz2vBi0]
>>610
共通設定

612 名前:名無しさん@お腹いっぱい。 [2008/04/08(火) 01:43:08 ID:ZXKPBcL/0]
xyzzy lispのデバックってどうやるんでしょ。
hello worldも分からない身ですが、どなたか教えてください。



613 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/08(火) 01:54:38 ID:L4xuFq7s0]
自分はprintfデバッグばかりしてるけど、本当は、こんなのとかもあるよ

xyzzy -- デバッグの方法
www.netlaputa.ne.jp/~henmi/lisp/xyzzy/editor/971024.html

hello world分からないならとりあえずデバグより文法でも
1時間くらいは調べたら色々分かるかも。


614 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/08(火) 08:18:39 ID:NUKP9Tm+0]
>>611
共通設定に…ないですよね

615 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/08(火) 13:32:14 ID:RGepJNtS0]
>>614
共通設定⇒フォント⇒表示色
で選択バッファ〜を変えれば変わるだろ…
もうちょい探したほうがいいよ

616 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/09(水) 08:18:27 ID:nhljG/Rj0]
ありがとうございます。フォント自体の設定…盲点でした。

617 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/12(土) 12:23:28 ID:5ZftulEM0]
>>613
それはtoggle-trace-on-errorと同じじゃないかな?
エラーが発生したときはM-x toggle-trace-on-errorで内容を確認したりとかね。(toggle-trace-on-erroは
バイトコンパイルしていると結果が見にくいのでeval-bufferでバッファを評価してからやるとか。)
それと適当に
(defun foo ()
(interactive)
(dotimes (x 2)
(if (zerop x)
(msgbox "~A" x)
(msgbox "~A" x))))
とかして関数の途中に(msgbox "~A"変数名)などとすれば変数の値を調べることができる。
printfというのはよく分からないが関数の途中に
(save-excursion
(set-buffer "*scratch*")
(insert (format nil "~A" 変数名)))
とでもしておけば変数の値を*scratch*バッファで確認できる。
また、(step (foo))とすればステップ実行をすることもできる。(ただ途中にfletがあるとエラーになる。)
こちら(white.s151.xrea.com/wiki/index.php?memo%2Fxyzzy%2Ffor%20debug)のstepとかmsgboxを
利用したりとかね。
watch.l(www1.odn.ne.jp/ymtz/watch.html)とか、profile.l(homepage3.nifty.com/~ko-ji/#profile
とか、こちら(www.geocities.jp/kiaswebsite/xyzzy/encap.html)とかもある。
特にwatch.lはグローバル変数の値を確認するのに重宝している。
デバッグ用のxyzzyをビルドするという方法(raido.sakura.ne.jp/southly/xyzzy/step.html)もあるらしい。
自分としてはlispディレクトリや拡張lispなどを参考にしてとにかく書いてみるのがいいと思うけどね。

618 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/12(土) 12:51:51 ID:5ZftulEM0]
後、(message "~A" 変数名)なども使えるな。
あやしげなところにmsgboxを置いておいてブレークポイント代わりに使うのが一般的なんじゃないかな?(多分)

619 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/12(土) 14:44:41 ID:xG9r0ZiP0]
>>617-619
それをprintfデバッグと言うんじゃないだろうか

620 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/12(土) 17:45:04 ID:usJfocSY0]
そだねw

621 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/12(土) 17:53:43 ID:5ZftulEM0]
>>619-620
xyzzyにはデバッガが無いのだからC言語とは状況が違うのでは?

一般人にはprintfデバッグ=>>617-618と受け止めるのは無理があるんじゃないですかね?

励まし合うスレということで現状でのデバッグの方法をまとめてみたつもりなんだけどね。

622 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/12(土) 18:24:57 ID:usJfocSY0]
すまん、気に障ったのなら申し訳ない。茶化すつもりはなかったんだ。
ただ、いわゆる「printfデバッグ」も、Cでデバッガが無い時に使用する方法なので状況は似ていると思う。



623 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/12(土) 22:12:46 ID:aU6Y7jvC0]
なんだかんだで理解しやすいからね。printfデバッグ。

624 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/13(日) 05:29:27 ID:apc+fhlt0]
>>621
じゃあ、あえて言おうGJであると。



まあ、xyzzylispみたいなインタプリタだと逐次調べれるので
常にデバッガ使いながら作ってるような状態というか
ちょっとした改造には大して気にしなくても言いと思うけどね

この辺とか自分は使った事がないや
watch.l www1.odn.ne.jp/ymtz/watch.html
profile.l homepage3.nifty.com/~ko-ji/#profile
簡単プロファイラ www.geocities.jp/kiaswebsite/xyzzy/encap.html

625 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/13(日) 06:49:08 ID:HCn+Jn9c0]
>>624
watch.lはグローバル変数などの値を確認するのに便利だよ。
Esc Escとしてミニバッファに変数を入力してEnterが面倒だったので。
自分としてはこんなのを書いて右クリックから確認できるようにしている(ldoc.lが必要)
;; 変数の値を表示
(defun get-variable-value ()
(interactive)
(let (from to name sym)
(save-excursion
(skip-syntax-spec-forward "w_.")
(setq to (point))
(skip-syntax-spec-backward "w_.")
(setq from (point))
(setq name (buffer-substring from to)))
(and (setq sym (ed::ldoc-find-symbol name))
(boundp sym)
(popup-string (format nil "~S" (symbol-value sym)) (point)))))
(defun add-menu-gvv ()
(let ((menu *app-popup-menu*))
(add-menu-item menu nil "変数の値を表示(&H)" 'get-variable-value)))
(add-hook '*init-app-menus-hook* 'add-menu-gvv)
後lpp.lを導入して
(define-key ed::*lisp-mode-map* '(#\C-c #\LFD) 'pprint-eval-print-last-sexp)
(define-key ed::*lisp-interaction-mode-map* #\LFD 'pprint-eval-print-last-sexp)
として*scratch*バッファ以外でもC-c C-jで関数・変数の評価ができるようにしている。
lpp.lがなければ
(define-key ed::*lisp-mode-map* '(#\C-c #\LFD) 'eval-print-last-sexp)
とか。

626 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/13(日) 07:04:33 ID:HCn+Jn9c0]
lispを書くにはldoc、タグジャンプ、リファレンス(reference.chmやinfo-modoki-modeなど)を使うと便利だと思う。
;; lisp-mode でパッケージの接頭辞がついていてもタグジャンプできるようにする
(defun lisp-tags-find-target ()
(let* ((opoint (point))
(name (if (pre-selection-p)
(buffer-substring (selection-mark)
(selection-point))
(let ((name-1 (buffer-substring (progn
(skip-syntax-spec-forward "w_")
(point))
(progn
(skip-syntax-spec-backward "w_")
(point)))))
(if (string-match ":+" name-1)
(substring name-1 (match-end 0))
name-1))))
(functionp (or (and (not (looking-back "#("))
(looking-back "("))
(looking-back "#'"))))
(goto-char opoint)
(values nil name functionp)))
みたいなのを書いてみたりしている。
このへんはよく使うから結構いろいろ拡張を入れたり適当なものを書いたりしている。

627 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/13(日) 07:26:52 ID:HCn+Jn9c0]
>>626のlisp-tags-find-targetは(in-package "editor")と(in-package "user")で挟まないと動かないかもしれない。

628 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/14(月) 14:41:28 ID:T+XDpH0u0]
remember.l がとても便利っぽいのですが、新しいメモを .notesの先頭に
付け加えるようにするにはどうすればいいでしょうか?

629 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/16(水) 13:27:05 ID:shO2krtg0]
>>628
357行目 remember-append-to-fileを
(defun remember-append-to-file ()
(let ((text (buffer-substring (point-min) (point-max)))
(desc (remember-buffer-desc)))
(remember-with-temp-buffer
(insert "\n" remember-leader-text (format-date-string remember-date-format)
" (" desc ")\n\n" text)
(if (not (bolp)) (insert "\n"))
(if (get-file-buffer remember-data-file)
(let ((remember-text (buffer-substring (point-min) (point-max))))
(set-buffer (get-file-buffer remember-data-file))
(save-excursion
(insert remember-text)
(save-buffer)))
(progn (insert-file remember-data-file)
(write-region (point-min) (point-max) remember-data-file
nil remember-char-encoding remember-eol-code))))))

630 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/16(水) 13:32:15 ID:shO2krtg0]
>>629 最後の3行を訂正
(progn (goto-char (point-max))
(insert-file remember-data-file)
(write-region (point-min) (point-max) remember-data-file
nil remember-char-encoding remember-eol-code))))))

要するに
.notesを開いてる時は(goto-char (point-max))を取るだけ
開いてない時は.notesをバッファの最後に読み込む

631 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/16(水) 14:40:32 ID:laNZvvnd0]
拡張lisp/javascript-mode - XyzzyWiki
xyzzy.s53.xrea.com/wiki/index.php?%B3%C8%C4%A5lisp%2Fjavascript-mode

こちらのjavascript-mode ver 2.1を使わせていただいているのですが、
javascript-mode に関してはデフォルトの設定で使っています。

通常は、タブ文字使用、タブ=4文字で設定しているのですが、
困ったことに特定の時にインデントが変則的になります。
forの後に { を置かずにエンターすると、スペースが2つ入ってしまいます。

>---for (var i=0,ほげほげほげ;i++) ←ここでエンター
>---__if (
// ↑ここにスペースが2つ入る

>---for (var i=0,ほげほげほげ;i++) {←ここでエンター
>--->---if (
// ↑これは大丈夫

>--- はタブです。

javascript-modeはデフォルトのままなのですが、Eval:で確認したところ、
*javascript-indent-level*は4
*javascript-indent-tabs-mode*はt
でした。

どういったことが考えられますでしょうか?

632 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/16(水) 14:58:10 ID:laNZvvnd0]
ソース読んだらワカタ!
c-indent-levelは設定されているけど、c-continued-statement-offsetは設定されてないのか。
javascript-mode.lを修正したら、うまくうごきました

以下パッチ

--- javascript-mode.org.l 2005-03-02 19:48:08.843750000 +0900
+++ javascript-mode.l 2008-04-16 14:46:25.540250000 +0900
@@ -233,6 +233,7 @@
   (setq mode-specific-indent-command 'javascript-indent-line)

   (make-local-variable 'c-indent-level)

   (setq c-indent-level *javascript-indent-level*)

+  (setq c-continued-statement-offset *javascript-indent-level*)

   (make-local-variable 'paragraph-start)

   (setq paragraph-start "^$\\|\f")

   (make-local-variable 'paragraph-separate)



633 名前:628 mailto:sage [2008/04/17(木) 08:51:42 ID:1QNpVGGR0]
>>629
うわっ、ありがとうございます! 自分が思っていた通りの動作ができました。
始めは暗号解読に似た気持ちでソースを読んでいたのですが、簡潔な解説も
していただいたおかげで、この関数の仕組みもだんだん理解できてきました。
これをきっかけにもう少し勉強してみようと思います、ありがとうございました。

634 名前:名無しさん@お腹いっぱい。 [2008/04/19(土) 03:44:57 ID:47RlQGVZ0]
17日頃から2ch-modeの板一覧が更新されなくなっちゃいました。
2ch::*menu-url* は menu.2ch.net/bbsmenu.html になってるんだけど、
menu-reload をしても304で更新なしになってしまう。
例えば、デジカメ板は hobby11サーバーになっているのに、自分のとこでは10のまま。
話題が出ないということは、自分だけの問題とは思うんだけど、
最近xyzzy関係のファイルをいじった覚えもなく、なぜ突然おかしくなったのか…
なにかわかる方がいればお願いします。

635 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/19(土) 06:45:32 ID:NMClkXhn0]
鯖移転があったころでない?
新規リストをどうにかこうにかすればなんとかなる気がす

636 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/19(土) 12:19:31 ID:Q/QdAJEx0]
現状 bbsmenu.html の内容が変わっても例えば hobby10→hobby11 みたいにサイズが変わらない場合、更新ができない。
otherbbs を使うか、

(defun menu-get ()
         :
    (http-get *menu-url* *menu-file* t)))

と修正すればよいと思われる。
otherbbs では http-get 内を修正してしまっているんですが、こちらの方が望ましいと思うので、
こちらもこのように修正しようと思います。

637 名前:名無しさん@お腹いっぱい。 [2008/04/19(土) 15:35:23 ID:4YG7EuY70]
なぜか今更新試したら余裕でできました。
635も636もよくわかんないんだけど、次につまずくまでに勉強しときます。
ありがとうござました。
しかしほかのみんなはできてたっぽいのが不思議

638 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/19(土) 21:37:10 ID:fuf1O7aL0]
2ch-modeで、追っかけスレが落ちてるかどうかを調べる方法ないもんですかね。
今は、落ちてたらエラーが出る動作で確認するためにgを押してるんですけど、
これだといちいち板のスレ一覧開いちゃうんでちょっと手間で…。

639 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/19(土) 21:58:13 ID:T/3BRiYu0]
わたしもhobby11が取れなくて苦労しました。結局、
\xyzzy\.2ch\bbsmenu.txt
\xyzzy\.2ch\bbsmenu.html
このファイルを削除して板リスト再読み込みかけたらOKでした。

640 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/20(日) 00:33:28 ID:eeZnQX7q0]
>>637
otherbbs は 2ch-mode でしたらばやまちBBSのスレが見られるようにする拡張です。
スレを読む、スレに書き込む、スレ一覧を表示する、スレへのリンクでジャンプする…位しかできませんが…。
otherbbs を入れると一応 bbsmenu.html のサイズが変わらない更新も検知できるようになっています。…はず…

xyzzy.s53.xrea.com/wiki/?cmd=read&page=tips%2F2ch-mode%20%C2%BEBBS%B3%C8%C4%A5

641 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/21(月) 00:25:05 ID:cE2W2rGRP]
"ゔ"が表示及び保存ができない。。
表示できなくてもいいんだけど、保存するときヴで保存されるのは困る。
これはさすがに本体に手を入れないとだめかな。

642 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/21(月) 07:25:03 ID:9lGhvKv50]
ほんとだ

(write-char (code-char 4389))
これで表示して保存は別に考えるとか・・・面倒すぎるな



643 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/29(火) 15:32:48 ID:s9/u6gQj0]
つい最近、補完なんてあるのを知った亀歴5ねんせい

マルチモニタじゃぜんぜん使えねーじゃん‥サミシス

644 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/29(火) 18:18:38 ID:x75l4sfh0]
>641-642
642の方法で表示・保存(UTF-16LE)はできた。
ただし読み込みの時に化ける。


645 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/29(火) 21:17:29 ID:V5Iqxf1m0]
xyzzyのUNICODEってけっこう不完全だよなあ・・・

アラビア文字も対応してないし。いやしてる方がマレかw
まあ、アラビア圏の知り合いができて気づいただけだがww

646 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/29(火) 21:20:59 ID:ac1QYf3A0]
何がおもしろいんだか。

647 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/30(水) 04:02:27 ID:K0pLoLYH0]
上のほうにデバッグの話出てたけどedebugみたいなの作るのって無理?
edebug.elは4530行あるので余裕で挫折

648 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/01(木) 21:22:22 ID:ygncIwSA0]
アラビア文字は左右逆だから取り込み辛そうだけど
なんでタイ文字って対応してないんだろ?
何か難しいことあるのかな?

649 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/01(木) 21:45:18 ID:Nxnjdy4F0]
要望が無かったからかと

650 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/01(木) 22:47:57 ID:bCVjCXss0]
対応してなくても一生困ることないよ

651 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/02(金) 00:30:46 ID:kgoEooKl0]
困る人は困る

652 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/02(金) 01:39:57 ID:vWfJyFv20]
困らない人は困らない



653 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/05/02(金) 01:50:53 ID:0TjnqGff0]
(if (困る?) 困る)
(if (困らない?) 困らない)

654 名前:名無しさん@お腹いっぱい。 [2008/05/02(金) 02:01:26 ID:VQGNhll30]
>>648
タイ語は左右どころか上下に文章が伸びる訳だが。
完璧に実装するのはアラビア語よりもよっぽど難しいと思うぞ。






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

前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