xyzzy Part15

このエントリーをはてなブックマークに追加
1ミスターエックスワイジー
亀井さん作成のエディタxyzzyのスレです。
過去ログや関連サイトなどは>>2-5あたり。

・謎のぺぇじ -- 作者の亀井氏のページ
http://www.jsdlab.co.jp/~kamei/

・XyzzyWiki
http://xyzzy.s53.xrea.com/wiki/?FrontPage
2ミスターエックスワイジー:2007/04/04(水) 10:16:31 ID:sEG9xOlk
・XyzzyWiki -- NetInstaller/配布パッケージ一覧
http://xyzzy.s53.xrea.com/wiki/?NetInstaller%2F%C7%DB%C9%DB%A5%D1%A5%C3%A5%B1%A1%BC%A5%B8%B0%EC%CD%F7

・HIE no xyzzy -- 日江氏による QandA, Reference, Extended xyzzy lisp library
http://hie.s64.xrea.com/xyzzy/

・xyzzy Lisp Programming -- M.hiroi氏によるlispでプログラミングを楽しもうのページ
http://www.geocities.jp/m_hiroi/xyzzy_lisp.html

・Junk Scripts -- 2ch-mode,NetInstaller,KaMailV3の作者服部氏のページ
http://www7a.biglobe.ne.jp/~hat/

silog -- ac-mode,snippet,complete+の作者シロ氏のページ
http://white.s151.xrea.com/wiki/
3ミスターエックスワイジー:2007/04/04(水) 10:17:47 ID:sEG9xOlk
4名無し~3.EXE:2007/04/04(水) 10:51:12 ID:WYffMUv+
おつ
5名無し~3.EXE:2007/04/04(水) 11:19:21 ID:+AWf65Lc
6名無し~3.EXE:2007/04/04(水) 16:42:15 ID:cGeZ4Qhy
新スレおめ
7名無し~3.EXE:2007/04/04(水) 21:36:27 ID:WYffMUv+
xyzzyを使ってペペロンチーノを作る方法を考えようか
8名無し~3.EXE:2007/04/04(水) 21:53:37 ID:Yvtt9jVY
料理好きな友人にメールを送るlispを書けばいいんじゃないか?
9名無し~3.EXE:2007/04/04(水) 22:37:16 ID:kY9itS6H
>7
plaggerにパイプで渡せばいいと思うよ。
10名無し~3.EXE:2007/04/08(日) 10:49:15 ID:xCGwGEP2
11名無し~3.EXE:2007/04/08(日) 22:01:42 ID:eEIOisTY
指定した拡張子だけを拾ってこようと思って下のように書いてみたのですが
エラーが出てしまいます。どこが悪いのでしょうか。教えてください。

(defun my-directory (dir &rest extension &key depth)
(let ((l nil)
(extension-regex (format t "\\.\\(~A~{\\|~A~}\\)$" (car extension) (cdr extension))))
(directory dir :absolute t :file-only t :recursive t
:depth depth
:callback #'(lambda (x) (when (string-matchp extension-regex x)
(setq l (cons x l)))))
l))

(my-directory "E:/" "bat" "exe" :depth 2)
-> 不正なデータ型です: "bat": symbol
12名無し~3.EXE:2007/04/08(日) 22:08:48 ID:xifhYpGv
取りあえず、ワイルドカード使えばいいんじゃないだろうか。
13名無し~3.EXE:2007/04/08(日) 22:18:08 ID:eEIOisTY
>>12
ごもっとも。
ただ、複数の拡張子を指定したいときなんかに使いたいなあと思ってたので。
もしかしたらワイルドカードでもできるんかな。

それに今はどこが間違っているのかのほうが気になる。。。
14名無し~3.EXE:2007/04/08(日) 22:26:49 ID:1Zsc12Nk
restとkeyパラメタの併用を
勘違いしているとしか思えない。
15名無し~3.EXE:2007/04/08(日) 22:29:02 ID:anKkhNhY
>>11
http://www.lisp.org/HyperSpec/Body/sec_3-4-1-4.html
It is permitted to specify both &rest and &key. In this case the
remaining arguments are used for both purposes; that is, all remaining
arguments are made into a list for the rest parameter, and are also
processed for the &key parameters.
16名無し~3.EXE:2007/04/08(日) 22:30:20 ID:eEIOisTY
>>14
ありがとう。
restとkeyって併用できるんですよね?
自分でもそこかなあと思ったりしたのですが、調べきれませんでした。
もしよかったら、解説のあるところなんかを教えていただければありがたいです。
17名無し~3.EXE:2007/04/08(日) 22:31:17 ID:eEIOisTY
>>15
さっそくありがとうございます!
見てみます。
18名無し~3.EXE:2007/04/08(日) 22:37:51 ID:anKkhNhY
ところで format の第一引数は nil なのではないかと。
あとこういうときは ~^ 使うと短く書けるよ。
(format nil "\\.\\(~{~A~^\\|~}\\)$" extension)
19名無し~3.EXE:2007/04/08(日) 22:49:00 ID:eEIOisTY
>>18
たびたびありがとうございます。
tで書いたのは試行錯誤中の名残です。
~^を使うやり方は知りませんでした。
とっても参考になります。

ばかなんで教えてもらったページは
まだ解読中で理解できてません。。。
20名無し~3.EXE:2007/04/09(月) 00:49:19 ID:I7BaLIo9
せっかく手ほどきいただいたのによくわかりません(泣
(defun hoge (foo &rest rest &key key1 key2)
(list foo rest))

(hoge "foo" :key1 'bar :key2 'baz)
-> ("foo" (:key1 bar :key2 baz))

(hoge "foo" "boo" :key1 'bar :key2 'baz)
-> 不正なデータ型です: "boo": symbol

気長に試行錯誤してみます。
21名無し~3.EXE:2007/04/09(月) 01:08:14 ID:W5ebgQFw
ちなみにワイルドカード場合
(directory "~/lisp" :wild '("*.l" "*.txt"))
22名無し~3.EXE:2007/04/09(月) 01:19:39 ID:1etsGcv3
(defun my-directory (dir &optional extension &key depth)
(directory dir :absolute t :file-only t :recursive t :depth depth
:wild extension))

(my-directory "c:" '("*.txt" "*.html"))

これはリストで渡す場合だけど、&restで使うときも似たようなもんだと思う。
23名無し~3.EXE:2007/04/09(月) 01:45:18 ID:I7BaLIo9
>>21 22
いろいろどうもです。
ワイルドカードを使って複数指定する方法、はじめて知りました。
ありがとうございます。
所期の目的はワイルドカードで達成できそうです。

それにしても&restで渡したいー
目的離れてもう興味だけです(w

もうちょい試行錯誤してみます。
24名無し~3.EXE:2007/04/09(月) 08:44:32 ID:3iHwIBmK
俺もわかってるわけじゃないが、ちょっと試した感じだと、
restとkeyを併用すればkeyのリストをrestで表せるってだけでないの。
だから、>>14
2511:2007/04/09(月) 23:16:31 ID:I7BaLIo9
>>24
一晩寝て、家に帰って、あれこれやってみて私もそういう感じで納得しました。
いろいろ教えてくれたみなさんありがとう。

(defun hoge (foo &rest rest &key key1 key2)
(list foo rest key1 key2))

(hoge "foo" :key1 1 :key2 2 :key1 3)
-> ("foo" (:key1 1 :key2 2 :key1 3) 1 2)
26名無し~3.EXE:2007/04/10(火) 11:55:10 ID:z4TRYsQq
なんで開発止まってるの?開発終わった?
27名無し~3.EXE:2007/04/10(火) 12:20:51 ID:BPav+Euc
特に致命的なバグとかないし、lispで粗方の事できるから本体に手を加える必要が無いだけかと
28名無し~3.EXE:2007/04/10(火) 12:27:05 ID:bI3X9bL9
>>26
終った終わった。秀丸を買いなさい。
29名無し~3.EXE:2007/04/10(火) 13:07:25 ID:VzDPN7VD
更新していないということは
むしろ頻繁にバージョンアップしているものより
安定しているということだろ。
30名無し~3.EXE:2007/04/10(火) 19:51:53 ID:OrXU4FHq
まぁそれは建前で私生活が忙しいとか情熱が冷めたってのが本当のところだろうね
バージョンが止まっただけじゃなくて表に出てこなくなっているから
31名無し~3.EXE:2007/04/10(火) 20:14:37 ID:4c93Zx/B
因果関係が逆の可能性もあるけどね。
32名無し~3.EXE:2007/04/10(火) 21:09:40 ID:bI3X9bL9
sakuraのスレとかでも訳分からない事を言っている奴が居たが
Source公開したソフトに作者がとか言うのか理解しがたい。
根本的な部分で頭悪いんじゃね。
33名無し~3.EXE:2007/04/11(水) 00:24:20 ID:Im7AB2qe
オープンにしてももう後はみんなで勝手にやってねって場合とか
自分で開発は進めるけどこのソース利用して派生作ってもいいよって場合とかいろいろあると思うんだけど
34名無し~3.EXE:2007/04/11(水) 00:39:49 ID:WxkkHhJV
実際数年とかたってるので亀井氏もいじるにいじれねえと思うぞ。相当計画練らないと。
やる気がでても作り直しになるだろう。そもそもVC4.2なんてもういじってねえだろw
とりあえず誰かがうまくコード整理してコンポーネント化してくれれば、
某ローグ系ゲームとかみたいに改造しやすくなるだろうが、
相当いじりにくいソースなんだろうな。
俺も新関数の追加くらいならできるんだがw、Lispインタプリタ部との分離とかGUI部との分離とかは無理だ
35名無し~3.EXE:2007/04/11(水) 01:12:01 ID:kWAXj4CW
まずはVC8でビルドできるようにしてからだな。
案外そのままビルドできたりしそうだが。
36名無し~3.EXE:2007/04/11(水) 03:00:45 ID:Im7AB2qe
xyzzyはソース読むとかなりセンスいいから弄りにくいなぁ
同レベルのコード書く自信がない
sakuraだったらいくらでも手を入れたくなるんだがw
37名無し~3.EXE:2007/04/11(水) 04:50:57 ID:IWhFgWlq
wikiのアンケート見ると他のエディタと併用してる人って多いんだね。
俺はものぐさだから一つに絞ってるけど、みんな使いわけてるんだなー
38名無し~3.EXE:2007/04/11(水) 09:33:34 ID:M290uMXv
>>36 きっと、それは果てしなく大きいね。
改造しても恥ずかしいので自分用にしているとか。

コンパイルの方法はWiki見れば書いてあるけどな。


39名無し~3.EXE:2007/04/11(水) 22:42:25 ID:4v0kEdvd
wikiみてもコンパイルの方法が分からんよ><
40名無し~3.EXE:2007/04/12(木) 22:46:17 ID:5YBFKFDN
おれはxyzzyを使って次のエディタを書くっていう亀井さんのむか〜しの発言を信じて
ひそかに期待している
41名無し~3.EXE:2007/04/13(金) 19:04:45 ID:oSN7ODDN
みんなで xyzzy のソースをハックして wiki にまとめながらオープンソースの開発みたいにして
進めていくのはどう?少しずつ形にしていけば次にどうすればいいのかわかるような気がしました。
42名無し~3.EXE:2007/04/13(金) 20:23:08 ID:nG/3zaP4
何がしたいんだwwwwwww
4341:2007/04/13(金) 20:59:36 ID:oSN7ODDN
xyzzy のソースを読むとき、ひらメソッドを使ってみるのはどうですか?

■ひらメソッドとは
ttp://d.hatena.ne.jp/keyword/%A4%D2%A4%E9%A5%E1%A5%BD%A5%C3%A5%C9

興味あるので書き込んでしまいました。スレ違いだったらごめんなさい(´ω`)
44名無し~3.EXE:2007/04/13(金) 21:04:35 ID:g1T6KpLW
言い出しっぺの法則だな

まぁ下手な拡張したらボコボコにされるはずw
ソースに手を入れるってのはそうしないとどうしようもない問題を解決するだからなぁ
またその修正により出来る事の幅がかなり広がらないとマズい
45名無し~3.EXE:2007/04/13(金) 21:54:23 ID:KBHZFUXG
マズいとは思わないけど、
その修正によって嬉しい人がいて、
悲しい人がいなければ良いんでない。

ひらメソッドは面白そうだけど、
関数を読んで得た知識をどれだけ書くかは人によるだろうから、
C++を読めるレベルに依存するんじゃ?
4641:2007/04/13(金) 22:31:46 ID:oSN7ODDN
>>44
大変そうですが何とかしてみます。勉強することばかりなので時間かかると思いますが
ひらメソッドで初めてみます。

>>45
C++をきちんと読める自信はないですが、C++の本とソースを読みながら続けてみます。
修正しつつxyzzyをずっと使いたいですね(´ω`)
47名無し~3.EXE:2007/04/16(月) 15:34:25 ID:biFdI/fn
なんかよくみたら使ってるバージョンが0.2.2.233のまんまで2003年版だったよ
いつのまに2005年版が!

いまだにlispはよく理解してないんだけど、部屋かたづけてたらAI-1000が出てきた。
48名無し~3.EXE:2007/04/18(水) 23:36:29 ID:A41kjOpG
>>43
頑張ってくれ。
個人的には希望は余りないけど。
文字の非表示だけ欲しい。
49名無し~3.EXE:2007/04/19(木) 01:33:38 ID:2fuVdEYv
50名無し~3.EXE:2007/04/19(木) 02:28:09 ID:2UXrHLnI
xyzzyでタイ語がサポートされないのは
何かわけがあるんですか?
アラビア語は左右逆なので何か色々とめんどくさそうですが
タイ語は素人考えでは特に特別なところも無いと思うんですが
51名無し~3.EXE:2007/04/19(木) 03:24:24 ID:AWTam9ll
サポートされていないの?それ以前に
タイ語とか確認している人いるんだろうか。
52名無し~3.EXE:2007/04/19(木) 03:27:45 ID:AWTam9ll
ネットインストーラ見れば分かるけど。
xyzzyってlisp出すらアクティブに更新作業をしている人は
そんなに多くないしな。
53名無し~3.EXE:2007/04/19(木) 04:25:07 ID:gVsavv1r
フリーでただ使う分には、導入簡単だから、
そのままとりあえず拾って、環境作って慣れてきた頃に、
Meadowに移っちゃう人が多いと思うよ。
周りのEmacs使いがそんなのばかり。
54名無し~3.EXE:2007/04/19(木) 05:52:50 ID:AWTam9ll
まあ、そういう人はxyzzy使っていたとしても多分何も作らないと思われ。
人のを使う気でいる人より、遊ぶ気でいる人じゃないとxyzzyよりEmacs
の方が当然機能が揃ってるし。
55名無し~3.EXE:2007/04/19(木) 09:42:46 ID:WztDS7re
遊ぶにしても Emacs の方が面白いしなぁ
56名無し~3.EXE:2007/04/19(木) 12:24:14 ID:Amz2cbrg
>>51
文字の形がおもしろいから
少し見てみようと試したら駄目でした。
調べたところ対応して無いようです
57名無し~3.EXE:2007/04/19(木) 12:38:09 ID:h5xXsvtT
xyzzyに貢献したいがプログラミングの経験がないです。
ソースが公開されているんだから頑張りたいですね。

ユーザー数はもう少し増えたらいいのになと。

亀井さんのやるき復活がもうなさそうな悪寒
バージョンアップしなさげじゃないですか。(汗
58名無し~3.EXE:2007/04/19(木) 14:34:50 ID:/N5jJxKn
Windows上だったら絶対xyzzyのほうがいいと思うおいらが来ましたよ。
日本語ドキュメントも多いしリファレンスもしっかりしてるし
これ使いこなせずMeadowに行ってもUNIX板のEmacsスレの
変なコテみたいになるだけだと思われ。
以前みたくEmacs自体が「憧れの多機能エディタ」とは見られなくなってるんだから
xyzzyも新規ユーザーは減るのが必然。
Linux厨みたいに「普及のために」とかキモい討論始めたら逆効果なんで
自然にやってきゃいい。
59名無し~3.EXE:2007/04/19(木) 16:00:23 ID:5ixszz+b
xyzzy と Emacs (Meadow) の両刀使いも結構多い気がするけどね。
オレはこんな感じで使いわけている (基本的にはどっちでも
同じことできるようにしているけど)。

xyzzy : html, css, csv, 2ch
Meadow : howm, TeX, txt, www, mail
60名無し~3.EXE:2007/04/19(木) 22:30:29 ID:2pcfs8Us
xyzzy の方が気の利いた Lisp 書いてくれる人が多い。
61名無し~3.EXE:2007/04/20(金) 00:13:59 ID:Rxxu/P9H
俺は両刀使いかな。
Windows(会社)上ではxyzzy
Linux(自宅)上ではEmacs

xyzzyの方が動作とかキーバインド的には好きだ。
日本語のリファレンスが簡単に見られるのもいい。
62名無し~3.EXE:2007/04/20(金) 00:23:29 ID:QXfUZWTa
winで使うならxyzzyのほうが癖が小さくていいなと思う
63名無し~3.EXE:2007/04/20(金) 09:57:48 ID:pih8ReNf
Meadowは難しすぎてわからないのでxyzzy使ってる
64名無し~3.EXE:2007/04/20(金) 10:08:02 ID:Xikl4P7m
Meadow は昔使ったときに重かったから使わなくなったな・・・
まぁ xyzzy も lisp が分からなくて三度ほど捨てたことがあるけどw
65名無し~3.EXE:2007/04/20(金) 12:18:22 ID:vmxHyaTk
Windowsユーザーだと、コマンドプロンプト障ったこともないだろうし、Cygwinなんてもってのほかだったりするからな。
66名無し~3.EXE:2007/04/21(土) 01:19:23 ID:QKNrdS1u
hg modeってどっかにあります?
無ければ自分用に適当にでっちあげようかなぁ、と思ってますが。
67名無し~3.EXE:2007/04/21(土) 01:58:13 ID:9J2MHqZb
フォォーー?
68名無し~3.EXE:2007/04/21(土) 02:28:43 ID:Zho0ZjiG
69名無し~3.EXE:2007/04/21(土) 04:04:18 ID:9J2MHqZb
>>68
http://www.geocities.co.jp/Milano-Cat/2067/xyzzy.html#mercurial
これのことなら、なくないぞ。
70名無し~3.EXE:2007/04/21(土) 04:09:12 ID:Zho0ZjiG
>>69
あったのか。すまん
71名無し~3.EXE:2007/04/21(土) 09:36:56 ID:QKNrdS1u
>>69
おお、これこれ。サンクス。

うーん、get-buffer-file-nameのdouble quote忘れがあるなぁ。
まあ適当に直して使うかなぁ。
72名無し~3.EXE:2007/04/21(土) 11:20:16 ID:Rdsj2G3H
>>69
>EPWING辞書をxyzzyから
ずっと欲しかった物が今ココに!


…インストールがうまくいかない
Error binding path. 10
て出ちゃうんですが、みなさんの環境だと動きますか?
73名無し~3.EXE:2007/04/21(土) 12:24:41 ID:Fd1LjtKC
xyzzy上のadictで英辞郎を使うには、どうしたらいいんでしょうか?
74名無し~3.EXE:2007/04/21(土) 13:28:24 ID:BpxfaNK8
>>73
> xyzzy上のadictで英辞郎を使うには、どうしたらいいんでしょうか?
adictつーのは知らんが、辞書引きならとりあえずここ読んで。
http://xyzzy.s53.xrea.com/wiki/index.php?QuickTour%2Fetc%2Fedict
75名無し~3.EXE:2007/04/21(土) 19:20:59 ID:Qg8/CP27
>>71
なおします。
>>72
もうちょっと情報ください。EPWINGはどこに置いてあるどんな辞書でしょうか。
76名無し~3.EXE:2007/04/21(土) 19:46:22 ID:TqgVjOCr
質問スレとここを使い分けてくれ
77名無し~3.EXE:2007/04/22(日) 19:10:35 ID:vZhVrR+g
質問スレなんてないぞ。
78名無し~3.EXE:2007/04/22(日) 21:43:27 ID:3J2dEgm2
ここだろ

つ関連スレ
79名無し~3.EXE:2007/04/23(月) 01:28:48 ID:VWgsCYuz
励ますスレは別に質問スレじゃないだろ。
むしろ難しいことは聞くなスレ。
80名無し~3.EXE:2007/04/23(月) 02:04:52 ID:RdJpQ66V
>79
励ましあうスレと本スレの質問に関する使い分けについては質問者/回答者が
lispの読み書きが出来るか出来ないかであると以前誰かが書き込んでいましたね。
81名無し~3.EXE:2007/04/23(月) 07:13:41 ID:ObPKudyS
初めは「だったら良いな」的感じだったのに
次スレではあたかも決定事項のようになってたあれね

どっちでも空気が合ってる所に
自身で判断して書き込んだらいいじゃない
82名無し~3.EXE:2007/04/23(月) 07:15:50 ID:EoASIX3i
全部本スレでやるのがまちがいない。
83名無し~3.EXE:2007/04/23(月) 15:01:10 ID:nLaekqjZ
eval-after-load って無いんですか?
84名無し~3.EXE:2007/04/23(月) 21:20:09 ID:sdLveHeN
(defmacro eval-after-load(lib &rest rest)
(eval `(progn (si:*load-library ,lib)
,@rest)))
酔っぱらってま〜す
85名無し~3.EXE:2007/04/23(月) 21:51:43 ID:GfwGN+cO
>>83
ないみたい。
load と si:*load-library と mc-load-library を上書きすればできるかも。
86名無し~3.EXE:2007/04/23(月) 22:41:40 ID:GfwGN+cO
mc-load-library じゃなくて mc-load-file か。

ちょっと考えてみたけどロードしたファイルの履歴をとるのはどうしたらいいものか。
ファイル名じゃなくてモジュール名をキーにすればいいのかな。
87名無し~3.EXE:2007/04/23(月) 23:09:42 ID:EGaZ/H50
mc-load-fileもloadを呼んでるからload と si:*load-libraryの2つじゃない?
厳密にやる必要がないなら
*post-startup-hook*あたりに引っ掛けて、
そこで*modules*を見つつそれっぽくやれば十分そうだけど、どう?
88名無し~3.EXE:2007/04/24(火) 01:06:27 ID:JiDQAn/X
>>87
確かに load 呼んでるんだけど、一時バッファからストリーム作って渡してるから
呼び出し先からはファイル名がわからないような気がしたんで。
モジュール名だけ見るなら mc-load-file は触らなくていいね。
89名無し~3.EXE:2007/04/24(火) 23:53:26 ID:EpIMxnHA
書いてみた。テストはしてないけど。

(defconstant *load-original-definition* #'load)
(defconstant *si-load-library-original-definition* #'si:*load-library)
(defvar *after-load-alist* nil)
(defun process-after-load (module)
  (eval (cdr (assoc module *after-load-alist* :test 'equal)))
  t)

(defun load (filename &rest keys)
  (let ((tmp *modules*))
    (apply *load-original-definition* filename keys)
    (mapc 'process-after-load-alist (ldiff *modules* tmp))))
(defun si:*load-library (filename &rest keys)
  (let ((tmp *modules*))
    (apply *si-load-library-original-definition* filename keys)
    (mapc 'process-after-load-alist (ldiff *modules* tmp))))

(defun eval-after-load (module form)
  (if (modulep module)
      (eval form)
    (let ((x (assoc module *after-load-alist* :test 'equal)))
      (if x
          (rplacd x `(progn ,form ,(cdr x)))
        (push (cons module form) *after-load-alist*)))))
90名無し~3.EXE:2007/04/24(火) 23:56:42 ID:EpIMxnHA
早速間違い発見……

二箇所ある (mapc 'process-after-load-alist (ldiff *modules* tmp)) は
(mapc 'process-after-load (ldiff *modules* tmp)) で。
9183:2007/04/25(水) 01:56:59 ID:pS7IVTdJ
>>84
ありがとうございます。
ですが、思った挙動になりませんでした。
>>85
あれば楽かなと思っただけでしたので、素直にフックに引っ掛けることにします。
どうもありがとうございました。
9283:2007/04/25(水) 02:01:35 ID:pS7IVTdJ
2chビューアのキャッシュが更新されていなかったようで、>>86-が見えていませんでした。
ちょっと試してきます。
9383:2007/04/25(水) 02:36:04 ID:pS7IVTdJ
>>89-90 で思うような挙動になりました。
これだと初期化が簡単に書けそうです。
ありがとうございました。
94名無し~3.EXE:2007/04/28(土) 12:14:45 ID:jEYbcNxL
imaxima をxyzzyに移植できませんか?
maximaは、フリーの数式処理ソフトです。
その出力を、texとghostsciptを使ってemacs上にきれいに
表示するのがimaximaというemacs-lispなのですが、
同じことをxyzzyではできないでしょうか?

参考
imaxima
ttp://www.interq.or.jp/mars/cherry/graphics/maxima/imaxima-windows.gif
imaximaについて
ttp://www.interq.or.jp/mars/cherry/maxima/imaxima.html
95名無し~3.EXE:2007/04/28(土) 12:28:03 ID:HVFCYS4U
>>94
画像表示できないと無理なんでない?
96名無し~3.EXE:2007/04/28(土) 12:29:36 ID:RzUuXiBG
画像をバッファには展開できないからそのまんまはちょいと厳しいと思う。
9794:2007/04/28(土) 13:06:28 ID:jEYbcNxL
無理ですか
残念です
98名無し~3.EXE:2007/04/29(日) 05:21:22 ID:e/rNsX4f
画像表示とか折り畳み、色数制限、文字の不可視
縦の罫線とか、遅延読み込みとか。
殆どの場合必要ないんだけど、あったら良いかなぁと思うことは良くある。
99名無し~3.EXE:2007/05/01(火) 23:02:28 ID:qKqaj8kU
>>98
「遅延読み込み」ってどういう機能ですか?
字面からはautoloadを思い浮かべましたけどautoloadはありますし。
Lispで実装できないものなんですか?
100名無し~3.EXE:2007/05/02(水) 00:39:05 ID:RGotAsu7
巨大なファイルを開いたときに、最初から全部読まないことだと思った
101名無し~3.EXE:2007/05/04(金) 18:57:14 ID:d7eHgLOA
スレに対しての提案なんですが、ソフト板のスレと統合しちゃいませんか?
理由としては
・本体のver.upが年に一回あるかないかで、すでに本体は安定しているため
 xyzzyというよりlispについての質問が多く、スレの伸びは以前と比べ鈍化している。
・ソフト板でもlispの話題が多く、本スレと分ける必要性が薄い。

という感じなんですが、一番の理由は2つ見るのが面倒だなと思ったんです。
おすすめ2ちゃんねるを見ても、このスレを覗いてる人はソフト板のも見ている
人が多いようです。(逆もしかり)

xyzzyは去年から使いはじめたので、スレが分けられた理由は分かりませんが、
恐らく(過去ログ等を見て)、スレがたった当初はスレの伸びが早く、初心者と
上級者の話しが乱雑になりまとまりが悪かったからだと思います。

ですが、今のようにスレの伸びが鈍化している現在ではそのようなことも
なくなり、逆に一つにした方が後々閲覧するときに一つのスレだけ見れば
いいので便利だと思います。
そして、本スレは他エディタも多いソフト板に移動した方が、新規の人も
探しやすいと思うのですがどうでしょうか?

長文になってしまい申し訳ありません。
102名無し~3.EXE:2007/05/04(金) 20:12:00 ID:x2OWUYLD
このままでOK
103名無し~3.EXE:2007/05/04(金) 21:40:32 ID:RsoAlKDy
ソフトウェアいたが出来たときのゴタゴタも懐かしい。何年前だろアレ?
104名無し~3.EXE:2007/05/05(土) 00:19:26 ID:HYINqneW
>>101
そういう今更な質問を避けるために分割したんだ
便利だとか自分の都合を押し付けてるだけだろう
105名無し~3.EXE:2007/05/05(土) 00:44:55 ID:aS/8GnPq
2ch-modeをいれれば
スレが分割されてるとかどうとかは
どうでもよくなるのではないか?
106名無し~3.EXE:2007/05/05(土) 00:56:16 ID:OmP32F2W
KaMailV3 を導入したが受信したメールの一覧が表示されない・・・。
なんか summary に表示されるらしいんだけど、なんでなんだろう。
107名無し~3.EXE:2007/05/05(土) 06:06:38 ID:fNsqYZJw
俺もこのままでいいと思う
スレの空気も少し違うしね
108名無し~3.EXE:2007/05/05(土) 09:06:59 ID:K2j3LSYU
>>104
その文章が押し付けてるようには見えないけど。文盲なら失礼。

ところで、質問。
(megbox "~A" #\A)
(megbox "~A" "A")
(megbox "~A" :A)
は同じ結果で引数は、一つ目が文字(chara)、二つ目が文字列(string)だと思うんだけど、
3番目の:〜は何て呼べばいいの?シンボルとは違うよね?
109名無し~3.EXE:2007/05/05(土) 09:08:40 ID:K2j3LSYU
megbox → msgbox の間違い orz
110名無し~3.EXE:2007/05/05(土) 09:14:14 ID:pOtSOZQ2
何となくシンボルじゃないのか。
111名無し~3.EXE:2007/05/05(土) 09:22:28 ID:pOtSOZQ2
ちょっと試した所、

(let ((hogehoge "dog" "cat" "pig"))
  (msgbox "fuga~A" hogehgoe))
=>変数が定義されていません: hogehgoe

(let ((hogehoge "dog" "cat" "pig"))
  (msgbox "fuga~A" :hogehgoe))
=>fuga(dog cat pig)

リストとか?
112名無し~3.EXE:2007/05/05(土) 09:25:13 ID:pOtSOZQ2
あれ、違うな。
(let ((hogehoge "dog" "cat" "pig"))
  (msgbox "fuga~A" :hogehgoe))
=>fugahogehoge

だった。
113名無し~3.EXE:2007/05/05(土) 09:33:39 ID:SG9XSen7
キーワードパッケージシンボルというらしい?
http://flex.ee.uec.ac.jp/texi/canlisp/node28.html

シンボルでいいんじゃね
114名無し~3.EXE:2007/05/05(土) 09:35:05 ID:pOtSOZQ2
115名無し~3.EXE:2007/05/05(土) 10:40:32 ID:d6cMZP/O
>>108
普通は「キーワード」と呼びます。
評価した値が必ず自分自身になる特殊なシンボルです。
シンボルの一種なのでシンボルと呼んでも間違いではありません。

116名無し~3.EXE:2007/05/05(土) 10:44:19 ID:d6cMZP/O
>>106
*debug-mode* を t にしておくとデバッグ用の出力が見られるはずだから、
確認したら何か分かるかも。
117108:2007/05/05(土) 12:14:41 ID:K2j3LSYU
おお、返答くれた方ありがとう。
キーワードパッケージシンボルっていうのか、何となくわかった感じ。

(equal keyword:A :A)
=>t
keywordっていうなんか特別なパッケージがあって、このパッケージでは
自分自身がシンボルとして定義されてるっていうことかな。
:の前のkeywordが省略されていたのか。
118名無し~3.EXE:2007/05/05(土) 13:20:37 ID:pOtSOZQ2
ひょっとして引数とかで良くある:case-fold とかも
キーワードっていう意味だったのか。&keyだし。
119名無し~3.EXE:2007/05/05(土) 20:12:43 ID:PgAZX7xD
そういうこと
120名無し~3.EXE:2007/05/06(日) 22:50:21 ID:qhpEEqnX
XYZZY xyzzy
121名無し~3.EXE:2007/05/06(日) 23:15:09 ID:BAw7NP7g
>>116

レスありがとです。
*debug-mode* とか色々試しつつ config.l いじってたらいつの間にか一覧表示されるようになりました。
原因分からずじまいですが・・・
122名無し~3.EXE:2007/05/09(水) 20:01:02 ID:hmoJ+QEj
('A`)...cairo?  ('д`) cairo? ('∀`) cairo!? ジーク(゚∀゚)ノ cairo !!! cairo !!!
xyzzy のじかんは凄いねぇ。
123名無し~3.EXE:2007/05/11(金) 07:01:16 ID:TBtuJHkk
ruby-modeについて質問です
ttp://homepage3.nifty.com/Yukimi_Sake/
のruby-mode for xyzzyを導入したのですが
文字装飾が気に入らないです。。。
・コメントの色はxyzzy共通設定のコメントの色にしたい(文字10の色を変えて暫定対応)
・文字列の色もxyzzy共通設定の文字列色にしたい(文字9の色を変えて暫定対応)
・キーワードはboldにしたくない
・キーワードの色を指定したい
・parenが効かないです。。。(これはメンドイのかな?)

以上、どなたか対応方法ご存知であればご教授ください
124名無し~3.EXE:2007/05/11(金) 10:45:37 ID:hFeOtdQA
syntax,キーワードファイルの書き方辺りを参考に気に入るようにしてください
125名無し~3.EXE:2007/05/11(金) 14:15:14 ID:m/u3wvUP
モード作る時にc-modeとかlispmodeあたりにあわせてくれると良いと思うことはある。
コメントとか文字列、URL、基本的なキーワード位は同じ色番号にして欲しいね。
126名無し~3.EXE:2007/05/11(金) 17:45:48 ID:2NNi5/Yc
>>125
それは俺も思うけど、意外と難しかったりするんだよね。
set-text-attribute ではキーワード色やコメント・文字列の色が使えないから
>>123 の問題も今のままでは解決できない。
regexp-keyword-list なら上記の色も設定できるけど、
正規表現での文法解析には限界があるから難しいんじゃないかな。
127名無し~3.EXE:2007/05/11(金) 23:04:17 ID:m/u3wvUP
殆どの場合は普通のキーワードでいいのだから
基本的な所で揃えるのは作る時の気分的な問題じゃないか?
キーワードファイルの設定とかregexp-keyword-list意外で
色を付けるのは結構珍しいような。
128名無し~3.EXE:2007/05/12(土) 03:46:52 ID:NLVA0zA8
ruby-mode は
def self.hoge
end
の "hoge" 部分に色がつかないのがちょっと悲しい
129名無し~3.EXE:2007/05/16(水) 19:36:15 ID:ydIEbhbg
「ファイル(F)」などのメニューをクリックすると凹んだままになってしまって
メニューが使用できなくなってしまうことありませんか?

ALT押したら凹むとかそういうことではなくて、xyzzyを再起動しない限り
メニューが使用不可になってしまうということです。

メニューに色々追加しすぎなのだろうか・・・
130名無し~3.EXE:2007/05/16(水) 20:26:07 ID:HIsxUkK/
俺もメニューに色々追加してるけど、凹んだままになったことないよ。
131名無し~3.EXE:2007/05/16(水) 21:02:53 ID:5YlI3h/p
凹んだままになりました。
インストしたばっかりで、まだ何もカスタマイズしてないときだったと思います。
よって、メニューに追加は関係ないんじゃないでしょうか。
132129:2007/05/16(水) 21:06:26 ID:ydIEbhbg
>>130
レスどうもです。

このあたり
ttp://hie.s64.xrea.com/murmur/diary.cgi?Year=2005&Month=09&Day=27
でも問題になっているようなので、メニューに何か問題があるのかもしれません。

それとも、他の最前面に表示するアプリとの競合かもしれないです。
それほど頻度は高くないけれど、たまにメニューが使えなくなって困ることがあります。
133129:2007/05/16(水) 21:16:41 ID:ydIEbhbg
ちなみに、OSはWinXP HomeでClock Launcherを最前面にして常駐させています。
134名無し~3.EXE:2007/05/16(水) 21:52:44 ID:quEsUnJi
>129
そんなのなったことないよ。
そういや、ほとんどメニュー使ってないなぁ。

(dotimes (i 100) (add-history "~/.xyzzy" '*minibuffer-file-name-history*))
を何回評価してもループ回数を大量に増やしても大丈夫だった。
135129:2007/05/16(水) 22:00:11 ID:ydIEbhbg
>>134
どうもです。
うちでは
(dotimes (i 150) (add-history "~/.xyzzy" '*minibuffer-file-name-history*))
とすると、最近使ったファイルからファイルが開けなくなるようです。
この場合は凹んだままにはなりませんが。

>>131さんのように結構問題出てる人いそうな気がするんだけど、そうでもないのかな。
136名無し~3.EXE:2007/05/16(水) 22:12:16 ID:quEsUnJi
>135
開けなくなるだけなのか。
そっちも確認してみたが、10000回ループさせても
普通に最近使ったファイルから開けたのでおかしくはなってなさそう。
137129:2007/05/16(水) 22:19:12 ID:ydIEbhbg
>>136
素のxyzzyだと、10000回ループさせても開けますね。
やはりメニューに追加しすぎということなのか・・・
138129:2007/05/16(水) 22:37:36 ID:ydIEbhbg
普段使っているxyzzyでも開けるときと開けなくなるときとがあるようです。

こんなの(最初のパスは適当にファイル数が多そうなパス)
(directory "C:/applications/xyzzy/" :callback #'(lambda (x) (add-history x '*minibuffer-file-name-history*)))
も試してみましたが、これだと素のxyzzyでも開けなくなるときがあるようです。
139名無し~3.EXE:2007/05/16(水) 22:44:59 ID:D8I3Z1nO
xyzzy のメニューのカスタマイズ性の高さは便利だと思う。
忘れそうな奴をどんどん追加できるし、2 ストロークで開けるから操作性も悪くない。
140名無し~3.EXE:2007/05/17(木) 15:00:50 ID:BZu1iVI5
メニューのどこかに自分用のを作っといて、
.xyzzyなどに書いたコマンドはぶちこんどくべきやね。
141名無し~3.EXE:2007/05/17(木) 15:15:15 ID:lYD1ZJnn
右クリックメニューとかに追加するほうが好みなのは俺だけかな
キーボードに右クリックメニュー開くキーあるからメニューに追加するより便利なんだけど
142名無し~3.EXE:2007/05/18(金) 02:34:05 ID:Ch6FvEzR
backward-kill-line みんな使ってる?
使ってる人に聞きたいんだけどどのキーに割り当ててる?
143名無し~3.EXE:2007/05/18(金) 03:02:20 ID:CzUPSzOP
Emacs 風に C-x Backspace
xyzzy だと自動的に C-x C-h でも使えるようになるね。
144名無し~3.EXE:2007/05/18(金) 08:06:52 ID:SWp65NlX
あ、xyzzyでもできたのか
145名無し~3.EXE:2007/05/18(金) 08:38:58 ID:jUSAFSrt
知らなかったので見てみたけど、これ C-0 C-k と同じじゃない?
146名無し~3.EXE:2007/05/18(金) 08:40:51 ID:jUSAFSrt
須田さんとこに同じって書いてあった……
147名無し~3.EXE:2007/05/18(金) 10:51:17 ID:2BZNPGja
以下のようなものを作りました。
これを、find-fileがinteractiveに呼ばれたときだけ実行したいのですが、
どのようにしたらいいのでしょうか。

;; find-fileした瞬間にファイルを作る。
(defun force-create-file-if-not-exist ()
"バッファに対応するファイルがなかったら作る"
(and (string-match "[A-z]:/" (get-buffer-file-name) 0 3)
(not (file-exist-p (get-buffer-file-name)))
(set-buffer-modified-p t)
(save-buffer)))
(add-hook '*find-file-hooks* 'force-create-file-if-not-exist)
148名無し~3.EXE:2007/05/18(金) 18:50:36 ID:hJiuzOh1
>>147
試してないけど、interactive-pじゃダメなの?

ところで、キャレットをlispで消すことってできないですかね?
(setq *blink-caret* nil)
(setq *normal-caret-shape* 1)
(setq *overwrite-caret-shape* 1)
この3つで目立たなくはなるんですが、lispで色指定できれば完全に見えなく
できるのかなと思うので。
やっぱり共通設定の他にはiniファイルをいじるくらいしかないんでしょうか?
149名無し~3.EXE:2007/05/18(金) 20:45:56 ID:9GRAbFWp
>>148
キャレットの色なら set-buffer-colors で指定するベクタの13番目と14番目かな。
キャレットの色とIMEキャレットの色。
150148:2007/05/18(金) 21:08:41 ID:hJiuzOh1
>>149
ありがとうございます。

set-buffer-colorsって色々設定できるんですね。
背景色とテキストの色くらいしか指定できないと思ってた...
151名無し~3.EXE:2007/05/20(日) 10:17:56 ID:vA0o5ptO
>>150
自分も初めて知った。
152名無し~3.EXE:2007/05/20(日) 10:53:53 ID:Em2b7cDe
>>151
chcolor.lにサンプルがありますね。

バッファの色を取得したりするのはwinapiを使う必要があるようなので
結構手間だったんですが、
キャレットの色を変えても、文字と重なると反転してみづらくなるので、
結局
(setq *normal-caret-shape* 1)
(setq *overwrite-caret-shape* 1)
で落ち着きました。
153名無し~3.EXE:2007/05/20(日) 21:39:09 ID:QvPSZt8v
(/ 1 0)を補足するLISPの書き方がわからないのですが、
(condition-if ?が使えないので他の方法はあるのでしょうか?
154名無し~3.EXE:2007/05/20(日) 21:56:04 ID:blPscqgG
handler-case かな
155名無し~3.EXE:2007/05/20(日) 21:57:28 ID:ee2tP/OA
(handler-case
(/ 1 0)
(division-by-zero (c)
; error 処理
))
かな。

関数リファレンスに載っている handler-case の例そのものだけど。
156名無し~3.EXE:2007/05/20(日) 22:28:15 ID:QvPSZt8v
<155 ありがとう

perlの連想配列で以下のようなことをxyzzyのLISPでやりたいのですが
どうすればよいのでしょうか?

my %Kokugo = (
"田中"=>80,
"石川"=>60,
"石橋"=>70,
);

my $namae = "田中";
print $Kokugo{$namae};

私はドットリストで以下のようにしましたがAは当然うまくいきますが、Bではnilになります。
Bで解決させるにはどうすればよいのでしょうか?

(progn
(setq pos '((田中 . 80) (石川 . 60) (石橋 . 70)))
(setq x "田中")
(print (cdr (assoc '田中 pos))) ;-->A
(print (cdr (assoc x pos))) ;-->B
)


80
nil
nil

あと、(prognを使うと評価されて、上のように3つ表示されますが、
printだけ表示させたい(評価を返さない)方法はあるのでしょうか?
157名無し~3.EXE:2007/05/20(日) 22:45:38 ID:blPscqgG
田中は文字列じゃなくてシンボルから。
(setq pos '(("田中" . 80))
としないと。

で nil 返すのの何が問題?
// interactive にしてキーに割り当てるとか
158名無し~3.EXE:2007/05/20(日) 22:52:47 ID:24vmzHxG
こんな感じじゃなかろうか。

(let ((pos '(("田中" . 80) ("石川" . 60) ("石橋" . 70)))
      (x "田中"))
  (values
   (cdr (assoc '田中 pos))
   (cdr (assoc x pos :test 'string=))))
nil
80
159名無し~3.EXE:2007/05/20(日) 22:54:50 ID:24vmzHxG
ちなみに見たい値は print するよりも values とか list とかでまとめて返すほうが普通だと思う。
160名無し~3.EXE:2007/05/21(月) 00:17:03 ID:Kl3ta2X+
<<158 ありがとう

度々ですみませんが xyzzyのLISPにはグローバル変数の他にconstなど設定できるのでしょうか?
表引きで使いたいのですが、値の変更はさせたくないので・・・


このようにしたいことから逆引きできるLISP本はありますか?
161名無し~3.EXE:2007/05/21(月) 11:29:11 ID:XOdGX11h
>>160
defconstant てのがある。あんまり使わないような気もするけど。
162名無し~3.EXE:2007/05/21(月) 11:36:43 ID:Ebf4agdb
>>160
lispの本がそんなにないような。
慣れてるなら、webで探した方が速いよ。
163名無し~3.EXE:2007/05/21(月) 11:39:39 ID:Ebf4agdb
>>161
ローカルでconstしたいって云う意味じゃね?
164名無し~3.EXE:2007/05/21(月) 19:03:22 ID:dBZQlcKT
text-modeの段落の始まりを設定したいのですが、うまくいきません。

(defun text-mode-paragraph ()
(make-local-variable 'paragraph-start)
(setq paragraph-start "^\\($\\|\\|[  ・○<\t]\\|(?[0-9a-zA-Z]+)\\)"))

という関数を作って、*text-mode-hook*に追加したのですが、反映されていないようです。
どうしたらいいのでしょうか。
165名無し~3.EXE:2007/05/21(月) 19:16:10 ID:9CbBehEu
>>164
うちではこれで問題なく反映されました
(add-hook '*text-mode-hook* 'text-mode-paragraph)
166名無し~3.EXE:2007/05/21(月) 19:39:06 ID:dBZQlcKT
>>165
すいません。うちでも出来ました。
hookへの追加の仕方が悪かったみたいです。どうもありがとうございました。
167名無し~3.EXE:2007/05/24(木) 20:34:22 ID:EwyU0ME3
Windowsではxyzzy使ってるけど、UnixではVimって人いる?
168名無し~3.EXE:2007/05/24(木) 23:29:38 ID:zrfW286Y
なんでhashつかわんの?別にいいけど。
169名無し~3.EXE:2007/05/25(金) 00:52:58 ID:vSIWX168
>>167
雑誌で見たら、はてなの中の人の誰かがそんな事を書いていた。

>>168
何となくlistを使いたくなる気持ちはよく分かる。
170名無し~3.EXE:2007/05/25(金) 01:43:17 ID:OtORFNvh
hashの比較関数に好きなの使えないのがうぜえ
171名無し~3.EXE:2007/05/25(金) 09:41:15 ID:WId5s8t0
>>170
俺のは使えるんだが
おまいのは使えんのか?
172名無し~3.EXE:2007/05/25(金) 21:40:28 ID:hP/88/MH
>>170
CLtL2 の言語仕様
173名無し~3.EXE:2007/05/25(金) 22:22:02 ID:OtORFNvh
>>172
そうだったのか。
プログラミングのことよくわからんが、hashの比較関数にlambda式つっこんだりするのは
滅多にないことなのか?
174名無し~3.EXE:2007/05/25(金) 22:35:33 ID:hP/88/MH
>>173
そういう要望は当然あると思う。
その場合は、hash 以外を使うか、キーを工夫するしかない。
正直、この制限にどんな効果があるのかよく分からんけど。
175名無し~3.EXE:2007/05/25(金) 23:12:28 ID:p/h3wyn5
hashはscratchで遊んでいるときに
#<hashtable 52891748>
としかでないからキライだ!
176名無し~3.EXE:2007/05/25(金) 23:47:06 ID:X7IAPW7O
過去ログ等を調べてみてものっていなかったので質問させて下さい。
当方、JavaTinyConsoleを使用していまして、
コンパイル、再コンパイル、実行などをキー入力で行いたいと思い

(require "java")
(define-key ed::*java-mode-map* #\M-F1 'jtc-javac-buffer)
(define-key ed::*java-mode-map* #\M-F2 'jtc-javac-buffer1)
(define-key ed::*java-mode-map* #\M-F3 'jtc-java-buffer)

とsiteinit.lに書き込みました。
しかし、javaファイルを読み込んだときに

名前が衝突するためexportできません: jtc::jtc-javac-buffer

というエラーメッセージが表示され、キーに割り当てることができませんでした。

コンパイルなどをキーに割り当てる方法をご存知の方がおられたら教えてください。
177名無し~3.EXE:2007/05/26(土) 00:02:17 ID:p/h3wyn5
>>176
やり方はいくつかあるけど、こういう風にするのが一番らくだと思うよ。

x (define-key ed::*java-mode-map* #\M-F1 'jtc-javac-buffer)
o (define-key ed::*java-mode-map* #\M-F1 'jtc::jtc-javac-buffer)

残りの2つも同じように jtc:: を付けて味噌。
ためしてないけどたぶんいけると思う。
178名無し~3.EXE:2007/05/26(土) 00:11:46 ID:68j7RoH7
>>177
うまく割り当てることができました。どうもありがとうございました。
179名無し~3.EXE:2007/05/26(土) 09:12:23 ID:mCAWLhU3
伺いたいことがあります。
shell3モードでtab補間をすると新しいバッファが立ち上がると思うのですが、
立ち上がったバッファがコマンドを入力し終えた後も消えてくれません。
コマンドを入力し終えた(Enterをおした)後に立ち上がったバッファが自動的に消えるように
設定するにはどうすればいいでしょうか?
180名無し~3.EXE:2007/05/26(土) 11:32:33 ID:tg1nknTQ
(setq *popup-completion-list-default* :always)

とするのも一つの手だとは思う。
181名無し~3.EXE:2007/05/26(土) 14:29:22 ID:oRaBbo8r
こんなのもある。どこかでいただいたもの。

;; 補完リストをチップヘルプにする
(setq *print-completion-list-hook*
'(lambda (list prefix &optional string)
(popup-string (format nil "Possible completions are ~Ditems:\n~{\n~A~}" (length list) list) (point))))
182179:2007/05/27(日) 00:39:37 ID:RFU75A/E
>>180,181さん
どうも速いレス、ありがとうございます。
lispをよくわかってないので、書いていただいた内容を理解するために調べてきます。
183名無し~3.EXE:2007/05/27(日) 10:18:11 ID:dk7cXoGY
xyzzyをローカライズできるとのことですが、
http://xyzzy.s53.xrea.com/wiki/index.php?L10N
ここで記載されている動かし方は添付ファイルlocal050313.lzh用だと思います。
最新のlocale0604027.lzhの動かし方をご教示ください。あと、アーカイブ内
のlocale/en/内のファイル名がlisp%2F...になっていますが、これは
locale/en/lisp/...ではなく、このままでOKなのでしょうか?
184名無し~3.EXE:2007/05/27(日) 12:22:00 ID:H0JvCMda
そうえいば、xyzzyをローカライズして使ってる外人っているのかな?
わざわざこっちでローカライズしなくても、使いたいなら勝手にやりそう
な気はするけど。2chでも外国語のソフトの日本語化とか勝手にやってるしね。
185名無し~3.EXE:2007/05/27(日) 22:22:27 ID:LMYsSzBU
xyzzy自体のメニュー類やドキュメント類、公開されてるLispの殆どが日本語である現状から言うとね。

誰かが他言語のローカライズ版xyzzyやドキュメントを公開すると、一定の市民権は得られそうな気は
個人的にはしているが…。俺はやる気力も能力も時間もない。
186名無し~3.EXE:2007/05/28(月) 01:24:09 ID:aoWWoNtA
英語圏の人間にxyzzyのメリットは結構少なそうだけど、
中国や韓国とかなら普及しそう。しかし、何故だろう。
あんまり普及させたくないのは。面倒そうなんだよね奴ら。
187名無し~3.EXE:2007/05/28(月) 01:26:02 ID:aoWWoNtA
後xyzzy wikiが余りに脆弱な状態なので変に
教えたりすると真面目に悲惨な状態になりそう
な予感。
188名無し~3.EXE:2007/05/28(月) 01:47:10 ID:/8dN9IKu
初期状態では xyzzy の方が高機能って言うか、使いやすいとは思う。
Elisp がバリバリ書けるなら Emacs の方がいいのかも知れんが。
189名無し~3.EXE:2007/05/28(月) 02:52:27 ID:8Tt0UWX3
>>185
> 誰かが他言語のローカライズ版xyzzyやドキュメントを公開すると、一定の市民権は得られそうな気は
> 個人的にはしているが…。俺はやる気力も能力も時間もない。
http://xyzzy.s53.xrea.com/english/archive/
190名無し~3.EXE:2007/05/28(月) 04:06:20 ID:aoWWoNtA
>>189
広めるなら、直接奨めてみるとか、何らかの方法で存在を
知らせないとページだけ作っても駄目なんじゃないかと。
191名無し~3.EXE:2007/05/29(火) 20:21:49 ID:1yjQb0hA
NetinstallerでR

おっ、またなんか新しいの増えてるぜ

作者のサイトチェックするか

http://miyamuko.s56.xrea.com/xyzzy/images/popup-dododo1.png

ちょwwwおまwwwwwwwww

スクリーンショット見ればもう満足なのでインストールしないwww

でもそれだとカワイソスなので画像をプレゼント
http://kossie.run.buttobi.net/cgi-bin/up/src/kos0793.jpg
192名無し~3.EXE:2007/05/29(火) 22:00:00 ID:jzl6jjSS
くだらない
193名無し~3.EXE:2007/05/29(火) 22:17:02 ID:Ee8gEChR
クマーのときも似たようなこと言ってる奴がいたような。
194名無し~3.EXE:2007/05/29(火) 23:47:38 ID:5li6+6Oo
またクマーの人がやらかしたか!
195名無し~3.EXE:2007/05/30(水) 09:18:45 ID:4Hg0nx4r
クマーの人は次々と個性的な拡張lispを発表してるな
196名無し~3.EXE:2007/05/31(木) 15:28:53 ID:J9hdHihz
うむ、貴重な人材だ。
197名無し~3.EXE:2007/05/31(木) 23:10:46 ID:bec7IHbY

LISPのコメントは;ですが、複数行のコメントの書き方はあるのでしょうか?
perlなら

=comment

Perlの複数行コメント

=cut

/*

C言語の複数行のコメント

*/
198名無し~3.EXE:2007/05/31(木) 23:19:12 ID:qDYSi9Nf
#|  |#
199名無し~3.EXE:2007/05/31(木) 23:28:11 ID:bec7IHbY
>>198

ありがとう。

200名無し~3.EXE:2007/06/02(土) 16:28:16 ID:L0Ragr0n
みなさん次のTabと前のTabに移動するのはどのキーで行っていますか?
いまいちいい配置が思いつかないのですが
201名無し~3.EXE:2007/06/02(土) 17:27:49 ID:STWNKl66
>>200
C-,で前
C-.で次 にしてます。
202名無し~3.EXE:2007/06/02(土) 18:30:49 ID:Gq/6J02D
>>200
F11で前、F12で次にしてます。
ノートですが。
203名無し~3.EXE:2007/06/02(土) 18:45:02 ID:WRg/QzX1
F2/F3
常用タブブラウザがこれなので合わせた
204名無し~3.EXE:2007/06/02(土) 19:31:15 ID:UEUmd76N
>>200
M-Left、M-Right でフレーム移動、(上にフレームタブを置いてる)
M-Up、M-Down でバッファ移動にしてます。(左にバッファタブを置いてる)
205名無し~3.EXE:2007/06/02(土) 19:54:36 ID:L0Ragr0n
レスありがとうございます
できる限りホームポジションから離れたくないと考えているので
201さんのキー配置にしてみようと思います
206名無し~3.EXE:2007/06/02(土) 20:09:39 ID:HUv8XzgS
そもそもタブ自体表示させていません
上下スプリットしてバッファ切り替えたくなったら C-x b
上下に分けていれば言ったり来たりする頻度はかなり下がる
207名無し~3.EXE:2007/06/02(土) 20:18:08 ID:DBoI/F9e
>>200
C-8 C-9
208名無し~3.EXE:2007/06/02(土) 20:24:31 ID:r17daNeO
>>200
iswitchb.l
フレームは使ったことがない
209名無し~3.EXE:2007/06/02(土) 22:09:01 ID:rvSfMh9Q
C-,とC-.でウィンドウ移動
C-S-,とC-S-.でバッファ移動
C-]でフレーム移動
210名無し~3.EXE:2007/06/02(土) 23:07:28 ID:DBoI/F9e
C-. ってキーワード補完のイメージあるなあ。
211名無し~3.EXE:2007/06/03(日) 01:32:18 ID:ig0IySmo
無難 ? に C-TAB
でも iswitchb の方が便利
212名無し~3.EXE:2007/06/03(日) 07:41:06 ID:VH6jJBPn
単に次のバッファ切り替えは、ファイルに関連してないバッファ(*scratch*)をスキップして切り替えるようにしてる。
バッファが多い時はiswitchbかな。
213名無し~3.EXE:2007/06/03(日) 08:26:34 ID:qXwrsx1V
http://www.geocities.co.jp/megahurtz_dk/packages.txt
のiswitchbのファイル名が古いままになっててnetinstallerでインストールできなかった。
214名無し~3.EXE:2007/06/04(月) 10:27:42 ID:YFElAPHS
select-bufferを使っているのは少数派
215名無し~3.EXE:2007/06/06(水) 01:42:56 ID:wnEPsZYm
F1には何を割り当ててる?
216名無し~3.EXE:2007/06/06(水) 01:52:25 ID:1OYxCnPx
へるぷ
217名無し~3.EXE:2007/06/06(水) 03:13:22 ID:BAUveMzV
フェラーリ
218名無し~3.EXE:2007/06/07(木) 00:36:40 ID:49PxP5WR
>>216
何のヘルプですか?
219名無し~3.EXE:2007/06/07(木) 01:51:51 ID:QIcK5sja
>>218
ヘルプじゃないや info-modoki-mode だった
220名無し~3.EXE:2007/06/07(木) 04:02:18 ID:qLdwXnh7
各モードごとにリファレンスっぽいのを
221名無し~3.EXE:2007/06/08(金) 00:57:51 ID:StRTL4hy
しょぼい速読モードみたいなものを作ったんですが、使う人いますか?
222名無し~3.EXE:2007/06/08(金) 04:22:26 ID:VAM8Ykp0
>>221
どんなのか気になるのでうpして
223名無し~3.EXE:2007/06/08(金) 06:56:06 ID:StRTL4hy
>>222
upしてみました。
ttp://homepage2.nifty.com/kimagurenixyzzy/lisp/sokudoku.LZH

速読するバッファを選択後、M-x sokudoku-menu からすべての機能が実行できます。
C-u 付きで実行すると、細かい設定をしてから実行します。
無理矢理全角に変換する仕様となっているのがほとんどなので、半角英数などで
速読したい場合には、M-x sokudoku を実行してください。
アンインストールは M-x sokudoku-uninstall を実行してからにして下さい。

()などの括弧を縦書きにしたときにうまく表示する方法があったら教えてください。
その他にもなにかアイデアがあったらもらえると嬉しいです(対応できるかどうかはわかりませんが)。
224223:2007/06/08(金) 07:07:13 ID:StRTL4hy
それと、終了は C-g で。
225名無し~3.EXE:2007/06/09(土) 13:57:09 ID:qucCYc+/
速読懐かしいなぁ。小学生の時はできたけど、今はもう無理だ。

> ()などの括弧を縦書きにしたときにうまく表示する方法があったら教えてください。

縦書きフォントインストールして、 専用の ini ファイルを生成して、
xyzzy -i ○○.ini
で起動するとか。
226名無し~3.EXE:2007/06/09(土) 14:19:14 ID:dgWrEiSC
>>225
どうもです。

「」や、。などはわざわざ縦書用の文字に変換して半角スペースを入れて整形していたんですが、
縦書きフォントの方が良さそうですね。

しかし、小学生で速読できたってのはすごいな。
227名無し~3.EXE:2007/06/09(土) 14:26:26 ID:m0BRd2rs
2ch-modeで2ちゃんを閲覧していると、特定の板やスレで
文字化けしてしまいます。今はお風呂板を開くと文字化けです。。。

http://hobby9.2ch.net/bath/

SJISとUTF-8の文字コード判定に失敗してるような感じに見えますが
なんとかなんないもんでしょうか。その都度文字コードを強制的に
変更するような手動対応でもいいのですが。
228名無し~3.EXE:2007/06/09(土) 14:40:12 ID:d5WTqGCq
パスに [任意] を含むと grep 出来ない。orz
例 c:\bak\[20070609]hoge
229226:2007/06/09(土) 15:19:45 ID:dgWrEiSC
ちょっと試してみて、@MS ゴシックなどだと()は縦書きにならずに、通常の文字が横向き
になってしまうし、文字ごとにフォントを指定することもできないので、フォントを自作するしか
なさそうです。外字が使えればいいんですが。
まあ、使う人もいなさそうなのでこの辺で。

>>228
うちでは C:/bak/[20070609]hoge というファイルにgrep出来てますよ。
find-file でそのようなファイルを作成することはできないようですが(既にあるファイルは開ける)。
230228:2007/06/09(土) 15:37:29 ID:d5WTqGCq
すみません
ファイルじゃなくてディレクトリに含まれていると出来ないんです。
説明不足だったですね。
231228:2007/06/09(土) 15:54:13 ID:d5WTqGCq
minibuffer でも grep 出来ることを忘れてました。
grep-dialog が出来ないんです。
232名無し~3.EXE:2007/06/09(土) 16:43:05 ID:dgWrEiSC
>>230
glob.l の29行目の directory が
(directory "c:/bak/"
:wild "[20070609]hoge"
:directory-only t)
のときに nil を返すのが原因のようだけど
directory は builtin関数だからソースを書き換えないと無理じゃないかな?
233名無し~3.EXE:2007/06/09(土) 16:50:24 ID:auFAnQzs
>>228
ツール
共通設定
さまざま
[..]はワイルドカード
234名無し~3.EXE:2007/06/09(土) 17:08:09 ID:dgWrEiSC
本当だ。[..]はワイルドカードのチェックをはずせばいけますね。
チェックを入れたままでも以下を評価すればいけるかも(何か弊害があるかもしれませんが)。

(in-package "editor")
(defun glob-expand (path)
(let ((prefix ""))
(setq path (namestring path))
(when (string-match "^\\(.:\\|//[^/]+/[^/]+\\)?/" path)
(setq prefix (subseq path 0 (match-end 0)))
(setq path (subseq path (match-end 0))))
(or (listp prefix)
(setq prefix (list prefix)))
(do ((p (split-string path #\/) (cdr p)))
((or (null p) (null prefix))
prefix)
(let ((dir (car p))
(r nil))
(mapc #'(lambda (path)
(setq r (nconc r (mapcar #'(lambda (file)
(concat path file))
(directory path
:wild (unless (string-match "\\[.*\\]" dir)
dir)
:directory-only t)))))
prefix)
(setq prefix r)))))
(in-package "user")
235234:2007/06/09(土) 18:17:05 ID:dgWrEiSC
234は弊害ありすぎだったので、以下の方がましかもしれません。
(素直に[..]はワイルドカードのチェックをはずした方がいいです)
(in-package "editor")
(defun glob-expand (path)
(let ((prefix ""))
(setq path (namestring path))
(when (string-match "^\\(.:\\|//[^/]+/[^/]+\\)?/" path)
(setq prefix (subseq path 0 (match-end 0)))
(setq path (subseq path (match-end 0))))
(or (listp prefix)
(setq prefix (list prefix)))
(do ((p (split-string path #\/) (cdr p)))
((or (null p) (null prefix))
prefix)
(let ((dir (car p))
(r nil))
(mapc #'(lambda (path)
(setq r (nconc r (mapcar #'(lambda (file)
(concat path file))
(if (string-match "\\[.*\\]" dir)
(list (append-trail-slash dir))
(directory path
:wild dir
:directory-only t))))))
prefix)
(setq prefix r)))))
(in-package "user")
236228:2007/06/09(土) 18:36:35 ID:q6D+n+ay
>>233
出来ました、ありがとう。

>>234も、ありかとう

[..]はワイルドカードはパスを展開する物だと思うんですけど、違うのでしょうか?
コマンドラインから  C:/bak/[20070609]hoge を送ると
C:/bak/[20070609]hoge/hoge.txt がディレクトリの欄に入る

関数は、調べてる時に見つけた物です。
コマンドラインからディレクトリを開こうとするとgrepになってほしい。
http://hie.s64.xrea.com/xyzzy/note/search.html#command-line-grep
237228:2007/06/09(土) 18:50:32 ID:q6D+n+ay
うえの URL は間違いです。
C:/bak/[20070609]hoge/hoge.txt がディレクトリの欄に入るのは
こっちです。落ち着け俺orz

外部からGrepd・Gresregd
http://www.uranus.dti.ne.jp/~shiro-/soft/xyzzy/search.html#outside
238名無し~3.EXE:2007/06/09(土) 23:05:12 ID:uA49rkRt
>>227
自分の環境だと特に文字化けせずにお風呂板も見られるみたいですが…
特定のスレなのでしょうか?
もしconfig.lで*read-cgi-hosts*を設定していたらそれをコメントアウトしてみて
うまくいったりしないでしょうか?
239名無し~3.EXE:2007/06/11(月) 23:16:36 ID:C4nM+zFU
ttermを使って思うのですが、remoteでUnix(FreeBSD)上に入る場合、普
通に機能します(違和感なくtermとして)

cygtermを使って同じ事をした場合、xyzzyにキー入力を全て奪われてし
まいます。
shell-modeでも似た感じなんですが、C-pがxyzzyの行移動のままシェル
で補完が効きません。emacs上でC-x C-cしてxyzzyを落とす挙動になりま
す...

localではshell-modeもttermもうまく機能せず、不便に感じます。正常
に設定出来ていないですよね?怪しげな動きをしますorz

cygwinと合わせてlocalで使うにはどうすればいいのでしょうか?教えて
下さい><
240239:2007/06/12(火) 00:04:32 ID:C4nM+zFU
すいません。自己解決しました。スレ汚しごめんなさい。
少し変ですかMeta-codeなるpopを指定するか、きちんと定義するといい
みたいです。
241名無し~3.EXE:2007/06/13(水) 11:41:32 ID:VflNsvB4
shell3とか
242名無し~3.EXE:2007/06/15(金) 10:57:54 ID:x/OgF02g
hoge1
hoge2
を範囲選択してC-b Iで
\begin{itemize}
\item hoge1
\item hoge2
\end{itemize}
になるような機能がほしいのですが,lispのサイトを覗いて勉強中です.
できる人がいましたら教えてください,お願いします.
243名無し~3.EXE:2007/06/15(金) 13:51:39 ID:VjnSyOv3
勉強しているから手伝ってほしいのか
人に作ってもらいたいだけなのか
244名無し~3.EXE:2007/06/15(金) 22:32:36 ID:WD7J4eSH
こういうこと?
(global-set-key '(#\C-b #\I)
#'(lambda ()
(interactive)
(selection-start-end (start end)
(narrow-to-region start end)
(goto-char (point-min))
(insert "\\begin{itemize}\n")
(goto-char (point-min))
(replace-regexp "\n\\(.\\)" "\n \\\\item \\1")
(goto-char (point-max))
(insert "\\end{itemize}")
(widen))))
245名無し~3.EXE:2007/06/15(金) 22:34:28 ID:LlCv3gFK
それよりも C-b l って。
標準バインド潰す上になんとも気味の悪いキーバインドだな。
246名無し~3.EXE:2007/06/17(日) 18:56:52 ID:iI4NNodI
>>238
すみません、遅くなりました。
アドバイスありがとうございます。
*read-cgi-hosts*は使っていません。

特定のスレのこともありますし、特定の板のこともあります。
ある特定のパターンに反応してこうなってる気がするのですが…
スレが化けたときは各レスの本文にnilとかって表示されてる
ので、なんか単純にバグのような気もします。
247名無し~3.EXE:2007/06/17(日) 18:59:13 ID:iI4NNodI
>>238
ふと思い立って、.xyzzyに書いてあった

(setq *default-fileio-encoding* *encoding-utf8n*)

をコメントアウトしたら直りました。
うーん。。SJISで使ってないとダメなのか。。
248名無し~3.EXE:2007/06/17(日) 20:47:54 ID:Nyzzh9nK
>>247
(defun コマンド-sjis ()
(interactive)
(let ((*default-fileio-encoding* *encoding-sjis*))
(コマンド)
))

で適当なコマンドを囲んで、キーバインドをこっちにへんこうするとか。
249名無し~3.EXE:2007/06/17(日) 22:50:27 ID:2+wKAuq9
昔、使い方スレの人に教えてもらったやつ

;;; (C-c u)UTF-8Nでリロード
(global-set-key '(#\C-c #\u)
#'(lambda ()
(interactive)
(revert-buffer *encoding-utf8n*)))

あとは適宜どうぞ。
250名無し~3.EXE:2007/06/17(日) 23:05:46 ID:NSrjtXtP
もうちと汎用性を持たせて、うちはこんな感じにしてる。
(global-set-key '(#\C-c #\C-v)
#'(lambda ()
(interactive)
(revert-buffer (read-char-encoding "Encoding: "))))
251名無し~3.EXE:2007/06/17(日) 23:22:59 ID:7KyUMD1w
>>247
> うーん。。SJISで使ってないとダメなのか。。
2chのdatがShift_JISだから文字エンコーディングの判定で失敗しちゃうんだろうね。
勘だけど $XYZZY/site-lisp/2ch/ 以下で insert-file-contents を使っているところを
全部 (insert-file ファイル名 *encoding-sjis*) な感じで書き換えると大丈夫かもしれない。

>>248 は手元で対処、こっちは根元で対処という感じ。
お好みで。
252名無し~3.EXE:2007/06/17(日) 23:35:15 ID:SGWaGd8+
>>250
C-u C-x C-r
253名無し~3.EXE:2007/06/18(月) 01:35:48 ID:B4P3RmXP
>>250
C-u M-x revert-buffer

ファイルなら>>252より、
(setq *find-other-file-requires-file-name* t)しておいて
C-u C-x C-v
した方が楽かも
254sage:2007/06/20(水) 01:42:51 ID:cs4krmYO
indent-for-commentのコメント桁位置を調整するlispを作りました。
えと、自分が欲しかっただけなんですけど…orz
emacsではあったのですが、xyzzyでは見当たらなかったので。
これってマイナーな機能なのかな…。

;;; 引数でコメント桁位置を数値で指定
(defun set-comment-column (col)
(interactive "ncomment column: ")
(setq comment-column col))
;;; 現在の桁位置を設定
(defun set-comment-column-current-column ()
(interactive)
(setq comment-column (current-column)))
(global-set-key '(#\C-x #\;) 'set-comment-column-current-column)
255名無し~3.EXE:2007/06/20(水) 10:37:41 ID:jvn8P+Ab
前の行とコメント位置を合わせるlispならどこかで見た気がする

まぁぶら下がりコメント禁止されてるから普通のインデントで足りてるってのもあるけど
256名無し~3.EXE:2007/06/20(水) 18:59:19 ID:ZIGb1ddc
その前に、ぶら下がりコメントってなんだ。
257名無し~3.EXE:2007/06/20(水) 20:10:32 ID:A0ctlZx8
健康器みたいなもんだ
258名無し~3.EXE:2007/06/21(木) 03:15:58 ID:qMMl1qCa
実家にまだそれあるぞ‥‥
259名無し~3.EXE:2007/06/21(木) 09:11:44 ID:kAkir0Vh
ぶら下がりコメントってのは 行の後ろに付けるやつ //xxx
なんだけど普通言わないのかな?
260名無し~3.EXE:2007/06/22(金) 21:48:36 ID:g+Ahoa3/
http://www.google.co.jp/search?q=%E3%81%B6%E3%82%89%E4%B8%8B%E3%81%8C%E3%82%8A%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88
グーグル先生は、あまりそういう回答をしてないので聞いてみた。
261名無し~3.EXE:2007/06/22(金) 22:18:34 ID:HyqsDGbp
ぶら下がりコメント(dangling comment)は閉じてないコメントのことで、
C++の//は行コメント(single-line comment)だよ、たぶん。
日本語あんま知らんけど。
Cでmallocしてfreeせずに開放不能になったポインタはdangling pointerな。
262名無し~3.EXE:2007/06/22(金) 22:31:11 ID:HyqsDGbp
ああ、違う、逆だ。
dangling pointerはポインティが死んだのにポインタだけ生きてる状態だ。
263名無し~3.EXE:2007/06/22(金) 22:46:25 ID:7+n04No2
ポインティというひびきが
そこはかとなくエロイな
264名無し~3.EXE:2007/06/23(土) 03:03:41 ID:d1QQuDVR
ああ、僕のポインティ
265名無し~3.EXE:2007/06/23(土) 03:04:40 ID:b3BzCYUb
実行すると、Deleteキーを押せばC-dを使えよといわれ、
BSキーを押すとC-hを使えといわれ、カーソルキーを押すと
そんなキーねぇよ、と怒ってくれる。そんな強制ギプス
のようなマイナーモードを作ってください。
266名無し~3.EXE:2007/06/23(土) 10:07:28 ID:3XQJw0dh
xyzzyはC-hはデフォなんだっけ。
267名無し~3.EXE:2007/06/23(土) 10:30:47 ID:jqLuImnW
作ってみたぞ

(require "wip/winapi")
(c:define-dll-entry c:short GetKeyState (c:int) "user32")
(defvar-local *gips-mode-map* nil)
(unless *gips-mode-map*
  (let ((kmp (make-sparse-keymap)))
    (define-key kmp #\Delete
      (lambda () (interactive) (message-box "C-d 使えよ" nil '(:exclamation))))
    (let ((f (lambda () (interactive) (message-box "そんなキー知らん" nil '(:question)))))
      (define-key kmp #\Up f)
      (define-key kmp #\Down f)
      (define-key kmp #\Left f)
      (define-key kmp #\Right f))
    (define-key kmp #\C-h
      (lambda () (interactive)
        (if (minusp (GetKeyState 8)) (message-box "C-h 使えよ" nil '(:exclamation))
          (call-interactively (or (lookup-keymap (local-keymap) #\C-h t t)
                                  (lookup-keymap *global-keymap* #\C-h t t))))))
    (setq *gips-mode-map* kmp)))
(defvar-local gips-minor-mode nil)
(defun gips-minor-mode (&optional (arg nil sv))
  (interactive "p")
  (ed::toggle-mode 'gips-minor-mode arg sv)
  (if gips-minor-mode
      (set-minor-mode-map *gips-mode-map*)
    (unset-minor-mode-map *gips-mode-map*))
  (message "Gips mode turned ~:[off~;on~]." gips-minor-mode))
(pushnew '(gips-minor-mode . "Gips") *minor-mode-alist* :test 'equal)
268名無し~3.EXE:2007/06/23(土) 12:45:14 ID:rKtCgLwm
>>265の評価はいかに
269名無し~3.EXE:2007/06/23(土) 12:50:35 ID:haNqCi9e
>>267
message-box よりも error にして、
エラー表示をマイルドに
オプションにチェック入れた方が良くない?
需要あるかどうか分からんが
270名無し~3.EXE:2007/06/23(土) 12:51:22 ID:haNqCi9e
あぁ、需要はあるのか スマソ
271名無し~3.EXE:2007/06/23(土) 13:04:14 ID:AwIkVlf7
俺が始めてPC使ったときになかなかタッチタイプが覚えられなくて、
キートップ全部はずしてランダムにはめ込見直して
キーボードを見ても意味内容にしてタッチタイプをマスターしたことを思い出した。
272265:2007/06/23(土) 15:49:11 ID:b3BzCYUb
>>267
いただきました。カーソルキーなんて知らんと言われたとき
ちょっと吹いた。
>>269
カーソルキーは実際に動作するけどメッセージも出る、みたいな
感じに、ということ?
273名無し~3.EXE:2007/06/23(土) 19:48:29 ID:haNqCi9e
>>272
message-box だと、間違えた時に リターンを押すのが
うざいと思ったけど、強制するのだからこれでいいのかも。

ところで、 popup-string のフォントの大きさって何処で設定できる?
(message "hoge") なら windowsの画面の設定の "ヒント" を変更する事で
変えられるけど、これはどこか知っている人いない?
274名無し~3.EXE:2007/06/23(土) 20:59:15 ID:RlfSpmhC
popup.ccより:
if (!hfont_popup)
{
NONCLIENTMETRICS cm;
cm.cbSize = sizeof cm;
if (!SystemParametersInfo (SPI_GETNONCLIENTMETRICS, 0, &cm, 0))
{
HDC hdc = GetDC (hwnd_popup);
memset (&cm.lfStatusFont, 0, sizeof cm.lfStatusFont);
cm.lfStatusFont.lfHeight = MulDiv (9, GetDeviceCaps (hdc, LOGPIXELSY), 72);
cm.lfStatusFont.lfCharSet = SHIFTJIS_CHARSET;
strcpy (cm.lfStatusFont.lfFaceName, "MS Pゴシック");
ReleaseDC (hwnd_popup, hdc);
}
hfont_popup = CreateFontIndirect (&cm.lfStatusFont);
}

lfStatusFontはthe font used in status bars and tooltipsだから、
そのまんまツールチップの設定変えればいいんだろうけど、
hfont_popupがスタティック変数だから、xyzzyを再起動しないと反映しない。
275267:2007/06/24(日) 10:31:21 ID:2rxkNPYv
>>273
> うざいと思ったけど、強制するのだからこれでいいのかも。
そう、だから message-box にしてみた

あとキーマップはローカルじゃなくてよかったような
276名無し~3.EXE:2007/06/24(日) 11:41:20 ID:pj0j+Ab/
>>274
thx. こっちも、"ヒント" を変えることで反映されました。
277名無し~3.EXE:2007/06/24(日) 17:30:54 ID:a3/iW7AO
eblook.l(ttp://www.dsl.gr.jp/~tf/)なんてのもあったんですね。
eb.l(ttp://www.geocities.co.jp/Milano-Cat/2067/xyzzy.html#eb
もかなり良さそうだし、辞書関係も大分充実してきましたね。
278名無し~3.EXE:2007/06/25(月) 01:33:37 ID:B/lZB9oR
ほほー
たしかランダムハウス英和辞典のCD-ROMがあったはずだからトライしてみるかな
279名無し~3.EXE:2007/06/25(月) 02:16:44 ID:/KJDD3Ew
外字が表示できればベストだけど、出力時に変換すると重くなりそうだし、辞書によって対応させる文字も
違いそうなので結構難しそう。
pdicだと外字を変換して辞書を作成することもできるけど、シェアウェアなのと検索の種類が少ないのが難点かな。
画像表示は、DDwinとかEBWinを使うしかないのかな。spiなどが使えそうな気もするけれど。
ちなみにうちは、こんな感じ

(defvar *EBWin-path* "C:/Program Files/EBWin/EBWin.exe")
(defun EBWin-search (&optional word)
(interactive)
(unless word
(setq word (if (pre-selection-p)
(selection-start-end (beg end)
(buffer-substring beg end))
(read-string "EBWin: "))))
(if (< 0 (length word))
(call-process
(format nil "~A /C=1 /S=\"~A\"" (map-slash-to-backslash *EBWin-path*) word)
:exec-directory (directory-namestring *EBWin-path*))
(plain-error "検索語を入力して下さい")))

で、EBWinを使ったりしてます。
280名無し~3.EXE:2007/06/25(月) 18:06:00 ID:QbCIy4Tn
http://japan.zdnet.com/oss/story/0,3800075264,20350805,00.htm
lispの正規表現じゃなくても置換できるらしい置換
便利そうなので誰か作ってる人とかいそうだけどxyzzyにあるかな。
perl風の正規表現をlisp風に変換する機能とか
281名無し~3.EXE:2007/06/26(火) 03:15:15 ID:vWw5zPRf
>>280
その記事って、置換の replacementのところに文字列じゃなくて関数が置けるよ
置換のときはその関数の戻り値を使うよ。ッて話であって
受け付ける正規表現が切り替わるとかいう話じゃないと思うが。
282名無し~3.EXE:2007/06/26(火) 05:13:49 ID:9kGPbPix
あ、そうなの?
283名無し~3.EXE:2007/06/26(火) 12:14:14 ID:yqE4cI/P
もしかして既出かもしれないけど

フォルダ名に "[*]" (* 部分は1文字以上の文字、たとえば [お]、 [abc]、 [070131] など) を含んだフォルダの中の
ファイルを編集中に、c-x c-w (emacs-write-file) で別名のファイルに書き出そうとすると、
「Write File」ダイアログが起動してしまい、ファイルを保存できない

というのはバグでしょうか…?
xyzzyのバージョンは 0.2.2.235。
試しに $XYZZYHOME/.xyzzy と $XYZZYHOME/site-lisp/siteinit.l と xyzzy.wxp を一時的に削除して起動し直してみたけど
結果は同じだった。
284名無し~3.EXE:2007/06/26(火) 12:52:09 ID:5nCTwKPk
285名無し~3.EXE:2007/06/26(火) 14:24:48 ID:yqE4cI/P
>>284
おお! こんなところに罠が!!
これってunix系OSのワイルドカードのエミュレーションみたいな感じなんですかね。
unix(というかLinuxのbashしかいじったことないけど)だと、
たとえば \[abc\] などとしてやれば本来(?)の "[abc]" という文字列として解釈してくれるけど、
xyzzyのこのスイッチだとそのへんが利かないっぽいですね。

機能OFF = [ ] を(path指定時に)ワイルドカードとして使うのを諦める
機能ON = [ ] を含むパス名の使用を諦める

の二者択一なのかな…。
286名無し~3.EXE:2007/06/26(火) 17:28:25 ID:5nCTwKPk
>>285
バックスラッシュでエスケープしたときはワイルドカードとみなさないようにすればいいの?
それともディレクトリ名の[..]はワイルドカードとみなさないようにすればいいの?
それとも両方?
287名無し~3.EXE:2007/06/26(火) 18:51:55 ID:MWeK9RxC
>>280の様に置き換え処理時にlispが扱えるように、lispで実装してみたけど
やっぱ重いし安定的に使えるかというと微妙だった。
こういう速度や安定性が求められる機能は内部から実装しないとだめだね。
まぁ、実際使うかっていうのも微妙なところだけど。
288名無し~3.EXE:2007/06/27(水) 02:18:21 ID:4u01BuIa
>>285-286
Windowsの場合、バックスラッシュはフォルダの区切りだから
エスケープ記号としては使いづらいんじゃね?
じゃあどうやってエスケープするかってことになると思いつかねーし……
289名無し~3.EXE:2007/06/27(水) 03:11:11 ID:T60p6RQa
>>286
どちらかというと前者ですかね。(後者だとファイル名に [..] を含む場合に困りそう)

>>288
たとえば c:\abc\d[ef]\ghi\j.txt というファイルを編集中に
c-x c-w (emacs-write-file) すると、ミニバッファには
Write file: c:/abc/d[ef]/ghi/
という具合にパス区切りとして「/」が表示される訳で、
「\」をエスケープに使えそうな気もしなくもないですが…。
でもここでたとえば
c:\abc\d.txt
とパス区切りをバックスラッシュに直して指定してもそれはそれで受け付けられるんだな。
単に「/」と「\」がどっちもパス区切りとして使えるってだけか。

ためしに
c:/abc/d\\[ef\\]/ghi/k.txt
と指定してみたら、
C:/]/ghi/k.txt
指定したパスが見つかりません。
とダイアログが出てしまった。「\\」(または「//」)があると単にパスのルート指定とみなされるのか…?
290名無し~3.EXE:2007/06/27(水) 05:18:17 ID:T60p6RQa
とりあえず「[..] はワイルドカード」を無効にして使うことにしました。
291名無し~3.EXE:2007/06/27(水) 08:25:40 ID:H2oWp6HM
ふと思ったんだけどSid Meier's Xyzzyzationって語呂よくね?
292286:2007/06/27(水) 12:07:41 ID:FhtS5gU5
>>289
ファイル名でなくディレクトリ名の。
つーことで適当に書いてみた。

(defun read-file-name2 (prompt &key default title history)
(let (res)
(let ((*brackets-is-wildcard-character* nil))
(setf res (read-file-name prompt
:defalult default
:title title
:history history)))
(when *brackets-is-wildcard-character*
(cond ((or (string-match "\\\\\\[" res)
(string-match "\\\\\\]" res))
(setf res (substitute-string
(substitute-string res "\\\\\\]" "]")
"\\\\\\[" "[")))
((string-match "\\[.\\]" (file-namestring res))
(setf res (filer res nil title nil)))))
res))
(defun read-file-name2-interactive (prompt default history title)
(list (read-file-name2 prompt
:default default
:title title
:history history)))
(pushnew '(#\F . read-file-name2-interactive)
*interactive-specifier-alist* :test #'equal)
293289:2007/06/27(水) 13:32:20 ID:T60p6RQa
>>292
おお!すばらしいです。
という訳で早速 .xyzzy の最後に追加して試してみた。
…なんか、単に [..] がワイルドカードとして機能しなくなっただけの動作っぽいような。
うちの環境だけだろうか…。

でも気がついてみると、
[ツール]→[共通設定]→[さまざま]→[ [..]はワイルドカード]
のチェックをOFFにしても、何故か再起動するとまたチェックがONの状態で起動してしまって
この設定をOFFにできないという現象が発生。
(原因不明。また私がヘンなところでヘンなミスをやらかしてるのか…?)
結局 >>292 さんが書かれたコードを .xyzzy に追加した状態で
(つまり「[..] はワイルドカード」を無効にしたのと等しい状態で)
使うことにしました。これで解決。ありがとう >>292 さん。

# なんで勝手に強制ONになるんだろう…うちのxyzzyの「[..]はワイルドカード」設定…
# 以前はどうだったか思い出せない…
294名無し~3.EXE:2007/06/27(水) 14:14:30 ID:G1RX51Ic
>何故か再起動するとまたチェックがONの状態で起動してしまって

前からそうだったような気がする
optprop.lをいじるとよさそうだけど
295名無し~3.EXE:2007/06/27(水) 15:20:17 ID:y+LGTEAO
(setq *brackets-is-wildcard-character* nil)
でいいんじゃないの?
296286:2007/06/27(水) 16:10:17 ID:FhtS5gU5
>>293
ごめん正規表現ミスった。
"\\[.\\]"
→"\\[.+\\]"

>何故か再起動するとまたチェックがONの状態で起動してしまって
ヒストリに設定されないのが原因だと思われ。
(register-history-variable '(*brackets-is-wildcard-character*))
297名無し~3.EXE:2007/07/01(日) 22:34:57 ID:TNySm9Zb
質問です。
0.4999999を0.5に、0.5999999を0.6に変換する方法はありませんでしょうか?
298名無し~3.EXE:2007/07/01(日) 22:44:35 ID:eBAw5HiA
>>297
本当にその質問内容でいいのか?
299名無し~3.EXE:2007/07/01(日) 22:59:26 ID:TNySm9Zb
>>298
そうです。適当に考えてこんな感じでやってみました。
(setq foo 0.4999999)
=> 0.4999999

(setq foo (coerce (/ (round (* foo 10)) 10) 'float))
=> 0.5
300名無し~3.EXE:2007/07/01(日) 23:29:49 ID:WJfX89G9
>>299
何がしたいか条件をきちんと出してほしい・・・
単に四捨五入の話なのか

0.49999991や0.4999998の場合や
0.499999とかもか
301名無し~3.EXE:2007/07/02(月) 00:09:55 ID:L3fRZEAR
>>300
あ、すいません。
小数点第一位で四捨五入したいということです。
一応>>299で出来ているような気がします。
302名無し~3.EXE:2007/07/02(月) 09:31:07 ID:iCU8Ian/
>>301
「小数点第1位で四捨五入」すると整数になっちゃうんでは?
303名無し~3.EXE:2007/07/02(月) 09:32:13 ID:hXvZ5MaL
小数点第1位を・・・
ならそうだね
304名無し~3.EXE:2007/07/03(火) 06:42:14 ID:9PEmXimb
>>299
roundじゃなくてfroundを使えばcoerceがいらなくなる。

あとroundは偶数丸めで四捨五入じゃないんだけどそれは大丈夫?
305名無し~3.EXE:2007/07/03(火) 16:16:24 ID:yxByxCQg
>>303
この場合「で」でも「を」でも意味は同じではなかろうか
そもそも「小数点第1位で」ではなく「小数第1位で」と書くべきでは…
「四捨五入して小数第1位まで求める」なら誤解なく通じそう
以上スレ違いで失礼

(* (round foo 0.01) 0.01)
だとまずいのかな…?
306名無し~3.EXE:2007/07/03(火) 16:44:21 ID:ouyrtKab
TreeView.dllってアイテムのD&Dには対応してないの?
307名無し~3.EXE:2007/07/03(火) 21:55:11 ID:3ZR2ekJW
>>304-305
どうもです。
ちょっと質問の仕方がわかりにくかったかもしれないですね。

確かにroundは四捨五入ではないので、四捨五入というなら
(setq foo (/ (fround (+ (* foo 10) 0.1)) 10))
こんな感じですかね。

(* (round foo 0.01) 0.01)
はうまく動いていないような気がします。
308名無し~3.EXE:2007/07/03(火) 23:06:44 ID:Doecyej8
>>306
どうなら対応しているっていえるの?
309名無し~3.EXE:2007/07/04(水) 00:05:10 ID:Mk2ZIZaG
>>307
> (setq foo (/ (fround (+ (* foo 10) 0.1)) 10))
これだとやっぱり偶数に丸められてこうなる。
(/ (fround (+ (* 0.54 10) 0.1)) 10)
=>0.6
(/ (fround (+ (* 0.64 10) 0.1)) 10)
=>0.6

四捨五入はこんな感じらしいです。負の数は考えてないので適当に修正してください。
(defun nearest(number &optional (divisor 1))
(if (<= (* (+ 0.5d0 (ffloor number divisor)) divisor) number)
(fceiling number divisor)
(ffloor number divisor)))
310名無し~3.EXE:2007/07/04(水) 00:51:04 ID:KeJhupxK
lisp って…単に四捨五入するだけでもこんなにコード書かないといけないのか…
311名無し~3.EXE:2007/07/04(水) 02:37:13 ID:g29aT4qL
四捨五入ってのはコンピュータにとって元々苦手なものだし。
312名無し~3.EXE:2007/07/04(水) 04:37:35 ID:S7Up3Dmq
というか四捨五入すら自力で作れないようなら
どんな言語でも結果は一所だと思うが。
313名無し~3.EXE:2007/07/04(水) 12:07:56 ID:MPYpu39R
http://www.future-planning.net/x/modules/news/article.php?storyid=2460
で紹介されているDarkRoomやWriteRoomみたいなモードが欲しい
314名無し~3.EXE:2007/07/04(水) 17:07:58 ID:nBjLcYzf
>>308
例えばTreeView.dllを使っているolt2で、ドラッグでアイテムの位置を
変更できるとか。

>>313
以前タイトルバーとステータスバーは消せないって聞いたから、難しいと思う。
315名無し~3.EXE:2007/07/04(水) 23:52:28 ID:SmwtmXmv
>>314
> >>308
> 例えばTreeView.dllを使っているolt2で、ドラッグでアイテムの位置を
> 変更できるとか。

そりゃ、それができれば対応っていえるさ。
なんかもっとプリミティブな確認方法ないの?
316名無し~3.EXE:2007/07/05(木) 05:52:11 ID:J1kmbjlu
俺はD&Dでファイル開くとき
Treeview部分でも受け付けてくれたら嬉しいな
画面がそこしか見えてないときとか便利だから
317名無し~3.EXE:2007/07/05(木) 09:14:17 ID:7KvLEImI
>>315
プリミティブな確認方法ってのがよくわからんけど、ソースを読むとか?
318名無し~3.EXE:2007/07/06(金) 00:33:23 ID:CbjKAhkS
>>317
例えばそんなのじゃね。>>306 は対応してるかどうか何を確認したのかな。
319306:2007/07/06(金) 11:55:47 ID:J/2fQLoV
うーん、うまく伝わってないような。
何を確認したかってって言われても、「TreeView.dllがアイテムのD&Dに対応しているか」
というのを確認したいために、ここで聞いたんだけど。ソースは読めないんで
Readmeを読んだけどそれに関する記述はなかった。
何がやりたいかっていうのを具体的に言うと、TreeView.dllが提供する
InsertItemを使ってツリーアイテムを作成後そのアイテムをD&Dで移動させられないか?
ということ。後ファイル等をツリー部にD&Dしたとき、ツリーアイテムとして
追加できないかということ。
最終目標としては、TreeView.dllを使ってプロジェクト管理みたいなことを
できるようにしたいんだけど、マウスでのアイテム操作ができないとなると
不便だと感じたから。
320名無し~3.EXE:2007/07/06(金) 13:49:28 ID:mBAE1rYa
何を以って対応かってなら、
TreeView.dllにそういうAPIとかあんの?
ってことだろ、やっぱ。

ついでに言っとくと、
>InsertItemを使ってツリーアイテムを作成後そのアイテムをD&Dで移動させられないか?
ってのと、
>ファイル等をツリー部にD&Dしたとき、ツリーアイテムとして
は全く別物なんだよな。

後者は文字列を引数に取るイベントハンドラみたいな形で簡単に対応できるけど、
前者は、構造の変化をどうLispに伝えりゃいいのか、いや、新しい構造になったおーっていう通知だけでいいのか。

まあ、俺はやらねーんだけどなwww
321名無し~3.EXE:2007/07/09(月) 07:37:04 ID:DrX7+oCv
Iria と xyzzy が起動してる状態で
URLをIEとかでコピーすると
そのURLをIriaが食うんだけど
何故かその時xyzzyが反応しなくなる。

これってどっちが悪いんだろう?
322名無し~3.EXE:2007/07/11(水) 18:36:34 ID:PBnzMP+g
>>321
他のソフトのエディタとしてxyzzyを使用したときに、
クリップボードにコピーするとよく xyzzy が固まるので
xyzzy の方だと思う。
323名無し~3.EXE:2007/07/11(水) 19:28:57 ID:rcT/CXCv
再現できるか試したいけど、そのためにIria入れるのもなー。
>>322は何のソフト使って固まったの?
324名無し~3.EXE:2007/07/11(水) 20:26:05 ID:MJEuhYiQ
同じように固まることがあるなぁ。

xyzzy・OpenOffice・CLCLを同時に使っていて、クリップボードにコピーすると固まる。
xyzzy・OpenOfficeやxyzzy・CLCLの組み合わせの場合は、そんなことは起きないんだけど。

果たしてどれが悪いのか…。
325名無し~3.EXE:2007/07/11(水) 21:02:04 ID:c2G8GZ8O
>>324
あー、うちと同じだ。
で、最近CLCLやめてcharu3使い出してから症状は出なくなった。
乗り換えて日が浅いので、たまたま出てないだけかもしれないけど。
326名無し~3.EXE:2007/07/11(水) 21:44:39 ID:3Ou+hYEx
clcl+xyzzy+Excelとかで固まることがよくあるがclclが原因なのか…
試しに他のに乗り換えてみるかな…
327名無し~3.EXE:2007/07/11(水) 21:47:20 ID:4btmR+WT
>CLCL
クリップボード変更後数ミリ秒後にフック処理発動みたいな機能あったよね?
あれのせいじゃないかな。

xyzzyはまず変更の通知を次のフックウインドウに流してからフック処理してるみたいだから、
そこらへんで、なんかパラレルになっておかしくなってんじゃないかと。
328名無し~3.EXE:2007/07/12(木) 01:16:10 ID:9TZdRoBH
md5sum が一致しない。
329名無し~3.EXE:2007/07/12(木) 04:54:05 ID:UrTzJVmo
CLCLとxyzzyは別に固まらないよ。
自分は使っているけどそういう経験はない。
それよりも、(read-char *keyboard*)するとマウスが固まるのが気になる。
330名無し~3.EXE:2007/07/12(木) 08:15:24 ID:iduB1HUW
固まりはしないけどクリップボードとの同期がとぎれる
331名無し~3.EXE:2007/07/12(木) 11:40:38 ID:ArrgmpqM
>327
もう一度確認してみたらCLCL+Excelだけで固まった。
自分のよく喰らう固まり方はxyzzyは無関係だった。
クリップボード共有プラグインだけなんとかなればcharu3とかに移行したいなぁ。
332名無し~3.EXE:2007/07/12(木) 13:40:42 ID:aiZXZZst
>>329
> それよりも、(read-char *keyboard*)するとマウスが固まるのが気になる。
それは xyzzy がマウスからの入力を受け付けなくなるだけのことで、
仕様と思われ。
インクリメンタルサーチ中にマウスが使えないとか。
333名無し~3.EXE:2007/07/12(木) 18:24:23 ID:ogUYqFRf
フレーム作成時に名前をつけたり、変更したり出来ないんでしょうかorz
334名無し~3.EXE:2007/07/12(木) 19:55:39 ID:VIU9bCxj
335名無し~3.EXE:2007/07/12(木) 21:42:09 ID:ogUYqFRf
>>334
すみません。
検索不足でしたorz

ありがとう
336名無し~3.EXE:2007/07/13(金) 12:46:46 ID:Bix92hgI
ところで質問なのだけど、charu3とかCLCLみたいなクリップボード拡張を使うと、
xyzzyやvimのyankもクリップボードに記録してくれるの?
337名無し~3.EXE:2007/07/13(金) 13:16:24 ID:ve7jXoCy
設定次第
デフォルトだとしないとおもった
338名無し~3.EXE:2007/07/13(金) 15:47:50 ID:8jDsGnZy
>>332仕様なのは理解しているが、仕様が良くない。
339名無し~3.EXE:2007/07/13(金) 17:17:11 ID:Ds0SB/MX
charu3 とか知らないけどyankで取り出す*kill-ring*はWindowsの
クリップボードとは関係ないんじゃなかったっけ?
340名無し~3.EXE:2007/07/14(土) 00:49:09 ID:YVMsODok
全く別物だけど、クリップボードとkill-ringを同期する設定とかもあるし…
341322:2007/07/14(土) 19:21:24 ID:fz7aLae4
>>323
powerpoint上でtexを使う TeXpoint っていうソフトの
エディタとして使った時に頻発した。

ところで、まったく関係ないけど欲しかったので作ってみた。

;;.. バッファーバー表示のトグル
(defun toggle-buffer-bar ()
"バッファーバー表示のトグル"
(interactive)
(let* ((bar (find "buffer-bar" ed::*command-bar-list*
:key #'(lambda (x) (ed::command-bar-symbol-name x))
:test 'equal)))
(ed::toggle-command-bar-1 bar 'ed::buffer-bar)))

342名無し~3.EXE:2007/07/14(土) 20:32:58 ID:WPtt9AH5
>>341
toggle-command-bar-1 を使うより
toggle-command-bar を直接使ったほうがいいんじゃないだろうか。
(defun toggle-buffer-bar ()
(interactive)
(ed::toggle-command-bar 'buffer-bar))
343名無し~3.EXE:2007/07/14(土) 20:44:50 ID:fz7aLae4
>>342
お、thx。
こんなのがあったのね。
window.l しか見てなかったので、気づかなかったわ。
ありがたく、いただきます。

またまた別件だけど、 *window-flag-function-bar* は
export し忘れてるみたいだ。
344名無し~3.EXE:2007/07/14(土) 21:52:14 ID:202tLzN4
xyzzycli.exe -fhoge
で関数hogeを実行するときに引数を渡したいのですが、どう書いたらよいのですか?
345名無し~3.EXE:2007/07/14(土) 21:57:12 ID:fz7aLae4
xyzzycli.exe -e (hoge x) かな。
346名無し~3.EXE:2007/07/14(土) 21:58:21 ID:202tLzN4
他の方が書いたものを見るところでは空白区切りでよさそうなのですが、
たとえば、
xyzzycli.exe -finsert "hoge"
では、引数が少なすぎます、と言われてしまいます。
347名無し~3.EXE:2007/07/14(土) 22:00:43 ID:202tLzN4
>345
どうもありがとうございます。
試してみたところ、
LINE 1:予期しないEOFを検出しました。
と出ます。環境のせいかもしれませんね。
348名無し~3.EXE:2007/07/14(土) 22:04:51 ID:fz7aLae4
>>347
ん? エラーメッセージの通りじゃなくて?
scratch で評価して、エラー出ないかチェックしてみてわ。
349名無し~3.EXE:2007/07/14(土) 22:05:38 ID:202tLzN4
-qで起動した上で、
xyzzycli.exe -e (find-file "hoge.txt")
としても同様のエラーが出ました。困りました。
350名無し~3.EXE:2007/07/14(土) 22:08:06 ID:202tLzN4
>348
scratchではちゃんと出来ました。
351名無し~3.EXE:2007/07/14(土) 22:25:54 ID:hqsO7mi8
これでどうだ
xyzzycli.exe -e "(find-file \"hoge.txt\")"
352名無し~3.EXE:2007/07/14(土) 22:38:08 ID:202tLzN4
>351
ばっちりでした。
どうもありがとうございました。
353名無し~3.EXE:2007/07/15(日) 15:53:59 ID:ne5Nhmvy
かなり前に
http://pc11.2ch.net/test/read.cgi/software/1163847543/
で質問したんですが、こっちの方で訊いた方がいいようなので、質問させてください。

BMP面(〜U+FFFF)までの文字は表示できるのですが、
サロゲートが必要な範囲(U+10000〜)がまったく表示されません。U+10000以上の文字が入ったフォントを使ってるのですが…
あとBMPの範囲でも、一部の文字が半角のように表示されてしまいます。(全角だけど左半分しか表示されないなど)
JISにあるような漢字は問題ないですが、中国語でしか使わない漢字や、一部の記号はそうなります。

他の人はどうですか。そもそも「U+10000以上なんて使わない」とか「日本語しか使わない」人が多いのでしょうか。
メモ帳ですら表示できるので、自分のxyzzyがおかしいとは思うんですが。
354名無し~3.EXE:2007/07/15(日) 16:49:49 ID:G8dDj3td
メモ帳は多言語のレンダリングに関しては
進んでいるのでメモ帳ですらというのはどうかと思います。
大概のsjis拡張のエディタよりも多言語対応は良いんじゃないですかね。

私の見た範囲ではxyzzyはサロゲート非対応で良かったと思います。

私は日本語、英語以外は読めないし書けないので、
非対応の部分にどうこうしたいという動機づけがなかなかできませんね。

プログラム的に文字コードに詳しい人が言語のノウハウ的に
文字コードの話に詳しい確率はかなり少ないんじゃないかと思います。

ここにあるこのフォントを指定するとこの文字がこう表示されるはずなのにこうなる。
ってくらいの説明をしてもらえないとプログラムな人の興味を
引けないんじゃないかと思います。

逆にサロゲートが必要なコード範囲が必要なのは
どこらへんの言語をやっている人なんですか?
CJKの新たに入った部分以外は学者くらいしか触れない世界だと思ってますけど…

古代文字???
355名無し~3.EXE:2007/07/15(日) 17:26:33 ID:JIQJqXMr
Windows自体(Edit(Notepad.exe))はサロゲートペアに対応してるけど、
C++のワイド文字列(xyzzyのLispの文字列の実装)は可変長無理だからどうしょーもないよ。
356名無し~3.EXE:2007/07/15(日) 17:30:33 ID:bKANDmis
xyzzyではC++のワイド文字をそのまま使ってるんだ
意外
357名無し~3.EXE:2007/07/15(日) 18:05:13 ID:fdOYLU4n
read-string使用時のhistoryの使い方が分からなくて検索をしたら
励ましあえ その9の676に
(define-history-variable *city-history* nil)
(setf (get :city 'minibuffer-history-variable) '*city-history*)
(defun city (str)
(interactive "sCity: " :history0 :city)
(msgbox str))
とありましたが、評価してみても実際には
*minibuffer-default-history* が使われているようです。
やり方が間違っているのでしょうか?
358名無し~3.EXE:2007/07/15(日) 19:57:31 ID:3sgLRyyk
>>357
minibuffer-history-variable に ed:: をつければ大丈夫なはず。
(setf (get :city 'ed::minibuffer-history-variable) '*city-history*)
359名無し~3.EXE:2007/07/15(日) 20:42:55 ID:fdOYLU4n
>>358
なるほど。ありがとうございました。
360名無し~3.EXE:2007/07/17(火) 03:45:42 ID:9LWvZHnX
たぶん超既出だろうけど
kamail 0.0.2.8 で、kamail-address.l の186行目を
((string-match "^[ \t]*\\([^ \t\n]+\\)\\([ \t]+\\([^\n]+\\)\\)?$" line)
に直したら、Addresses内でインデントが使えるようになって便利になりました
今までGROUPの入れ子の対応が分かりづらくて若干難儀してたもんで…
なんで最初からこうしておいてくれなかったのかなァ
361名無し~3.EXE:2007/07/17(火) 20:50:37 ID:0pvSBQe9
>>360
kamailの中の人に聞いてみたら?
362名無し~3.EXE:2007/07/21(土) 00:12:42 ID:5OJL2XvC
これって常識?
(setq inverse-cursor-line t)
(setq *tab-bar-never-focus* t)
363名無し~3.EXE:2007/07/21(土) 17:35:53 ID:osEwOlKl
>>362
どーなるの?違いがわからない。
364名無し~3.EXE:2007/07/21(土) 18:50:51 ID:RJ4pmq41
>>363
行カーソル表示した時に、_ が反転して、空白と
区別が付くようになる。

タブバーにフォーカスがあってキー入力ができない、
ということがなくなる。

365名無し~3.EXE:2007/07/21(土) 19:51:11 ID:osEwOlKl
>>364
なるほど。ありがとう。

ちなみにアンダーバーの問題の別解
1.フォントに変える(例えばOsaka等幅だと行カーソルと重ならない)。
2.行間の大きさを変える。[ツール] [共通設定] [フォント] [行間](ダイアログの右上)
366名無し~3.EXE:2007/07/24(火) 11:28:20 ID:lcNodZtp
正規表現に鬼車がつかえるようになる拡張ってなかったっけ。
どこかで見た記憶が。
367名無し~3.EXE:2007/07/24(火) 19:55:42 ID:m0fWxnpN
>>366
たぶんないね。
励ましあえ その9 の 523 で
ちょっと話題に上っているくらい
368名無し~3.EXE:2007/07/26(木) 14:18:09 ID:dzMbiRZS
Part14の186あたりからのほうがいいかも
369名無し~3.EXE:2007/07/30(月) 15:12:37 ID:iNt54qFo
eb.lを使わせていただいているのですが、site-lispにeb.lを置いた状態で、
(make-tags-file "c:/util/xyzzy/" 0)
などとすると、-qで起動したxyzzyであっても、
「変数が定義されていません: *ebdict-dictionary-title*」と出ます。
いったんeb.lをsite-lispからどかしてXTAGSを作るようにしているのですが、
どうしたらよいでしょう。
eb.lには何も手を加えていません。
370360:2007/07/30(月) 17:16:55 ID:YwPHoacQ
>>361
KaMailからAddressesを更新したらインデントなくなっちゃった… orz
371名無し~3.EXE:2007/07/30(月) 22:06:18 ID:WUJvkMDF
>>370
つ 再インストール
372名無し~3.EXE:2007/07/30(月) 22:30:30 ID:yF2bcSKY
受験勉強もせずにKaMailをインストールしてました。
使うソフトが減ってうれしいです。
次はrss-modeかな。
373名無し~3.EXE:2007/07/31(火) 00:14:42 ID:gdXLnwyy
>>369
バッファの色分けを変更可能にするためにちょっと
イレギュラーなことをしていました。

明日くらいに修正した0.4を出せると思います。
374名無し~3.EXE:2007/07/31(火) 08:55:55 ID:Ia15Hcr0
>>372

>使うソフトが減って嬉しいです。

emacs厨と大差なくてワラタ
375名無し~3.EXE:2007/07/31(火) 10:21:14 ID:posEvxA/
WinAPI(DLL)呼び出しまわりで勉強になるサイトを教えてください。
376名無し~3.EXE:2007/07/31(火) 11:51:24 ID:pjQ/nKmH
377名無し~3.EXE:2007/07/31(火) 22:14:23 ID:r+1poOGK
ebdict0.4、さっそくダウンロードさせていただきました。
無事にmake-tagsできました。どうもありがとうございました。
378360:2007/08/01(水) 23:04:08 ID:nVgE5mbr
>>371
kamail-address.lでファイル(Addresses)の読み書きの際にインデントの保存を考慮してないというだけの話でした
結局 kamail-write-group-address もいじって強制的にインデント付で書き出すよう俺改造しちゃったわ
379名無し~3.EXE:2007/08/02(木) 16:47:51 ID:f/8+AM1U
http://web.sfc.keio.ac.jp/~aihara/lisp.html
inferior-lisp-mode
inferior-prolog-mode
brainfuck-mode
380名無し~3.EXE:2007/08/02(木) 20:18:34 ID:TVn0Rz3R
ldocとかldoc2で

(scan-buffer "PATTERN"

と入力した後もscan-bufferのdocが見れるようにしたいのですが
どうしたらいいでしょう。
381名無し~3.EXE:2007/08/02(木) 20:38:11 ID:QuM4IcMd
pointがcarでない場合はcarの文字列を返す("(" まで戻る)ように、get-syntax-ldoc-wordを上書きするとか
382名無し~3.EXE:2007/08/02(木) 21:02:26 ID:QuM4IcMd
もう一つ、pointが関数でない場合
383名無し~3.EXE:2007/08/02(木) 22:51:13 ID:ZQXFQHuI
ldoc2 そうなるように改造して使ってるから貼ろうかと思ったけど、
コード読み返したら直したくなったんで直してからにするよ
384名無し~3.EXE:2007/08/02(木) 23:27:31 ID:ZQXFQHuI
できた

(require "ldoc2")
(in-package "ed")
(defun ldoc-var-message (symbol)
  "Print docstring of variable bound to SYMBOL."
  (let ((doc (documentation symbol 'variable)))
    (message "~S: ~A" symbol
             (if doc
                 (substring doc 0 (position #\LFD doc))
               "not documented"))))

(defmacro save-goal-column (&rest body)
  (let ((v (gensym)))
    `(let ((,v (goal-column)))
       (unwind-protect (progn ,@body) (set-goal-column ,v)))))

(defun ldoc-1 (&optional sym)
  (let ((to (progn (skip-syntax-spec-forward "w_.") (point)))
        (from (progn (skip-syntax-spec-backward "w_.") (point))))
    (when (> to from)
      (let ((sym (ldoc-find-symbol (buffer-substring from to))))
        (cond ((null sym) nil)
              ((boundp sym)
               (ldoc-var-message sym)
               t)
              ((fboundp sym)
               (ldoc-func-message sym)
               t))))))
385つづき:2007/08/02(木) 23:28:07 ID:ZQXFQHuI
(let (opoint)
  (defun ldoc (&optional sym)
    "Print a function documentation."
    (if (or (eq *this-command* 'eval-last-sexp)
            (minibuffer-window-p (selected-window))
            (eql opoint (setq opoint (point))))
        (return-from ldoc nil))
    (save-goal-column
      (if sym (ldoc-1 sym)
        (when (member buffer-mode *ldoc-activated-mode-list*)
          (save-excursion
            (or (ldoc-1)
                (unless
                    ;; 末尾に \ があるとき (up-list -1) すると固まることがある
                    (and (eobp) (eql (preceding-char) #\\))
                  (when (up-list -1 t)
                    (forward-char 1)
                    (skip-syntax-spec-forward " ")
                    (ldoc-1))))))))))

(in-package "user")
386380:2007/08/03(金) 17:28:59 ID:7k1e1Izh
>>383-385
べんりー。ありがとうございます。
387名無し~3.EXE:2007/08/05(日) 19:10:07 ID:cVEVV7Lc
>>385
> 末尾に \ があるとき (up-list -1) すると固まることがある

試してみても全然再現させられないんだけど、
何か一つでも知っているのがあったら教えて。
388名無し~3.EXE:2007/08/05(日) 20:03:11 ID:Ux5/5YD5
>>387
バッファ末尾に \ があるときに backward-sexp すると固まるんだけど、
今デフォルトの状態でやってみたら再現しなかった。
うちの設定がまずいみたい。
389名無し~3.EXE:2007/08/05(日) 20:09:29 ID:Gc+zDRW7
>387
"(´・ω・`ショボーン\"
最後が"だなこれでは
390387:2007/08/05(日) 21:05:34 ID:cVEVV7Lc
>>388
どうも。環境の問題でしたか。

>>389
式が中途半端に終了しています、というエラーだったら
バッファに下のを入力して試せば、エラーも固まることもなく OK だった。


(
"(´・ω・`ショボーン\"


それとも、こういうことじゃなかった?
391387:2007/08/05(日) 21:11:10 ID:cVEVV7Lc
forward/backward-sexp には、前からずっと気になっていた点があって
複数行にわたる文字列中の括弧の位置で、エラーがでたりする。

;; ok

"(
"

;; error

"
("

直接 この影響を受けているのか、同じような問題により
paren も、下の2つのどちらでも正しく外側の括弧の対応関係を
とる事ができない。
("
("
)

("
()"
)
392名無し~3.EXE:2007/08/05(日) 21:41:11 ID:Ux5/5YD5
>>391
Emacs だとここの最後の二段落に書いてあるように、そういう仕様になってる。
http://www.geocities.co.jp/SiliconValley-Bay/9285/EMACS-JA/emacs_247.html

ソースちゃんと読んだわけじゃないけど xyzzy でもこれを踏襲してんじゃないかな。
393名無し~3.EXE:2007/08/05(日) 21:59:10 ID:Ux5/5YD5
>>387-388
どうやら xyzzy.exe が古かったようで、最新のに変えたら固まらなくなりました。
なんでこれだけ古いままだったのかはわからない。
394387:2007/08/05(日) 23:44:27 ID:cVEVV7Lc
>>392
> Emacs だとここの最後の二段落に書いてあるように、そういう仕様になってる。

なるほど、これは知らなかった。 xyzzy もこれを踏襲しているみたい。
ソースでも、開き括弧は特別視していたけど閉じ括弧は無視していたので
不思議だったけど、納得しました。

>>393
バージョンあげる時に xyzzy が動いていたのかもね。
395名無し~3.EXE:2007/08/07(火) 15:20:22 ID:I/e53t+l
バッファがselected-bufferでなくなったら削除するようにしたいのですが、ど
のhookを使えばいいのかわかりません。
*post-command-hook*にするしかないのでしょうか?
396名無し~3.EXE:2007/08/07(火) 16:18:41 ID:pKrp5DU3
*activate-hook*か*deactivate-hook*かな
397名無し~3.EXE:2007/08/07(火) 17:34:14 ID:m9eebIr1
>>395
「違うタイミングで代わりができないか」を考えるか、
そのバッファだけバッファ移動コマンドを自前で定義するか、
*post-command-hook*を使う。

がんばれ。
398名無し~3.EXE:2007/08/08(水) 08:19:03 ID:wTgOGyc8
>>397
どうもありがとうございます。
とりあえず*post-command-hook*にしておきます。
399名無し~3.EXE:2007/08/08(水) 10:14:20 ID:7r60w/RB
ここ(ttp://gmail.1o4.jp/stunnel.html)を見て、stunnel を使い kamail で
gmail の送受信をできるように試みました。受信は問題なくできました。
しかし送信の方は、送信はちゃんとされるのですが、送信後に
"不正なデータ型です: nil: string" と言うエラーが出てしまいます。
対策を知っていられる方がおりましたら、教えてくださいませ。
400名無し~3.EXE:2007/08/08(水) 17:43:19 ID:iX3NA2m4
KaMail で全てのメールを管理するんじゃなく
gmail で管理したほーが楽だとこの前きづいた
401名無し~3.EXE:2007/08/08(水) 21:54:08 ID:KzLH8jX5
メールソフト使うよりGmailが楽だし
メモをエディタで書くよりGoogle Notebookが楽だし
Webページ作るのはエディタよりGoogle Page Creatorが楽だし
エディタ上でRSS Reader使うよりGoogle Readerが楽だし
あとはGoogle 2ch Viewerがあればな
402名無し~3.EXE:2007/08/08(水) 22:05:15 ID:cBiA7KqD
>Webページ作るのはエディタよりGoogle Page Creatorが楽
マジか
使ってみよう
403名無し~3.EXE:2007/08/08(水) 22:23:52 ID:dGpX/tjW
>>401
全部Google様に、というか一つのサービス提供元にお任せしてると、
なんかこう…そのうち恐ろしいことになりそうな気がする。
404名無し~3.EXE:2007/08/08(水) 22:39:25 ID:cBiA7KqD
互換性のあるデータ形式でエクスポートできるんだからいいじゃないか。
405名無し~3.EXE:2007/08/08(水) 23:21:48 ID:hiTvdtZV
>>399
PLAIN,LOGIN認証とか試してみたら?
それでもダメならSMTPだけプロバイダのやつにしたら?
406名無し~3.EXE:2007/08/09(木) 01:04:04 ID:D9blP6xB
>>403
オレもそんな気がして…結局検索と地図くらいしか使ってないや
なんでみんなGoogle様のサービスに安心して身を委ねていられるんだろうな
407名無し~3.EXE:2007/08/09(木) 01:22:25 ID:31uuN5GQ
神様かなんかと勘違いしてるんだろう
408名無し~3.EXE:2007/08/09(木) 01:26:35 ID:BiCVGhYJ
そのうちGoogle Folderとかが出来て、
Google Browser Desktopができたら、
もうPCなんてFirefoxが動けばあとは何もいらんな
409名無し~3.EXE:2007/08/09(木) 01:46:29 ID:Gai84qwB
xyzzy はいるよ。
410名無し~3.EXE:2007/08/09(木) 02:44:42 ID:BiCVGhYJ
Google Browser Desktop上にJavaScriptで書かれたxyzzyが動きます
411名無し~3.EXE:2007/08/09(木) 03:16:25 ID:5TG6WGGp
つか>>403の言う恐ろしさって
個人情報含むいろいろを企業の無料アカウントに任せることだと
思ってた俺はこの流れでは負け組らしい。
ま、スレ違いだしどうでもいいけど。
412406:2007/08/09(木) 03:19:53 ID:D9blP6xB
>>411
> 個人情報含むいろいろを企業の無料アカウントに任せることだと

オレの感じてるのもそれです
なんだオレも負け組なのか。
413名無し~3.EXE:2007/08/09(木) 09:07:54 ID:KcmwWfy3
googleはアカウント登録しなくても色んな人の個人情報とか思いっきり掴んでそう
正直マイクロソフト以上に危ないにおいがする企業だぜ
414名無し~3.EXE:2007/08/09(木) 12:33:32 ID:UB4Lht2O
>>410
javascrpitがlispだったら考えてみるよ。
あとgoolgeってfirefox作ってるわけじゃないから
そういう意味じゃIE作ってるMSより怖くは成りえないと思われ。
415名無し~3.EXE:2007/08/09(木) 18:47:58 ID:CDAolScv
>>411
スレ違いですまんかったが、411-412のような意味のつもりだった。
EPIC 2014、2015ってあんまり知名度高くないのか。

関係ないけど、xyzzyでHTMLを書いてF5→ブラウザでHTMLを開く
っていう動作をさせたいんだけど、どう書いたらいいの?
416名無し~3.EXE:2007/08/09(木) 18:57:58 ID:9z12+Vj5
(shell-execute (get-buffer-file-name))
417名無し~3.EXE:2007/08/09(木) 21:25:34 ID:CDAolScv
>>416
ありがとう愛してる
418名無し~3.EXE:2007/08/10(金) 09:51:01 ID:qXaQIJ7u
(setq aaa '(1))
=>(1)
(delete 1 aaa)
=>nil
aaa
=>(1)

これって仕様通りなんですか?

aaa
=>nil

になると思っていたんですけど。
419名無し~3.EXE:2007/08/10(金) 10:33:19 ID:611XknKc
M.hiroiさんのとこみるとこう書いてましたので仕様どおりなのかも

ttp://www.geocities.jp/m_hiroi/xyzzy_lisp/abclisp10.html
2 番目の例を見てください。リストの要素がすべて削除される場合、delete は空リスト nil を返しますが、
このとき変数 a の値は書き換えられていません。
delete でリストの要素を削除する場合は、delete の返り値を変数に代入することをおススメします。
420名無し~3.EXE:2007/08/10(金) 10:46:16 ID:pwhAMLHy
>>418
その話題は定期的にでてくるから、wikiやスレの過去ログを漁ってみると良いかも。
他の言語だと、破壊的って書いてあったら自分で代入しなくても
勝手に代入するものだから勘違いしやすいけど、
lispの"破壊的"は文字通り、元の変数をぶっ壊して使えなくするって意味での"破壊的"。

ところがpushやpopはちゃんと元の変数に値を変更してくれる不思議。
421名無し~3.EXE:2007/08/10(金) 11:43:18 ID:DHdkkkxT
push, pop は変数の値セルを破壊するからね
nconc やら delete やらは変数から参照されてるリストを破壊する
422名無し~3.EXE:2007/08/10(金) 11:44:43 ID:DHdkkkxT
いや、変数から参照されてるとは限らないか。
ともかく破壊されるものが違うってこと。
423名無し~3.EXE:2007/08/10(金) 14:19:33 ID:mDSJ4z/x
プログラミングのことはよくわからんが push や pop を破壊的というのには違和感がある。
424名無し~3.EXE:2007/08/10(金) 15:25:39 ID:1IGNYXKS
421は何か勘違いしてるんじゃね?
425名無し~3.EXE:2007/08/10(金) 17:00:54 ID:APe3CPkJ
>>420
push や pop は setf の仲間と考えればOK。
incf とか rotatef とかもそうで、元の変数の値などを変更することを目的としている。

nconc とか delete とかとは思想が違うと考えていいんじゃないかな。
426名無し~3.EXE:2007/08/10(金) 17:16:58 ID:5DtuSK9b
「破壊的」の定義がほんと、一般的な意味と全然違うのね。
First, many destructive functions are not *required* to modify their input argument, merely *allowed* to.

>push, pop
Lispっぽく言うなら、「副作用的」って感じかな。
427名無し~3.EXE:2007/08/10(金) 17:50:02 ID:6BBVJ2kQ
つまり、Lispでいう"破壊的"てのは

元の変数なんてどうなってもシラネーヨ!! ヽ(`Д´)ノ

ってこと?
428名無し~3.EXE:2007/08/10(金) 18:28:24 ID:kjgG6W7B
>>427
そのとおり。
429名無し~3.EXE:2007/08/10(金) 21:46:22 ID:BrY4y+PU
より正確には、返り値と同じ値に引数がなるか、それとも全く変化ないかの2択で、
例えばdeleteで予期せぬ値まで削除される副作用が起きるってことは許されてないよね?
430名無し~3.EXE:2007/08/10(金) 22:25:23 ID:LJcKMVWn
>>429
> より正確には、返り値と同じ値に引数がなるか、それとも全く変化ないかの2択で、
> 例えばdeleteで予期せぬ値まで削除される副作用が起きるってことは許されてないよね?
いいえ。
引数のシーケンスを破壊して戻り値となるシーケンスを作っていいよとしか書かれていません。
deleteに与える引数が常にnilに変更される処理系があっても、
戻り値さえ正しければその動作は仕様を満たしているはずです。

ttp://www.lispworks.com/documentation/HyperSpec/Body/f_rm_rm.htm
> Side Effects:
> For delete, delete-if, and delete-if-not, sequence may be destroyed and used to construct the result.

push, pop, setf, incf, rotatef が無関係なのはこれらがマクロだからですね。
431421:2007/08/10(金) 23:23:52 ID:h3vIaR7b
>>424
どっかおかしいとこある?
言い方がまずかったのかもしれないけど。
432名無し~3.EXE:2007/08/11(土) 01:05:57 ID:McOyZ4QI
昔はまったなぁこれ。
「処理系さん!私(引数)のことメチャクチャにしていいよ(はーと)」
って言う意味だから紳士的だったりめんどくさいときは何もしないんだよね。
433名無し~3.EXE:2007/08/12(日) 11:03:10 ID:WawkhM2P
>>430
がびーん。常に返り値を使用しなければならないってことか…さんきう。
潜在バグとか作りこんでないといいなぁ…('A`)
434名無し~3.EXE:2007/08/14(火) 13:44:48 ID:pOnNVn+n
howmでメモの拡張子をtxtにしたいんですがどうすればいいでしょうか?
それとtxtにした場合デメリットはありますか?
435名無し~3.EXE:2007/08/14(火) 14:47:52 ID:X9hucI+8
>> 434
howm-init.l に
(setq howm-file-name-format "%Y/%m/%Y-%m-%d-%H%M%S.txt")

とか?
436名無し~3.EXE:2007/08/15(水) 10:02:38 ID:WokclMp5
特にデメリットはないんじゃね?
howmはhowmで書いたメモ
txtは他のソフトで書いたメモと使い分けるくらいかな
437名無し~3.EXE:2007/08/18(土) 20:22:53 ID:k/XLbboJ
画面全体の中でのカーソルの座標を取得したいのですが、どうしたらいいのでしょう。
winapi.lを使うのかなという気はするのですが。
438名無し~3.EXE:2007/08/18(土) 23:59:35 ID:lZOx1iAW
ここが参考になるんじゃないかな。
http://www2.ocn.ne.jp/~cheerful/script/xyzzy/winapi/input.html
439名無し~3.EXE:2007/08/19(日) 10:20:01 ID:NhZJvQoo
>438
どうもありがとうございます。
見よう見まねで以下のようにやってみたのですが、xとyに同じ値しか返ってきて
ないっぽいです。

(defun test ()
(interactive)
(let (x y pt)
(setq pt (winapi:make-POINT))
(c:define-dll-entry winapi:BOOL GetCaretPos ((winapi:POINT *)) "user32")
(GetCaretPos pt)
(setq x (winapi:POINT-x pt)
y (winapi:POINT-y pt))
(msgbox "~D ~D" x y)))

ヒントをいただけないでしょうか。
440名無し~3.EXE:2007/08/19(日) 11:03:34 ID:p06h8bLe
Caretって、文字打つときにチカチカしてるアイビームとかいうやつだよ。
マウスのがCursorね。
441名無し~3.EXE:2007/08/19(日) 11:07:40 ID:p06h8bLe
んで、GetCaretPosで取得できるのは、そのスレッドのものだよ。
442名無し~3.EXE:2007/08/19(日) 17:41:34 ID:NIhGx04B
なる。たぶん M-x してたのでミニバッファのカーソル座標を
常に取得してたということだなw
443名無し~3.EXE:2007/08/19(日) 19:20:42 ID:NhZJvQoo
>>440
まぎらわしくてすみません。ほしいのはポイントの座標です。

>>442
そうみたいですね。
global-set-keyしてやってみたら違う値が返ってくるようになりました。
けど、xyzzy自体のウィンドウを動かしてもポイントの位置が同じだと
やっぱり同じ値が返ってきます。
GetCaretPosでは画面全体の中での位置を得ることはできないんですかね。

やりたいことはSPI on xyzzyのウィンドウをポイント位置に表示させること
なんですけど、他にいいやり方あるでしょうか。
444名無し~3.EXE:2007/08/19(日) 19:50:56 ID:OrtaaqNp
>GetCaretPosでは画面全体の中での位置を得ることはできないんですかね。
座標にはクライアント(ローカル)とスクリーン(グローバル)の二種類あって、
APIは普通どっちかしか得られない。
だから、相互変換するAPIがある。
この件だと、ClientToScreen使えばいい。
445名無し~3.EXE:2007/08/19(日) 20:17:02 ID:UOFk33jT
つか、小出しに聞いてくるやつって何なの
446名無し~3.EXE:2007/08/19(日) 20:35:39 ID:XssCGPfz
>>443
なんで>>438のページみてGetCaretPosが出てくるの?

>;GetCursorPos マウスの位置をゲット
>;SetCursorPos マウスの位置をセット

>;ちなみにキャレット(Caret)と混乱しないように

って書いてあるのに。

447名無し~3.EXE:2007/08/19(日) 20:43:25 ID:XssCGPfz
で、GetCursorPosは画面の座標を返してくるから
>>444にあるClientToScreenは使わなくていいから。
448名無し~3.EXE:2007/08/19(日) 21:03:33 ID:NhZJvQoo
>>444
ありがとうございます。以下のようにしたらうまく出来ました。

(defun test ()
(interactive)
(let (x y pt)
(setq pt (winapi:make-POINT))
(c:define-dll-entry winapi:BOOL GetCaretPos ((winapi:POINT *)) "user32")
(c:define-dll-entry winapi:BOOL ClientToScreen (winapi:HWND (winapi:POINT *)) "user32")
(GetCaretPos pt)
(ClientToScreen (get-window-handle) pt)
(setq x (winapi:POINT-x pt)
y (winapi:POINT-y pt))
(msgbox "~D ~D" x y)))
449名無し~3.EXE:2007/08/20(月) 12:55:35 ID:kcZp+U/f
2ch/search.lの187行目のあたり。

(when (string>= dat dat-limit)
てのを、

(when (>= (parse-integer (pathname-name dat))
(parse-integer (pathname-name dat-limit)))

に変えたら、board-new-show(スレ一覧でn)がいい感じに動くようになりました。
既出かもしれませんが一応。
450名無し~3.EXE:2007/08/20(月) 15:25:55 ID:LwmdFucs
xyzzyCEが欲しいなぁと思う今日この頃。
451名無し~3.EXE:2007/08/20(月) 18:09:05 ID:2wXw7iYR
>>450
っいいだしっぺの法則

ただCEだとものによるのかもしれないけどKBが小さくてalt+xとか押しづらそうな気がするのだが・・・
452名無し~3.EXE:2007/08/20(月) 20:03:00 ID:E5Gda7ox
>>450
他に良いエディタが無くて、やむを得ず Pocket WZ を7,000円以上も出して買ってしまったが、
あると嬉しいかも。
しかし、確か emacs は動くんじゃなかったかな。リナザウで動かすのに比べると grep などがいまいち
のようだが。
453名無し~3.EXE:2007/08/20(月) 20:15:20 ID:Zq3If21O
ちょっとしたことにしか使わないのでエディタはUKEditorで妥協してるがxyzzyCEがあれば使いたいかも。
そのままビルドしただけを持ってくと重たそうな予感がするので適当に軽量化しないときついかも。
454名無し~3.EXE:2007/08/20(月) 23:23:12 ID:NtbhtmFU
2ch-mode 用に xyzzyCE が欲しいんだけども。
455名無し~3.EXE:2007/08/20(月) 23:28:28 ID:8UJekquG
>>454
作ってくれ
456名無し~3.EXE:2007/08/20(月) 23:33:58 ID:bstuD62F
ついでだけど wine で xyzzy 動かしてる人いる?何度か試したけどダメ
457名無し~3.EXE:2007/08/21(火) 07:39:06 ID:xd7pL5EP
過去スレで動かした人がいるよ
458名無し~3.EXE:2007/08/21(火) 21:04:28 ID:EaEEaVaS
そか、サンクス。wine のバージョンによって大分違うんだろうな。再トライしてみるよ
459名無し~3.EXE:2007/08/21(火) 22:33:15 ID:4h2Yzh0E
俺もce版は欲しいな
現状だとまともに動くのがない・・・
460名無し~3.EXE:2007/08/23(木) 05:04:38 ID:4vb7/hIS
>>456
動かしたことはあるが結局scim経由での日本語入力ができず実用に至らず。
動いた報告も確かそんな感じだったような
461名無し~3.EXE:2007/08/26(日) 19:20:50 ID:r0ZT3ejK
ldoc2 ですが、incf などのドキュメントに「incf (&ENVIRONMENT %ENV %REFERENCE &OPTIONAL (DELTA 1))」
とでてしまい、リファレンスを引いたときの「incf PLACE &optional (DELTA 1)」とは異なっています。

例えば、reference.xml からドキュメントを持ってきて表示するなどということはできませんでしょうか?
462名無し~3.EXE:2007/08/26(日) 19:47:43 ID:r0ZT3ejK
いまちょっと試してみたんですが、howm-calendar.l は面白そうですね。
今まで calmemo とメモを保存するディレクトリを同じにして併用していたんですが、これなら howm に一本化できるかも。

ちょっと気になったのは、ウィンドウ幅で折り返すになっているとカレンダーの表示がおかしくなってしまうので、これは
折り返し無しにした方がいいような気がします。

あとウィンドウは横分割と縦分割を選択できて、スクロールバーが表示されるといいなぁという気がします。
463名無し~3.EXE:2007/08/26(日) 20:03:39 ID:beCsvV0b
>>461
ldoc-func-get-args 書き換えればいい

reference.xml にある
incf PLACE &optional (DELTA 1)
ってのはソースにはないみたいだけど、 CLtL2 からもってきたんだろうか
464名無し~3.EXE:2007/08/26(日) 21:25:31 ID:iP5cW3sU
>>461
どうも、こんばんは。

&environment が何者かはっきり分かっていませんが、
ldoc2 は実際の定義に、忠実に即しているので、これで
いいように思うんですが、どうでしょう。直すならば、
ドキュメントの方なきがします。

気になるのであれば >>463 でいうように、ldoc-func-get-args
を適当に書き換えるか、define-modify-macro を下のコードのように再
定義して、incf, decf を定義しなおす、というのも1つの方法です。
ただ &environment は、正確に理解していないのでこれでいいのかは
判断できません。

あと引数をドキュメントからとってくるのは可能ですが、
現在の方法よりも、かなり遅くなると思うので難しいところです。
define-modify-macro を使っているのは ~/lisp 以下で incf, decf
だけだから、そこまでするのもなぁという気がします。

howm-calendar の方は、ぼちぼち直して生きたいと思います。
ご連絡ありがとうございました。
あと ldoc2 も、これとは関係なく近いうちに更新する予定です。
465464:2007/08/26(日) 21:26:34 ID:iP5cW3sU
(defmacro define-modify-macro (name lambda-list function &optional doc-string)
(let ((update-form
(do ((l lambda-list (cdr l))
(vars nil))
((null l)
``(setf ,reference (,',function ,reference ,,@(nreverse vars))))
(cond ((eq (car l) '&optional))
((eq (car l) '&rest)
;(return ``(setf ,reference (,',function ,reference ,,@nreverse ,(cadr l)))))
(return ``(setf ,reference ,(list* (quote ,function) reference ,@(nreverse vars) ,(cadr l)))))
((symbolp (car l))
(push (car l) vars))
(t
(push (caar l) vars)
(if (caddar l)
(push (caddar l) vars)))))))
`(defmacro ,name ,(append '(reference) lambda-list '(&environment env))
,@(if doc-string
(list doc-string))
,update-form)))
466名無し~3.EXE:2007/08/26(日) 23:53:10 ID:r0ZT3ejK
>>463-465
ありがとうございます。

PLACE というのはソースにないようなので、incf decf を再定義してみました(マクロはさっぱりわからず(^_^;)。
*post-command-hook* に reference.xml から持ってくる処理を入れるのは重そうなので良くないかもですね。

(defun incf-decf-rewrite ()
(let (incf-old decf-old)
(setf (symbol-function 'incf-old)
(symbol-function 'incf)
(symbol-function 'decf-old)
(symbol-function 'decf))
(defun incf (place &optional (delta 1))
(incf-old place delta))
(defun decf (place &optional (delta 1))
(decf-old place delta))))
(add-hook '*post-startup-hook* 'incf-decf-rewrite)

>howm-calendar の方は、ぼちぼち直して生きたいと思います。
予定は calmemo を起動して howm の書式でメモをとって両方で見られるようにしておりちょっと手間だったので、
期待してお待ちしています。
467名無し~3.EXE:2007/08/27(月) 00:40:52 ID:CenGMbRt
xyzzy + tterm.l + cygterm + zsh しています。
cygterm と zsh は標準の cygwin1.dll ではなくて、utf-8 対応版です。

この状態で zsh で cat "utf-8で記述された日本語テキスト.txt." して、
化けずに表示するにはどうしたらいいでしょうか。

入力のほうは tterm-input-encoding を *encoding-utf8n* すると
いけてる気がしますが、tterm-output-encoding を同じにして、
xyzzy の tterm のバッファの encoding も utf8n にしても、
相変わらず化けます……。
468名無し~3.EXE:2007/08/27(月) 03:13:11 ID:Yjb93OSf
>>466
マクロを関数に置き換えることはできないのでその定義じゃダメッスよ。
(setq l (list 1 2 3 4 5))
=>(1 2 3 4 5)
(incf (second l))
=>3
l
=>(1 2 3 4 5)
(incf-old (second l))
=>3
l
=>(1 3 3 4 5)

やるのだったらbuiltin関数でやっているみたいにsymbol-plist辺りに情報を入れておくといいんじゃないかな。

リファレンスにおけるマクロの引数の記述の方針についてはこの辺り。
ttp://xyzzy.s53.xrea.com/wiki/index.php?%A5%EA%A5%D5%A5%A1%A5%EC%A5%F3%A5%B9%A4%CB%A5%C4%A5%C3%A5%B3%A5%DF%A4%F2%C6%FE%A4%EC%A4%EB%2F115
469466:2007/08/27(月) 06:32:44 ID:+TJggrKg
>>468
なるほど、ありがとうございます。
しかし、まだまだ知らないことばかりだな...
470467:2007/08/28(火) 00:01:07 ID:CenGMbRt
>>467
tterm.l が utf-8 の表示に対応してなかったっぽいので、適当に改造して自己解決しました。
471名無し~3.EXE:2007/08/28(火) 23:24:40 ID:uPP8OjOr
*window-flag-mode-line*ってバッファごとには設定できない?
472名無し~3.EXE:2007/08/29(水) 00:37:51 ID:iioLM0kw
>>471
set-local-window-flags
473名無し~3.EXE:2007/08/29(水) 01:16:27 ID:NbyHV6Tn
>>472
それで設定してみてるのだけど、
*window-flag-half-width-space* とかはバッファごとに設定可能。
なのに *window-flag-mode-line* はフレームごと切り替わっちゃう気がするんだ。
474名無し~3.EXE:2007/08/29(水) 21:04:29 ID:u2X/Y8RB
これでできない?

(set-local-window-flags (selected-buffer) *window-flag-mode-line* nil)
475名無し~3.EXE:2007/08/29(水) 21:09:05 ID:v27NXJP6
>>473
つ WINDOW-OR-BUFFER
つ (selected-window)
476名無し~3.EXE:2007/08/29(水) 21:21:53 ID:NbyHV6Tn
>>474,475
サンクス。でも駄目なんだ。.xyzzy の中身を消してサラの状態で試して……と、
ここまで書いたところで気がついた。

C-x b でバッファを切り替えたら正しくバッファごとに設定した状態に切り替わるんだけど、
バッファバーでタブをクリックするとか、function の中で set-buffer するとかで切り替えると、
駄目なんだ。なんでたろう。
477名無し~3.EXE:2007/08/29(水) 21:47:54 ID:u2X/Y8RB
バッファじゃなくてウィンドウごとだからとか?
478名無し~3.EXE:2007/08/29(水) 21:52:39 ID:u2X/Y8RB
でも set-buffer のときは同じウィンドウでも変わってるか。
残念ながらよくわからない。
479名無し~3.EXE:2007/08/29(水) 22:00:49 ID:NbyHV6Tn
>>476
うーん、ESC ESC して (next-buffer) すると正しく切り替わるんだけど、
たとえば C-z に next-buffer を割り当てて C-z すると駄目っぽい。
ますます謎な感じに。
480名無し~3.EXE:2007/08/29(水) 23:03:11 ID:kGCRL+fV
>>479
update-mode-line で、
481名無し~3.EXE:2007/09/01(土) 19:44:23 ID:qSI1fXtL
howm-calendar.l ですが、*calendar-mode-post-hook* にするとカレンダーの画面を切り替えた時に予定などが
表示されなくなってしまうようです。
それと、例えば calendar-with-split を C-u 付きで起動するとキャッシュを更新する、カーソルキーで移動したときにも
メモをポップアップするなどできたらいいなと思いました。

ついでに、メモのある日付で Enter するとその日付で検索するコードを書いてみました。
よろしければ使って下さい。
(defun howm-calendar-search ()
(interactive)
(let (str date)
(multiple-value-bind (p1 p2 tag)
(find-text-attribute-point (point))
(and (consp tag)
(eq (car tag) 'calendar)
(setq str (cdr tag))
(stringp str)
(string-match "\\[\\([0-9][0-9][0-9][0-9]\\-[0-1][0-9]\\-[0-3][0-9]\\)\\]" str)
(setq date (match-string 1))
(elib::howm-search date t)))))
(define-key *calendar-mode-map* #\RET 'howm-calendar-search)
482名無し~3.EXE:2007/09/01(土) 19:46:45 ID:qSI1fXtL
それと、howm のメニューバッファは多分こんな感じ
(elib::howm-menu-name (if elib::howm-menu-file
elib::howm-menu-file
elib::howm-menu-top))
で取得できると思います。
483名無し~3.EXE:2007/09/02(日) 02:29:15 ID:Kpxc1wJx
>>480
それでも駄目でした。
んで、なぜか、function の中で set-buffer したあと
toggle-fold-mark 2 回やるようにすると、mode-line の状態が正しく切り替わりました。
でも toggle-eof 2 回やっても駄目。もうお手上げ。
484名無し~3.EXE:2007/09/02(日) 18:30:17 ID:/WLo/LJB
>>481-482
とりあえず要望は一応全て反映させたつもりです。
あと サンプルコードありがとうございました。

>>483
siteinit.l .xyzzy を消した状態でもそうなるんでしょうか?

そうでないなら、 next-buffer を再定義していないかとか、
二分探索で原因となるコードがどこかを、地道に調べるのが
解決は早いと思います。
485名無し~3.EXE:2007/09/02(日) 19:01:25 ID:XIm+92ft
>>483
function の中で set-buffer って具体的にどんな関数書いてるの。
486名無し~3.EXE:2007/09/02(日) 21:39:12 ID:Azmi85sV
>>484
対応ありがとうございます。
しかし、こちらの環境ではcalendar-next-scheduleでスタックオーバーフローになったり、外部シンボルは見つかりません
elisp-lib::howm-menuと出たり、変数が定義されていません*post-command-hook*と出たりしてうまく動かないようです。

それと、もう一つ要望として、メモがある日付が土日祝日である場合には、背景色のみを変更するなどして祝日などで
あることがわかるようにしていただけると嬉しいです。
487名無し~3.EXE:2007/09/02(日) 23:53:41 ID:/WLo/LJB
>>486
autoload では、駄目なようです。
普通にロードして使ってください。

スタックオーバーフローはこちらので再現しないので、よく分かりません。
再現する手順とデータを、できれば2005年以前のスケジュールでください。
*post-command-hook* は、何ででるのか分かりません。とりあえず、
対処するコードを入れてみました。

> それと、もう一つ要望として、メモがある日付が土日祝日
> である場合には、背景色のみを変更するなどして祝日などで
> あることがわかるようにしていただけると嬉しいです。

しばらくは忙しいので、こちらについては今は対応できません。
もし自分でそのコードを書いてしまったら、参考にさせて下さい。
488名無し~3.EXE:2007/09/03(月) 05:48:27 ID:vQQpWYUX
>>487
(require "howm-calendar")していたのですが、
外部シンボルは見つかりませんelisp-lib::howm-menuは先頭に
;;; -*- Mode: Lisp; Package: EDITOR -*-
と記述することで出なくなりました。

変数が定義されていません*post-command-hook*はldoc2をrequireすることで出なくなりました。

これらは素のxyzzyで試したのですが、この場合はスタックオーバーフローのエラーは出ないので
通常使っているxyzzyに入れている何かの拡張が影響しているのかもしれません。
489名無し~3.EXE:2007/09/03(月) 05:50:14 ID:vQQpWYUX
自分では
(defvar *mark-calendar-schedule-background* 14)
(defvar *mark-calendar-deadline-background* 13)
(defvar *mark-calendar-todo-or-normal-background* 11)
(defvar *mark-calendar-done-background* 8)
として、196-212行を
(multiple-value-bind (begin end tag foreground)
(find-text-attribute-point p)
(set-text-attribute p (+ 2 p)
(cond ((and (consp tag)
(eq (car tag) 'calendar)
(stringp (cdr tag)))
(cons 'calendar (format nil "~A\n~A" (cdr tag) str)))
(t
(cons 'calendar str)))
:foreground foreground
:background
(cond ((string-match "^\\[[0-9-]+\\]!" str)
*mark-calendar-deadline-background*)
((string-match "^\\[[0-9-]+\\][-+~]" str)
*mark-calendar-todo-or-normal-background*)
((string-match "^\\[[0-9-]+\\]@" str)
*mark-calendar-schedule-background*)
(t
*mark-calendar-done-background*))
に変えたりしています。
490名無し~3.EXE:2007/09/03(月) 06:04:46 ID:vQQpWYUX
site-lisp/elisp-lib.lというのはご自分で作られたファイルでしょうか?
また、バイトコンパイルしないとエラーになるようです。
491名無し~3.EXE:2007/09/03(月) 06:38:00 ID:vQQpWYUX
スタックオーバーフローについては
(defun calendar-title-string (year month)
(if (plusp year)
(let ((jp (get-japanese-era (get-universal-time) year)))
(format nil " ~D(~A~D)年~D月" year (second jp) (first jp) month))
(format nil " BC~D年~D月" (- 1 year) month)))
としてカレンダーに年号を表示するようにしていたのが原因だったようです。(-_-;)
492名無し~3.EXE:2007/09/06(木) 17:59:57 ID:1I+oaxzL
Winapi xyzzy 上でを使ってマウスクリックイベントを
発生させたいと考えています。

以下のコードを書いてみたのですが、まったくうまくいきません。
どなたか何かヒントをお持ちではないでしょうか。

(require "api")
(defun mouse-click-event ()
(interactive)
(let ((p (winapi::make-POINT)))
(winapi::GetCursorPos p)
(winapi::SendMessage (winapi::FindWindow (si::make-string-chunk "xyzzy") 0) winapi::WM_LBUTTONDOWN
0 (+ (* (winapi::POINT-y p) 65535) (winapi::POINT-x p)))
(winapi::SendMessage (winapi::FindWindow (si::make-string-chunk "xyzzy") 0) winapi::WM_LBUTTONUP
0 (+ (* (winapi::POINT-y p) 65535) (winapi::POINT-x p)))
))
493名無し~3.EXE:2007/09/07(金) 01:35:58 ID:EUVXouFf
>>492
俺もあんま詳しくないけど、とりあえず spy++ を見ながら xyzzy のウィンドウタイトルを右クリックできるようにしてみた。

・SendMessage じゃ駄目だったんで Post〜で。
・xyzzy はクラス名がないので (winapi::FindWindow (si::make-string-chunk "xyzzy") は動いてないよ。
 get-window-handle を使えばいい
・編集領域をクリックしたい場合は get-window-handle じゃなくて、編集領域のウィンドウハンドルを指定する必要がある
 クラス名はないので EnumChildWindow で探せばいいのかな。

(require "api")
(defun mouse-click-event ()
(interactive)
(let* ((hwnd (get-window-handle))
(x 60)
(y -34)
(lparam (+ (* y 65536) x)))
(winapi::PostMessage hwnd winapi::WM_RBUTTONDOWN
0 lparam)
(winapi::PostMessage hwnd winapi::WM_RBUTTONUP
0 lparam)
))
494名無し~3.EXE:2007/09/07(金) 03:02:30 ID:kqptoRh3
クラス名はあるよ、解かりにくいだけで。
あと、フォーカスのある(キャレットが点滅してる)ウインドウの取得はGetFocusでいけるかと。
495名無し~3.EXE:2007/09/07(金) 03:11:55 ID:EUVXouFf
全角空白だったか>クラス名
496名無し~3.EXE:2007/09/07(金) 11:45:10 ID:iFSyjpqE
いままで Pen4 マシンで使ってたんだけど、
PenDC E2180 で新しく組んでxyzzy起動したら
まるでメモ帳の如くさっくり起動して感激
497名無し~3.EXE:2007/09/09(日) 16:33:06 ID:sXh7F5wZ
*hogehoge*に("abc" "def" "ghi")というリストが代入されてる時、
(last '*hogehoge*)としても「ghi」を取り出すことができず、
(last '("abc" "def" "ghi"))とすると("ghi")までは返ってくるのですが、
カッコが付いています。
「ghi」の文字列だけ取り出したいんですが、
こういうときはどうすればいいのでしょうか。
498名無し~3.EXE:2007/09/09(日) 16:34:48 ID:C2/0OqWG
(car (last
499名無し~3.EXE:2007/09/09(日) 17:00:11 ID:mZ+fak1F
そういやカッコとるのにcarっていうの俺も最初気づかんかったな
500名無し~3.EXE:2007/09/09(日) 17:14:22 ID:sXh7F5wZ
>>498
ありがとうございます!
501名無し~3.EXE:2007/09/09(日) 17:33:53 ID:8gJaJsHf
リストを分解すれば分りやすいかもね。
(1 2 3) → (1 . (2 . (3 . nil)))

last で取得するのは、(3 . nil) xyzzyの表示上は (3)
3はコンスセルのcar部だからcarで3がとれるって感じかな。
502名無し~3.EXE:2007/09/09(日) 19:41:39 ID:c32IZ3Xq
ここで言うべきことは(last (list &optional (n 1)))かと。
503名無し~3.EXE:2007/09/09(日) 20:29:02 ID:TnBukU93
せめて違いぐらい書けよ
それだけで理解できる子なら質問なんてしない
504名無し~3.EXE:2007/09/09(日) 22:49:33 ID:KGtxS7yz
>>502
なぜ?
505名無し~3.EXE:2007/09/09(日) 23:10:36 ID:c32IZ3Xq
>>502
lastは指定された個数の要素からなるリストを返す関数で、
その指定が無い場合は1を指定したことになる。
だから要素が1つのリストが返ってるんであって、
コンスセルがどうとか、そんな話じゃないでしょ。

>>503
質問者じゃなくて>>501へのレスだよ。
506名無し~3.EXE:2007/09/09(日) 23:11:35 ID:c32IZ3Xq
アンカ間違った。
>>502じゃなくて>>504ね。
507名無し~3.EXE:2007/09/09(日) 23:28:43 ID:KGtxS7yz
>>505
なるほどね。言いたいことはわかった。

> lastは指定された個数の要素からなるリストを返す関数
そういう見方はしたことがなかったな。
「後ろから n 番目のコンスセルを返す関数」と思ってた。
だから >>501 みたいな説明が出てきても自然な流れに見えたんだ。
508名無し~3.EXE:2007/09/10(月) 00:13:51 ID:EWPQeZ4j
>>ID:c32IZ3Xq
>>497>>499で括弧を外すことを話してたんだから、コンスセルの話しは
でてきてもいいと思うけど?
別に>>501はlast関数について言及しているんじゃなくて、それで取得した
結果に何故carを使うかを簡略的に説明しただけじゃないか?
逆に、>>505は何の話だと考えているわけ?
509507:2007/09/10(月) 00:28:45 ID:avDHdXM/
>>508
自分の解釈だけど、
「長さ1のリストが返ってくるからその先頭の要素を car で取り出せばいい」
と理解すれば、リストが内部でどう実現されてるかまで踏み込む必要はないよね。
コンスセルの話じゃなくて、もう少し高級なリストの話だけで済む。
510名無し~3.EXE:2007/09/10(月) 00:36:37 ID:EWPQeZ4j
長さ1のリストって言うよりコンスセルって言う方が分かりやすい気がするけど。
それに話す必要がないとしても関係がないわけじゃないでしょ。
511名無し~3.EXE:2007/09/10(月) 01:39:56 ID:ui5LyGrR
どっちが解り易いかはヒトによるかと。
俺はどっちでも良いと思うが
コンスセルが理解出来てない初心者には
長さ1のリストって説明の方が解り易いかもな。
とはいえ最終的にはコンスセルも理解して欲しいところ。
512名無し~3.EXE:2007/09/10(月) 04:09:00 ID:2xkxAGtE
究極的にはリスト=連結したコンスセルなわけだしね。
513名無し~3.EXE:2007/09/14(金) 19:17:41 ID:WZIZqEsJ
【IT/国際】Googe、xyzzyを154億円で買収
http://news21.2ch.net/test/read.cgi/news7/1189722312/

米Google社は14日、日本のプログラマ亀井哲弥氏に対し154億円を支払い、
Google社に移籍しxyzzyの開発に専念してもらう事に「大筋で合意した」と発表した。
Google社が個人を買収するのは異例。亀井氏はテキストエディタ「xyzzy」の開発者であり、
Google社のスポークスマンは報道陣に対し「xyzzyをweb上に移植することで、
Emacs・viなどの伝統的なテキストエディタに対する強力なライバルにしたい。」とコメントした。
514名無し~3.EXE:2007/09/14(金) 19:27:13 ID:980Mjzmm
あり得なさすぎて釣れる奴おらんやろ。
515名無し~3.EXE:2007/09/14(金) 19:30:42 ID:Es8tUkMa
少なくとも亀井発言はもすこし投げやりにしないと。
516名無し~3.EXE:2007/09/14(金) 19:38:11 ID:T49IrDG1
個人を買収って意味分からんし
517名無し~3.EXE:2007/09/14(金) 19:57:12 ID:/2LfX3b0
>516
人身売買じゃね?
518名無し~3.EXE:2007/09/14(金) 22:55:50 ID:G3vaM8gw
ちんちんバイバイ
519名無し~3.EXE:2007/09/15(土) 01:31:35 ID:lkIopPE+
あとは「14日(米国時間)」とか「14日(日本時間15日)」にした方がよかったね。
520名無し~3.EXE:2007/09/15(土) 09:39:17 ID:InywD71A
かめいは会社つくってなかったっけ?
521名無し~3.EXE:2007/09/15(土) 15:10:17 ID:m+uCYhwb
おまいらネタをネタと(以下略
にしても、513はレベルが低い。もうちっとは精進せい。
522名無し~3.EXE:2007/09/16(日) 01:22:31 ID:f6e/kINW
otherbbs、エロゲ板’(ttp://xgame.dojin.com/vhwiki/test/)に対応しました。

…自分しか需要なさそう('A`)
http://www.green.dti.ne.jp/poi/2ch_mode_otherbbs/2ch_mode_otherbbs.lzh
523名無し~3.EXE:2007/09/16(日) 04:36:24 ID:e0qQ6wnh
>>522
いただきました。ありがとー。
524名無し~3.EXE:2007/09/17(月) 22:18:33 ID:Vj6O6g7H
save-place と multi-mode を入れていて、
バッファの先頭のパラメータで Package: hoge
と指定して、 multi-mode によって、
本来バッファに関連付けられていないモードの状態で
バッファを kill し、もう一度 バッファを開きなおすと
*buffer-package* の値が nil になります。

どうしたらいいでしょうか?
525名無し~3.EXE:2007/09/18(火) 01:07:04 ID:n2Vgatro
>>524
multi-mode は使っていないのでよくわかりませんが、save-place を外した状態だと
その現象は起こらないのでしょうか?
526524:2007/09/18(火) 02:04:17 ID:AHDzozjH
>>525
起こりません。逆もまた然り。
527524:2007/09/18(火) 02:24:00 ID:AHDzozjH
>>525
起こりません。逆もまた然り。
save-place は、ローカル変数を一旦 kill してから
もう一度適用するようなことしてますが、そのあたりが
気になっています。どうなんだろう。
528名無し~3.EXE:2007/09/18(火) 06:47:42 ID:n2Vgatro
>>527
試していませんが、save-place.l で kill-all-local-variables しているのは *save-place-list*、*save-place-view*
バッファだけだと思うのですが。
これらのバッファ以外でも *buffer-package* の値が nil になるということでしょうか?
もしそうなら、再現する手順を具体的に示して下さい。
529名無し~3.EXE:2007/09/18(火) 18:54:39 ID:/BIq5aSu
すみません、皆様にご意見をお伺いしたいと思いまして。

kamailで送信しようとするとき、添付ファイルやSubjectに日本語(全角)文字と半角が混じると
半角スペースが挿入されたり消えたりしますよね。
ググったら、有り難いことにwikiで解決の手がかりを見つけたんですが…、
http://xyzzy.s53.xrea.com/wiki/index.php?cmd=read&page=Memo%2FKaMail%A4%CB%A4%C4%A4%A4%A4%C6

とりあえず半角スペースが入らないように、encdec.lの160行目辺りの関数を適当にsiteinit.lにて
書き直して解決したことはしたんですが、意図しないところでどんな影響があるのか、根幹(?)部分の書き直しを
しただけにかなり気になります。
どんな影響があるか、調べ方のヒントは無いでしょうか?
530名無し~3.EXE:2007/09/18(火) 21:30:04 ID:n2Vgatro
>>527
ちょっと試してみましたが、save-place.l は *find-file-hooks* に引っかけて
保存してあるポイント位置に移動する処理をしているだけなので、この件とは
無関係な気がします。

save-place.l をインストールしなくても multi-mode.l によって、本来バッファに
関連付けられていないモードにした時点で *buffer-package* の値が nil になる
ようです。

バッファを閉じたときのポイント位置が、バッファに関連付けられていないモード
となる位置にあって、そのバッファを開き直したときに save-place.l によって、
そのポイント位置に移動することにより、*buffer-package* の値が nil になる
ということではないでしょうか?

これは multi-mode.l の問題と思われるので作者の方に直してもらうのが良いと
思いますね。
531名無し~3.EXE:2007/09/18(火) 22:07:29 ID:T2bjJlfL
>>527
試していないけど↓これでいけるかと。
(push '*buffer-package* *protected-local-variables*)

多分multi-modeが起動するmajor-modeがkill-all-local-variablesしているのが
原因だと思う。
532名無し~3.EXE:2007/09/18(火) 23:52:24 ID:jzoWgSVN
2ch-modeの2ch: MenuでS aすると途中で止まってしまいます。
channelboxのような、subject.txtがない?ところに接続しようとして404が返っ
てくるせいで止まるみたいです(http://chbox.jp/subject.txtは404です)。
どう対処したらいいでしょうか。
533524:2007/09/19(水) 21:41:24 ID:HpRr58ws
>>530-531
仰るとおりでした。

> (push '*buffer-package* *protected-local-variables*)

これでうまくいきました。ありがとうございました。
534名無し~3.EXE:2007/09/20(木) 23:16:35 ID:qzbUQFxZ
>>529
書き直したというのがdecode-mime-fieldであれば、この関数はデコードするだ
けなので送信には全く関係ないと思うのですが。
# なのに解決したというのはどういうことなのか不思議・・・

デコードだけであれば自分が見れなくなるかもというだけなのでたいした影響は
無いかと思います。元のデータはいじらなかった気がしますし。

でも確かにdecode-mime-fieldはなんか変な動作をしているっぽいですね。
ちゃんと調べた方が良いかも。
どこかに適当なMIMEデコードのライブラリがあればそのテストとかが使えるのになぁ。
535名無し~3.EXE:2007/09/22(土) 00:18:46 ID:Q/3Bd7aI
reftexの最新版をインストールしたんですけれど、オートロードに失敗してしまいます。
誰か解決策お願いします
536名無し~3.EXE:2007/09/22(土) 01:27:35 ID:D7qrJOfJ
おーとろーどしない
537名無し~3.EXE:2007/09/22(土) 01:34:48 ID:Omtmu3E2
>>535
あれ、直したと思ってたんですが。バージョン 20070303 ですよね?
どういう風に設定しているか教えてもらえますか?
1. .xyzzy および siteinit.l での RefTeX 関連の設定
2. ni-autoload を使っているかどうか
3. 具体的にどのような操作をするとエラーが発生するのか
538535:2007/09/22(土) 12:57:06 ID:AJJkkx7m
>>537
サイトに書いてあるようにやりました。バージョンは20070303です
netinstallerからのインストールで
1.
;;; RefTeX for xyzzy
(add-hook 'elisp::katex-mode-hook 'turn-on-reftex) ; with KaTeX mode
(autoload 'turn-on-reftex "reftex/reftex")

2.がよく分かりません。ni-autoloadに関して何か設定がいるのですか?

3.はtexファイルを読み込む際にエラーが起こります。


よろしくお願いします。
539535:2007/09/22(土) 13:01:08 ID:AJJkkx7m
538の補足です

1.は.xyzzyに書きました

2.はnetinstallerの
;;ネットインストーラーの自動設定を利用する
(ni-autoload)
を.xyzzyに書くという操作ならば、行っております
540名無し~3.EXE:2007/09/22(土) 17:29:52 ID:E2LeW9OU
うーん、おかしいな。それだったら普通に動くと思うんですが。

一応確認させてください。
1. 出るエラーは「オートロードが失敗しました」ですよね?
2. .xyzzy 中でこれらの行は user パッケージ中で評価されてますか?
つまり、これより前の行に (in-pacakge "editor") みたいな行はあったりしますか?
3. autoload を (require "reftex/reftex") に変えたら動きますか?
4 .その後で *scratch* バッファなどで (turn-on-reftex) を評価したらどうなります?
541535:2007/09/22(土) 18:45:26 ID:2B8nm4ip
>>540
ありがとうございました。無事解決しました。

原因としては540の2.だったようで
.xyzzyに(in-package "outline-tree2")という行があり、それを消したら実行できるようになりました。

お手数をお掛けしました
542名無し~3.EXE:2007/09/22(土) 19:08:54 ID:RtB53OA1
そこは、outline-tree2の設定の最後あたりに (in-package "user") を追記するか、
reftexの設定をもっと上に書くとかした方がよさげかも。
543540:2007/09/22(土) 19:40:16 ID:kYhhegaa
>>541
いえいえ。解決したようで何よりです。
個人的には >>542 氏と同じで、.xyzzy での設定で in-package を使うときは
最後に (in-package "user") でもとに戻すと、
ほかの設定とバッティングする可能性が低くなっていいと思ってます。
544名無し~3.EXE:2007/09/22(土) 20:00:13 ID:U43g0fSI
olt2用の設定は~/.outline-tree/config.lに書きなよ。
545名無し~3.EXE:2007/09/23(日) 04:37:11 ID:ZKdjpF9I
自作のモードで c-newline-and-indent や他の似たようなのを流用したくて、
モードの初期化関数の中で、
(make-local-variable 'c-indent-line)
(setq c-indent-line #'my-indent-line)
ってやってみたんですけど、上手くいきませんでした。

コピペで一つ一つ作るしかないんでしょうか?
546名無し~3.EXE:2007/09/23(日) 12:28:55 ID:0dCrddp8
>>545
cc-mode.l とか見れば分かるけど、そんなことはしてません。

(make-local-variable 'mode-specific-indent-command)
(setq mode-specific-indent-command 'c-indent-line)


あとこれは、意味不明。

> コピペで一つ一つ作るしかないんでしょうか?
547名無し~3.EXE:2007/09/23(日) 19:01:45 ID:7PECPjxU
>>534
レス有難うございます。

ぶっちゃけ挙動が良くわからないまま直してしまったという感じがあるんですけれども、
この関数はデコードするだけで、送信したメールは(即ち、先方に届いたメールは)なんの
問題もないということのようですね。関数名decode付いてるし。
(kamailのsentフォルダに入ったメールを閲覧するとき、添付ファイルに半角スペースが
入っているか否かで判断していて、先方に届いたメールも半角スペースが入っていた
と思っていたのです)。

# lispも良く勉強しないまま、適当に使って6年以上経過したがやっぱり勉強せんと
# あかんなとおもう。
548名無し~3.EXE:2007/09/25(火) 02:17:46 ID:8BAnOu/8
start-timer って中の関数でエラー起きてもエラー吐き出さないんだな。
自分で handler-case で捕まえなきゃいけないんだな
549名無し~3.EXE:2007/09/27(木) 00:05:55 ID:/oy5N90R
>>548
それは自分に言ってるのか?
それとも拡張lispを公開している誰かに言ってるの?
550名無し~3.EXE:2007/09/27(木) 01:27:09 ID:onwF/TSc
同じところで躓いてる人のための情報の共有と
情報が正しいかどうかの確認を掛けての書き込みではないでしょうか
551名無し~3.EXE:2007/10/05(金) 21:56:56 ID:1U1jeTf6
hoshu
552名無し~3.EXE:2007/10/06(土) 15:07:00 ID:B2sZ2Ivb
とうとうこのスレも保守されるようになったか。
553名無し~3.EXE:2007/10/06(土) 17:41:41 ID:TaETqZTP
xyzzyは俺の嫁
554名無し~3.EXE:2007/10/06(土) 21:42:30 ID:6dUNN4Ys
印刷するとき ^L (0xc form feed)で改ページして欲しくないんだけど
そんなふうに思っているのは俺だけだろうな。
555名無し~3.EXE:2007/10/06(土) 21:52:29 ID:0k4Fua/9
普通そんなの入んないしね
556名無し~3.EXE:2007/10/06(土) 22:20:48 ID:6dUNN4Ys
RFCとかGNU系のソースとか読まへん?
557名無し~3.EXE:2007/10/06(土) 22:50:48 ID:8z9Rz/5F
読むけど、いちいちxyzzy経由で印刷なんてしない
558名無し~3.EXE:2007/10/07(日) 00:52:47 ID:xUIzAUko
shell-modeでmanを読むための設定がよくわからん。制御文字をさっくり削除して読みたいんだが。
559名無し~3.EXE:2007/10/07(日) 01:47:05 ID:uQrbGlro
>557
印刷しないで読むの?
俺はわりと長いもん読むときはいちいち紙に出さないと
目が痛くなってしょうがない。
560名無し~3.EXE:2007/10/07(日) 02:00:12 ID:uQrbGlro
xyzzy 版 woman ってないの?
561名無し~3.EXE:2007/10/07(日) 07:45:11 ID:j2QXNKvV
ttp://xyzzy.s53.xrea.com/wiki/index.php?QuickTour%2F%C3%D6%A4%AD%BE%EC%BD%EA%A4%F2%B7%E8%A4%E1%A4%EB#notefoot_7
上のURLにもそれらしきことが書いてありますが、*load-path*にC:/Documents and Settings/user/lispが追加されるのは
なぜなんでしょうか?
デフォルトだとこのパスは追加されないし、追加するようなコードも見あたらないんですが。

どうもhowmのパスが見あたらないと思ったら、siteinit.lに記述する場合は*default-load-path*に追加しなければならない
らしいことは今知りました。
562名無し~3.EXE:2007/10/07(日) 08:44:20 ID:562Z1M4X
>>561
init.cc の init_load_path() かな

WinMain -> init_app -> init_lisp_objects -> init_env_symbols -> init_load_path
と呼び出してる。
563名無し~3.EXE:2007/10/07(日) 10:47:31 ID:oYv8qPWD
( ゚A゚)y-・~~腹立つわーこいつらー…

http://love6.2ch.net/test/read.cgi/kao/1179929773/
564名無し~3.EXE:2007/10/07(日) 11:03:54 ID:j2QXNKvV
>>562
ありがとうございます。

素のxyzzyだとC:/Documents and Settings/user/lispは追加されないのですが、普段使っているxyzzyだと
追加されています。(OSはWinXP Homeです)

何かの拡張が影響しているのかと思いgrepをかけてみても(pushnew (merge-pathnames ... *load-path* :test #'string-equal)
のようにしているのはhowmの設定だけのようです。

init.ccにinit_load_pathがありますがC++はさっぱり分からず。
特に問題が出ているわけではないので気にする必要は無いのかもしれませんが。
565名無し~3.EXE:2007/10/07(日) 12:48:35 ID:/OFeCEHG
>>560
womanを使っていないので、はずしてるかも知れんけど、
xyzzy lisp のリファレンスなら、netinstaller で
関数リファレンスと info-modoki-mode を入れれば見られるよ。
566名無し~3.EXE:2007/10/07(日) 14:48:55 ID:C14PaBEy
(defun test (file)
(interactive "Ffile: " :title0 "a" :default0 "C:/hoge")
file)
の時、:title0は効いてるんですけど:default0は効かないもんですか?
リファレンスを見る限りデフォルト値も使えるっぽいけど…
567名無し~3.EXE:2007/10/07(日) 20:27:31 ID:562Z1M4X
>>566
試してみたけど、効いてるように見える
568名無し~3.EXE:2007/10/08(月) 02:45:37 ID:wKKyxOKl
>>567
別のところでtypoしてた。すまん。ありがとう。 orz
569名無し~3.EXE:2007/10/08(月) 13:57:39 ID:5l6HIJ8t
>>561

(let ((it (find "C:/Documents and Settings/user/lisp" *load-path* :test 'equalp)))
(if it
(msgbox "test1: found ~A" it)))

こんなのをいろんなところに挿入して、問題を切り分ければいいんじゃない?
570名無し~3.EXE:2007/10/08(月) 15:47:50 ID:/hESlfCu
xyzzy.exe の場所か環境変数の違いから来てるような気がする
それか xyzzy.ini の内容
571名無し~3.EXE:2007/10/08(月) 16:09:21 ID:yFNwGlBP
>>569,570
どうもです。

ちょっと試してみて、xyzzyのショートカットに作業フォルダが登録されていないと、そのショートカットから
起動したときに...user/lispが*load-path*に含まれるようです。

例えば、作業フォルダにC:\tmp\などと登録するとC:/tmp/lispが*load-path*に含まれるようですね。
知らなかった..
572名無し~3.EXE:2007/10/08(月) 16:14:29 ID:yFNwGlBP
補足すると素のxyzzyは直接exeファイルから起動していたので...user/lispが*load-path*に含まれなかったようです。
573名無し~3.EXE:2007/10/08(月) 16:37:12 ID:yFNwGlBP
関係ないですが何となくすっきりしたのでTipsとして

grepd.l中の関数scan-files-1の(message "scanning (~A)" file)の部分をコメントにすると、
うちのヘボ環境(cel2.8G,Mem768M)では、検索時間が2分の1程度に短縮されますね。

それと、diff-detail.lなどのexecute-shell-commandをcall-processで書き換えて:show :hide
にすると結果が出るまでの時間がかなり短縮されます。
call-procesは:show :hideにした方が速いようです。
574名無し~3.EXE:2007/10/08(月) 22:51:11 ID:mSuIwine
ども。

>>573
> それと、diff-detail.lなどのexecute-shell-commandをcall-processで書き換えて:show :hide
> にすると結果が出るまでの時間がかなり短縮されます。
> call-procesは:show :hideにした方が速いようです。

適当な diff-detail をかけられるテキストが手元になかったので、
ほんの少ししか試せていませんが、微妙にウィンドウが出ることもなく
すっきりしますね。

diff-detail.l の execute-shell-command を書き換えるのは簡単で
よいのですが、そもそも、execute-shell-command の定義にて call-process が
:show :hide でなく、:show :minimize で用いられているのは何故なのかな、と。

:hide より :minimize が良い点ってのはどこらへんなのでしょうね?
575名無し~3.EXE:2007/10/09(火) 21:36:30 ID:TWUPo/nX
>>574
>:hide より :minimize が良い点ってのはどこらへんなのでしょうね?
プロセスの実行を確認出来る点じゃないでしょうか?
アプリケーションを起動したときに、起動しているかどうかをタスクマネージャで確認しなければわからないというのも
問題な気もします。
&keyでパラメータを指定できるようになっているといいんですけどね。
576名無し~3.EXE:2007/10/09(火) 23:39:30 ID:nRykpsJg
ども。

>>575
> &keyでパラメータを指定できるようになっているといいんですけどね。

やはりこれがいいですよね。

diff-detail での、トークン単位の超微小 diff を繰り返す処理には :hide が
あってるような気がしますが、そこそこ大きいファイル間の通常の diff では
プロセスが視認できた方がいいですね。
577名無し~3.EXE:2007/10/11(木) 01:44:32 ID:CA/bGZRl
:hide 156
578名無し~3.EXE:2007/10/11(木) 18:45:18 ID:2xj+HNy1
TABキーを押してもインデントされないのですが・・・
インデントされるように出来るのでしょうか?
579名無し~3.EXE:2007/10/11(木) 19:14:29 ID:jT/lnL8U
>>578
モードによる。普通、TABは自動インデント。
インデントじゃなくて素のタブを入力したいならC-q TAB
580名無し~3.EXE:2007/10/11(木) 20:09:26 ID:2xj+HNy1
>>579
ありがとうございます。
ちょっとタブと字下げとインデントあたりがごっちゃになってました。

notepadとかと随分違うので慣れるまで大変ですね・・・
581名無し~3.EXE:2007/10/16(火) 16:53:24 ID:pToL2aIH
ちょっとお尋ねします。
2ch-modeの自動あぼーんなんですが、(多分)IDに+が使われるとうまく機能しません。
なにか上手い手はないでしょうか
582581:2007/10/16(火) 16:58:31 ID:pToL2aIH
自己解決しました。ルールファイルを直接いじって、\\+とエスケープさせるだけでした
583名無し~3.EXE:2007/10/17(水) 13:37:07 ID:brvxBnSd
xyzzyの使い方が分からぬやし 励ましあえ その11
http://pc11.2ch.net/test/read.cgi/software/1191681847/
584名無し~3.EXE:2007/10/26(金) 06:50:27 ID:Z36wRe2c
GmailがIMAPに対応した流れでKamailV3もIMAPに対応しないかなー。

俺のアカウントはまだ対応してないけど…。
585名無し~3.EXE:2007/10/27(土) 01:58:06 ID:kuFWQMrB
Gmailの言語設定を英語にしてみれ
586名無し~3.EXE:2007/10/29(月) 22:23:33 ID:zyIRWB7B
質問す。 delete-file-in-archive でディレクトリの削除は
できないんでしょうか?
例えば、list-archive すると
(("aaa/" "---W-" 0 (2007 10 29 22 19 20))
("aaa/bbb/" "---W-" 0 (2007 10 29 22 19 20)))
こんな感じで、(delete-file-in-archive "c:/aaa.zip" "aaa/bbb/")と
しても bbb ディレクトリが削除されません。
587名無し~3.EXE:2007/10/30(火) 02:41:54 ID:QDMOU4Xp
>>586
7-zip形式はできるみたい。

lzhやzipはできないっぽいね。
xyzzyが対応しなかったのかもしれないし、DLLに機能自体がないのかもしれない。
588名無し~3.EXE:2007/10/30(火) 13:41:00 ID:CvRxU1Ai
>>513のレベルの低さに気分わるくなった
589586:2007/10/30(火) 22:03:21 ID:SbWk1da0
>>587
dです。
cab32 や tar32.dll はサポートしてません みたいな
メッセージが出たくらいなので、dll 側っぽいですね。
590名無し~3.EXE:2007/11/03(土) 09:27:03 ID:IF2PB86u
最近、他のアプリケーション使ってる時に
上書き保存の前によく切り取りをしてしまう…。
591名無し~3.EXE:2007/11/03(土) 10:22:15 ID:WUsQ2eoN
検索のたびに上書き保存したりするなw
592名無し~3.EXE:2007/11/03(土) 17:03:32 ID:8qC4DSrN
俺はカーソルを右に移動しようとして検索ダイアログを出してしまう
593名無し~3.EXE:2007/11/03(土) 17:56:55 ID:u/h6SOM4
でも窓使いの憂鬱を使うのは面倒なんだよな。
594名無し~3.EXE:2007/11/03(土) 18:43:35 ID:aB9acp2m
行頭に移動しようとしてすべて選択してしまったこともあるな…w
595名無し~3.EXE:2007/11/03(土) 18:54:53 ID:otjlI5/S
>>594
それやりまくり…
カーソルがファイルの先頭に移動してしまってうざいことこのうえなし(⊃д`)
596名無し~3.EXE:2007/11/03(土) 19:25:39 ID:UrjOE2uv
そんなおまえらに MetaX 。
キーボードユーティリティなのにシステムを汚さないスグレモノ。
xyzzy の 2 ストローク時に IME オフ相当の機能もある。
597名無し~3.EXE:2007/11/03(土) 21:55:14 ID:wjK/a+mH
おれはxkeymacs
598名無し~3.EXE:2007/11/03(土) 23:29:09 ID:/xf08oSB
俺もxkeymacs
599名無し~3.EXE:2007/11/04(日) 00:21:38 ID:pwM2kimm
アレの C-l ってどうやって実装してるんだろう
単機能ツールとして欲しい
600名無し~3.EXE:2007/11/07(水) 10:02:12 ID:vBb1Ze69
俺はAutoHotKey

で、全然関係ないけど、outline-tree2を食わず嫌いしてて、
そろそろ使ってみるかと頑張ってたら、なんという便利さ。
作者さんありがとー
gmailでやってるGTDの管理をxyzzyに移行してみるぜ!
と、チラ裏
601名無し~3.EXE:2007/11/07(水) 17:20:42 ID:UAKx5+lk
俺もxkeymacs使ってるけど、たまに普通のキーバインドが反応して困る
元のキーバインド消せるなら消したいな。
特に、ブラウザのテキストエリアでCtrl-N使って移動しててたら新しいウィンドウ開きまくるとか泣きそうになる
602名無し~3.EXE:2007/11/12(月) 16:03:08 ID:XlE6W999
xyzzy で python のコードを編集しているんだけど、キーワードの色づけというか
シンタックスハイライティングというか、そういうのをやめるにはどうしたらいいんだろう?

Emacs でいうところの、 font-lock-mode みたいな、色付けを切り替える関数はあるんでしょうか?

py-shell モードで、例外キーワードの色が激しい黄色になってしまって見にくくてしょうがない
603名無し~3.EXE:2007/11/12(月) 16:04:38 ID:XlE6W999
あ、 xyzzy のバージョンは、 0.2.2.235
py-mode のバージョンは 0.97 です。
604名無し~3.EXE:2007/11/12(月) 16:22:34 ID:XlE6W999
ごめんなさい、自己解決しました。
py-mode.l のなかで、 (:color 3) となってるところを、 (:color 2) にしました。
激しい黄色で見にくかったのが、激しい緑になって若干見やすくなりました。
605名無し~3.EXE:2007/11/12(月) 16:28:27 ID:lW5y3PYV
単にメニューのローカル設定で色変更すればいいんじゃないの?
606名無し~3.EXE:2007/11/12(月) 21:51:57 ID:Sj9CTjYe
> 激しい黄色で見にくかったのが、激しい緑になって若干見やすくなりました。
なんか笑ったw
607名無し~3.EXE:2007/11/13(火) 02:20:01 ID:ebDx9oRe
>激しい緑

詩人やね
608名無し~3.EXE:2007/11/14(水) 01:26:43 ID:+Vo68bjO
>>605
そうすると他の○○-modeのとき困ったことになる可能性があるだろ。

一番困るのが拡張lispの作者が配色の設定を変えてて、
自分の環境で一番きれいに見える色設定をデフォルトにしてリリースすること。

素のxyzzyでも使いやすいか・見やすいかをテストしてからリリースしろよな。
609名無し~3.EXE:2007/11/14(水) 01:34:37 ID:eQBYgQbd
あるあるあるあるw

インデント規則とかキーバインディングとか、
極力xyzzy標準のものにあわせておいて独自の機能はオプションにしろと…
610名無し~3.EXE:2007/11/14(水) 01:39:47 ID:oFm0q17s
結局自分で設定するんだったら別にいいんじゃないの ?
611名無し~3.EXE:2007/11/14(水) 02:30:49 ID:CIRYHnAC
気に食わないなら自分で修正すればいいじゃない。
なんで作ってもらってるくせに偉そうなの?
612名無し~3.EXE:2007/11/14(水) 03:08:25 ID:lD2C4X4+
>>608
ここは何番の色を使う、みたいな設定方法がだいたい用意されてるはずだが。
なんでxyzzy自体の設定を変えようとするんだ。理解できん。

あと、白背景にしてるなら黄色とか絶対使わんだろ。そこはxyzzy自体の設定を変えとけよ。
613名無し~3.EXE:2007/11/14(水) 03:13:50 ID:CgurQyJV
どの番号が何色でどこに使われる(使われている)のか、いまいち把握しにくいというのはあるかも…。
使われ方もmode作者によってまちまちだったりするし…。
614名無し~3.EXE:2007/11/14(水) 09:15:51 ID:JtLj8vwM
だからってポリシーでがんじがらめにすると
どっかのUNIX互換OSみたいな気軽に入れない世界になる。
ほどほどに大人な空気だとありがたいなー
615名無し~3.EXE:2007/11/14(水) 13:02:17 ID:m2eqQGNr
色の使いかたにどんなポリシー作れるかね。
デフォルトを使ってると文字色3,6,7は見えないので回避している…
html+-modeとxml-modeの3が見えない…

ただキーバインドは自由にやられると困るなぁとは思う。
616名無し~3.EXE:2007/11/14(水) 15:33:46 ID:GCqJv5JD
自分のxyzzyの方で色も変えてるし、モードも自分の色に一番見やすく作るが
標準から外れてる状態でも、色分けで困ったことはないな。
場合によっては1行くらい色変える設定を書くことになるけど。
自分で作るのに比べたら、何もしないも同然だし気にもしたことがないな。

むしろ他の人も好き放題に変えてくれていいよ。
便利なのを作ってくれるなら白い猫でも黒い猫でも。
617名無し~3.EXE:2007/11/14(水) 19:33:22 ID:egcSFKDT
色を直接指定できるようになってたら良いのにな。
そんなに動作が重たくなるんだろうか?
618名無し~3.EXE:2007/11/14(水) 23:56:08 ID:CgurQyJV
たしかに、色設定がパレット方式で、
しかもパレット設定が全モード共通(固定)なのが融通の利きにくいところかも…。
もちろんこの方式のメリットもあると思いますが。
今のところ見えにくい状況にぶつかる度に設定を適当に変えてなんとかなってるけど。
619名無し~3.EXE:2007/11/15(木) 03:29:49 ID:OonH0KBZ
>>617が書いてるのはlispでの色指定が番号じゃなくて
色で指定できたらいいという意味なんじゃないのか?
620名無し~3.EXE:2007/11/15(木) 03:48:09 ID:pQ39lTq0
各Lispで直接色指定されてたらユーザーが配色変えるのがとても面倒になる。
621名無し~3.EXE:2007/11/15(木) 04:36:12 ID:r7gQaWIp
やるならEmacsの色(というかフォント)指定みたいな感じかな?
たしかに自由度は高いけど面倒かもね。
622名無し~3.EXE:2007/11/15(木) 11:38:41 ID:OonH0KBZ
>>620
それは一理あるけど
HTMLとかだと沢山の色を使って表示したい場合もあるだろうし
カラッピッカーみたいなのとか最速インターフェース研究会の中の人があ
Alphaでやっていたようなのとか、色々xyzzyでもネタパクッテできるようになるかと思われ。
623名無し~3.EXE:2007/11/18(日) 05:23:10 ID:e+ban7yD
php-mode を使ってたんですが、何故かキーワードに色が付かなくなってしまいました…。
今まで普通に付いてたので何かオプションを弄ってしまったと思うんですが、皆目見当が…。
何か原因をご存知の方おりましたらご教示ください><。

ってここに書き込む前に xyzzy.wxp を削除して起動したら直りました。
ありがとうございました。
624名無し~3.EXE:2007/11/18(日) 05:31:48 ID:DikGF3tl
どういたしまして
625名無し~3.EXE:2007/11/21(水) 10:58:01 ID:YvowIPzR
wiki死んでない?
626名無し~3.EXE:2007/11/21(水) 11:29:09 ID:4OFabiU7
s53.xrea.com 自体が落ちてるね
627名無し~3.EXE:2007/11/21(水) 17:07:55 ID:YvowIPzR
wiki復活。
628名無し~3.EXE:2007/11/21(水) 18:43:10 ID:jEoab8eJ
tips/scratchの中身って消さなくてもいいじゃん - XyzzyWiki
http://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*だけでなく、*untitled*の中身も保存して、
次回xyzzyを開いた時にロードする…みたいなLispってないでしょうか。
629名無し~3.EXE:2007/11/22(木) 09:20:40 ID:yiev7FZR
>>628
単に「*scratch*」を「*untitled*」に置き換えるだけでもいける気がするけど

untitledが複数のときはこれだとだめだよなぁ
630名無し~3.EXE:2007/11/22(木) 14:30:33 ID:/f/GFDEX
起動直後は*scratch*はあるけど*untitled*は無いから、作ってあげる必要があると思う。
631623:2007/11/22(木) 20:04:29 ID:+ySmwBC3
他のモードでも同じ症状になったので色々弄ってみた結果
共通設定の改行を UNIX 風にしてると再現するようなのでおまかせにしたことを一応報告します。
ただその理由が全くわかりません。
632名無し~3.EXE:2007/11/26(月) 05:35:53 ID:o9uflmFL
WinApi 使って、ウィンドウハンドルから実行ファイル名を取得するのは
どうやったら出来るでしょうか?
アフォなのでコードをプリーズです。
自分で過去ログとかみて、
(require "foreign")
(c:define-dll-entry :int32 CloseHandle (:int32) "kernel32.dll")
(c:define-dll-entry :int32 GetWindowThreadProcessId (:int32 :int32) "user32")
(c:define-dll-entry :int32 OpenProcess (:int32 :int32 :int32) "kernel32")
(c:define-dll-entry :int32 EnumProcessModules (:int32 :int32 :int32 :int32) "psapi")
(c:define-dll-entry :int32 GetModuleBaseName (:int32 :int32 :int32 :int32)
"psapi" "GetModuleBaseNameA")
(defun GetBaseNameFromHwnd (hwnd)
(let ((procid (GetWindowThreadProcessId hwnd (si:make-chunk nil 4096)))
(hmod (si:make-chunk nil 4))
(needed (si:make-chunk nil 4))
(name (si:make-chunk nil 256))
(result nil))
(let ((hproc (OpenProcess #x0410 0 procid)))
(EnumProcessModules hproc hmod 4 needed)
(unless (zerop (GetModuleBaseName hproc (si:unpack-int32 hmod 0) name 256))
(push (si:unpack-string name 0 256 t) result))
(CloseHandle hproc))
result))
とかしてみたのですが、全然駄目でした。
633名無し~3.EXE:2007/11/27(火) 04:20:09 ID:PuzfrNdY
ウィンドウハンドルからGetWindowLongでインスタンスを取得して
GetModuleFileNameを呼べば良いんじゃない?
634名無し~3.EXE:2007/11/27(火) 15:59:57 ID:l6Ho8ofb
>>633
情報ありがとうございます。以下でいけました。
(require "foreign")
(c:define-dll-entry :int32 OpenProcess (:int32 :int32 :int32) "kernel32")
(c:define-dll-entry :int32 CloseHandle (:int32) "kernel32")
(c:define-dll-entry :int32 GetWindowThreadProcessId (:int32 :int32)
"user32" "GetWindowThreadProcessId")
(c:define-dll-entry :int32 GetWindowLong (:int32 :int32)
"user32" "GetWindowLongA")
(c:define-dll-entry :int32 GetModuleBaseName (:int32 :int32 :int32 :int32) "psapi" "GetModuleBaseNameA")
(defun GetBaseNameFromHwnd (hwnd)
(let ((procid (si:make-chunk nil 4096))
(name (si:make-chunk nil 256))
result)
(GetWindowThreadProcessId hwnd procid)
(let ((hproc (OpenProcess #x0410 0 (si:unpack-int32 procid 0)))
(hmod (GetWindowLong hwnd -6)))
(unless (zerop hproc)
(unless (zerop (GetModuleBaseName hproc hmod name 256))
(setq result (si:unpack-string name 0 256 t)))
(CloseHandle hproc)))
result))

635名無し~3.EXE:2007/11/29(木) 11:43:17 ID:vP0+TkaW
どなたか、ctags.lを改良して下さる方はいませんか?
現状困っている事は下記の@〜Cです。

@変数(or 関数)にジャンプしてくれない(unknown identifier m_bHoge等が出る)
A変数(or 関数)ジャンプでファイルの先頭に飛んでしまうことがある
Bバックタグジャンプが効かない?
C大きいサイズのtagsファイルを初回にロード(マップ)する時間がかかり過ぎる。

gtags.lは上記@、Aに加えて、
関数であれば、関数用、変数であれば変数用にキーを押下しないといけないので
これも実用には到っておりません。

秀丸のCTagsTagJump.macの様に、普通に関数、グローバル変数、構造体及びそのメンバ、
defineやリソースID等へダイレクトタグジャンプ/バックタグジャンプ出来るだけで良いのですが、
難しいでしょうか?

実用的なタグジャンプメソッドさえ確立出来れば、xyzzyに乗り換えようと思うのですが、
このエディタを使ってC/C++のプログラミングをされている皆さんは
どういう代替手段を取っているのでしょうか?
636名無し~3.EXE:2007/11/29(木) 12:05:21 ID:SQZhDory
試した事ないが、gtagsもctagasは変数にジャンプするとか書いてあるけど
しないのか?少し見た感じだと変数もジャンプしそうだし
ctags-back-tag-jumpなんて関数作っておいて戻れないとも考え難いような。
もう一度良く見てみては?っていうか何でジャンプできないとか
どういうときにJumpできないとか書いた方が良いじゃね?

>関数であれば、関数用、変数であれば変数用にキーを押下しないといけないので
>これも実用には到っておりません。
この位なら自分で出来るだろ好きに変えたが良いよ。
実用に到ってないのは設定の問題だと思われ。
637名無し~3.EXE:2007/11/29(木) 12:27:57 ID:7rU6X4GH
olt2とvista x64でxyzzyが落ちたので報告しておきます。
vista x64で、.xyzzyに(require "outline-tree/outline-tree")としておくと、
find-fileでxyzzyがAccess Violation Errorで落ちます。
xyzzy.BUGを以下に置いておきました。お手すきのときで結構ですので、ご確認下さい。
ttp://www.uploda.net/cgi/uploader4/index.php?file_id=0000022982.txt
638名無し~3.EXE:2007/11/29(木) 15:49:17 ID:7rU6X4GH
637です。DEPからxyzzy.exe等を除外したら解決しました。
639名無し~3.EXE:2007/11/29(木) 19:41:35 ID:bKHoNDsr
x64なんて自前でビルドしないと駄目なんじゃないの?
誰かメンテしてんのか?w
640名無し~3.EXE:2007/11/29(木) 21:23:16 ID:5E5j+qAL
x64だから32ビットのまま動かしているんでない?
641名無し~3.EXE:2007/11/29(木) 21:39:48 ID:GNrMIHWn
俺は普通にgtagsを使ってるけど、快適ですよ。
変数と関数でキーが違うけど、慣れれば困らないしね。
gtagsはネットインストーラで導入できますよ。
642名無し~3.EXE:2007/11/29(木) 21:50:46 ID:e+qrvWdk
>>635
ctags.lをちょっと試してみたけど、変数にもジャンプするし、バックタグジャンプもする。
ちょっとしか試していないからAはよく分からないけど。

> C大きいサイズのtagsファイルを初回にロード(マップ)する時間がかかり過ぎる。
具体的にどのくらいのサイズでどのくらいの時間がかかっているの?
あと、もしctags.lをバイトコンパイルしていなかったら、バイトコンパイルして試してみて。

> このエディタを使ってC/C++のプログラミングをされている皆さんは
> どういう代替手段を取っているのでしょうか?
xyzzy標準のを使ってる。
変数に飛べなくても気にならない。
643名無し~3.EXE:2007/12/04(火) 13:32:24 ID:QnTyJskD
(defun exchange-current-line-for-previous-line () (interactive)
"この関数を使ってカーソル行を上に移動したいと私には思われたのでした。"
(unless (= (current-line-number) 1)
(let (col)
(setq col (current-column)) ;現在桁を覚える
(goto-bol) (kill-line 1) ;行頭へ移動して*kill-ring*へ1行ぶち込む
(previous-line) (yank-and-pop) ;上へ移動して*kill-ring*から1行貼り付け
(previous-line) (goto-column col)))) ;貼り付けた行へ移動して作業前の桁に戻る
(global-set-key #\C-Up 'exchange-current-line-for-previous-line)

1|A
2|B
3|C
4|D[EOF]
上記のような4行があるとき、3→2、2→1の移動は出来ますが、4から3への場合は
期待した通りに動作しません。どう改善したら良いのでしょう?
644名無し~3.EXE:2007/12/04(火) 14:54:21 ID:X9YP+0oO
>>643
[EOF]の行は (kill-line 1) じゃなくて (kill-line) でないと kill できない。

が、
1|A
2|B
4|D[EOF]
3|C
とは出来ない([EOF]より後ろに行があるわけない)ので、
修正はどうなるべきかによる。
645名無し~3.EXE:2007/12/04(火) 20:28:12 ID:710caZz4
xyzzyのlispって、組み込み関数が要求する引数を調べるにはどうしたら良いですか?
xyzzyのソースを見るしかないんでしょうか。
646名無し~3.EXE:2007/12/04(火) 20:49:50 ID:11V7PAGR
lisp/builtin.lとかリファレンスとか
647名無し~3.EXE:2007/12/04(火) 21:55:29 ID:WD3gSp1A
>>643
やりたいことはこんなことじゃないかと予想。
ttp://hie.s64.xrea.com/xyzzy/ml/msg01047.html
648名無し~3.EXE:2007/12/04(火) 21:59:56 ID:ZXes1of4
>>643
>>643
kill-line の定義見ればわかるが (kill-line 1) で現在位置と、forward-line した間を
kill-ring に入れる。ただ、バッファ最終行では forward-line は動かないから、問題が出る。
今確かめたら、 transpose-lines も同じような問題を持っているわ。

(defun exchange-current-line-for-previous-line (&optional (arg 1))
(interactive "*")
(if (< 0 arg (current-line-number))
(let* ((col (current-column))
(from (progn (goto-bol) (point)))
(to (progn (goto-eol) (point)))
(str (buffer-substring from to)))
(delete-region from (1+ to)) ;; 改行あれば、改行まで削除
(previous-line)
(insert str "\n")
(previous-line)
(goto-column col))
(error "Cannot exchange lines!")))
649648:2007/12/04(火) 22:07:14 ID:ZXes1of4
>>647
あったのか。orz
だいたい似たような方法で、
逆向きにも対応してるなぁ。
650名無し~3.EXE:2007/12/04(火) 23:24:45 ID:zCFZxtdX
>>642
俺もデフォルトのTAGから色々試してみたけど、
ctagsはめちゃくちゃ重くなるんであきらめた
(ソースのサイズに依存してる?)
ネットで検索しても、同じような事書いてる人いるっぽい

gtagsがいまいち思い通りに動かせなくて、結局デフォルトに戻った
651名無し~3.EXE:2007/12/04(火) 23:35:32 ID:h+aMe4bp
2ch-modeで今日移転した板が開けなくなってしまったけど自分だけ?
652名無し~3.EXE:2007/12/05(水) 00:20:25 ID:wZTDPiKH
>>642
下のを、ctags ロードした後に評価したら改善するかも。
試してないのでワカンネ。

(in-package "editor")
(defun ctags-make-tags-map (dir)
(interactive "DTagsRoot: "
:default01 (if (get-buffer-file-name)
(pathname-directory (get-buffer-file-name))
""))
(let ((buffer (create-new-buffer " *ctags temp*"))
lines is)
(insert-file-contents (merge-pathnames (or *ctags-filename* "TAGS") dir))
(goto-eol)
(setq lines (current-line-number))
(setq is (make-buffer-stream buffer (point-min)))
(setq *ctags-tags-map* (make-hash-table :test 'equal :size (round (* 1.6 lines))))
(setf *ctags-tags-stack* nil)
(do ((line (read-line is nil) (read-line is nil)))
((null line) t)
(cond
((string-match "^!_" line) t)
((string-match "^\\([^\t]+\\)\t\\([^\t]+\\)\t\\(.+\\);\"" line)
(push (cons (merge-pathnames (match-string 2) dir) (match-string 3))
(gethash (match-string 1) *ctags-tags-map*)))))
(delete-buffer buffer)))
(in-package "user")
653名無し~3.EXE:2007/12/05(水) 00:22:16 ID:ak+h4jeR
>>651
例えばどんな板?
654名無し~3.EXE:2007/12/05(水) 00:40:38 ID:Vki7aWuz
V2Cスレに情報があった。

■ サーバリフレッシュ工事 連絡・作業スレッド4
ttp://qb5.2ch.net/test/read.cgi/operate/1193498210/312,443

今は直っているのかな?
655名無し~3.EXE:2007/12/05(水) 16:17:32 ID:atY0RzRf
>>644
1|A
2|B
3|D
4|C[EOF]
こうしたかったのです。

>>647
大当たり。

>>648
ありがとう。
656652:2007/12/05(水) 23:07:09 ID:wZTDPiKH
レスないなぁと思ったら、色々おかしかったので直してみた。

(in-package "editor")
(defun ctags-make-tags-map (dir)
(interactive "DTagsRoot: "
:default01 (if (get-buffer-file-name)
(pathname-directory (get-buffer-file-name))
""))
(let ((buffer (create-new-buffer " *ctags temp*"))
(regexp (compile-regexp "^\\([^\t]+\\)\t\\([^\t]+\\)\t\\(.+\\);\"")))
(save-excursion
(set-buffer buffer)
(insert-file-contents (merge-pathnames (or *ctags-filename* "TAGS") dir))
(goto-char (point-max))
(let* ((lines (current-line-number))
(hash (make-hash-table :test 'equal :size (round (* 1.6 lines)))))
(goto-char (point-min))
(setq *ctags-tags-stack* nil)
(setq *ctags-tags-map* hash)
(loop
(if (looking-at regexp)
(push (cons (merge-pathnames (match-string 2) dir) (match-string 3))
(gethash (match-string 1) hash)))
(if (forward-line)
nil
(return)))))
(delete-buffer buffer)))
(in-package "user")
657名無し~3.EXE:2007/12/08(土) 16:26:59 ID:l36K7Gxr
blog-mode.lからFreeStyleWikiを使うにはどうしたらいい?
ココログを使う分には問題なく使えてるんだが、fswikiを使おうとすると上手くいかな
いんだ。

fswikiのURLは仮に「http://localhost/wiki/」とする。
Blog TypeはFreeStyleWikiを選んだ。
次に聞かれるEndpoint URLがちょっとわからないんで
http://localhost/wiki/?action=RSS」と適当に入れておいた。
Site Nameは適当に決め、Site URLには「http://localhost/wiki/」と入れた。

一応、これでメニューへの追加が完了したので、SPC押してタイトル一覧に進もうとすると
「not methodResponse: "html"」ってダイアログが表示され、失敗する。
この時に、*XMLRPCM TEMP*ってバッファが残ってるから、中を見てみたら
http://localhost/wiki/」にアクセスしたときに得られる内容が詰まってた。

FreeStyleWikiに特殊な設定をしてやらないと動かないのか、それともblog-mode.lに設定
したやった項目が間違ってるのかわからない。fswiki.lを覗いてみたら、tmpl/fswiki.html
が必要っぽいんだが、どうやら付属してないらしい。もしかして、このファイルを自分で
書かないといけないんだろうか。
658名無し~3.EXE:2007/12/08(土) 16:28:19 ID:l36K7Gxr
あ、blog-mode.lなんて無いや。blog-modeに読み替えて欲しい。
659名無し~3.EXE:2007/12/09(日) 02:04:10 ID:HFabJV0k
>>657
多分FreeStyleWiki側にXML-RPCのプラグインを入れて、それをEndPointに指定するんだと思う。
660名無し~3.EXE:2007/12/09(日) 05:23:00 ID:2lEcmO16
よくわからんけど、標準状態のFreeStyleWikiには対応してないって事か。
661名無し~3.EXE:2007/12/10(月) 21:03:48 ID:WAzZF6Un
各拡張に対して、こうなってくれたらいいなぁ、といった、
ちょっとした操作感をあげつらねたまえよ。
662名無し~3.EXE:2007/12/11(火) 00:09:19 ID:2ZEr3vML
複数起動したxyzzyのwindowを別のxyzzyのwindowに放り込んだり
1つのバッファだけ別windowに分けたりできないかと思うことがよくある。
別のモニタに移したりしとかしたくて。
そういうことやってると気づくと同じファイルを複数のxyzzyで同時に編集してるなんてことを時々やってるので
同じxyzzyのプロセスで複数のwindowを表示できないだろうかと思ったり。
663名無し~3.EXE:2007/12/11(火) 00:37:43 ID:arnCgF9M
>>662
それは拡張じゃねーよ
664名無し~3.EXE:2007/12/11(火) 01:30:59 ID:Vl7kMtEK
そういえば、Vistaでxyzzyを使うとどうなるの?
Win2k→xyzzy.w2k
Vista→xyzzy.vst?
665名無し~3.EXE:2007/12/11(火) 07:49:41 ID:dvJc6zx/
>664
手元の Windows Vista Home Basic では xyzzy.wxp だった。
666名無し~3.EXE:2007/12/11(火) 10:00:42 ID:bnt1eT8p
>>662
xyzzycli.exeを上手く使えば殆どxyzzyを複数起動しなくても良いように思う
667名無し~3.EXE:2007/12/11(火) 12:08:07 ID:2f5/RS4+
ac-mode-complete-or-indent で、補完はカーソルが単語の上 or 末尾にあるとき
だけにしてほしい。バッファ内の単語を順に表示していくのはいらない。

って、設定しだいでできるのかな。
ファイル名を補完するときに complete+ は非常に便利なんで、そっちは気に入っている。
668名無し~3.EXE:2007/12/12(水) 00:18:22 ID:icUX+D1U
そういう書き込みが大事なわけだよ。気持ちよくしていくためには!
669名無し~3.EXE:2007/12/12(水) 03:50:50 ID:8+4grsKd
書き込むだけでは気持ちよくならないけどね。
自力更生できる部分をなるたけ増やしていきたいけどあまり頭がよくないので大変です。Lispむずい。
670名無し~3.EXE:2007/12/12(水) 09:27:39 ID:u39YPKYk
>>669
668の意図はスレがあんまり盛り上らないのは
lispは一通りかけるようになったけどネタがない人と
lispは勉強中(ネタの有無は不明)な人しか発言してないから
というかんじなのではないかと。
671名無し~3.EXE:2007/12/12(水) 23:24:06 ID:0cNon6qv
>>662
> 同じxyzzyのプロセスで複数のwindowを表示できないだろうかと思ったり。
それは emacs でいうところの frame という機能で何度か要望に挙がったけれど、
亀井さんに却下されている機能。
その代わり pseudo-frame が追加されることになったんだけど。

xyzzy のプロセスが2つだけなら xyzzycli.exe を介して、
ある程度一方から他方を操作できるはずだから、
今のところはその辺で何とかがんばるしかないんじゃない。
672名無し~3.EXE:2007/12/14(金) 10:19:32 ID:4U315gRN
xyzzyでCOMポートを開いて、ハイパーターミナルの代わりにすることってできるんでしょうか?
673名無し~3.EXE:2007/12/19(水) 00:48:56 ID:D1Y448QB
難しいことをお聞きになる。
674名無し~3.EXE:2007/12/22(土) 00:40:43 ID:cN30KTlq
なかったら作るかなと思ったんだけどもね
675名無し~3.EXE:2007/12/23(日) 17:02:56 ID:X6LV+DGC
KaMailGキタ━━━━━━m9( ゚∀゚)━━━━━━!!
KaMailGキタ━━━━━━m9( ゚∀゚)━━━━━━!!
676名無し~3.EXE:2007/12/23(日) 20:43:19 ID:OSyRNtEn
なんぞそれ
677667:2007/12/23(日) 23:51:20 ID:b6+Horkx
作者さん、修正ありがとう!
678名無し~3.EXE:2007/12/26(水) 06:27:29 ID:MAP8g2S4
KaMailV3のバグは、直らないんですかね…
679名無し~3.EXE:2007/12/26(水) 20:01:12 ID:DLVhMIlo
>>678
自分で直して報告すれば良いんじゃない


せめてバグが書かれた場所へのリンクぐらい張れっつーの
680名無し~3.EXE:2007/12/26(水) 23:00:17 ID:AWSqnavl
>>679
メールのsubjectを検索したときにヒットしない物があるのって
既知の問題ですかね。

Hyperestraier側が原因らしいことまで分かっているんですが、
実際にバグと言い切っていいのか、分からないし、
KaMailV3側でH.Eに登録する時にsubjectを前処理すれば
解決できるような気がしたので。

…いずれにしろ、subject:検索は使わない(というか、かなりのメールが
検索結果から漏れることがあるので使えない)ことで、
しばらくは、H.E、KaMailV3のソースを眺めることにしますわ…
681名無し~3.EXE:2007/12/27(木) 04:42:33 ID:l6t4M9PX
>>680
KaMailV3は使っていないのではっきりとは言えないが、それはHyperestraierの仕様じゃないかな?
Hyperestraierでは英数文字は単語単位で検索しないとヒットしない仕様になっているはず。
例:文字列「foobar」に対して「foo」で検索してもヒットしないが、「foobar」で検索すればヒットする。

しかし、正規表現を利用することによって「foo」で検索しても「foobar」にヒットするように出来るはず。
正規表現についてはソースをみなくてもユーザガイド(ttp://hyperestraier.sourceforge.net/uguide-ja.html#searchcond
に書いてあるよ。
682名無し~3.EXE:2007/12/27(木) 04:58:53 ID:hFfPRSO5
>>680
KaMailV3とHyper Estraierのバージョンは?
疑似インデックスをマージ(km3::summary-sync)
インデックス最適化(km3::he-optimize)
登録漏れの解消(km3::he-gather-unindexed-files)
などを実行しても解決しないということ?
683名無し~3.EXE:2007/12/27(木) 08:32:54 ID:YJ0fGN5f
>>681 >>682
長いサブジェクト(MIME Bエンコード後?)の文字数が、80文字を超える場合だと、
2行に分割されるのだけど、ちょうど分割される部分に単語がきたりすると、
単語も分割されてしまうみたい。

例えば、Mozilla ThunderbirdでSubjectを
> "テストてすとtestてすとテスト"
として、送信されたメールは、Subjectが↓にエンコードされているが、
> Subject: =?ISO-2022-JP?B?GyRCJUYlOSVIJEYkOSRIGyhCdGVzdBskQiRGJDkkSCVGGyhC?=
> =?ISO-2022-JP?B?GyRCJTklSBsoQg==?=
これは、
>Subject: テストてすとtestてすとテ
> スト
となっていて、
KaMailV3で、"subject:テストてすとtestてすとテスト"で検索しても
引っ掛からない。
このfolding?というのを前処理で解消してから、H.Eに食わせれば
良いような気がしているけど、xyzzy lispは良く分かっていないし、
H.Eも該当部分が、どこだか分かっていないから直せないでいます。

今分かっているのは、こんなところです…
684683:2007/12/27(木) 08:43:38 ID:YJ0fGN5f
subjectヘッダのエンコード後文字長の話は
この辺りが関係しているのかな。

tp://practical-scheme.net/wiliki/wiliki.cgi?Gauche%3Arfc.mime%3Arfc2047

…FWS(Folding White Space)って言う物に該当するのかな。
MewのMLでも議論されていたみたいだし…
685名無し~3.EXE:2007/12/31(月) 17:42:44 ID:3tKwhNid
egrep、バージョンうpしてめっちゃ速くなりましたね
686名無し~3.EXE:2007/12/31(月) 19:28:53 ID:5jJaEBUU
>>685
検索中のファイル名を出さないように改悪しただけなんですけどね。(^^;)
しかし、outlinex もそうですが message は結構重い処理なのでループ中には使わない方がいいような気もします。
687名無し~3.EXE:2007/12/31(月) 21:00:44 ID:3NjxTxZa
with-interval-message を使えば少しはマシかもしれない。
688名無し~3.EXE:2008/01/13(日) 21:53:31 ID:Odb9GXMt
ttp://white.s151.xrea.com/wiki/index.php?script%2Fsurround
これ真っ新の xyzzy で使っても「不正なデータ型です: nil: keymap」って言われるんだけど使えてる人いる?
689名無し~3.EXE:2008/01/13(日) 22:39:27 ID:FVX19viF
全然見ても試してないけど一般論を言ってみる。

エラー報告をするには
(toggle-trace-on-error t)
を.xyzzyの先頭に(場合によってはsiteinit.lにも)書いておいてエラーが出たら

*Trace Output*バッファの内容を報告に添付すると
どの関数で起きているエラーかは一目瞭然になるので
わかる人にはすぐにわかることが多いよ。

というわけでおすすめ。
690名無し~3.EXE:2008/01/13(日) 23:08:34 ID:Odb9GXMt
>CALL STACK  8: (set-minor-mode-map nil)
>CALL STACK  7: (system:*byte-code ...)
>CALL STACK  6: (editor::surround-mode t)
>CALL STACK  5: (system:*byte-code ...)
>CALL STACK  4: (editor::surround-mode-on)
>CALL STACK  3: (system:*byte-code ...)
>CALL STACK  2: (#<lexical-closure: set-mark-surround>)
>CALL STACK  1: (command-execute set-mark-surround)
不正なデータ型です: nil: keymap


ちょっくらソース読んでくる。
691名無し~3.EXE:2008/01/13(日) 23:33:47 ID:x631pgqR
(add-hook '*post-startup-hook* 'surround-mode-init-keybind)
が動いてない感じですかね

xyzzyを起動した後に手動で読み込んでるとか?
その場合は.xyzzy(siteinit.l)で読み込んだら動くかも
692名無し~3.EXE:2008/01/13(日) 23:48:32 ID:Odb9GXMt
>>691
ありがとう!
scratch で評価して試用しようとしたのがマズかったのか。

それはそうとかなりいい感じのパッケージなので C-SPC 後に M-f 連打してる人なんかにオススメ。
693名無し~3.EXE:2008/01/14(月) 12:56:42 ID:j4IgPfFn
>>692
> scratch で評価して試用しようとしたのがマズかったのか。
>>691 が正解だとすると、作者さんがこう書いておいてくれれば、
問題なかったんだけどね。
(if *app-menu*
(surround-mode-init-keybind)
(add-hook '*post-startup-hook* 'surround-mode-init-keybind))

> それはそうとかなりいい感じのパッケージなので C-SPC 後に M-f 連打してる人なんかにオススメ。
インストールだけしてつかってなかった。
確かに M-s + M-h 連打は便利かも。

694名無し~3.EXE:2008/01/14(月) 13:47:35 ID:Ljl+08eS
>>693
俺もniから入れてみた。たしかに便利かも?
695名無し~3.EXE:2008/01/19(土) 19:34:50 ID:BmOdi0w6
まだ使い始めたばかりですがちょっと質問です。

日本語の辞書ってありますか?
国語辞典とか広辞苑とか。
Wikiの辞書のページ見ると英和と和英しかないっぽいんですが……。
696名無し~3.EXE:2008/01/19(土) 20:27:00 ID:Bt7Ab/Ki
>>695
このあたり
ttp://www.geocities.jp/megahurtz_dk/eb/
を参考に。
697名無し~3.EXE:2008/01/20(日) 17:05:07 ID:PLU/rrYg
>>696
ありがとうございます。
必要な辞書データとそのパッケージがあれば良いわけですね。
698名無し~3.EXE:2008/01/20(日) 17:23:15 ID:rDnptQxT
>>695
日本語だとテキストをみながら検索って訳にはいかないけどね
(単語の区切がわからないから)。でも、ミニバッファに
打ち込んで引くことはできるから、導入してみていいかもね。
699名無し~3.EXE:2008/01/20(日) 17:30:30 ID:3hxnr43N
>>697
うちはヤフオクで広辞苑第5版を2000円程度で買って辞書引きをしている。
(第6版はxyzzyから利用できるのかまだ不明)
初めからEPWING形式なのでEPWINGの辞書を引ける拡張やddwinなどを利用するなら簡単に導入できるはず。

pdicなどを利用する拡張の場合には辞書の変換をする必要がある。
辞書の変換についてはgoogleなどで調べれば分かると思う。

後はxyzzyからネット上の辞書を引くことかな(goo・yahoo!辞書、英辞郎など)。
この方法はお金もかからないし、情報量も多いが、検索に多少時間がかかるという難点がある。

どの方法でも良いと思うけれど、頻繁に辞書を引くならローカルに辞書を置いておくメリットは大きいのかもね。
700名無し~3.EXE:2008/01/20(日) 20:25:45 ID:NM/outs8
>> 698
日本語もセレクションを区切れば引けるよ。
701名無し~3.EXE:2008/01/20(日) 22:48:46 ID:PLU/rrYg
>>699
ネット上の辞書引きだとファミレスとかで執筆できないんで、
広辞苑のCD-ROMをちょっと探して買ってみます。

正直アウトラインエディタにまでなるなんて思ってなかったので、
二年前に「なんだこのわけのわからんエディタは」
って捨てた俺はなめてました
(emacsのキーバインドでeclipseを使ってみたらどうか、と
 勧められたらわかんなくて全然ダメで、emacs系のエディタを探した
 のがもう一度導入したきっかけです)。

アウトラインありで辞書引けたら最高の執筆環境ですよ。
ミニバッファでも十分早いです。ブラウザ開くよりよっぽど。
キーバインドもなれたらかなり早そうですし
まだあまり覚えられてませんが
(まだQuickTourの途中です。入門は買いましたが情報量多すぎるんで、
とりあえず後でリファレンスに使うことにしてます)。

あとそのままWordとか一太郎みたく縦書きで印刷できたら良いんですが……。
これは質問箱でも出てますけど縦フォントしかないみたいですね。
まあVertical Editorがあるのでそんなに苦労はしないんですけど。

>>700
って、セレクション使えば引けるんですね。
それならめちゃくちゃ早そうだ……。
702名無し~3.EXE:2008/01/20(日) 23:56:51 ID:3hxnr43N
>>701
広辞苑第5版のCD-ROMは今だとヤフオクで1000円前後で買えるようですね。
第6版はEPWING準拠ということなのでEPWINGの辞書を扱える拡張なら対応できるのかもしれませんが、中古でも
7000円以上するようですね。

アウトライン機能はMeadowなどのemacsの方が優れているようですね。
それとemacsは外字や画像も表示できるので辞書引きにはより向いているのかも。
自分としては表示の高速さやwindows上での安定性の高さなどからxyzzyを使っていますが。

いくつかの拡張はキャレット下の文字列を取得する機能があるのでセレクションが無くても辞書引きは出来ると思います。
ただし、完全に文字の区切りを認識できるわけではないです。

縦書きについては縦書きHTMLというのもあるそうなので、それに変換すれば印刷することも可能だと思いますね。
ただ、今のところそういった拡張を公開されている人はいないようなので、誰かに作ってもらうか自分で作るかする必要が
ありますが。
703名無し~3.EXE:2008/01/21(月) 01:15:35 ID:ZkZEYZDE
縦書きHTMLでも()などの文字列を表示するには縦書きに対応したフォントが必要になるようです。
wordなどに出力して印刷すれば縦書きフォントが無くても出来そうな気もしますが、これもコードを書く必要があるでしょうね。
704名無し~3.EXE:2008/01/21(月) 21:10:52 ID:mtQlVU5w
ネットインストーラのsiteを無理やり最新にがうまく動きません……

*NetInstaller Site*でNを押すと「書き込み禁止バッファです」と表示されます。

あと、バイトコンパイルしてダンプファイル削除のLispもうまく動きません。
一瞬でdone.になるのでよく見えませんが、
カレントバッファはバイトコンパイルされてませんし、
ダンプファイルも削除されていません。
705名無し~3.EXE:2008/01/21(月) 21:14:50 ID:mtQlVU5w
と、無理矢理最新の方は動きました。
どうやらきちんとShiftが押されていなかったようで……。
失礼しました。
706名無し~3.EXE:2008/01/21(月) 22:48:06 ID:mtQlVU5w
なるほど。Windows XPの際の返値が変わっているのですね……。
Wikiの方はあとで修正しておかねば。
707名無し~3.EXE:2008/01/22(火) 19:56:16 ID:bRrCxXrp
EmacsのようにC-x C-wなどでファイルを保存後、そのファイルのバッファに移動させたいのですが、
defadvice等の関数が無い為、実現方法が思いつきません。
やり方など分かる方いましたら、教えていただけますか。
708名無し~3.EXE:2008/01/22(火) 20:08:45 ID:sPdTFtn9
709名無し~3.EXE:2008/01/22(火) 20:57:23 ID:bRrCxXrp
>>708
どうもです。
710名無し~3.EXE:2008/01/29(火) 22:26:43 ID:KJI0serf
広辞苑インストールしてみたんですがCATALOGSファイルが見あたりません。
C:\Program Files\SystemSoft\EDViewer\DIC\KOJIEN5
というフォルダがありますがこれでしょうか?
711名無し~3.EXE:2008/01/29(火) 23:11:04 ID:6VGY1ecL
>>710
広辞苑をEPWING対応のソフト・拡張で見るには当然EPWING形式のものじゃないとダメだよ。
SystemSoft版の広辞苑はEPWING形式に変換する必要があると思う。

うちは最初からEPWING形式のものを買ったのでよく分からないが、このへん
ttp://hp.vector.co.jp/authors/VA021723/dessed/)が参考になるかもしれない。
712名無し~3.EXE:2008/02/01(金) 17:58:30 ID:9B13ycad
Emacs スレッドのマスコットはこの

        _/l__
     /   く
    | ´ω`  | ぐにゅう emacs
     |    C='|

「ぐにゅう君」に決定したそうなんだけど、xyzzyにはマスコットはないの?
713名無し~3.EXE:2008/02/01(金) 19:34:49 ID:fsA0u8Lu
714名無し~3.EXE:2008/02/01(金) 19:39:05 ID:9B13ycad
>>713
となるとこんな?

              1
              |i
              '|》
              i!》
               i!.》
        ,..==≡≡ミ! 》、= 、、             /)
    c(h// ,. ' 、、" i! 》、 `丶、         ,/'/
    ゞλ〈 ,. / > < 、i! 》、 ><\    ,/、/
     ~`\\/_7_ ∠____」、 》、 ,,.メーっ、 ,./< /
         \、,,,__ ̄____,,〉、 》v=='"`ゝ< <'/
          \   ̄   ,,ゝ  》、", ''ー-</
          `丶、    ゛ __,,,,..ノ ,,",' ´ \
             `゙ー----―''"´\_()`:; |)
                         ヽ、_/

いまいちかわいくないな...
715名無し~3.EXE:2008/02/01(金) 20:07:31 ID:fsA0u8Lu
そもそも張り合う必要がないと思うんだが
716名無し~3.EXE:2008/02/01(金) 20:14:41 ID:9B13ycad
>>715
いや張り合うとかじゃなくて、何となく思っただけなんだけどね。

亀のアイコンがあるからいいか。
717名無し~3.EXE:2008/02/01(金) 22:05:52 ID:gPmHwhz2
えっ!? あの流れで決定したことになってんの?
718名無し~3.EXE:2008/02/03(日) 14:44:47 ID:yGhMJN28
使用中のバージョン:0.2.2.235

たとえば
http://www.jca.apc.org/~earthian/aozora/0213.html
にある、コード表-csv(jisx0213code-csv.txt [2000-12-22],zip圧縮,224k)
をxyzzyで読んだのち、Unicode形式で書き込むと、
主にJIS2000で追加された文字が化けるのですが、
回避方法はありますか?

もちろんNotepad経由でやれば書き込めるけど、
今度はそれをxyzzyに読み込んだ時に文字化けします。
719名無し~3.EXE:2008/02/03(日) 14:56:31 ID:aSHTGz1L
調べたわけじゃないが、過去ログを見た感じ無理じゃない。
xyzzy はユニコードに完全に対応しているわけじゃない。
おまいが対応版のxyzzyを開発してくれるのを待ってる。
720名無し~3.EXE:2008/02/03(日) 16:28:51 ID:77oNx8Tb
JISX0213 の話?
721名無し~3.EXE:2008/02/03(日) 16:38:05 ID:d2eZdyxG
ユニコードに完全に対応したソフトはないから
使う文字コード範囲に対応したソフトをつかいわけるしかないけど
xyzzyなら対応してない文字コードでも文字化けするだけで壊さない
722718:2008/02/03(日) 19:07:02 ID:shgHVxNA
>>719
>xyzzy はユニコードに完全に対応しているわけじゃない。
そうなんですか。以前から何で" ?"に変わるんだろうと思いつつ使ってたけど、
ある時、メモ帳で同じことをしてなかったことに気が付いて、はじめて知ったもので。

>>720
>JISX0213 の話?
そうです。JIS X 0213で書いたファイルをUnicodeで保存しようとした時に起こるトラブルです。
最初はOS側の問題だと勝手に思い込んでいたので気にも留めていませんでした。

>>721
>ユニコードに完全に対応したソフトはないから
>使う文字コード範囲に対応したソフトをつかいわけるしかないけど
そういうことなら、メモ帳以外でUnicodeの読み書き適したエディタがないか探すしかないですね。

xyzzyをやめるわけじゃないけど、他にいいエディタがないか探してみます。レスありがトン。
723名無し~3.EXE:2008/02/04(月) 01:12:37 ID:n7RU6w0B
>722
Unicode対応エディタか。個人的にはシェアウェアだがEmEditorを勧めてみたい。
少なくとも俺はxyzzyより遙かに気に入ったし金も迷わず払った。あの快適さは一度体験するとやめられん。
724名無し~3.EXE:2008/02/04(月) 02:49:12 ID:RQCUW+t0
>>723
俺と真逆だなぁ
俺の場合、値上がりバージョンアップで
見切りをつけてxyzzyに乗り換えた
725名無し~3.EXE:2008/02/04(月) 14:50:49 ID:reFXtVG6
(setq *ispell-command* "D:/Application/Xyzzy/ispell/ispell.exe")

こういうののパス指定って、
こういう指定ってできませんかね?
$Xyzzy$ispell/ispell.exe
みたいな
726名無し~3.EXE:2008/02/04(月) 15:20:27 ID:bb0HNas0
>>725

こんな感じ?チェックしてないけど

(setq *ispell-command*
(concat (si:getenv "XYZZYHOME") "/ispell/ispell.exe"))

727名無し~3.EXE:2008/02/04(月) 15:45:30 ID:BIFOPg9j
>>725
うちは環境変数設定していないのでこうだね。
(merge-pathnames "ispell/ispell.exe" (si:system-root))
728名無し~3.EXE:2008/02/04(月) 16:27:23 ID:reFXtVG6
>>726
>>727
なるほど。ありがとうございます。
729名無し~3.EXE:2008/02/04(月) 21:53:31 ID:FnJqTou8
>>726
XYZZYHOME は "~/" で展開できるぞ
730名無し~3.EXE:2008/02/04(月) 22:21:13 ID:IGxd7dMs
>729
.xyzzyなら大丈夫だけど、siteinit.lでは無理じゃなかったっけ。
731名無し~3.EXE:2008/02/05(火) 01:16:06 ID:QkjKJ94r
> .xyzzyなら大丈夫だけど、siteinit.lでは無理じゃなかったっけ。

~/ は、 siteinit.l に書いた辞典では文字列として変数に束縛されるだけで、
~/ の文字列が展開される事はない。
実際に ispell を使う時に、文字列をパスとして評価して初めて XYZZYHOME 等
の値に展開される。だからこれは大丈夫。
だめなのは、 *etc-path* とかかな。
732名無し~3.EXE:2008/02/05(火) 14:26:40 ID:x551dcQs
例えばfind-fileの履歴に
C:/foo/bar/a.txt
C:/foo/bar/b.txt
C:/foo/c.txt
C:/bar/d.txt
があるとして、
C-x C-fとしてミニバッファに
C:/foo/bar/
と表示されている時に、C-n,C-pやカーソルキーの上下で出てくる履歴は
C:/foo/bar/a.txt
C:/foo/bar/b.txt
の2つだけです。
この場合でも
C:/foo/c.txt
C:/bar/d.txt
も履歴に出てくるようにすることは出来ないでしょうか?

つまり表示されているディレクトリ以下の履歴だけでなく、それより階層の上のディレクトリに
あるファイルも履歴に表示できないのでしょうか?
733名無し~3.EXE:2008/02/05(火) 14:59:16 ID:x551dcQs
ありゃ、出来たかな。
(defun minibuffer-next-line-or-search-history ()
(interactive)
(unless (next-line 1)
(unless (or (eq *last-command* 'minibuffer-next-line-or-search-history)
(eq *last-command* 'minibuffer-previous-line-or-search-history))
(delete-region (point-min) (point-max)))
(minibuffer-search-history-forward)))

(defun minibuffer-previous-line-or-search-history ()
(interactive)
(unless (previous-line 1)
(unless (or (eq *last-command* 'minibuffer-next-line-or-search-history)
(eq *last-command* 'minibuffer-previous-line-or-search-history))
(delete-region (point-min) (point-max)))
(minibuffer-search-history-backward)))
こんな感じでいいみたいです。
734名無し~3.EXE:2008/02/05(火) 17:30:17 ID:jmmb+F5/
>>732-733
C-Up (minibuffer-previous-line-or-history)
C-Down (minibuffer-next-line-or-history)
735名無し~3.EXE:2008/02/05(火) 18:14:17 ID:x551dcQs
>>734
あらら、あったんですね。知らなかった。

ありがとうございます。
736名無し~3.EXE:2008/02/06(水) 12:37:40 ID:F+62CNm2
xyzzy wiki にアクセスできないの俺だけ?
737名無し~3.EXE:2008/02/06(水) 12:38:09 ID:UC8HHA6m
MeiryoKe_Console綺麗なんだけど、描画が遅くなりますね。
Osakaもいいんだけど、1とTの区別がつきにくい。

何かいいフォント無いですかね。
まあ自分で探せって話なんだろうけど。
738名無し~3.EXE:2008/02/06(水) 12:40:19 ID:UC8HHA6m
>>736
こちらでは今はアクセスできるみたい。

たまに死んでいる時があるので、時間をおいてアクセスするといいかも。
739名無し~3.EXE:2008/02/06(水) 18:01:41 ID:dwh5Kxqu
(global-set-key #\C-S-u 'foo) すると
「SHIFTは指定できません」と起こられちゃうんですが
Shiftキーを押してるかどうかで動作は変えられないのでしょうか?

ちなみにAltは下の書き方で変えられるんですがCtrlで同じ事をすると
bar が foo に上書きされてしまいます
(global-set-key #\M-u 'bar)
(global-set-key #\M-U 'foo)
740737:2008/02/06(水) 18:26:20 ID:UC8HHA6m
>>739
これのことですかね?
ttp://xyzzy.s53.xrea.com/wiki/index.php?cmd=read&page=tips%2F%A5%AD%A1%BC%A5%D0%A5%A4%A5%F3%A5%C9%A4%CE%C0%DF%C4%EA%A4%F2%A4%E2%A4%A6%BE%AF%A4%B7%BD%C0%C6%F0%A4%CB


フォントいくつか試してみてCleartypeにするとウィンドウに文字を沢山表示させていると重くなりますね。

ビットマップフォントにしてCleartypeにしなければそれほど重くならないけど、「ー・−・一」の区別がつくフォントが
見つからない(IPAフォント、VLゴシックフォントファミリなどは悪くはないですが)。
結局MSゴシックにすることにしました。
741名無し~3.EXE:2008/02/06(水) 22:57:33 ID:up+pvnCA
ツールバーの固定ってできませんか?

742名無し~3.EXE:2008/02/06(水) 23:12:18 ID:RZwMFT0k
できない
743名無し~3.EXE:2008/02/07(木) 08:29:03 ID:aHcm4Ger
そうですか(´・ω・`)

なんかLisp書いても無理ですかね……
744名無し~3.EXE:2008/02/07(木) 08:44:24 ID:xYcDVJ5C
>>743
意味がよく分からないんだけど、一つのツールバーにまとめてしまえばいいんじゃないの?
745名無し~3.EXE:2008/02/07(木) 13:07:27 ID:xW54ARZ7
ツールバーをまとめても左側の動かすための部分は消えませんよね。
あれを消してツールバーを固定したいんです。
IEの「ツールバーを固定する」みたいなのがやりたいんです。
新しいツールバー作ってもそういう項目がないようなので、
xyzzyそのものに手が入らないと無理なようですね。
746名無し~3.EXE:2008/02/07(木) 14:02:55 ID:ncNAXORM
無理だね。Rebarコントロールを使わずに書かれてて
移動できるように決め打ちされてる。
ソース読めるならdockbar.hとdockbar.cc
むりやりな方法はあるだろうけど本体を改造するのが素直だろうね。
747名無し~3.EXE:2008/02/07(木) 16:28:01 ID:4GFi4lzS
最近ocamlで遊んでいますけど
京都大学のホームページでocaml-modeはemacs版しかなかった...
みなさんはどうしてるんですか?

748名無し~3.EXE:2008/02/07(木) 23:41:09 ID:skLkStas
>>747
caml-modeつかってる
749名無し~3.EXE:2008/02/08(金) 09:37:56 ID:31ClxFPq
>>748
caml-modeはキーワードの強調しかない
自動改行やindent-regionがほしいの
750名無し~3.EXE:2008/02/08(金) 10:16:28 ID:b8ZeOxkX
っ言いだしっぺの法則

まぁ caml-mode しかないってことは caml-mode で満足してるか
ocaml を使っている人が少ないかのどちらかだろうね
751名無し~3.EXE:2008/02/08(金) 14:30:33 ID:Cu2zCkPF
outline-tree2について質問です。
アウトライン作成関数の生成をして、
;; definition
(defun outline-tree-create-outline-user-regexp-foo (root-node)
(outline-tree-create-outline-regexp-internal
:root-node root-node
:layer-regexp-list-order nil
:layer-regexp-list '("^■"
"^●"
"^▲")
:layer-regexp-list-case-fold nil
:sub-type :heading-node
:line-oriented nil
:title-converter nil))
としたときに、テキストが
■あああ
▲ううう
となっていると
▲ううう
がアウトラインに表示されません。
(■あああ
●いいい
▲ううう
となっていると表示されます)
途中の階層のノードが無い時でも下層のノードを表示させることはできないのでしょうか?
752名無し~3.EXE:2008/02/08(金) 20:20:46 ID:QhJm9hJ4
>>751
:layer-regexp-list-order :any-miss

753名無し~3.EXE:2008/02/08(金) 20:49:48 ID:Cu2zCkPF
>>752
おお!できました。
ありがとうございます。やっぱり聞いてみるものですね。

ついでにこちら
ttp://white.s151.xrea.com/wiki/index.php?cmd=read&page=memo%2Fxyzzy%2FOutline-tree2
を参考にこんなものを書いてみたので貼っておきます。
;; treeviewでも migemo 検索できるようにする
(in-package "treeview")
(defvar *isearch-migemo-length* 1)
(defun treeview-isearch-scanner (string no-dup &optional (hitem (treeview-get-selected-item)))
(let ((*treeview-isearch-regexp* nil)
(pattern string)
migemo)
(when *treeview-isearch-scanner-hook*
(setq pattern (funcall *treeview-isearch-scanner-hook* pattern)))
(and *isearch-migemo-length*
(<= *isearch-migemo-length*
(length pattern))
(setf pattern (ed::migemo-query pattern)
migemo t))
(setq *treeview-isearch-current-string* string)
754続き:2008/02/08(金) 20:51:02 ID:Cu2zCkPF
(setq *treeview-isearch-last-match*
(if (treeview-hitem-valid-p
(setq hitem (treeview-scan-treeview
pattern
:hitem hitem
:reverse (not *treeview-isearch-direction*)
:no-dup no-dup
:regexp (or migemo *treeview-isearch-regexp*)
:case-fold *treeview-case-fold-search*
:part *treeview-isearch-part*)))
(progn
(setq *treeview-isearch-current-match-string* (match-string 0))
t)
(progn
(setq *treeview-isearch-current-match-string* nil)
(ding)
nil)))))
(in-package "outline-tree2")
755名無し~3.EXE:2008/02/08(金) 22:09:27 ID:jyatX2tE
>>740
ありがとうございます
うまく設定できました
756名無し~3.EXE:2008/02/11(月) 11:35:25 ID:f17dCs1T
ため込んでたログをガーっと流し読みしてたら
>743 の (´・ω・`) がリストに見えた。
757名無し~3.EXE:2008/02/11(月) 22:17:16 ID:q09Y/ijf
whitespaceがあるくらいなんだから、
(´・ω・`)とか使う言語もあってもいいのにね
758名無し~3.EXE:2008/02/12(火) 02:01:32 ID:8u5ooVEE
しぃ言語ってあったなあ
759名無し~3.EXE:2008/02/12(火) 02:04:53 ID:pRF+5s6L
>>751のここらへんは逆に顔文字に見えてきた
>:layer-regexp-list '("^■"
>"^●"
>"^▲")
760名無し~3.EXE:2008/02/12(火) 06:12:00 ID:FAS/t8+u
>>737
俺はASCIIがConsolasで、日本語がメイリオ
761名無し~3.EXE:2008/02/12(火) 08:23:59 ID:B23fJ75J
>>760
ClearTypeにすると重くなりませんか?
まあ、CPUの問題なんだろうけど。
762名無し~3.EXE:2008/02/12(火) 08:41:58 ID:6f0Zrpxz
>>760
Consolasは知らなかったけどよさげですね
>>761
PentiumM1.6GHz,768MB,Radeon9600のノートで
起動して最初のファイルを開いた瞬間、ちょいモッサリ
その後、他のファイルを開いたりしてもぬるぬる
です。
キャッシュに入ると問題ないようです
763名無し~3.EXE:2008/02/18(月) 16:51:19 ID:ZrvWyY/v
この機能
ttp://xyzzy.s53.xrea.com/wiki/index.php?%BC%C1%CC%E4%C8%A2%2F236
知らなかったんですが、誰か実装して下さる方いませんでしょうか?
764名無し~3.EXE:2008/02/18(月) 17:55:44 ID:x0v6H8Aw
そんな機能在ったんだね知らなかった。と言うか。
それlispで出来るのか?
765名無し~3.EXE:2008/02/18(月) 18:49:10 ID:UFnj+3md
前後フィードバックのAPIが分かれば、多分出来る筈
766名無し~3.EXE:2008/02/18(月) 19:21:07 ID:x0v6H8Aw
imm32.dllこの辺かな
767名無し~3.EXE:2008/02/18(月) 20:47:09 ID:UFnj+3md
多分ね。
軽くぐぐったけど関数名を見つけられなかった。
768名無し~3.EXE:2008/02/18(月) 21:29:47 ID:x0v6H8Aw
関数はこの辺じゃないか
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpintl/html/Toppage_IME.asp
ただ、どれが前後フィードバック機能の奴か不明だが
769名無し~3.EXE:2008/02/18(月) 21:49:38 ID:WwNrOeNM
WZのプラグインマクロで実装してる人もいるね

http://d.hatena.ne.jp/topiyama/20070703
770名無し~3.EXE:2008/02/19(火) 00:09:45 ID:zScn8QY6
foreign.lに在るようなのを使えば
WndProcとか出来そうな気もするが・・。
Windowsとlispの境界線がどうやってやるのかよく分からん。
771名無し~3.EXE:2008/02/19(火) 01:44:10 ID:dmRaX/Di
>768
IMR_DOCUMENTFEED
http://mtbeta.msdn.microsoft.com/ja-jp/library/aa915528.aspx
関数っていうか、対応しているIMEだとIMR_DOCUMENTFEEDメッセージが飛んでくるからそこで前後の文字列をセットして返せばいいみたい。
この機能あると嬉しいかもと思ったがlispでどう実装できるのかよくわからん。
772名無し~3.EXE:2008/02/19(火) 03:53:30 ID:gsjBrEb5
fixdapにパッチ
ttp://fixdap.com/p/xyzzy/7376/
を上げて下さったようです。

ビルドの仕方が分かっていないので試せてませんが..
773名無し~3.EXE:2008/02/19(火) 04:04:52 ID:gsjBrEb5
Visual C++ 2008 Express Edition でビルドできるのでしょうか?
774名無し~3.EXE:2008/02/19(火) 14:24:09 ID:gsjBrEb5
ビルドできたような気がします。
ttp://xyzzy.s53.xrea.com/wiki/index.php?patch%2F13
Windows Server 2003 SP1 Platform SDKはいらないようです。
775名無し~3.EXE:2008/02/19(火) 19:57:50 ID:FPRayOph
lispだけじゃできなさそうだね。ウィンドウプロシージャを
受け取る方法がないもんね。
776名無し~3.EXE:2008/02/19(火) 20:17:12 ID:STIl6OUr
メッセージフックまではLispで出来ないんだっけ?
777名無し~3.EXE:2008/02/19(火) 20:31:57 ID:zScn8QY6
WndProcとかでGrepすると
それらしき名前をつけて書いているlispは出てくるから
出来るのかと思ってたけど出来ないのか。
778名無し~3.EXE:2008/02/19(火) 22:00:41 ID:BWmH8twf
SetWindowLongしてるlispもあったし、
コールバック関数を呼んでるlispもあったので
できるかなと思って暇なときにでも試そうと思ってたんだが。
779名無し~3.EXE:2008/02/19(火) 22:12:18 ID:XXtsPgWB
ウインドウのサブクラス化なんてEnumWindowsとかと同じレベルなんだから出来るでしょ。
グローバルフックならDLL作らないと無理だからLispだけじゃ出来ないけどね。
780名無し~3.EXE:2008/02/20(水) 04:01:08 ID:0PtySyCP
lispの勉強がてらキーマップの変更をしようとしたんですが
うまく書くことができません…。

(let ((keymap (make-sparse-keymap)))
(dolist (i
'((#\1 "a")
(#\2 "b")
keymap)
(define-key keymap (first i) (lambda () (interactive) (insert (second i)))))))

(first i), (second i) の所の渡し方が間違ってるらしく
ここを #\1 "a" で直接書くと通ります。
でも、どう書きなおせば良いのかがわかりません、、
ここではどう値を渡せばいいのでしょうか?


781名無し~3.EXE:2008/02/20(水) 04:55:53 ID:zvi2j0TH
(#\2 "b"))
782名無し~3.EXE:2008/02/20(水) 11:11:15 ID:NhSvwysF
xy-reference.lからHTMLヘルプを作るとtitleがハイライトされないようなのですが、これは仕様でしょうか?
783名無し~3.EXE:2008/02/20(水) 11:36:35 ID:NhSvwysF
失礼、hhtmpディレクトリにreference.cssがなかっただけでした。
784名無し~3.EXE:2008/02/21(木) 03:19:16 ID:UQekwSfI
lispでもできたようです。
ttp://xyzzy.s53.xrea.com/wiki/index.php?tips%2FIME%A4%CE%C1%B0%B8%E5%BB%B2%BE%C8%CA%D1%B4%B9%B5%A1%C7%BD
この機能、気分的にも結構役立っているような気がします。
fixdap版とどちらを使うか悩ましいところ。
785名無し~3.EXE:2008/02/21(木) 03:31:21 ID:2BZCyk6a
>>781
…。 orz
ありがとうございます。

(first i)の部分は問題なくなりましたが
(second i) の部分で問題が出てきてしまうようです…。
もう少し何が悪いのか考えて見ることにします

ネット環境が悪く次に書き込めるのが2,3日後になりそうなので
とりあえずお礼だけ書き込ませていただきました。
786名無し~3.EXE:2008/02/21(木) 23:37:42 ID:QmiLQW94
>>785
dolist の i はループごとに変数が作られるんじゃなくて、
一個作った変数に要素が代入されていく感じです。

だから lambda でクロージャを作ってもクロージャ内から参照している i は
dolist が終わるころには nil になってます。だからエラー。

こうすればいいと思うよ。

(let ((c (second i)))
(define-key keymap (first i) #'(lambda () (interactive) (insert c)))))
787名無し~3.EXE:2008/02/22(金) 00:33:47 ID:Bf5PyOGy
>>786 の言うとおり。以下でもOK。
(let ((keymap (make-sparse-keymap)))
(dolist (i '((#\1 "a") (#\2 "b"))
(use-keymap keymap))
(define-key keymap (first i)
`(lambda ()
(interactive)
(insert ,(second i))
))))

以下がうまくいかないのも同様の理由。
(let ((i "a"))
(global-set-key #\1 (lambda ()
(interactive)
(insert i)
))
(setq i "b"))

788名無し~3.EXE:2008/02/24(日) 09:16:13 ID:DCU25Qo2
anything
ttp://ottt.x0.com/xyzzy/lisp/package/anything.zip
これ面白いですね。
789名無し~3.EXE:2008/02/24(日) 09:25:12 ID:gl/ERNBJ
>>788
ども、すんませんwindow周りがおかしいですね
どうしたらいいものやら
790名無し~3.EXE:2008/02/24(日) 09:50:12 ID:9RlmQDp1
>>789
Trace Outputを晒せばいいよ.
791名無し~3.EXE:2008/02/24(日) 09:53:41 ID:DCU25Qo2
>>789
まだそれほど試してないのでよく分かってなくて申し訳ないんですが、window周りというのは
具体的にどういうことでしょうか?

これも分かってないんですが
(in-package :editor)
というのは
(in-package "editor")
ではだめなんでしょうか?
動作には問題なさそうですが、ldocが効かなくなってしまうようなので..
792名無し~3.EXE:2008/02/24(日) 09:58:31 ID:DCU25Qo2
あと、migemo検索とディレクトリの移動ができたらいいなと思って、調べようとしているところです。
793名無し~3.EXE:2008/02/24(日) 10:25:01 ID:gl/ERNBJ
>>790
with-output-to-temp-bufferで表示させているだけなので
表示位置が定まらないんです。

>>791
(in-package "editor")でいいと思います
うちの環境のldocは大丈夫みたいです
794名無し~3.EXE:2008/02/24(日) 10:33:16 ID:9RlmQDp1
anyting.lのmigemo対応できたー

--- action.l.orig 2008-02-24 10:17:08.359375000 +0900
+++ action.l 2008-02-24 10:30:19.281250000 +0900
@@ -36,14 +36,18 @@
(if (setq cache (gethash input *anything-cache-sources*))
(return-from anything-update-sources cache)))
(setq *anything-update-sources* (make-hash-table :test 'equal))
+ (let ((query (or (and (modulep "migemo")
+ (eval (intern "*migemo-on*" "editor"))
+ (compile-regexp (funcall (intern "migemo-query" "editor") input)))
+ input)))
(dolist(x *anything-get-sources*)
(setf(gethash (car x) *anything-update-sources*)
(if (= 0 (length input))
(cdr x)
(remove-if-not
#'(lambda(y)
- (string-matchp (regexp-quote input) y)) ; qoute
- (cdr x)))))
+ (string-matchp query y))
+ (cdr x))))))
(setf (gethash input *anything-cache-sources*)
*anything-update-sources*)
*anything-update-sources*)
795名無し~3.EXE:2008/02/24(日) 10:38:10 ID:DCU25Qo2
>>793
参考になるか分かりませんが
(split-window (truncate (/ (window-height) 2)))
とすればカーソルがどこにあっても常に上側にカーソルがくるようにできると思います。

ldoc2だと何か違いがあるのかな..
796名無し~3.EXE:2008/02/24(日) 10:41:47 ID:DCU25Qo2
>>794
おお!速い。
こちらは*anything*バッファが表示されないことがあるのを調べているところでした。
797名無し~3.EXE:2008/02/24(日) 11:11:38 ID:gl/ERNBJ
>>794
あらら適当に対応したら、もうパッチ書いてくれてたとはorz

>>795
試してみます
798名無し~3.EXE:2008/02/24(日) 11:16:21 ID:DCU25Qo2
>>793
キーバインドを変えようとして、こうすると
(in-package :editor)
(define-key *anything-mode-map* #\Up 'anything-previous-line)
(define-key *anything-mode-map* #\Down 'anything-next-line)
(in-package :user)
ldoc2では*anything-mode-map*などのところで説明が表示されないようです。
しかし、(in-package "editor")としたり、ed::を付ければ表示されるので問題なさそうです。
799名無し~3.EXE:2008/02/24(日) 11:48:38 ID:gl/ERNBJ
anything-default-exhibitで閉じる位置を間違えてました。
800名無し~3.EXE:2008/02/24(日) 12:04:15 ID:9RlmQDp1
Migemoを使わないときに(regexp-quote input)してなかったので,
次の更新の時にでも修正お願いします.
801名無し~3.EXE:2008/02/24(日) 12:12:48 ID:DCU25Qo2
>>799
*anything*バッファがウィンドウに表示されない問題はなくなったようです。

あと、○文字目の入力からmigemoにするというオプションがあるといいなと思ったりします。
802名無し~3.EXE:2008/02/24(日) 12:22:58 ID:9RlmQDp1
あ,なんかすごい勘違いしてた….
>>800は気にしないでください….

ループの度にmigemo-queryを呼ぶとすごい重いので
ループの外で呼んだ方が良いですよ.
803801:2008/02/24(日) 12:43:55 ID:DCU25Qo2
すいません、ループ外で変換すれば1文字目からでもそれほど重くならないみたいです。
794の
+ input)))

+ (regexp-quote input))))
に変えればよさそうです。
804名無し~3.EXE:2008/02/24(日) 12:59:46 ID:gl/ERNBJ
>>801
やってみました

>>802
ありがとうございます、何も考えずに書いてました。
805名無し~3.EXE:2008/02/24(日) 14:00:59 ID:DCU25Qo2
>>804
ありがとうございます。
それと
action.lの*anything-buffer-popup*を
(when *anything-buffer-popup*
(if *anything-buffer-vert*
(truncate (/ (window-width) 2))
(truncate (/ (window-height) 2))))
みたいにすればウィンドウの位置を固定できそうです。

ファイラの変わりに使えないかなとも思ってるんですが、本家にはそういう機能はないんでしょうか?
806名無し~3.EXE:2008/02/24(日) 14:30:56 ID:gl/ERNBJ
>>805
diredが開てたので、xyzzyではfilerかなと

add-anything-sourcesでそれっぽいの作ってやってみてください。

(add-anything-sources :name "CMD HELP"
:type file
:candidates (lambda()'("ASSOC" "AT" "ATTRIB" "BREAK" "CACLS" "CALL" "CD" "VOL" "XCOPY"))
:action (lambda(c)(delete-buffer " cmd")(delete-window))
:move-action (lambda(cmd)
(execute-subprocess(concat "help " cmd) nil " cmd")
))

こんな感じで追加できます。
807名無し~3.EXE:2008/02/24(日) 16:51:18 ID:DCU25Qo2
>>806
よく分かってないんですが、こんな感じにしてみました。
(defvar *anything-specified-list* nil)

(add-anything-sources :name "DIR LIST"
:type file
:candidates (lambda()'("C:/Documents and Settings" "C:/windows" "C:/Program Files"))
:action (lambda(dir)
(setq *anything-specified-list* (directory dir))
(ed::anything-cleanup)
(anything)
))

(add-anything-sources :name "Files from specified Directory"
:type file
:candidates (lambda() (or *anything-specified-list* (directory default-directory)))
)
808名無し~3.EXE:2008/02/24(日) 17:56:37 ID:DCU25Qo2
間違いがあったので修正。default-directoryを設定する必要があるみたいです。
(defvar *anything-specified-list* nil)
(defun re-anything (dir)
(setq *anything-specified-list* (directory dir))
(set-default-directory dir)
(ed::anything-cleanup)
(anything))
(add-anything-sources :name "DIR LIST"
:type file
:candidates (lambda()'("C:/Documents and Settings" "C:/windows" "C:/Program Files"))
:action (lambda(dir)
(re-anything dir)))
(add-anything-sources :name "Files from specified Directory"
:type file
:candidates (lambda() (or *anything-specified-list* (directory default-directory)))
:action (lambda(f)
(let ((file (merge-pathnames f (default-directory))))
(if (file-directory-p file)
(re-anything file)
(find-file file)))))
スレ汚しぎみなのでこの辺で。
809名無し~3.EXE:2008/02/24(日) 20:46:21 ID:G0/kAIn8
最終結果をまとめたもの、up希望
810名無し~3.EXE:2008/02/24(日) 21:10:43 ID:DCU25Qo2
しょぼしょぼなんだけど、こんなのでいいんですかね?
(in-package "editor")
(defvar *anything-directory-list* nil)
(defvar *anything-last-directory* nil)
(defun re-anything (dir)
(setq *anything-last-directory* dir)
(anything-cleanup)
(anything))
(defun anything-upper-directory ()
(interactive)
(re-anything (directory-namestring (remove-trail-slash *anything-last-directory*))))
(add-anything-sources :name "Files from Current Directory"
:type file
:candidates (lambda() (directory (or *anything-last-directory* default-directory)))
:action (lambda(f)
(let ((file (merge-pathnames f (or *anything-last-directory*
default-directory))))
(if (file-directory-p file)
(re-anything file)
(find-file file)))))
(add-anything-sources :name "Directory List"
:type file
:candidates (lambda() *anything-directory-list*)
:action (lambda(dir)
(re-anything dir)))
(define-key *anything-mode-map* #\C-z 'anything-upper-directory)
(in-package "user")
811名無し~3.EXE:2008/02/24(日) 21:13:50 ID:DCU25Qo2
設定はこんな感じで
(setq ed::*anything-directory-list*
`(
,(si:system-root)
,(append-trail-slash (merge-pathnames "site-lisp" (si:system-root)))
,(append-trail-slash (merge-pathnames "lisp" (si:system-root)))
,(append-trail-slash (map-backslash-to-slash (get-special-folder-location :personal)))
))

それと、:nameの表示される順番は変えられないのでしょうか?
あと、カーソルがウィンドウの下側にあるとバッファを移動してもそのバッファが別ウィンドウに表示されないようです。
多分805みたいにしてウィンドウの位置を固定すればこの問題は出なそうなんですが。
812名無し~3.EXE:2008/02/25(月) 17:37:39 ID:2CUXyRNK
>>811
多分windowの問題は直ったはずです。
それとsources.lは別にrequireするようにしました
順番については人の気持ち(文脈じゃなくて)を理解できる
lispができたらといゆうことでよろしくです
813名無し~3.EXE:2008/02/26(火) 02:07:27 ID:0JzXm671
マッチしたとこをハイライトするのをでっちあげてみたんですけど
もっとスマートにできませんかね?
narrow-to-region のとことか行ハイライトのとことか。

個人的には行のハイライトとテキストの取得は
分けたほうがいいとか思ってみたり。
814813:2008/02/26(火) 02:12:36 ID:0JzXm671
(defvar *anything-current-query* nil)
(defvar *anything-matches-color* '(:foreground 10 :bold t))
(defun anything-highlight-matches ()
(with-anything-window
(delete-text-attributes 'matches)
(when *anything-current-query*
(save-excursion
(save-restriction
(narrow-to-region (save-excursion (next-line (window-lines)) (goto-eol) (point))
(progn (previous-line (window-lines)) (point)))
(while (scan-buffer *anything-current-query* :case-fold t :regexp t :tail t)
(apply 'set-text-attribute (match-beginning 0) (match-end 0)
'matches *anything-matches-color*)))))
(anything-selection)))
(defun anything-exhibit ()
(let ((input (anything-check-minibuffer-input)))
(setq *anything-current-query*
(when (< 0 (length input))
(or (and *anything-migemo-on* (modulep "migemo")
(<= *anything-migemo-length* (length input))
(compile-regexp (ed::migemo-query input)))
(regexp-quote input))))
(case *this-command*
((self-insert-command anything-backward-char kill-region)
(anything-default-exhibit input))
(t  (message "~A" *this-command*)))
(and (not *anything-attribute-buffer*) *anything-highlight-color*
(anything-highlight-matches))))
815名無し~3.EXE:2008/02/26(火) 06:39:37 ID:P7sQWdgv
>>813
なるほど、ハイライトならkeyword-hash-table追加するだけでいけそうですね
なんかぐずぐずになってきたのでスローペースでお願いします
816名無し~3.EXE:2008/02/26(火) 21:15:46 ID:KeDcHQmk
anything-set-mark-actionですが、(eql 'file (cdr t-a))のところで引っかかっているみたいです。
817名無し~3.EXE:2008/02/27(水) 04:15:13 ID:8xbGnuDG
>>816
こちらで修正は終わってるのですがある程度まとまってから更新しようと思います。
fileといゆうありきたりなsymbolがだめっだったみたいですね
'user::file に変更してください
818名無し~3.EXE:2008/02/27(水) 08:57:55 ID:FcdmOdF6
anything-quitのanything-unsetup,anything-cleanupはhookに入っているのでいらないような気がします。
819名無し~3.EXE:2008/02/27(水) 10:41:34 ID:bXZY++dZ
ttp://fixdap.com/p/xyzzy/7954/
こっちでやりませんか
820名無し~3.EXE:2008/02/29(金) 03:31:21 ID:BIqtb8mX
>>786-787
ありがとうございます。おかげでうまく動きました
821名無し~3.EXE:2008/03/02(日) 09:37:17 ID:y2KQvaiZ
(defun my-goto-matched-parenthesis (&optional arg)
(interactive "P")
(cond ((syntax-open-p (following-char))
(goto-matched-parenthesis)
(forward-char))
((syntax-close-p (preceding-char))
(backward-char)
(goto-matched-parenthesis))
(t
(call-interactively 'quote-char))))
(global-set-key #\C-q 'my-goto-matched-parenthesis)
こんなの書いてみたんですが、html(+)-modeだと(following-char)がsyntax-open-pでなくても
(goto-matched-parenthesis)が有効みたいですね。なんでなんだろ?
822名無し~3.EXE:2008/03/02(日) 10:19:17 ID:jbMp+KlT
タグの開始と終了位置なんじゃないかな
823名無し~3.EXE:2008/03/02(日) 11:04:55 ID:y2KQvaiZ
>>822
なるほど、ありがとう。
タグと挙動を変えてこんな感じにしてみた。
(defun my-goto-matched-parenthesis (&optional arg)
(interactive "P")
(cond ((syntax-open-p (following-char))
(goto-matched-parenthesis)
(forward-char))
((syntax-close-p (preceding-char))
(backward-char)
(goto-matched-parenthesis))
((or (syntax-open-tag-p (following-char))
(syntax-close-tag-p (following-char)))
(goto-matched-parenthesis))
(t
(call-interactively 'quote-char))))
(global-set-key #\C-q 'my-goto-matched-parenthesis)
824名無し~3.EXE:2008/03/02(日) 12:17:16 ID:1I8swaFm
へんなこと聞きますが、ここの人たちってxyzzyをEXEから起動してますか?
batから起動してますか?
友人からこんなbatをもらったんですが、よく意味がわかりません・・・

@echo off
cd > xyzhome.dat
copy xyzzy.set+xyzhome.dat xyzstart.bat
call xyzstart.bat
set path=%PATH%;%XYZZYHOME%;%XYZZYHOME%\bin;%XYZZYHOME%\dll;
start xyzzycli.exe
del xyzstart.bat
del xyzhome.dat

xyzzy.batとxyzzy.setをxyzzyフォルダにいれてから起動するらしいのですが、
原理というか、なぜこのように記述したbatを使用するのかわかりません。

メリットって何ですか?
825名無し~3.EXE:2008/03/02(日) 12:39:36 ID:CflHpft8
exeからですよ。
何かそれMS-DOS時代の起動バッチみたいね。
.setと.datに何が書いてあんだろう
826名無し~3.EXE:2008/03/02(日) 14:04:53 ID:l+hhPafJ
>>824
xyzstart.batってファイルととかxyzhome.datってのが別にあるんじゃないの?
考えられるのは、USBで使う為とかにPCの環境変数の設定を一時的にしてるとか。
827名無し~3.EXE:2008/03/02(日) 14:22:33 ID:NmJkiwJc
ひえさんのっぽい。
828名無し~3.EXE:2008/03/02(日) 15:18:56 ID:NMVHr2yK
829名無し~3.EXE:2008/03/02(日) 17:05:42 ID:l+hhPafJ
お、Bingo
830名無し~3.EXE:2008/03/02(日) 23:15:15 ID:ycsq391m
cd コマンドでカレントディレクトリのパスを表示→リダイレクトで xyzhome.dat に書き込む
xyzzy.set と xyzhome.dat を結合して xyzstart.bat にcopy
  この段階でxyzzystart.batの中身は, set XYZZYHOME=カレントディレクトリ
callでxyzzystart.batを呼び出す=環境変数XYZZYHOMEを設定
環境変数PATHにXYZZYHOMEと以下のbin,dllを追加
xyzzycli.exeを起動
xyzstart.bat,xyzhome.dat を削除
831名無し~3.EXE:2008/03/03(月) 02:00:03 ID:pJyaNC2l
XYZZYHOME なんて設定しなくていいじゃん。

(defun load-dot-xyzzy ()
(unless (path-equal (si:system-root) "~")
(let ((rc (merge-pathnames ".xyzzy" (si:system-root))))
(when (file-exist-p rc)
(load rc)))))

(add-hook '*pre-startup-hook* 'load-dot-xyzzy t)
832名無し~3.EXE:2008/03/04(火) 10:18:08 ID:yziMgTDP
ちょっと思いついたんだけど、migemo辞書を開いておけばそこからdabbrevできますね。
参考:ttp://white.s151.xrea.com/wiki/index.php?memo%2Fxyzzy%2Fmigemo%B4%D8%CF%A2#hc5be8da

辞書から補完できたらと考えていたんだが、これだけでもそれなりに実用できそう。
833名無し~3.EXE:2008/03/05(水) 12:26:48 ID:ufxNoDPg
SKKとかでやってる人には便利なのかな
834名無し~3.EXE:2008/03/05(水) 14:25:32 ID:wBlOSTRC
確かにmigemo変換はSKK向きかも。
migemo辞書よりSKK辞書(unannotated)の方がいいかな。
(defun read-dictionary ()
(save-excursion
(dolist (file `(,(merge-pathnames "SKK/SKK-JISYO.L" (si:system-root))
,(merge-pathnames "SKK/SKK-JISYO.edict" (si:system-root))
))
(find-file file)
(rename-buffer (concat " " (file-namestring file)) (get-file-buffer file)))))
(add-hook '*post-startup-hook* 'read-dictionary)
こんな感じで読み込んでおけば英単語のスペルを思い出せない時なんかに使えそう。
ATOK悪くないんだけど毎年金を出すのもバカらしいし、xyzzyで使うならSKKも悪くないかな
などと思ってみたり。
835名無し~3.EXE:2008/03/05(水) 20:23:51 ID:Mh1Jxj4q
tc移植してくれる人いないかなあ。
836名無し~3.EXE:2008/03/05(水) 20:43:23 ID:szH8bEF0
>>835
これ使いこなせる人ならlispなんて簡単な希ガス
表覚えるよりも
837名無し~3.EXE:2008/03/06(木) 19:16:39 ID:0UXmRMHH
windows 2003 server R2(sp2)でxyzzyのoutline-mode使えている方、いますか?
VC++2005proでコンパイルしたり、試行錯誤しているんですがoutlineを起動すると
access violationで落ちます。
メモリ周りで変わったところがあるかと思い、DEPをシステムの重要なファイルのみに
変更したり、例外にxyzzyを加えたりしてもだめでした。
どうもttrayなどapiを呼び出すものはだめっぽい感じです。
(落ちるところは違うみたいですけど)

もしなにかヒントになりそうなことをご存知の方、いらっしゃったら
ぜひお願いします。
838名無し~3.EXE:2008/03/06(木) 21:18:59 ID:34jU+W8m
outline-treeじゃなくてoutline-mode?
839837:2008/03/06(木) 22:16:42 ID:0UXmRMHH
>>838
失礼しました。outline-treeですね。
win2003svrは、loadlibraryで動的にdllをロードすると、access violationを
返すことがあるというバグがあったそうですが、sp2適用で解決しているらしいし・・・

その後少し調べてみたら、やはりttrayとoutline-treeは落ち方が違うようです。
(例外が出ているdllが違うみたい)
デバッガをVC++付属のものから、ollydbgに変えたら落ちる前の呼び出し履歴が
もう少し細かくわかりました。
やはり最後の呼び出しはtreeview.dllで行われているようですね。そしてcomctl32.dllで
例外が出ているみたいです。
ちょっとtreeviewをコンパイルしなおしたりして、試してみようかと思います。
840837:2008/03/07(金) 18:12:49 ID:6aWy0SK5
無事、解決しました。あれからいろいろ試してみると、どうも
callback関数を使うとaccess violationになるということがわかりました。
またxyzzyのガベコレが初期化時にaccess violationを頻発していたので、
もしや・・・ともう一度DEPの設定を見たら、全部保護に戻っていました。

改めて設定を直して、すぐに再起動して試したら、無事に起動できました。
なんという無駄な労力。OTL
スレ汚し、申し訳ないです。
841名無し~3.EXE:2008/03/07(金) 20:11:12 ID:8Nf04Pni
>>840
乙。
ちなみにVista x64 SP1ではDEPから除外しなくても問題なしになりました。
842名無し~3.EXE:2008/03/08(土) 15:05:16 ID:Pp9aK9Fn
Home キーでバッファを切り替えるときの順番を
見た目の並び順にできませんか
843名無し~3.EXE:2008/03/08(土) 15:11:35 ID:OFKAIwLi
共通設定>いろいろ>バッファリストを作成順に を外す、だったかな
844名無し~3.EXE:2008/03/08(土) 15:12:38 ID:oe8tbuLk
好きなほうでどうぞ

1
;;-----------------------------------------------------------
;;.. 移動順をタブの表示順にする
(setq *next-buffer-in-tab-order* t)

2
;;-----------------------------------------------------------
;;.. タブの表示順で移動
(defun next-buffer-in-tab-order ()
"*next-buffer-in-tab-order*の値に関係なく,常にタブ右のバッファに戻る"
(interactive)
(let ((*next-buffer-in-tab-order* t))
(next-buffer)))

(defun previous-buffer-in-tab-order ()
"*next-buffer-in-tab-order*の値に関係なく,常にタブ左のバッファに戻る"
(interactive)
(let ((*next-buffer-in-tab-order* t))
(previous-buffer)))
(global-set-key #\HOME 'next-buffer-in-tab-order)
845名無し~3.EXE:2008/03/08(土) 19:11:25 ID:RI1grbBH
ありがとうございます。設定する変数があるですね。
846名無し~3.EXE:2008/03/09(日) 06:35:44 ID:nYENEOK8
ttray でタスクトレイに好きなアイコンを
表示できませんか?
847名無し~3.EXE:2008/03/09(日) 06:56:22 ID:PruneP7P
xyzzy以下のファイルが開くなくなった。
XP sp2
なんで
848名無し~3.EXE:2008/03/09(日) 07:01:26 ID:PruneP7P
あっ再起動したら直りました。すんまそん
849名無し~3.EXE:2008/03/09(日) 17:54:23 ID:y7rnUqYp
ttp://la.ma.la/blog/diary_200603121544.htm
css-mode内で上のようにカラーコードの部分に背景色をつけるスクリプトってありますか?
850名無し~3.EXE:2008/03/09(日) 19:35:01 ID:nYENEOK8
>>849
むり
851名無し~3.EXE:2008/03/10(月) 02:26:59 ID:wHnda09j
別に無理なこと無いでしょ
852名無し~3.EXE:2008/03/10(月) 02:48:52 ID:QMk3gH5/
そんなに何種類もの色を同時に表示できたっけ?
853名無し~3.EXE:2008/03/10(月) 03:01:55 ID:4OTwhXYZ
共通設定→フォント で設定されてる色しか使えないし、
そもそもRGB値での指定ができなかったはず。
854849:2008/03/10(月) 06:35:43 ID:6ESq0sxK
>>850-853
すみません、ありがとうございます
いろいろ調べてみたのですが、どうもそうみたいですね。
テキストではないですが、背景色ならset-buffer-colorsでRGB値を指定できるみたいなので、今はちょっと妥協してカーソル直後の文字列が"[0-9A-Fa-f]{3}|[0-9A-Fa-f]{6}"にマッチしているときだけ、背景色を変えるというのを作っていたのですが、どうもお手上げな感じです。
もし余力のある方おられましたら、ヒントだけでもいただけませんでしょうか。
855名無し~3.EXE:2008/03/10(月) 07:44:55 ID:EEI1q53J
wordなどでダブルクリックしたときに選択される文字は辞書を使って分かち書きをしている
んでしょうか?

forword-wordなどで日本語の文字の区切りも正しく認識できたらと思うんですが、辞書を
使うしか無いんですかね?
856名無し~3.EXE:2008/03/10(月) 10:32:27 ID:IMitOZxb
>>854
やってみた。
css-mode で #rgb または #rrggbb の上にカーソルがあるときだけ背景色変わる。

元に戻すうまい方法がわからなかったので、とりあえずグローバル変数に保持。
xyzzy.ini 読まないと取得できないのかな?

(defvar *default-backcolor* #xffffff)
(defvar *default-textcolor* #x000000)

(defun change-bgcolor-to-current-rgb ()
  (let ((gcol (goal-column)))
    (save-excursion
      (let ((end (progn (skip-chars-forward "0-9A-Fa-f") (point)))
            (start (progn (skip-chars-backward "0-9A-Fa-f") (point)))
            s c)
        (if (and (setq s (buffer-substring start end))
                 (looking-back "#")
                 (setq c (case (length s)
                           (6 (parse-integer s :radix 16))
                           (3 (parse-integer (substitute-string s "." "\\0\\0") :radix 16))
                           (t nil))))
            (set-buffer-colors (vector *default-textcolor* c))
          (set-buffer-colors (vector *default-textcolor* *default-backcolor*)))
        ))
    (set-goal-column gcol)))

(add-hook '*css-mode-hook*
          (lambda ()
            (make-local-variable '*post-command-hook*)
            (add-hook '*post-command-hook* 'change-bgcolor-to-current-rgb)))
857849:2008/03/10(月) 12:18:57 ID:6ESq0sxK
>>856
ありがとうございます。助かりました。
すべて元の状態に戻すには(set-buffer-colors nil)が使えるみたいなのですが
テキスト色だけデフォルトのまま維持する方法は見つからなかったので
変数に保持するしかないのではないかと思います。
それとset-buffer-colorsとCSSの色指定の順がBGRとRGBで違っているので、並びかえる必要があるみたいです。
ほとんど同じですが、色指定の並びかえと
#の上にカーソルがあるときも色が変わるように変更したものを貼っておきます。

(defvar *default-textcolor* #x000000)

(defun change-bgcolor-to-current-rgb ()
  (let ((gcol (goal-column)))
    (save-excursion
 (let ((end (progn (skip-chars-forward "#") (skip-chars-forward "0-9A-Fa-f") (point)))
            (start (progn (skip-chars-backward "0-9A-Fa-f") (point)))
            s c)
        (if (and (setq s (buffer-substring start end))
                 (looking-back "#")
                 (setq c (case (length s)
  (6 (parse-integer (substitute-string s "\\(..\\)\\(..\\)\\(..\\)" "\\3\\2\\1") :radix 16))
  (3 (parse-integer (substitute-string s "\\(.\\)\\(.\\)\\(.\\)" "\\3\\3\\2\\2\\1\\1") :radix 16))
                           (t nil))))
            (set-buffer-colors (vector *default-textcolor* c))
          (set-buffer-colors nil))
        ))
    (set-goal-column gcol)))

(add-hook '*css-mode-hook*
          (lambda ()
            (make-local-variable '*post-command-hook*)
            (add-hook '*post-command-hook* 'change-bgcolor-to-current-rgb)))
858名無し~3.EXE:2008/03/10(月) 22:44:17 ID:maz4f5Xz
>>857
netinstaller にある color を使えばもっと楽にかけるよ。たぶん。
859856:2008/03/10(月) 22:51:37 ID:UZf8hFxS
>>857
どうも。
色はそういわれれば変だと思ったけどよく見てなかったw
元に戻すのは nil でよかったのね。

今思ったけど、テキスト色は (- #xffffff c) でもいいかもしれないなあ。
860名無し~3.EXE:2008/03/10(月) 23:41:55 ID:sjHDta7k
>>848
( ゚A゚)y-・~~ 腹立つわーこいつー…

http://love6.2ch.net/test/read.cgi/kao/1179929773/
861名無し~3.EXE:2008/03/12(水) 23:57:34 ID:lw9tirSG
どなたか >>846 をお願いします。

862名無し~3.EXE:2008/03/13(木) 00:16:21 ID:MTol1p6E
>>861
とりあえずソースの\xyzzy\src\resディレクトリのicoファイルを置き換えればできるんじゃないかな。

このあたり
ttp://xyzzy.s53.xrea.com/wiki/index.php?cmd=read&page=tips%2Ficon%A4%F2%BD%F1%A4%AD%B4%B9%A4%A8%A4%EB
ttp://d.hatena.ne.jp/pipehead/20080309/1205067649
を参考にすればlispでもできるのかもしれない。
863名無し~3.EXE:2008/03/13(木) 01:23:58 ID:w/XVJdoI
ttray と言えば、
1. 比較的長い文の行末にカーソルを移動。
2. マウスを使って、xyzzy を最小化。
3. xyzzy を元の大きさに戻す。
とすると、
右にスクロールされた状態になってしまう。
864名無し~3.EXE:2008/03/13(木) 17:25:17 ID:zySWxZmJ
質問です。
D&DでショートカットをXyzzyで開くにはどうしたらよいでしょうか。
EmEditorやSakuraではショートカット元を開いて編集できるのですが、
Xyzzyではショートカット自体を開いてしまいます。
865846:2008/03/13(木) 17:33:47 ID:htm70gns
>>862
後者で何とかなりそうです。どうも。

>>864
862のリンク先に、そのとおりのものがありました。
ttp://d.hatena.ne.jp/pipehead/20071027
866名無し~3.EXE:2008/03/13(木) 17:40:44 ID:htm70gns
>>865
そのとおりのものと思ったら、 urlファイル 用でした。こちらで。
http://xyzzy.s53.xrea.com/wiki/index.php?tips%2F.lnk%A4%F2%C5%B8%B3%AB%A4%B9%A4%EB
867名無し~3.EXE:2008/03/13(木) 18:03:07 ID:SAQ9B2KX
>>866
ありがとうございます。
そのWikiの通り siteinit.l に記述したらショートカットから編集できるようになりました。
868名無し~3.EXE:2008/03/18(火) 06:14:03 ID:f6PksSpl
modeを書くときのインデントの計算って、定石みたいなのはあるんでしょうか?
思いつくままに力技で書いてるんですけど、なんか不細工です><
869名無し~3.EXE:2008/03/18(火) 06:43:22 ID:KZ4Mt2oQ
calc-lisp-indentかな
870868:2008/03/18(火) 08:48:04 ID:f6PksSpl
公開されているモードのcalc-〜-indentも読んではいたんですが、
理解できるのは私と同じような力技っぽいものが限界でした。
綺麗かなと思うものだと、プログラムの動きは追えても、
なぜそう書いたかという意図が理解できなかったりしました。
もちろんcalc-lisp-indentは後者ですが……

そこで質問に戻るのですが、
calc-lisp-indentなどのインデント量計算関数も
実は綺麗に書かれた力技であって、
私には理解できなかっただけなのか、
それとも、ソースからは意図が見えにくくても、
構文解析などのように、定番のアルゴリズムから
対象の言語に合わせて導かれた、
必然的な記述だったりするのか、
どちらなんでしょうか?

情報が小出しですみません><
871名無し~3.EXE:2008/03/18(火) 09:51:07 ID:r9Qi30Q6
calc-lisp-indent は別格なイメージがあるなあ
必然かどうかはわからないけど、lisp の構文の特性によるところは大きいと思うよ
872名無し~3.EXE:2008/03/18(火) 18:40:32 ID:uPCoFi8S
力技の定義にもよるかもしれないけど、calc-lisp-indent でも
やってることは大して変わらないと思うよ。
インデントしたい行より前に何が書いてあるか調べて
それに応じてインデント量を決めている。
873868:2008/03/19(水) 08:33:29 ID:MrJ1sw7H
やっぱり近道は無いみたいですね……
Emacsができて何十年も経つので、偉い人達が簡単なやり方を
思いついてたりするかなとちょっとだけ期待してたんですが、
自分でも綺麗に書けるように地道に頑張ります。
どうもありがとうございました。
874名無し~3.EXE:2008/03/19(水) 23:05:55 ID:pRYJgefB
>>873
ちなみになにもーど作ってるの?
875名無し~3.EXE:2008/03/22(土) 21:20:53 ID:RP8UtMVt
howmで30MB程度のテキストファイルの検索をしているのですが、一覧表示に20秒程度かかって
しまいます。

キーワード検索にはhyperestraierを使っているんですが、正規表現で日付も検索できるのだろうか?

それとunix-utilsのgrepを使ってもmeadowでcygwinのgrepを使った場合より速度が遅いです。
(grepの問題ではなくhowmのバージョンの違いによる問題か?)

インデックス作成の有無を問わずhowmの日付も検索できる(正規表現を使える)高速な検索方法
ってないでしょうか?
876名無し~3.EXE:2008/03/22(土) 23:13:07 ID:iI/gd5dq
>>874
身内でアプリへの組み込み用に作って使っているスクリプトのモードです。
Cから;を抜いていろいろつぎはぎにしたような言語なので、
始めはahk-modeをキーワードの変更などしながら使っていました。
ですが、手で修正しないといけないところがあったりして、
専用modeを書いた方が結局早いかなと思い、
いろんなところからコピペしながら作っていました。

一応動くところまでは来てるんですが、
「次からはLuaに移行するから、勉強しておいて」
とのことです。
λ......
877名無し~3.EXE:2008/03/23(日) 01:09:13 ID:3HEwJh7G
rtm-modeとtwiter-modeを作ろうかと思っているんですが
入門xyzzy以外では何を参考にすべきですか?
ちなみにJavaを少しかじっている程度で
何から始めるべきかもさっぱりです。
878名無し~3.EXE:2008/03/23(日) 01:12:15 ID:FqWcQEbU
実際にソース見るのが一番早いでしょ。
それと info-modoki-mode。
879名無し~3.EXE:2008/03/23(日) 01:26:08 ID:3HEwJh7G
>>878
参考にすべきソースはネットインストーラーあたりでしょうか?
880名無し~3.EXE:2008/03/23(日) 01:28:28 ID:b5E2W7kx
881名無し~3.EXE:2008/03/23(日) 02:40:38 ID:mkO3SReq
>>879
色付けとか以上のことをするなら
2ch-modeとか、後はhttpとかの通信用ライブラリを見るとか
882名無し~3.EXE:2008/03/23(日) 07:17:42 ID:2b4kVGbT
>>880
いや、それは知っているんですが正規表現の細かい仕様が書いていないので。
そのうちMLなどで作者さんに聞いてみようかな。

sqlite.dllやBoost Regex++などは全文検索には使えないんですかね?
883名無し~3.EXE:2008/03/23(日) 08:41:17 ID:onQOqG2L
>>877
ちょうど twitter-mode 作ってみたいと思ってたとこなんで、
よければ協力しましょうか
884名無し~3.EXE:2008/03/23(日) 11:31:12 ID:b5E2W7kx
>>882
確かに、仕様までは書いてないね。

README-ja.txt 見てみたら
> regexはHenry Spencer氏が開発しました。
> 詳しくは ftp://ftp.zoo.toronto.edu/pub/ をご覧ください。
て書いてあった。
多分これ↓のことだから POSIX の仕様でいいと思う。
ttp://arglist.com/regex/
885名無し~3.EXE:2008/03/23(日) 11:56:09 ID:b5E2W7kx
と思ったけどできない…。
hyperestraier の正規表現検索って単語単位なのね。
勘違いしてた。すまん。
886名無し~3.EXE:2008/03/23(日) 12:40:21 ID:2b4kVGbT
>>884
なるほど。それは知らなかった。ありがとうございます。

もう少し正規表現に自由度が高ければ最高なんですけどね。
当面はキーワード検索で一覧表示させることで良しとしようと思います。

それとは別にhowmの最新版の方が速いのでhowm自体のコードを見直せばいくらかは改善
されるのかもしれません。
grepもcygwinの方が新しいけど、これも新しい方が速かったりするんですかね。
cygwinのを使うと文字コードの問題でいろいろありそうですけど。
887名無し~3.EXE:2008/03/23(日) 15:34:38 ID:TJ75XNAI
>>883
やっぱりこの先忙しくなりそうなので、断念します……。

すみません……。
888883:2008/03/23(日) 19:10:48 ID:NYib4T5/
あ、いえいえ
ひとりでまったりとやることにします
完成するのと飽きるのとどっちが早いかなって感じですが
889名無し~3.EXE:2008/03/23(日) 22:39:41 ID:NK46Yt5c
>876
Cから;を抜いたようなのならjavascript-modeをベースにすればいいんじゃない?
890名無し~3.EXE:2008/03/23(日) 23:33:35 ID:77Q/fgfz
>>876
lua-modeクルーーーーーーーー!
891名無し~3.EXE:2008/03/23(日) 23:45:31 ID:77Q/fgfz
>>877
まずは info-modoki-mode, paren とかを入れて開発環境を整える。
scratch バッファの使い方は分かるな?

次に http://www.geocities.jp/m_hiroi/xyzzy_lisp.html を読みながら
一個アプリを書いてみて xyzzy lisp に慣れる。
このページとリファレンスと他のアプリのソースを参考にすれば
見よう見まねでなにか作れるまでにはなると思う。

xyzzy lisp に慣れたら ANSI Common Lisp (http://www.amazon.co.jp/dp/4894714337) を
読むといい。

で、ある程度書けるようになったら On Lisp (http://www.amazon.co.jp/dp/4274066371)。
892名無し~3.EXE:2008/03/23(日) 23:54:10 ID:77Q/fgfz
>>877
rtm-modeもtwitter-modeも両方 window とか buffer をごりごり
操るような感じになりそうだね。
window の操作とか面倒なんだよねー。
#入門にはxxx言語のメジャーモードとかが向いてると思う。

まずは rtm api だけを実装したライブラリを作ってみるといいかも。
で、rtm-mode はそのライブラリを使って UI を提供すると。
893名無し~3.EXE:2008/03/24(月) 00:48:56 ID:f1+T65iF
>>891
これから忙しくなりそうなのにさっそくAmazonで買っちゃいました。
最初のページについてはさっき知ったので
今読んでます。

どうせなので俺はrtm-modeに集中してみることにします。
なんか俺の環境だと夜はtwitterが半端じゃなく重くて
twitとかのIMで取得できず、
サイト見に行くとスタイルシートが取得できてないのかページが崩壊したり、
tweetbar入れたらrefleshしても何も取れないとか、
アホみたいなことになってるので……。
mixiのスタイルシートも取得できたりできなかったりするから
回線自体が重いんでしょうね。
つーかこのスレすらbbs2chreaderでまともに表示できてない……。
近くで夜にnyでもやってる人がいるのかな。
894名無し~3.EXE:2008/03/25(火) 09:03:22 ID:0qC6a1MN
skk-wrapですがskk openlabには2007年7月最初のバージョンというのは無いようでDDSKK 13.0.90
では動作しないようです。
正常に動作するオリジナルも同梱していただけるとありがたいのですが。
895名無し~3.EXE:2008/03/25(火) 10:03:37 ID:lxs91QC1

置いといた。
http://snmsts.dreamhosters.com/archives/ddskk-20070701.tar.gz およびtar.gz.md5
整理がいろいろ済まなさそうなので同梱せずに終了しそうです。

インストール手順です。
http://snmsts.dreamhosters.com/archives/wink/skk-wrap.htm
すいません、そのまんまで使えないのでよろしく。

まともにパッケージングしてくれる人募集…
というか周辺の再配布パッケージとか作ってくれる人がいると嬉しいよね。
javascriptのchmとかnetinstallerから入ったら嬉しいなーとか思うけど、
全然そっちの動向に興味の無い私がやったら
バージョンアップに追従できそうにない。ので誰か。
896名無し~3.EXE:2008/03/25(火) 11:55:07 ID:0qC6a1MN
>>895
ありがとうございます。動作確認しました。

自分としてはhowmの最新版に追従できたらと考えているんですが、当分先になりそうです。
897名無し~3.EXE:2008/03/26(水) 00:01:12 ID:lV+0q+lM
twitter-mode キタ━━━━━━m9( ゚∀゚)━━━━━━!!
898名無し~3.EXE:2008/03/26(水) 00:05:14 ID:vulRcoKv
>>897

>>893 速えぇっぇとか思ったらtorihat産キタ━━
899883:2008/03/26(水) 00:45:52 ID:85X6hqM7
先越されたーーーーー

ってか、服部さんも作ってるっぽいなーと思ってた
900名無し~3.EXE:2008/03/26(水) 01:48:04 ID:iPpGZQaW
この分だとrtm-modeも誰かに先越されそう。
そもそもlispが書けるようになったとしてライブラリが作れそうにないし…
Javaも勉強中だけどJavaで作れるのかなあ
901名無し~3.EXE:2008/03/26(水) 15:34:41 ID:nJLDTUuW
summary.l:531: (send-direct_message *username *password* user msg)
typo?
902名無し~3.EXE:2008/03/26(水) 19:36:44 ID:X5AA+HKa
>>901
いやそれであってると思う

api.l:500:(defun send-direct_message (username password target message)
903名無し~3.EXE:2008/03/26(水) 19:37:39 ID:X5AA+HKa
ごめん勘違い
username の方か
904名無し~3.EXE:2008/03/27(木) 00:31:03 ID:Gksr4uvb
こうなったら写経モード作るぞ
905名無し~3.EXE:2008/03/27(木) 03:07:02 ID:hwVNDTrL
RTMのAPI普通に公開されてますね。
twitter-modeのapi.lみたいに
lispだけでいけるかな、意外と。
906名無し~3.EXE:2008/03/27(木) 19:12:03 ID:BvwN0fZ9
ディレクトリの比較はこれ(http://xyzzy.s53.xrea.com/wiki/index.php?cmd=read&page=tips%2F%A5%C7%A5%A3%A5%EC%A5%AF%A5%C8%A5%EA%A4%F2%C8%E6%B3%D3
を改造したものを使ってるんですが、これ(http://www.vector.co.jp/soft/win95/util/se272705.html)を使えばかなり高速化できそうです。
diff.exeでもディレクトリ単位の比較はできるようだけど、速度的にはどうなんですかね?
907名無し~3.EXE:2008/03/27(木) 20:34:27 ID:BvwN0fZ9
WinMergeというのもあるようです。
compare-fileで一つずつ比較するよりは速いのかもしれません。
まあチラシの裏ということで。
908名無し~3.EXE:2008/03/27(木) 22:37:13 ID:MUPwBXaE
xlisp-mode の netinstaller 対応希望
909名無し~3.EXE:2008/03/29(土) 02:06:05 ID:5jXfXbUI
>907
WinMergeは普通にかなりおすすめだと思うよ。
まとめて比較して部分的に差分を適用とかさくさくできて便利だよ。
910名無し~3.EXE:2008/03/29(土) 02:12:19 ID:gMs4Uz9i
>>909
便利そうなんですがやはりxyzzy上で実行したかったので、diff.exeを使ってwikiにあるlispを書き直して
みました。自分の使う機能に限定しているので機能ダウンしているところもありますが、速度はいくらか
速くなったと思います。
911名無し~3.EXE:2008/03/29(土) 02:26:59 ID:gMs4Uz9i
wikiにページを作成してみたので一応URLを貼っておきます。
ttp://xyzzy.s53.xrea.com/wiki/index.php?tips%2F%A5%C7%A5%A3%A5%EC%A5%AF%A5%C8%A5%EA%A4%F2%C8%E6%B3%D32
912名無し~3.EXE:2008/03/29(土) 13:30:35 ID:T/07NKCH
おつかれさん。
913名無し~3.EXE:2008/03/30(日) 00:34:46 ID:gS8p8v5A
>>911
いただきました。
いい感じです。
914名無し~3.EXE:2008/04/06(日) 07:53:12 ID:fY9AM+p1
本家emacsではバッファ切り替えはC-x bのみのようですが、
xyzzyで割り当てるとしたらどこがいいでしょう?

どこかの記事で
C-,
C-.
というのを見ましたが、
C-.
はlisp-modeの補完に使われてますよね……。
915名無し~3.EXE:2008/04/06(日) 10:58:54 ID:DSZocoR9
HomeとShift-Home
916名無し~3.EXE:2008/04/06(日) 12:21:31 ID:fY9AM+p1
それデフォルトじゃないですか……
917名無し~3.EXE:2008/04/06(日) 12:59:10 ID:z8MvUQC0
バレたかw
俺はC-PageUp と C-PageDownにしてます。
918名無し~3.EXE:2008/04/06(日) 13:25:01 ID:fY9AM+p1
うーん、やっぱり人それぞれだし、
emacskey.lには実装しなくていいかな……。
919名無し~3.EXE:2008/04/06(日) 16:46:54 ID:W25svIPg
>>917
お、win ぽいキーバインド?(Excel?)
そういうのどっかにまとめてさらしてる人いないかね、いちいち悩んじゃうので。
たとえばPageDown とか何にしよう、とか。C-v は貼り付けだし、C-f (vi風)は検索だしで。

C-n を dabbrev-expand とか、地味に vim 風にしてたり。
今のとこ xyzzy と心中するくらいのつもりではいるのだが…、決断力弱め。
920名無し~3.EXE:2008/04/06(日) 17:00:24 ID:7T12FMH/
>>919
これとか
ttp://www.uranus.dti.ne.jp/~shiro-/soft/xyzzy/keybind.html#windows
じゃなくて?

自分としてはC-sはisearchでC-aはbeginning-of-lineのままにしているくらいでWindows標準に
近いキーバインドにしてますね。
確かにキーバインドでいちいち悩むことは多いけど。

やはりWindows風にして使ってる人って少数派なのかな?
921名無し~3.EXE:2008/04/06(日) 17:21:24 ID:6lOO55FD
Windowsからxyzzyに入った人はWindows風ですかね?私もですが。
922名無し~3.EXE:2008/04/06(日) 17:33:34 ID:7T12FMH/
多分emacsから入った人はemacs風にするんでしょうね。

winkey.lの欠点はセレクションがあるときにC-cやC-xがコピーや切取りになってしまい、C-x ○○
とかのコマンドが実行できないことですかね。

*last-command*をみたり、セレクションを設定した直後にだけコピーするようにすればいいのかな。
意図した時だけコピー・切取りできればベストなんだけど。
923名無し~3.EXE:2008/04/06(日) 18:07:36 ID:7Nrvgh19
emacsから入ってもWinkey.lは使えると思うよ
基本的にリージョン使えばセレクション使わないし
924名無し~3.EXE:2008/04/06(日) 18:36:51 ID:6lOO55FD
私はwinkey2.lというのを作ってます(どっかのHPにあった)
925名無し~3.EXE:2008/04/06(日) 18:51:24 ID:7T12FMH/
winkey2.lは>>920のURLにありますよ。
適当にこんなものを書いてみました(作りかけ)が、もっといい方法はないですかね?
my-selection-forward-charでセレクションを設定した場合にだけC-cをコピーにして
それ以外はspecific-command-prefixにしています。
(defvar *win-like-selection-keymap*
(let ((keymap (make-sparse-keymap)))
(define-key keymap #\C-c 'copy-selection-to-clipboard)
(define-key keymap #\C-x 'kill-selection-to-clipboard)
keymap))

(defvar *default-selection-keymap-1*
(let ((keymap (make-sparse-keymap)))
(define-key keymap #\C-c 'specific-command-prefix)
(define-key keymap #\C-x 'ctl-x-prefix)
keymap))

(defun recover-selection-keymap ()
(unless (or (eq *last-command-char* #\C-c)
(eq *last-command-char* #\C-1))
(setq-default selection-keymap *default-selection-keymap-1*)
(delete-hook '*post-command-hook* 'recover-selection-keymap)
))

(defun my-selection-forward-char (&optional (arg 1))
(interactive "p")
(setq-default selection-keymap *win-like-selection-keymap*)
(add-hook '*post-command-hook* 'recover-selection-keymap)
(selection-forward-char arg))

(global-set-key #\C-1 'my-selection-forward-char)
926名無し~3.EXE:2008/04/06(日) 19:14:33 ID:cj8e0+y/
そういえば俺は全然リージョン使ってないな。。
927名無し~3.EXE:2008/04/06(日) 19:19:59 ID:bMF1aO8/
俺はセレクションをまったく使ってないな。
928名無し~3.EXE:2008/04/06(日) 19:21:53 ID:UxNS9t6X
 | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
 | ここでぼけて!!   |
 |_________|
    ∧∧ ||
    ( ゚д゚)||
    / づΦ
929名無し~3.EXE:2008/04/06(日) 19:49:42 ID:7T12FMH/
ごめん。お笑いのセンス無くて。

タイマーにしてみた。
(defvar *default-selection-keymap*
(let ((keymap (make-sparse-keymap)))
(define-key keymap #\C-c 'specific-command-prefix)
(define-key keymap #\C-x 'ctl-x-prefix)
keymap))

(defvar *win-like-selection-keymap*
(let ((keymap (make-sparse-keymap)))
(define-key keymap #\C-c 'copy-selection-to-clipboard)
(define-key keymap #\C-x 'kill-selection-to-clipboard)
keymap))

(defvar *recover-selection-keymap-time* 2)

(defun recover-selection-keymap ()
(setq-default selection-keymap *default-selection-keymap*)
(message "selection-keymap initialize"))

(defun set-selection-keymap ()
(when (pre-selection-p)
(setq-default selection-keymap *win-like-selection-keymap*)
(stop-timer 'recover-selection-keymap)
(start-timer *recover-selection-keymap-time* 'recover-selection-keymap t)))

(add-hook '*post-command-hook* 'set-selection-keymap)
930名無し~3.EXE:2008/04/06(日) 20:05:33 ID:pPHDR6o5
セレクションの有無でC-x , C-c の動作を変えるのは、コレをカスタマイズして使ってる。
http://www.klavis.info/pavail.l

C-aは、自分で作った全選択と行頭移動を兼ねるやつにしてる

;; Ctrl+A 行頭でなければ行頭に移動。行頭なら全選択。すでに全選択なら選択解除(元の行に戻る)
(defvar *last-line-number-of-my-swb* (point-min))
(defun my-selection-whole-buffer ()
(interactive)
(progn
(setq *last-line-number-of-my-swb* (current-line-number))
(selection-whole-buffer)))
(defun my-beginning-of-line ()
(interactive)
(if (equal (current-column) 0 )
(if (and (pre-selection-p)
(and (equal (selection-point) (point-min))
(equal (selection-mark) (point-max))))
(goto-line *last-line-number-of-my-swb*)
(my-selection-whole-buffer))
(beginning-of-line)))
(global-set-key #\C-A 'my-beginning-of-line)
; C-x hも代替する
(define-key ctl-x-map #\h 'my-selection-whole-buffer)
931名無し~3.EXE:2008/04/06(日) 20:20:59 ID:fY9AM+p1
http://hie.s64.xrea.com/xyzzy/note/major_mode.html

ここのlispのキーワード補完、ミニバッファでのパス補完みたいに
終わったら消えるように出来ないですか?
あともう一度ボタン押したらちゃんと補完キーワードのバッファがスクロール
するようにとか。
932919:2008/04/06(日) 20:23:43 ID:W25svIPg
>>920
サンクス。プログラマの人が使ってるような付加部分が気になってるとこなんだけどね。
例えば grep 何に割り当ててる、とか。サクラ風に C-g?論外だけど。
全選択はあんま使わないから C-x C-a とかにしてるね。てきとー。たまにつかう。
根っからWindows だと複数ストロークがやや億劫。

結局 winkey と Gates 以外に足せたのは
C-w close-selected-buffer(ややWindows風、C-F4は遠い)
C-n dabbrev-expan(Vim風)
C-Enter で compare-windows(サクラ風)
タブ移動は C-Tab。これ自分で足したんだっけ?忘れた。
他のエディタに合わせて俺キーバインドにならないようにしてるつもりだが、
結局俺キーバインドだな。
933名無し~3.EXE:2008/04/06(日) 20:36:40 ID:qsZH3cU5
M-x でコマンド実行。これ最強。
934929:2008/04/06(日) 20:38:12 ID:7T12FMH/
>>931
(setq *popup-completion-list-default* :always)としてポップアップ表示させるのではダメなの?
後はac-mode.lとかを使えばいいんじゃないかな?

一応説明しておくと929はwinkey.lなどでセレクションがあるとC-c,C-xがコピー・切取りになってC-c ,,
とかをしたいのにコピーになってしまったよということがあるから、一定時間経過後はspecific-command-prefix,
ctl-x-prefixに戻すというlispね。
935名無し~3.EXE:2008/04/06(日) 20:45:01 ID:fY9AM+p1
>>934
うーん、やっぱりバッファでまとめて見れるのは捨てがたいんですよ。
ミニバッファでの補完時はできているから、
こっちでもできるかな、やり方わかれば応用効くかな、と思いまして。
xyzzy自体のコード探せば見つかりますかね。
936名無し~3.EXE:2008/04/06(日) 21:10:10 ID:7T12FMH/
>>935
lispディレクトリにgrepかけて調べてみればそれほど難しくないと思うよ。

自分のところではキーワードファイル・tagsファイル・関数からも補完するようにしてるけど
(ただし、ポップアップ表示させないと動かないと思う)需要ありますかね?
937名無し~3.EXE:2008/04/06(日) 21:11:34 ID:fY9AM+p1
>>936
めちゃくちゃあります。欲しいです。お願いします。
938名無し~3.EXE:2008/04/06(日) 21:14:41 ID:fY9AM+p1
以前晒したemacskey.lについてですが、
2時間苦しんだあげくC-S-hにhelp-prefixあてられなかったので
(キー表現使用可能文字なんて知らなかった)
C-c C-hをhelp-prefixにしようと思うんですけど、
どっかで標準的に使われてます?

本当は3ストロークになるからこれだけは嫌だったんですけどね……。
939名無し~3.EXE:2008/04/06(日) 21:18:38 ID:n5sR/z+4
ac-mode じゃいかんの?
940名無し~3.EXE:2008/04/06(日) 21:34:59 ID:fY9AM+p1
>>939
一応試してみます。
941名無し~3.EXE:2008/04/06(日) 21:36:07 ID:fY9AM+p1
って、こっちではemacskey.l晒してないのか。
すみません。>>938はスルーしてください。
942名無し~3.EXE:2008/04/06(日) 21:36:49 ID:7T12FMH/
一応wikiにあげさせてもらいました。
ttp://xyzzy.s53.xrea.com/wiki/index.php?tips%2F%B2%E1%BE%EA%A4%CA%20lisp-complete-symbol

ac-mode の方が大分高機能ですね。(^_^;)
943名無し~3.EXE:2008/04/07(月) 18:10:40 ID:unFh6Ex6
久しぶりに新しい人が増えてるのかな
944名無し~3.EXE:2008/04/07(月) 19:13:37 ID:PlP4e7nr
いやもう4年くらい使ってるので全然新しくないですよ。
winkey.l(winkey2などでも同じ)を使っていてC-x,C-sをしたいのに切取りになってしまったよと悲しい思い
をしたことが結構あったので>>929をさらに修正してみました。
*recover-selection-keymap-time*の秒数経過後はC-c,C-cをコピー、C-x,C-xを切取りにしています。

;; セレクション設定後にC-c,C-xをコピー・切取りにして、一定時間経過後に元に戻す
(defvar *recover-selection-keymap-time* 2)
(defun recover-selection-keymap ()
(let ((keymap (copy-keymap (local-keymap))))
(define-key keymap '(#\C-c #\C-c) 'copy-selection-to-clipboard)
(define-key keymap '(#\C-x #\C-x) 'kill-selection-to-clipboard)
(setq-default selection-keymap keymap)
(message "selection-keymap initialize")))
(defun set-selection-keymap-1 ()
(when (pre-selection-p)
(let ((keymap (copy-keymap (local-keymap))))
(define-key keymap #\C-c 'copy-selection-to-clipboard)
(define-key keymap #\C-x 'kill-selection-to-clipboard)
(setq-default selection-keymap keymap)
(message "selection-keymap set")
(stop-timer 'recover-selection-keymap)
(start-timer *recover-selection-keymap-time* 'recover-selection-keymap t))))
(defun set-selection-keymap ()
(if (pre-selection-p)
(progn
(stop-timer 'set-selection-keymap-1)
(start-timer .01 'set-selection-keymap-1 t))
(stop-timer 'recover-selection-keymap)))
(add-hook '*post-command-hook* 'set-selection-keymap)
945名無し~3.EXE:2008/04/08(火) 17:25:20 ID:vnrvtpkq
NetInstaller を使って php-mode (0.0.1.6)を入れたのですが
phpのファイルを開いてもキーワードに色が付きません。
>>623を参考に xyzzy.wxp を削除したのですが状況変わらず…。
原因をご存知の方おられましたら教えてください。
946名無し~3.EXE:2008/04/08(火) 18:27:09 ID:ccoWBDE0
初期化ファイルの設定いるんじゃなかったっけ?
ttp://hie.s64.xrea.com/xyzzy/note/php-mode.html#init
947名無し~3.EXE:2008/04/08(火) 20:33:07 ID:vnrvtpkq
>>946
ありがとうございます
初期化ファイルに設定を入れたところ色が付くようになりました
NetInstaller で入れた場合は設定不要だと思っていました・・
948名無し~3.EXE:2008/04/10(木) 22:49:14 ID:v71N3tGA
darkroomみたいなマイナーモード(メジャーモードでもいい)ありませんか?
949名無し~3.EXE:2008/04/11(金) 00:14:02 ID:RAfbq1Ca
こんなかんじ?

(set-buffer-colors #(#x00ff00 0))
950名無し~3.EXE:2008/04/13(日) 17:21:27 ID:inSJf2iy
silogさんのところを参考にmsgboxをスキップできるようにしてみました。
(in-package "editor")
(defvar *my-msgbox-skip-symlist* nil)
(defun reset-my-msgbox-skip ()
(dolist (skip *my-msgbox-skip-symlist*)
(setf (symbol-value (intern skip)) nil))
(delete-hook '*post-command-hook* 'reset-my-msgbox-skip))
(defun my-msgbox (&rest args)
(protect-match-data
(flet ((get-value (arg default)
(let ((mem (member arg args)))
(if mem
(prog1 (second mem)
(setq args (append (ldiff args mem) (nthcdr 2 mem))))
default))))
(let ((x (get-value :x 0))
(y (get-value :y 0))
(w (get-value :width 200))
(h (get-value :height 100))
(fmt (get-value :fmt "~{~A~%~}"))
(sk (get-value :skip "skip1")))
(make-local-variable (intern sk))
(unless (symbol-value (intern sk))
(pushnew sk *my-msgbox-skip-symlist* :test 'string=)
(add-hook '*post-command-hook* 'reset-my-msgbox-skip)
951続き:2008/04/13(日) 17:22:01 ID:inSJf2iy
(multiple-value-bind (result data)
(dialog-box
`(dialog ,x ,y ,w ,h
(:caption
,(concat "msgbox : " sk))
(:font 10 "MS Gothic")
(:control
(:button IDOK "OK" #x50010001
,10 ,(- h 14 1) 25 14)
(:button skip "Skip(&S)" #x50030000
,(- w 45) ,(- h 14 1) 35 14)
(:edit view nil #x50b110c4
1 1 ,(- w 2) ,(- h 16 2))
))
(list (cons 'view
(substitute-string (apply #'format nil fmt (list args)) "\n" "\r\n")))
nil)
(when (eq result 'skip)
(setf (symbol-value (intern sk)) t))
:ok))))))
(export 'my-msgbox)
(in-package "user")
952名無し~3.EXE:2008/04/13(日) 17:29:40 ID:inSJf2iy
使い方はこんなで
(let ((foo "foo")
(bar "bar")
(hoge "hoge")
(huga "huga"))
(dotimes (x 5)
(my-msgbox foo bar))
(dotimes (x 5)
(my-msgbox hoge huga :width 300 :height 200 :x 200 :y 200 :fmt "~{~A~%~}" :skip "skip2")))
:skipは重複しない文字列を入れて下さい。
953名無し~3.EXE:2008/04/14(月) 11:37:20 ID:/2o1tgx3
>>129のメニューが使えなくなる現象が結構頻繁に出るんですが、皆さんはそういうことは無いでしょうか?
メニューだけでなくマウスも効かなくなってしまうのですが(xyzzyを再起動すると直る)。
954名無し~3.EXE:2008/04/14(月) 12:16:16 ID:cZYI4pRu
>>953
俺は一度もないな
メニュー自体ほとんど使わないから参考になるかわからんけど
955名無し~3.EXE:2008/04/14(月) 12:49:13 ID:8FFVNm1s
>>953
俺もメニュー色々追加してたらそんな感じになったよ。
俺の場合はメニューそのものがでなくなったりもしたけど。

原因は他のメニューと競合してたのが多かった気がする。
とりあえず*init-app-menus-hook*をnilにして起動して、
少しずつhookしてあった奴を戻して原因を探ってみては?
956名無し~3.EXE:2008/04/14(月) 13:29:17 ID:/2o1tgx3
>>954-955
どうもです。

特定の操作を行った場合に発生するのなら振り分けは簡単だけど、どのタイミングでなるかがわからないから
やっかいなんですよね。

適当にlispを書いて再ダンプした直後になったり、色々と弄っているときになることが多いような気がする。
メニューが出ないのはhistory関係などでこの問題とはちがっている気がします。

他のメニューと競合ということで原因がはっきりしたんですか?

(length *init-app-menus-hook*)
としたら35と出たので追加しすぎなのかな...
957名無し~3.EXE:2008/04/14(月) 14:32:17 ID:8FFVNm1s
>>956
俺の場合ははっきりした。

マウスが利かなかったときはどこかのループ処理がおかしかったり。
君と同じ原因とは限らないけどね。

958名無し~3.EXE:2008/04/14(月) 14:47:46 ID:/2o1tgx3
>>957
キーバインドは普通に使えたのでループ処理では無いと思います。

メニューが使えないだけでなく、マウスホイールによるスクロールができず、右クリックでメニューが表示されず、
バッファバーからバッファの選択もできない状態になったということです。

キーボードからnext-bufferなどは普通に使えるし、キーボードだけで動かすことはできるのですが、やはり不便
なのでC-x,C-cで終了して再起動するとマウスも使えるようになりました。

どの拡張が問題と特定できているなら公表してもらえませんか?
959名無し~3.EXE:2008/04/14(月) 15:39:27 ID:/2o1tgx3
今再現しました。

今回はマウスによる文字列の選択、マウスホイールによるスクロール、バッファバークリックによるバッファの選択、
ツールバークリックによる関数の実行はできています(これらができないときもありました)。

画面上部のメニューをクリックしてもメニューが展開されず、右クリックメニューが表示されず、M-x apps-popupも
無効という状態です。

それと、Alt+Tabでアプリケーションの切替えは出来るのですが、タスクバークリックによる切替えをしようとすると
タスクバーが点滅してしまい数回クリックしないと切替えができなくなっています。
セキュリティーセンターのアイコンをクリックしてメニューを表示させてもタスクバーをクリックするとメニューが閉じる
はずですが、セキュリティーセンターを開くなどを実行しないとメニューが閉じない状態です。

常駐させているアプリケーションをすべて終了させても状況は変わらず、プロセスも無効にできるものは無効にして
みようと思っているところです。

タスクの切り替えなどにも影響が出ているので、マウスが押しっぱなしになっているような状態なのかもしれません。
960名無し~3.EXE:2008/04/14(月) 19:23:28 ID:fBZnXQEN
メニューが変になった事はないな。
ミニバッファでの入力を途中で辞めてマウスに移すとおかしくなるとか
read-charでキーボード使うと、キー押すまでマウスが聞かなくなるとか
そういう”仕様”っぽい動作なら在るけど
961名無し~3.EXE:2008/04/14(月) 23:18:42 ID:ttTdxhwJ
>>959
siteinit.l(c) にメニューをいじるコードを書いているのなら、それらのコードを
.xyzzy に移して再ダンプして実行してみたら問題が起こりにくくなるかも。
962名無し~3.EXE:2008/04/15(火) 01:02:55 ID:E7GIYlLs
>>961
ありがとうございます。

SetForegroundWindowがループ実行されているような状態だったと思うのですが(キーバインドは生きているので
lispでのループではない)、ダンプファイルに含まれると問題が起きやすくなるということでしょうか?

結構頻繁に問題が発生したので*app-menu*に項目を追加しているコード(サブメニューも含めると200項目程度)を
ごっそり別メニューに置き換えてツールバーから表示するようにしてみました。
これでしばらく様子を見ようと思います。
963名無し~3.EXE:2008/04/16(水) 00:04:58 ID:/tfz188/
メニューが効かなくなるのはわりと有名ではないでしょうか。
サクッと修正して報告したいのに、スキル不足でできないのが哀しいところ。
964名無し~3.EXE:2008/04/16(水) 00:26:36 ID:eJ5KP2ZZ
>>963
とりあえず>>962のようにしたら今のところ問題は発生していません。

多分Cのレベルで*app-menu*の項目が多いとメニューを展開するところでループになっているような感じなのかな
と想像したりしています。

メニューを使うなら*app-menu*にはあまり追加せずに、別メニューにしてキーバインドやツールバーなどから呼び
出すのがいいのかもしれません。
965名無し~3.EXE:2008/04/18(金) 22:25:45 ID:ovl0sgTn
思いつくままxyzzy復活されてますね。
ttp://d.hatena.ne.jp/whimsical_xyzzy/

grep-mode.lなども復活されたようです。
ttp://nazoking.s31.xrea.com:8080/k/grep-mode.l

KaMail3面白そうなんだけどS/MIMEが扱いたいのと何も考えなくても使えるのとで
秀丸メールをレジストしようかと思っているところです。
Mewも面白そうだけど移植が面倒すぎる...
966名無し~3.EXE:2008/04/19(土) 00:44:02 ID:U8Y5Mz4L
これは良いニュースですね
netinstallerへも復帰お願いします
967名無し~3.EXE:2008/04/19(土) 07:25:38 ID:h+VbN4Ih
>>966
netinstallerは多分こちら(ttp://up.xyzzy.jp/public/whimsical/)だと思います。
lpp.lというのが無くなっているみたいです。

このあたり
ttp://xyzzy.s53.xrea.com/wiki/index.php?patch%2F28
ttp://xyzzy.s53.xrea.com/wiki/index.php?patch%2F29
もできれば対応していただけると嬉しいです。
それとldoc2でtimerかsit-forかの影響でダブルクリックで文字列を選択できない場合があるようです。
手元では
(defvar *ldoc-no-wait-commands* '(mouse-left-press clickable-uri-mouse-left-press mouse-nop))
として
369行辺りに
(not (find *this-command* *ldoc-no-wait-commands*))
などとしています。
968名無し~3.EXE:2008/04/20(日) 14:39:34 ID:uvRYQORy
ウインドウ右下に時計と日付が表示されていますが、titile-bar-formatの
ようにカスタマイズ可能なのでしょうか?
時計と日付だけじゃもったいないので、曜日も入れたいとおもってるんですが。
969名無し~3.EXE:2008/04/20(日) 17:37:33 ID:Bmlqa6ew
twitter-modeでupdateすると
不正なデータ型です:nil:string
と表示されるの俺だけ?
970名無し~3.EXE:2008/04/20(日) 19:40:24 ID:V7TpxBqv
>>968
; ステータスバーの日付に、曜日を表示。
(setq *status-bar-format* "%T")
971969:2008/04/20(日) 19:55:19 ID:nt2CJygb
ちなみにスタック。一部マスク。
junk-libraryとxml-parser-modokiはnetinstallerで導入済み。

>CALL STACK 14: (system:make-string-chunk nil)
>CALL STACK 13: (system:*byte-code ...)
>CALL STACK 12: (junk::string-length nil)
>CALL STACK 11: (system:*byte-code ...)
>CALL STACK 10: (junk::junk-http-request-send "twitter.com" "/statuses/update.xml?status=teest&source=twitter-mode"
"POST" :port nil :headers (("Accept" . "*/*") ("Authorization" . "Basic xxxxxxxxxxxxxxxxxxxxxxxxxxx")
("X-Twitter-Client-Url" . "http://www7a.biglobe.ne.jp/~hat/xyzzy/twitter/twitter-mode.xml") ...) :post "status=teest&source=twitter-mode")
>CALL STACK 9: (system:*byte-code ...)
>CALL STACK 8: (junk::junk-http-get-url "http://twitter.com/statuses/update.xml?status=teest&source=twitter-mode"
:headers (("Accept" . "*/*") ("Authorization" . "Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
("X-Twitter-Client-Url" . "http://www7a.biglobe.ne.jp/~hat/xyzzy/twitter/twitter-mode.xml") ...) :post "status=teest&source=twitter-mode")
>CALL STACK 7: (system:*byte-code ...)
>CALL STACK 6: (twitter::http-download-file "http://twitter.com/statuses/update.xml?status=teest&source=twitter-mode"
"D:/Application/Xyzzy/.twitter/usarname/statuses/update.xml" nil :headers (("Authorization" . "Basic xxxxxxxxxxxxxxxxxxxxxxx")
("X-Twitter-Client-Url" . "http://www7a.biglobe.ne.jp/~hat/xyzzy/twitter/twitter-mode.xml") ("X-Twitter-Client-Version" . "0.0.0.2-alpha") ...) :post "status=teest&source=twitter-mode")
>CALL STACK 5: (system:*byte-code ...)
>CALL STACK 4: (twitter::statuses-update "username" "password" "teest")
>CALL STACK 3: (system:*byte-code ...)
>CALL STACK 2: (#<lexical-closure: twitter::summary-update>)
>CALL STACK 1: (command-execute twitter::summary-update)
不正なデータ型です: nil: string
972名無し~3.EXE:2008/04/20(日) 22:21:39 ID:0LByYZXB
junk-http-get-url から junk-http-request-send に渡される引数は
:post じゃなくて :data が正しいような
973969:2008/04/20(日) 22:47:55 ID:nt2CJygb
完全にまっさらな状態からインストールしなおしたらうまくいきました。
パッケージ一覧の更新が更新されたように見せかけて
更新できていなかったようで(twitter-modeがnetinstallerに追加されていなかった)
その辺も含めて治りました。
拡張の入れすぎとかsiteinit.lの肥大化が原因でしょうか?

失礼しました。
974名無し~3.EXE:2008/04/22(火) 00:29:31 ID:26Pr/1mr
ni::view壊れてるな
975968:2008/04/22(火) 19:07:41 ID:yZarF+1b
>>970
ありがとうございます。
ステータスバーのカスタマイズはかなり限られてるんですね・・・。
この場所はかなり活用しがいがあると思ったのですが、
やれることが少なくて残念です。
976名無し~3.EXE:2008/04/22(火) 20:05:30 ID:WOMjCuLX
>>975
つうかリファレンスにかいてあるじゃん。
t 時計
p カーソル位置
c カーソル位置の文字コード(内部コード)
u カーソル位置の文字コード(ユニコード)
T 時計(曜日入り)

使用例:
(setq *status-bar-format* "cupT")

自分としてはタイトルバーに天気予報を表示したり、Winampの曲名を表示したりしてるけどね。
977名無し~3.EXE:2008/04/23(水) 00:47:28 ID:JzEOTne4
twitter-modeでミニバッファでupdate後にバッファに戻ったときにIMEがONのままなのが
めんどうなんですが、ミニバッファとバッファで別々にIMEの状態を保持できませんか?
978名無し~3.EXE
>>977
共通設定→いろいろ