1 :
ミスターエックスワイジー :
2006/05/30(火) 21:04:46 ID:qOVX5tCZ
2 :
ミスターエックスワイジー :2006/05/30(火) 21:05:31 ID:qOVX5tCZ
3 :
ミスターエックスワイジー :2006/05/30(火) 21:06:22 ID:qOVX5tCZ
4 :
ミスターエックスワイジー :2006/05/30(火) 21:07:27 ID:qOVX5tCZ
「何もしてないのに2ch-modeで書き込めなくなったよ」という人用 2chのクッキーの仕様が変更されたようです 06年5月30日現在の対処法は C:/Program Files/xyzzy/site-lisp/.../form.l の "submit=~A&FROM=~A&mail=~A&MESSAGE=~A&time=~D&bbs=~A" という行を "submit=~A&FROM=~A&mail=~A&MESSAGE=~A&time=~D&bbs=~A&hana=mogera" と変更して M-x byte-compile-fileで再コンパイル で、xyzzy再起動すればOK ※Part13の912さんのレスを引用しました
ミスター乙!
6 :
名無し~3.EXE :2006/05/31(水) 01:15:40 ID:yQu4Ddh2
おつ
7 :
名無し~3.EXE :2006/05/31(水) 13:00:34 ID:00LbnRMz
Netinstallerのパッケージ、結構増えてるんだな
8 :
名無し~3.EXE :2006/05/31(水) 14:13:30 ID:lW51u+xV
今はALL Sites(195)かな?他にもある?
10 :
名無し~3.EXE :2006/05/31(水) 14:47:40 ID:lW51u+xV
ALL Sites (195) Megahurtz (4) Junk Scripts (23) 66MHz.com (13) 雑記帖 (32) kia's website (18) xyzzyのじかん (19) ふかふか (7) HIE no xyzzy (13) FortuneOverture (4) Masatoshi's xyzzy extend lisps (10) On Slant (1) Memory Palace (2) with xyzzy!!ってことで (2) chez sugi (1) 雄猫のがらくた置き場 (3) 人生捨ててます? (8) とらいきゃっち・ふぁいなりー (1) Yutaka Nomura's xyzzy page (3) へなちょこリファレンス (5) ななしの人の部屋 (3) いらんこと。 (1) らいおさむのお屋敷 (2) sazasaza (4) 気まぐれにxyzzy (11) silog (5) ---------------------------------- 何が抜けているんだろうか;
12 :
名無し~3.EXE :2006/05/31(水) 15:47:01 ID:lW51u+xV
202になりました。thx
xyzzy lispからmysqlとやりとりする方法ってありませんか?
14 :
名無し~3.EXE :2006/06/02(金) 02:54:59 ID:/pI6CpP0
>>11 そこにあるisearch-decoというのを入れたら
「不正なデータ型です: nil: keymap」
というダイアログが出るようになってしまったんですが、なぜでしょうか
(load-library "isearch-deco")を.xyzzyに書いただけなんですが
15 :
名無し~3.EXE :2006/06/03(土) 21:50:04 ID:vej9fh4Y
即死回避!
>>14 (load-library "isearch") も書いた?
17 :
名無し~3.EXE :2006/06/05(月) 21:52:40 ID:ibNNA88+
CやFortranで数値計算用のプログラムを作って、それをxyzzyから操作する時、 数値などを入力しEnterを押すと、そのたびに入力した文字が消えるので、これを消えない ようにしたいのですが、どうすればいいんですか?
どうやってxyzzyから操作しているのかをまず書かなければ 誰もわかりませんよ?
20 :
17 :2006/06/06(火) 04:10:18 ID:6kY7O4Dz
>>18 失礼しました
M-x shellでshell-modeにして、exeファイルを呼び出して実行しています。
例えばc=a+bの結果を返すプログラムで説明すると、この場合、"a"と"b"を入力するわけですが、
"a b"と入力してEnterを押すと、結果(答え)が同じ行に上書きさえれて出力され、入力した値が消えてしまいます。
これだと入力した値とその結果を比較したい場合に不便なので、入力した値はそのまま残し
結果を次の行に出力させたいわけです。
よろしくお願いします。
>>20 shell の拡張入れてる?
入れてなければ shell3 とか shell-ext 入れたらそうなるとおもう。
はずしてるかも知れなけど、 shell を使うなら入れておいて損はない拡張だと思うよ。
shell3 だとなってないような
23 :
17 :2006/06/06(火) 19:08:24 ID:6kY7O4Dz
>>21 >>22 shell3を入れてみましたけど同じでした。
C-nやC-pでshellの履歴をたどれるので、”shell3.l ”は読み込んでると思うんですけど、
何かの設定がマズイのかな?
>>23 設定の問題ではなくて、
exeファイルを呼び出して実行するとそうなるのが普通と思うよ。
shell.l の 77 行目 (delete-region start end)
をコメントしたコードを
(in-package "editor") ... (in-package "user")ではさんで
.xyzzy に書いてみたらうまくいくかも。副作用ありそうだけど。
25 :
21 :2006/06/06(火) 22:26:59 ID:G6HVjtdt
>>22-24 たしかに shell3 は、そうなってなかった。ごめん。
shell-ext では、消さないで 色を変えてくれるように
なっていたんで、それだけでも報告しとく。
26 :
17 :2006/06/06(火) 23:33:05 ID:6kY7O4Dz
>>24 >exeファイルを呼び出して実行するとそうなるのが普通と思うよ。
そうなんですか。
EmacsやMeadowで、上に書いたような使い方が出来てたので
xyzzyでもできると思ってました。
>shell.l の 77 行目 (delete-region start end)
>をコメントしたコードを
>(in-package "editor") ... (in-package "user")ではさんで
これはまだlispが理解できてないので勉強してやってみます。
(どういじればいいのかわからない ・゜・(ノД`)・゜ )
置き換えを実行した後、置き換えた文字列をハイライトさせる lispってありますか?
28 :
14 :2006/06/07(水) 01:51:55 ID:k7iaWe5O
>>16 自己解決しましたすいません
バックトレースを見たらlookup-key-commandというのが関係してるようなので
isearch-deco.lの870行目と874行目をコメントアウトすることで
>>14 のダイアログは出なくなりました
今の所これで全ての機能が使えてるようなのでとりあえず満足してます
>>26 shellをcmd.exe(command.com)以外のshellにする。
設定は変数 *eshell* で。
もしくは数値を入力するときにこっちのコマンドで
(in-package "editor")
(defun my-shell-send-input ()
(interactive)
(let ((*shell-echo* nil))
(declare (special *shell-echo*))
(shell-send-input)))
(define-key *shell-mode-map* #\M-j 'my-shell-send-input)
# ところで shell-alternate-send-input の定義間違ってない?
# *shell-echo* じゃ無くて *shell-ret* のような。
ここらでeshellをxyzzyに移植してくれる神降臨祈願
祈願
>>29 > # *shell-echo* じゃ無くて *shell-ret* のような。
それが正しそうだね
*shell-echo* に代入した "\r" とかって使われてないよなーとは思ってた
33 :
29 :2006/06/07(水) 23:44:05 ID:HRMq9rVA
>>32 賛同が得られて心強いです。
Wikiにpatchを投げておきました。
(defun test (&optional s e) (interactive "r") (if (mark) (message "aru") (message "nai"))) リージョンがないときには"nai"と出てほしいのですが、「マークが設定されていません」というエラーが出てしまいます。 &optionalの使い方が間違っているのでしょうか?
>>34 エラーが出る箇所は2箇所。
・(interactive "r")
・引数無しでの (mark)
修正してみました。
(defun test ()
(interactive)
(if (mark t)
(message "aru")
(message "nai")))
>35 どうもありがとうございます。 確かにそうすると"nai"と出てくれるのですが、引数にリージョンを渡しても渡さなくても、 それに応じて動く関数はどう書いたらいいのかな、ということを質問したかったです。 言葉が足りなかったようですいません。
>>36 こうかな
(defun test (s e)
(interactive (list (mark t) (point)))
(if s
(message "aru")
(message "nai")))
>> 36 35さんも書いてるけど、(mark)を(mark t)にすれば よいんでないの。 (defun test (&optional s e) (interactive "r") (if (mark t) (message "aru") (message "nai")))
久々に2ch-modeをバージョンアップしたら、 以前はスレッドや板を選択した後自分で"r"を押して 最新の差分を取得してたのが、選択すると自動的に 最新の状態に更新されるようになった。 元の挙動に戻すにはどこをいじれば良いのでしょう?
オンラインモード?
>>37 このinteractive式はじめて見るな。リスト渡せるのか。
リファレンスに解説あります?
>>42 interactive の項目の「arg-descriptors がストリングでない場合・・・」
ってところにちょっとだけ書いてある。
実例は ~/lisp/pframe.l で二箇所使われてるだけみたい。
>>42 リストを渡せるというより、interactive式を評価した結果はリストであり、
要素数は仮引数の数と同じ。そのようなものであれば、いかようにでも書ける、
んじゃないかなと理解してます。
46 :
名無し~3.EXE :2006/06/14(水) 19:36:52 ID:cAIpFikU
初めて2ch-modeを使ってみたんですが書き込みが反映されません。 書き込みは出来ないんでしょうか?
> C:/Program Files/xyzzy/site-lisp/.../form.l > の > "submit=~A&FROM=~A&mail=~A&MESSAGE=~A&time=~D&bbs=~A" > という行を > "submit=~A&FROM=~A&mail=~A&MESSAGE=~A&time=~D&bbs=~A&hana=mogera" > と変更して > M-x byte-compile-fileで再コンパイル > で、xyzzy再起動すればOK これかな
test
49 :
名無し~3.EXE :2006/06/18(日) 23:24:20 ID:wBvmpQiT
test
マジックリンでくりんくりん
KaTeXについての質問です。 site-lisp/katex/以下をバイトコンパイルした後、 ”:”や”;”でギリシャ文字などの補完をしようとすると 不正な関数です: elisp::KaTeX-math-japanese-sign という警告?が出ます。 どうもバイトコンパイルするとこうなるらしく、実際に site-lisp/katex/の*.lcを削除すると、この問題 は解決するんですけど、なんでこうなるんですか?
M-x calendar だと *Calendar* バッファが開いてカレンダーが表示されるのに、 *scratch*で (calendar) や (calendar 2006) を評価しても *Calendar*バッファが開きません。こういうものなのでしょうか? また、この差分の原因を捜してみようかと思ったのですが、 Emacsのedebugのように、S式をステップ実行で確認できるようなツールはありませんか?
>>52 > M-x calendar だと *Calendar* バッファが開いてカレンダーが表示されるのに、
> *scratch*で (calendar) や (calendar 2006) を評価しても
> *Calendar*バッファが開きません。こういうものなのでしょうか?
評価するというのが、LFD (eval-print-last-sexp)だったり、
C-x C-e (eval-last-sexp)だったりしたら、そういうもの。
これらのコマンドはカーソル位置を保存します。
回答ありがとうございます。
>>53 「カーソル位置を保存する」という意味を私が勘違いしているのかも知れませんが
save-excursionとはまた違うのでしょうか?
つまり、*Calendar* が見えないのが不思議なのです。
(progn
(calendar)
; (other-window)
(switch-to-buffer "*Calendar*"))
ここで(other-window)を実行するかしないかで、表示が変わるのが分かりません。
>>54 一応標準機能であるんですね。早速あとで試します。
すでにあるよ
interactiveに呼び出した関数にS式を渡すとき、 これにデフォルト値を設定する事はできますか? こんな感じで使いたいのです。 (defun foo (d w f) (interactive "DDirectory: \nxWild: \nFOutput file: " :default1 '("*.cpp" "*.h")) ; ←これがうまく動かない (with-open-file (out f :if-exists :overwrite) (format out "~{~A~%~}" (directory d :wild w))))
>>60 eval.cc の l.1925 を見ると x にデフォルト値は指定できなさそうな雰囲気。
x ではなく s ならできるのでこんな感じにするのかな?
(defun foo (d w f)
(interactive "DDirectory: \nsWild: \nFOutput file: "
:default1 "*.cpp;*.h")
(setq w (split-string w #\; t " "))
...)
>>60 (defun foo (d w f)
(interactive "DDirectory: \nsWild: \nFOutput file: "
:default1 "*.cpp;*.h") ; ←これがうまく動かない
(with-open-file (out f :if-exists :overwrite)
(format out "~{~A~%~}" (directory d :wild w))))
かぶった orz
64 :
60 :2006/06/25(日) 21:40:05 ID:Nb4QszS7
>>61 の方法でうまくいきました。
ありがとうございます。
(directory-namestring "D:/") "D:/" (directory-namestring "C:/") "C:/" (directory-namestring "D:") "D:/" (directory-namestring "C:") "C:/xyzzy/" ナゼ? "3"とか入れるとまた違ったりするし。
DOS時代はドライブ毎にカレントディレクトリが保存されてて、 c:\dos で d: と打って、c: と打ったら、c:\dos に戻ってきてた。 うまくいえんが、Windowsでもそういうことなんじゃないかな。
Windowsでもコマンドプロンプロを開いてc:とかdとかやれば ドライブごとのカレントディレクトリが保存されてる様子がわかるよ。
プロンプロの語感に嫉妬
プロンプロン♪
www-modeで、バッファバーをタブブラウザのタブのように 使っているのですが、他にもこう言う人は居ますか? かなり快適なんですが、表示文字が長いとかソースが含まれるとか 色々いじらないところは多そうですが、かなり使い勝手が良いです。 2ch-mode見たいに、専用のタブ(バー)を最終的に作られれば 良いなと思ってるのですが、後から無断で拡張するとか 出来るのか謎です。
>>70 > www-modeで、バッファバーをタブブラウザのタブのように
> 使っているのですが、他にもこう言う人は居ますか?
居ます。
> 2ch-mode見たいに、専用のタブ(バー)を最終的に作られれば
> 良いなと思ってるのですが、後から無断で拡張するとか
> 出来るのか謎です。
出来ます。ライセンスを確認してください。
>>071 そうですか、ちょっと頑張ってみます。
いま、バッファバーのサイズをちょっといじってたのですが
*buffer-ba-length*とかでどうにかなるだろうとタカ括っていたのに
上手くいかず、こりゃ真面目に勉強しないとダメだなと
思い直していたところです・・・
バッファバーに*www=srcバーを表示させないようにとも考えてますが
これは以前2ch-mode関係をバッファバーに表示しないスクリプト
が出てたので、それを参考に弄って見ようと思います。
本来のxyzzyの使い方とは掛けなれてるのでしょうが、
慣れるとブラウザとしても優秀な働きをしてくれそうで
xyzzyを知らずに居たことを後悔しています。
74 :
65 :2006/07/01(土) 02:00:32 ID:T6oOaT6+
>>66 ,67
Win95で使い始めたクチでしたから、そんな仕組みがあったとは
思いもしませんでした。お二人ともありがとうございました。
refer-for 2006-06-10版 ($Rev: 224 $) を使用しようとしたのですが、 M-x refer-for を実行すると、 ファイルがロードできません(</path/to/xyzzy>/reference/reference.xml) とエラーがでます。 正常動作するかたいらっしゃいましたら、環境を教えていただけないでしょうか。 【確認1】 </path/to/xyzzy>/reference/reference.xml には、 reference.xml 2006.06.29版 が存在しており、find-file で開くことはできます。 【確認2】 IEは6で、以下の設定をしています。 (setq refer-for::*msxml-prog-id* "Msxml2.DOMDocument.3.0") 【確認3】 (refer-for::create-document-object) を評価すると、とりあえず、 #<oledata xxxxxxxx> のような値は返ってきます。
>>73 何から何まですいません。
いま試してみた所、ビューの部分だけはずしてやると、
あたかもタブブラウザかの用なバッファになりました。
本当にありがとうございました。
>>75 reference.xmlの32648,34987,35637の各行の & を &amp; に書き換えてみてください。
>>77 ありがとうございます。
reference.xml の該当箇所を書き換えた後、先のエラーはでなくなりましたが、
新たに下記エラーがでました。
ファイルがロードできません(</path/to/xyzzy>/refer-for-search.xml)
これは、refer-for.l の *style-file-for-search* を defvar しているところで
(ed:etc-path) が使用されており、かつ、私が refer-for.l を siteinit.l で
ロードしているから発生しています。
siteinit.l を読み込んだ後に (ed:etc-path) (というよりは ed:*etc-path*) の
値が設定されるため、拡張Lisp では (ed:etc-path), *ed:*etc-path* の値を
使用するべきではありません。
# siteinit.l ロード前後の判断に使うというアクロバティックな方法としては
# 使用できますが。
ファイルがロードできません(</path/to/xyzzy>/refer-for.xml)
も同様にエラーとして出ましたので、最終的に、以下設定を siteiniti.l に
追加することで正常動作しました。
(setq refer-for::*style-file*
(merge-pathnames "etc/refer-for.xsl" (si:system-root)))
(setq refer-for::*style-file-for-search*
(merge-pathnames "etc/refer-for-search.xsl" (si:system-root)))
ありがとうございました。
>>78 > siteinit.l を読み込んだ後に (ed:etc-path) (というよりは ed:*etc-path*) の
> 値が設定されるため、拡張Lisp では (ed:etc-path), *ed:*etc-path* の値を
> 使用するべきではありません。
これは知りませんでした。
書き換えておきました。
どうもです。
>>79 ご対応ありがとうございました。
hook に引っ掛けて、実際の評価を遅らせれば (ed:etc-path) の値は
使えますが、直に defvar する場合なんかは使用できないんですよね。
引っかかりやすいトラップです (^^;
>>76 俺もみよみまでちょっといじってみたよ。
(concat *www-buffer-name-prefix* "VIEW: ")
の代わりに
(string-trim " *WWW " *www-buffer-name-prefix*)
ってしたら、少しだけ短くなった。
リファレンスの更新お疲れさまです。
>>81 それは、
>>73 のサイトのソースを
(setq *www-buffer-name-prefix* " *WWW ")
(setq *www-buffer-src-prefix*
(string-trim " *WWW " *www-buffer-name-prefix*))
〜中略〜
(setq *www-buffer-form-textarea*
(concat *www-buffer-name-prefix* "TEXTAREA*"))
こうするって事でしょうか?
buffer.lを少々見てみましたが、どうもバッファの長さ
を調節できるような記述が無く(最も、length とか longで
検索してみただけですが)新しくスクリプトを書き加えないと
2ch-modeのタブのように20文字規制をかけられない様です。
2ch-modeのソースをもう少し見てみて、どこか参考になるところを
探してみようと思います、もし他の方で成功された方がおられれば
ぜひご教授願いたいところです。
84 :
81 :2006/07/03(月) 21:36:50 ID:YM5Hum+7
>>83 > こうするって事でしょうか?
そうです。
短くなるのは" *WWW "の分だけですけど。
さらに、こうしちゃうとexitしてもバッファが残ってしまうという問題が……
すいません、だめだめでしたね。
そういえば、 バッファ名の最大長が 320文字? くらいで、 www-mode でそういったファイル開くとうまく開けなかったなぁ。と、言ってみるテスト。
C-[ に自作の関数を割り当てたいのですが、これはどうしたら出来るのでしょうか? C-[ には ESC が割り当てられているみたいなのでこれを解除したいのですが。。
www-mode時のバッファの長さだけど、 url表示させないだけで済ませられない? これなら、バッファにurlを送る所で 適当な文字列にするか、送らないだけで済むかと。 まぁ、どうやるかって聞かれても俺は知らないけど。
流れきっちゃってわるいけど、 write でこんなエラー出されても、手に負えない・・・ orz >CALL STACK 73: (write #S(my-structure 中略) :stream #<stream 54268640> :escape nil :readably nil) >CALL STACK 72: 中略 不正なデータ型です: 524298: stream
ttp://nazoking.s31.xrea.com:8080/k/grep-mode.l ここのgrep-mode.lを使わせてもらっているのですが、2ch-modeのgrep.lとフック変数?が同じようで、
2ch-modeを使ったあとにgrepすると名前が衝突してgrep-modeが起動しません。そこでgrep-mode.lを
mygrep-mode.lに変更して、ファイルの中身もgrepという文字列を→mygrepに置換しました。
siteinit.lの記述も
(in-package "editor")
(autoload 'mygrep-mode "mygrep-mode" t)
(add-hook '*grep-hook* 'mygrep-mode)
(add-hook '*grepd-hook* 'mygrep-mode)
(add-hook '*ggrep-hook* 'mygrep-mode)
(add-hook '*ggrepd-hook* 'mygrep-mode)
(in-package "user")
に直しました
そうすると衝突はしなくなりましたが、絞り込みダイアログ
が使えなくなりました。そこでダイアログの部分だけmygrepからgrepに戻しました。
そうすると無事に動くようになりました。
ただ、私はLispド素人なのでこれでいいのか不安です。
どうでしょうか?
>>86 こんな感じでできるかも。何か弊害があるかもしれない。
(setf (aref *kbd-translate-table* 27) #\F20)
(global-set-key #\F20 'forward-char)
>>89 まあちゃんと動いてるなら悪くはないような。
他の案としてはソースの in-package か export してるところをいじるとかも考えられる。
MLって今でも投稿あるの?月に何通くらいのペースでしょうか?亀井さんの 最後の投稿はいつでしょうか。
94 :
89 :2006/07/07(金) 11:24:10 ID:/70VPn+q
>>90 なるほど。
安心しました。ありがとうございました
95 :
名無し~3.EXE :2006/07/07(金) 21:47:01 ID:hn30Xe8N
おせえてください。 xyzzyをUSBメモリに詰めて持ち運んでいるのですが USBメモリのルートを取得したいと思ってます。 今は (defun removable-root () (append-trail-slash (car (split-string (si:system-root) "/")))) と書いて対処してるんですが、なんかいまいちな気がしています。 refarenceでpathname-deviceという関数をみつけたんですが ドライブネームだけ吐き出す(コロンをつけてくれない)ので使い勝手がよくありません。 良い方法はないでしょーか。
>>95 どれも妥当で、いまいちでないと思います。
なにか問題がありますか?
>>96 そうですか。ありがとうございます。
文字列をきったりはったりしているんで
もうちょっと良い方法があるはずなのではと
思ってました。
(merge-pathnames "/" (si:system-root))
ん?それだったらこうじゃない? (merge-pathnames "/" (pathname-device (si:system-root)))
ん?それだったらこうじゃない? (append-trail-slash (pathname-device (si:system-root)))
「Q:/」のようなのを取得したいのだから、
>>098-100 じゃなくてこうじゃない?
(concat (pathname-device (si:system-root)) ":/")
98に一票だな
「コロンをつけてくれない」って言ってるんだからこうだろ。 (format nil "~a:" (pathname-device (si:system-root)))
>>102 おお。
>>98 のトリッキーですね。
(merge-pathnames "/" (si:system-root)) で
C:/ や D:/ になるんですね。
>>103 でも、今書いて対処しているという
>>95 の removable-root は
「C:/」みたいなのを取得してるし。
欲しいものは本人しかわからないね。
と外野が不要に騒いでみる。
空気を読まずに (defun drive-name () (pathname-device (si:system-root))) (defun drive-name/ () (concat (drivename) ":/"))
>(merge-pathnames "/" (si:system-root)) トリッキーすぎて将来の互換性が心配。。。
つまらん質問にいろいろありがとー。 やりたかったのは簡単なランチャをつくりたかっただけれす。 USBめもりによくつかうアプリも詰め込んでるんで こんなかんじで (defconstant *removable-root* (merge-pathnames "/" (si:system-root))) (defvar *apps-dir* (merge-pathnames "bin" *removable-root*)) (defvar *launcher-pairlis* (mapcar #'(lambda (x) (cons (file-namestring x) x)) (directory *apps-dir* :recursive t :depth 2 :absolute t :wild "*.exe"))) (defun launcher (apps) (interactive (list (completing-read "launcher: " (mapcar #'car *launcher-pairlis*) :case-fold t :must-match t))) (shell-execute (cdr (assoc apps *launcher-pairlis* :test #'equalp)))) 貼りように書き直したんで動くかわかりませんが、 いろいろおせえてくれた方々へどんなことがしたかったのか説明れす。ほんと参考になりやした。
質問です! close-session-dialogと close-sessionの違いがわかりません 同じ動作に見えるのですが… どう違うのでしょうか?
>>108 ファイルの関連付けられてないバッファを保存するときにダイアログを出すか出さないか
111 :
名無し~3.EXE :2006/07/23(日) 17:59:22 ID:6ztjKO/H
保守
c:/hoge/以下の、拡張子がcsvのファイルをリストに入れたいのですが、どうしたら出来ますか?
>>112 こういうこと?
(directory "C:/hoge" :wild "*.csv" :recursive t :absolute t)
>113 そういうことです。どうもありがとうございます。 directoryはinfo-modokiにもちゃんと載っていますね。探したつもりだったんですがorz 助かりました。
115 :
名無し~3.EXE :2006/07/24(月) 21:56:56 ID:SbFihUVF
当てずっぽうだけど ・ウイルスのコード ・ノートン先生 だと思う
一応ノートン先生の入ってる俺のとこでは開けたけど OnloadとかJavaScriptらしきものが張られてるからそのせいっぽいね
118 :
名無し~3.EXE :2006/07/25(火) 13:15:19 ID:F6Rbbf40
---------------------------------------------------- 終了 ----------------------------------------------------
119 :
115 :2006/07/25(火) 20:18:18 ID:GF+vCty7
>>116-117 どうやらgzip転送を有効にしてるとエラーになるようです。無効にすると問題なく読み込めました。
UNZIP32.DLLのバージョンは5.42.0.2です。
もし時間がありましたら試してもらえるとありがたいです。
おしえてください。 あるフレーム(A)はバッファタブ非表示&画面4分割以上 (ウィンドウサイズはバラバラ)、フレーム(B)はバッファ タブ表示の状態で、フレーム(A)とフレーム(B)を切り替え 続けるとフレーム(A)のウィンドウ分割線(height)が自動的に 変化していきます。(↓こんな感じ) ┌─┬───┐ ┌─┬───┐ │ │ │ ├─┤ │ ├─┤ │ -----> │ │ │ │ ├───┤ │ │ │ │ │ │ │ ├───┤ └─┴───┘ └─┴───┘ 自分の環境だけかも知れないんですけど、何か回避策は ないでしょうか?
121 :
120 :2006/07/26(水) 23:33:13 ID:XKRdMbaS
連書きすみません。 バッファタブ表示/非表示切替は、こんな感じでやってます。 (defvar *hide-baffer-bar-frame-list* '("aaa" "bbb" "ccc")) (defun select-pseudo-frame-proc () (let ((frm (ed::pseudo-frame-name (selected-pseudo-frame)))) (if (find frm ed::*hide-baffer-bar-frame-list* :test 'string-equal) (hide-command-bar 'buffer-bar) (show-command-bar 'buffer-bar)) (refresh-screen))) (add-hook '*select-pseudo-frame-hook* 'select-pseudo-frame-proc)
クロスラインカーソルを表示する方法ってあります?
elisp移植キットの (file-name-nondirectory) の定義のところ、 (setq letter (substring dir 0 2)) てのは、 (setq letter (substring file 0 2)) じゃないかと思って直したんですけど、自分、変なことしてないですよね?
>>123 > クロスラインカーソルを表示する方法ってあります?
ありません。
>>124 > じゃないかと思って直したんですけど、自分、変なことしてないですよね?
変なことはしていませんが、作者さんに報告するなりしておかないと、
Emacslisp移植キット の次の版が出たときに再度哀しい目にあいます。
スレ違いで誘導されてきました。 lispの勉強にJavaのコンパイル、実行をする物を作ろうとしたんですが 出だしから躓いてしまっています。 下のスクリプトを動かすと*java-arg*が未定義だと怒られてしまいます。 " -encoding utf-8 "を concatの引数部分に直接書けばコンパイルは行えました。 何がいけないんでしょうか? それと実行したときに *cmd* バッファを分割されてできた新しいウィンドウに表示したいのですが どの関数を使えば良いんでしょうか…。 (defvar *java-prog* "javac") (defvar *java-arg* " -encoding utf-8 ") (defvar *script-directory* "c:\\java\\Hoge.java") (with-output-to-temp-buffer ("*cmd*" 5) (make-process (concat *java-prog* *java-arg* *script-directory*)))
>>127 make-process ?
call-process か execute-shell-command じゃねーの。
リファレンスとか調べた?
>>127 きちんと評価すると起こられないので、
(defvar *java-arg* ... の行を評価していないだけではないでしょうか?
どの文をどこに書いて実行していますか?
想像で書いてみました
(let ((prog "javac")
(arg " -encoding utf-8 ")
(path "c:\\java\\Hoge.java")
(cmdbuf "*cmd*"))
(execute-shell-command (concat prog arg path)
nil cmdbuf)
(switch-to-buffer-other-window cmdbuf))
&#160; って全角スペース?
最近みかけるな、これ。 2chビューア何使ってるんだろ
>>128 違いが良くわからなかったので適当に選びました
>>129 eval-defunで実行してました。
書きたかったコードは正にそれです
ありがとうございました。
>>129 129さんおしえて
2chビューア何?
134 :
129 :2006/08/04(金) 17:57:47 ID:rmkpSwLF
ビューアのせいではなくて、使用者のせいでした。 みづらくてすいません。 2ch-mode で閲覧中、 書き込もうとしてレス入力→「スペースを変換」 書込を実行すると、仕様変更のせいでエラーがでたので、 ブラウザでスレを開いて スペース変換済みのレスをコピペで送信してしまいました。
どなたか EDITOR=xyzzy で svk 使ってる人います? コミット時のログをセーブしようとしても「別のプロセスが使用中」 みたいに言われて保存できないorz svn では問題なかったんだが…仕方ないので EDITOR=notepad で運用中カナシス
21 follow follow her advice ...(以下略 22 consider consider the ...(以下略 23 increase increase by...(以下略 24 expect expect you to ...(以下略 最初の単語のみを一括で選択する方法ないでしょうか?
>>136 選択って?
何がやりたいのかよく分からないよ
>>136 短形選択(Ctrlを押しながらドラッグ)のことかな?
短形(たんけい)じゃなくて矩形(くけい)ですよ
最初の単語って言ってるんだから違うんじゃなかろうか ところでparentagのparen.lの中に書いてる「使い方」の説明が 「(turn-on-paren)を使ってね」になってるが(turn-on-global-paren)の間違いでは? 作者にこう送りたかったがサイトにメールアドレス載ってなかったので ここ見てるかもしれないからここに貼りました。
すみません、最初の単語の部分を選択してコピーしたかったんです。 矩形選択で実現できるのでしょうか? あまり使いこなせていないもので(^^;
follow consider increase expect を選択ですか?
そうです。もうひとつ追記 単語の次に英文が来ていますが 077 Pen This is a pen. の場合もあります。 ナンバーは4桁まで表記で 1〜 10〜 100〜 1000〜 のようになっています。
>>143 バッファの内容をコピーして、正規表現で置換するのが一番簡単だと思う。
正規表現による置換は、
検索 - 置換 で 席表現にチェックを入れて、
^[0-9]+[ \t]*\([^ \t]+\).*
から
\1
へ置換する。
これでどう?
ところで、そういうふうに構造化されているなら、 cvsとか使うのもいいんじゃない?
正規表現ですか、本を買ってみようかな。 cvsですか、参考にしてみます。 ありがとうございます。 先に正規表現を試して見ますね。
正規表現は試しましたが、一部単語が切れてしまいます。 一行につき、最初の半角スペースと二番目の半角スペースに挟まれたものを 選択するとうまくいくと思いますが知識不足です。 自分でももう少し調べてみようと思います。 ありがとうございました。 Lispも勉強して便利なモードをかけるようになりたいと思っています。(いつになるやら(^^;)) ありがとうございました。
>>145 csv?
cvs の出てくる文脈じゃないから多分そうかと思いますが。
すでに存在するファイルを作成することはできません と出てファイルを上書きできません。 Googleで一応調べてみましたが、情報がありません。 どなたか解決策や原因をご存知の方教えてください。
上書きといってもいろいろな操作方法があります。 どういう操作をするとどうなるか、順をおって説明を書いてください。
>>147 (defun copy-nth-field (n)
(interactive "nField: ")
(copy-to-clipboard (apply 'concat (save-excursion (goto-char (point-min))
(with-input-from-selected-buffer (let (words l)
(while (setq l (read-line *standard-input* nil))
(let* ((f (split-string l #\SPC)) (s (nth n f)))
(and s (push (concat s "\n") words))))
(reverse words)))))))
read-lineでPerlやAWKみたいに書いてみたけどいまいち。
>>147 > 一部単語が切れてしまいます。
もしかして t のところで切れてる?
そうだったら「エスケープシーケンスを理解しろ」にチェックを入れてみて。
勉強しはじめたばかりだけどLispって難しいな… 関数とか異常に数が多いし、とにかく良く分からん 気合で続けていればいつかわかるようになるんだろうか
関数が多いのは素人の私にはありがたい
>>155 リファレンス入れてやりたいことに似たことやってるlisp追ってけば
なんとなくはわかるようになるよ
>>155 はじめのうちはそんなもん。
知らない関数が多いと訳わからんかもしれないけど、
リファレンスを使いつつ勉強していけばなんとかなるよ。
>>155 作りたい機能があるなら、適当に書いていれば直にわかるようになるよ。
160 :
149 :2006/08/07(月) 22:11:53 ID:HzLZenwL
txtファイルを編集して上書き保存しようとすると "すでに存在するファイルを作成することはできません" のようなエラーになります。 >ID:jVbXiHsT様 入門xyzzyに該当のトラブルが載っているということでしょうか?
>>160 どのtxtファイルを開いてもそうなるの? それとも特定のファイルだけ?
特定ファイルです。
そのファイルだけ書込み禁止になっているとか。
モード行は --**--のようになっているので上書き禁止ではないと思うのですが。。
すいません。 -**-です。
それで結局「どういう操作をするとどうなるか」がまだわからないわけで
メニューから上書きしてるんじゃねーの?
>>149 メモ帳とか他のエディタでは上書きできるのかい?
たしかに。エラーメッセージが何なのかもわからんし。 msgdef.h:286: "すでに存在するバックアップファイルの削除ができません"), msgdef.h:350: "すでにサブプロセスが走っているため実行できません"), msgdef.h:380: "誰かがすでに同じファイルを編集しています。\n編集を継続しますか?"), msgdef.h:630: "ツールバーはすでに存在します"), filer.l:359: (cons 'text (concat "同じ名前のファイルがすでに存在します。" foreign.l:88: (error "~Aはすでに宣言されています" decl)) grepd.l:199:(if (yes-or-no-p "grepはすでに動作中です。死なす?") kbdmacro.l:39: (error "キーボードマクロはすでに実行中です")) pframe.l:75: (error "~Aはすでに存在します" name)) pframe.l:169: (error "~Aはすでに存在します" name)) process.l:185: (if (yes-or-no-p "すでにサブプロセスを実行中です。死なす?") session.l:148: (yes-or-no-p "~A~%はすでに存在します。上書きしますか?" どれよ?
"すでに存在するファイルを作成することはできません" このままのメッセージです。 ためしにviで編集してみましたが問題なく上書き保存できます。 操作はメニューから-ファイル-上書き保存です。
rename-file で NEW-NAME に存在するファイル名を渡すと 「既に存在するファイルを作成することはできません。」 って出るな。 Win32 エラー ERROR_ALREADY_EXISTS かも。
メニューからだと save-buffer-dialog が呼ばれて、 たぶんバッファは file visited だから save-buffer でエラーが出てるのかな。 バックアップを作ってるならそこで問題が起きてる可能性もありそう。 詳しくは fileio.cc の save-buffer の定義をちゃんと読まないとわからないかも。
ローカルのファイル? ネットワーク上のファイル?
ローカルファイルです。 共通設定の部分のバックアップファイル [バックアップファイルをつくる] [作らない] [番号が最後までいったら勝手に詰める][ファイルを保存したら常にバックアップファイルを作る] にチェック 以上に設定してみると上書きできました。 変更点は[番号つきバックアップファイルの作り方]の欄を[常に作る]から[作らない]にした点です。
(with-open-stream (fuga (open "c:/hoge/xyzzy/test.txt" :direction :io)) (read-char-no-hang fuga) ) ってすると「EOFに達しました」というエラーが出るんですが何が悪いんでしょうか。 :direction を :input にするとちゃんと読んでくれるんですが。
:append :overwrite ?
xyzzyとcygwinを使っているのですが、C-x &でmakeなどと実行すると、 EUCのエラーメッセージが文字化けしてしまいます。 サブプロセスの実行結果の文字コードを自動判定して表示させる方法はありますか。
>>176 ファイルを開くタイミングでの自動判定は、開くとき以外は呼び出せない気がする。
確認してないけど、出力するバッファを文字化けするプログラムのときだけ
EUC にしておくでとりあえず回避はできないの?
それでだめなら、ファイルに出力してそれを自動で開くプログラムを書く事になるん
じゃないかな。
もっといい方法があるかもしれないけど。
178 :
177 :2006/08/10(木) 15:11:22 ID:KiIOgrtH
ちなみに、バッファを euc にしてから出力する専用のコマンドは、これでできているかも。 (defun execute-subprocess-euc (cmd &optional (arg nil f) bufname environ directory) (interactive "e& \np" :history0 'execute) (let ((*command-output-mode-hook* *command-output-mode-hook*)) (push #'(lambda () (set-buffer-fileio-encoding *encoding-euc-jp*)) *command-output-mode-hook*) (if f (execute-subprocess cmd arg bufname environ directory) (execute-subprocess cmd))))
grepはダイアログからしか使わんからこう書いてるんだが (defun grep () (interactive) (grep-dialog)) 単純にalias貼ることってできる?
>>179 > 単純にalias貼ることってできる?
(setf (symbol-function 'grep) #'grep-dialog)
dくす
(if (\= 0 (point-max)) (message-box "何か書いてる") (message-box "何も書かれてない")) 結果が常に"何も書かれてない"になってしまいます "\="を"="に変えても同じなので比較の仕方が間違ってるのだと思いますが 正しい書き方がわかりません。どう書けば良いのでしょうか?
/= のこと?
どうやって実行してるの? ミニバッファから?
185 :
182 :2006/08/13(日) 02:35:00 ID:PIJ7QUTy
バックスラッシュとスラッシュ見間違えてました…。 実行はeval-bufferを使ってます。 ありがとうございました。
>>186 引数の所は型名のリストになる。
例えば
(HWND INT)
ポインタの場合は
((INT *))
lisp/wip/winapi.l が参考になると思う。
何か処理をして成功なら戻り値を t ,失敗なら nil にしたいのですが どう書けばいいんでしょうか? ↓こうじゃないかと考えて書いたダメコード (message (foo)) (defun foo () (let ((x "5")) (if (= "5" x) (return t) (return nil))))
>>187 ありがとうございます。
型名が構造体を表す場合はどうすればいいのでしょうか?
また、"#define hoge 1" 等置き換えされているものは"(c:define hoge 1)"
"typedef int hoge" とされているものは"(c:define-c-type c:int hoge)"
とすればいいのでしょうか?
続けてすいません。 foreign.l に(*define-c-type :uint8 u_char)という記述があったのですが、 これは"typedef unsigned char u_char;"されているということでいいのでしょうか。
構造体は define-c-struct で定義。第一引数が型名になる。 他はあってると思う。
>>189 ありがとうございます
(message (foo))ではなく (foo) でいいことに気づくまで30分ほどかかりました…。
xyzzy使ってて不便な点ってどこですか?
>>194 俺はデフォルトだと、マウス選択でのコピー&ペーストが面倒だと思う。
winkey.lを使えば解決するが。
>>194 自分のマシンじゃないと不便でしょうがなくなる
確かに他人のxyzzyほど使いづらいものはないね。
それは高カスタマイズ性の副作用…というよりは裏側だからな
このお方は一体どこへ行ってしまったの? 803 :名無し~3.EXE sage:2006/05/01(月) 06:19:25 ID:3B5tbPQv 本体に手を入れて追加したい機能ってありますか? GWの予定が変わって暇なんでできることであればやってみようかと。
>>192 ありがとうございます。oniguruma.h に
#define ONIGENC_MBC_ENC_LEN(enc,p) (enc)->mbc_enc_len(p)
というのがあるんですが、これはどうやってlispで表せばいいのでしょうか?
また、
typedef struct {
int (*mbc_enc_len)(const OnigUChar* p);
.....}
の、int の行はどうやってlispで表すのでしょうか?
お前ら、フォントは何使ってますか?
桃花丸ゴシックL
206 :
名無し~3.EXE :2006/08/19(土) 15:26:49 ID:a/KaIM7k
Osaka使ってたけど、「T」とかうまく表示できない文字があったからMSゴシックに戻した。
Osakaだったけど、最近MS *ゴシックEx+にした
>>201 あっ音沙汰なしですみません。
ぼちぼちやってます。
気長にお待ちください。。
#なんか多忙につき、全然手を付けてません。。^^;
google calendar api を使って、xyzzy から google calendar のイベントを追加、
編集、削除できたら面白いかなあと思って、
ttp://code.google.com/apis/gdata/calendar.html とか見て調べたのですが、
イベントを追加、編集、削除する方法が分かりませんでした。
分かる方、よろしかったら教えてくださいませ。
自分で調べて分かったのは、atom-modoki.l を使って、
(atomm::atomm-get-feed "Private Address" "username" "password")
で feed ができるということぐらいです。
循環リストに追加する関数書いてみたけど、車輪の再発明な悪寒…
バイトコンパイルすると動かなくなるのは何故でしょう?
(defun insert-to-circle (symbol item)
(let ((clist (eval symbol)))
(set symbol
(if (consp clist)
(setf (cdr ((lambda (f) (funcall f f clist))
(lambda (f a)
(cond ((eq (cdr a) clist) a)
((eq (cdr a) nil) a)
(t (funcall f f (cdr a)))))))
(cons item clist))
(progn
(setf clist (list item))
(setf (cdr clist) clist))))))
(setq a '#1=(1 2 3 . #1#))
(insert-to-circle 'a 4)
ちなみにこれの副産物
ttp://mksoft.hp.infoseek.co.jp/trash/auto-compile.l
>(setq a '#1=(1 2 3 . #1#)) こういう #1 みたいなのの使い方を解説してるサイトってない? gensym 代わりに使ってるのは見るんだがよくわからん。
2chのログファイルっぽいファイル名(/^[0-9]{8,10}\.dat$/)だったら ファイルを開いた時点で 2ch-modeのthread-open-local-datで開いたのと同じ動作をさせたいのですが そういう方法はありますか?
変数が定義されていません: clist (defun insert-to-circle (symbol item) (setf clist (eval symbol)) (set symbol (if (consp clist) (setf (cdr ((lambda (f) (funcall f f clist)) (lambda (f a) (cond ((eq (cdr a) clist) a) ((eq (cdr a) nil) a) (t (funcall f f (cdr a))))))) (cons item clist)) (progn (setf clist (list item)) (setf (cdr clist) clist))))) にしてみたらいけた
letはずしてグローバルにすりゃいけるのは当然かと。 一時変数なんでletの中に閉じ込めておきたいんだけど、無理かな。 バイトコンパイルしなければちゃんと動いてるし。
>>213 thx
>>210 (lambda (f) (funcall f f clist)) を (funcall (lambda (f) (funcall f f clist)) に代えたらいいみたいよ。
>216 ありがと。できた。
Ticagoのボールドを使いたいがTicago_fixはボールドじゃないから使えない。 orz
Lispのコメントは ";" が2個なら字下げされて 3個なら行頭に置かれると聞いたんですが 何故1個じゃなくて3個なのか。何か意味があるんでしょうか?
222 :
220 :2006/08/24(木) 08:34:35 ID:2kyulGnV
>CALL STACK 5: (set-window-configuration (window-configuration 0 ((nil nil nil ...)) ...)) >CALL STACK 4: (system:*byte-code ...) >CALL STACK 3: (select-pseudo-frame #S(editor::pseudo-frame name "Frame 1" winconf (window-configuration 0 ((nil nil nil ...)) ...) save-p t selected-fn nil deleted-fn nil)) >CALL STACK 2: (system:*byte-code ...) >CALL STACK 1: (#<lexical-closure: (anonymous)> #S(editor::pseudo-frame name "Frame 1" winconf (window-configuration 0 ((nil nil nil ...)) ...) save-p t selected-fn nil deleted-fn nil)) 不正なwindow-configurationです Netinstallerを起動後にqを押していって終了させるんだけど、こんなエラーが出るようになった。 解決方法や原因をご存知の方教えてください。orz
(add-hook '*post-command-hook* (lambda () (popup-string "fuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa \n\n\n\n\n\n\n\n\n\n\n" (point)))) ってしたとき、マウスカーソルの位置とポップアップの位置との距離が近いと ポップアップされないことが頻発するんだけど これってどうにかならない?
開いているファイルのタイトルバーを多段形式にしたり、グループにまとめたりする方法はありますか? できたら便利だと思っているんだけどなー。
タイトルバー?
>>226 バッファバーだよね。 とりあえず今のところないはず。
<チラシ宇野ら>
bufbar2 を改造してそんな風にできないかと挑戦したけど、途中で挫折した。
とりあえず元の バッファバー と共存できるようには修正したけど、一部の
バッファだけ表示されるように作るのと、どうやって分類するかで結局つま
づいたはず。
そういえば、これもやりかけだったんだなーと思い、久しぶりに見直したら
バッファバーの左クリック時に呼び出される *buffer-bar-hook* を見つけた。
元々、これにフックされている set-buffer でバッファの表示を変えていた。
これで、元のバッファバーと同期して bufbar2 の表示も更新できた。
229 :
226 :2006/08/29(火) 13:43:22 ID:xviqq7vg
すみません、バッファバーです。 未だにバッファの概念に慣れていません。orz >>ID:216vIauV 難しいようですね、情報ありがとうございます。
filer.l のコピー関数とかをパクった lisp 書いてるんだけど これ公開するときってライセンスは xyzzy と一緒のにしないといけないの?
MITライセンスは、立場的に中立なBSDライセンスのようだから、 ドキュメントに作者の名前書くだけで良さそう
>>232 ライセンスの話をしてるときに
良さそうとか曖昧なこと言うのやめない?
作者の名前(著作権表示)だけじゃダメでしょ。 MITライセンスの条文(本許諾表示)も必要。 って解釈で合ってるよね?
ということは、自分がBSDで配布してたら 自分の名前 MITライセンスの関数の作者名 BSDの条文 MITの条文 ってなってごちゃごちゃするけどそんなもん? さらにその配布ファイルの関数をパクった人がNYSLにするなら BSDとMITとNYSLの条文もいるってことになって、 またごちゃごちゃするけどそんなもん? 謝辞としてこれこれを参考にさせていただきました って書いてるのにライセンスのところに作者名を入れてない人もいるけど、 参考にした程度だと書かなくてもいいの? その場合、具体的に何をやったら元の作者名書かないといけないの? あと、名無しの人が書いたwikiのtipsのライセンスはどうなるの? 質問ばっかりでスマン。
>>236 それは、xyzzy上で右クリックしながらポインタを画面
の外に持っていってクリックを戻したときに起こる。
これで直るはず。
(defun initialize-right-button-state ()
(setq *mouse-right-button-state* nil))
(add-hook '*activate-hook* 'initialize-right-button-state)
>>237 ありがとうございました。m(_ _)m
大丈夫なようです。
自分で不具合が直せないため、導入していないLispがよくあります。
自身がLispができればいいんですけどね、申し訳ないです。
久しぶりにkamailv3バージョンうp
文字コードを変更して新しく開きなおす の 入力をどうしても覚えられないので C-u と C-x C-v をそれぞれdescribe-bindingでみて みようみまねで書いてみましたが、できませんでした。 (defun open-with-other-encode () (interactive) (universal-argument 'find-other-file)) universal-argumentがそもそも繰り返しのはずなのに なんでこの入力この動作になるんでしょうか?
> universal-argumentがそもそも繰り返しのはずなのに > なんでこの入力この動作になるんでしょうか? interactive の 0z のおかげ。 encoding を引数に取る関数を書いて、 interactive で zEncoding: でエンコーディング入力できるようにして、 現在のバッファのファイル名と一緒に find-other-file に渡す と言う関数を書けば良いんじゃない?
>240 (defun open-with-other-encode () (interactive) (let ((*prefix-args* 'universal-argument) (*prefix-value* 4) ) (call-interactively 'find-other-file) ))
(messege "hello")を評価するとtと表示されます なぜhelloと表示されないのでしょうか?
>>230 の話題、結局どうしたらいいんだろ。
>>243 戻り値がステータスバーに表示される方法で評価してるせい。
messageの戻り値がt。
↓を評価してCtrl+1押してみ。
(global-set-key #\C-1 (lambda () (interactive) (message "hello")))
>>244 あー、わかった気がします
ありがとうございました
セッションファイルを開いても、trace out putを常に表示しておく方法はありますか?
>>246 うちではこれでうまくいってる
が、 *stack-trace-buf* ってどこで定義されてるんだかよくわからなくなった
(buffer-stream-buffer *error-output*) で取得するのが正しいかも
(in-package "ed")
(defun close-session (&optional noask (create-new t) (fn #'write-file))
(interactive "p")
(save-some-buffers (not noask) fn)
(auto-save-session-file)
(let ((protected-bufs (list (find-buffer "*scratch*")
user::*stack-trace-buf*)))
(dolist (buffer (buffer-list))
(or (member buffer protected-bufs)
(delete-buffer buffer))))
(delete-all-pseudo-frames create-new)
(delete-other-windows)
(setq *current-session-file-name* nil)
(clear-message))
(in-package "user")
248 :
名無し~3.EXE :2006/09/08(金) 18:59:59 ID:LhFyI3S9
すみません質問してもいいでしょうか? 例えば、拡張子 asm のファイルだけ、タブ1個分の表示幅を8とかに したい場合、どのように設定すればいいでしょうか? 今のところ毎回、ローカル設定で変えていますが、記憶されないので、 不便に思ってます。
教えてください。 バイトコンパイルすると期待通りの動作してくれなくて困ってます。 バイトコンパイルしなければ期待通りに動くし、 全く同じファイルをバイトコンパイルして うまく動くlcを作ってくれることもあります(ファイルサイズが微妙に違う)。 変な思い違いをしているんでしょうか? アドバイスください。 xyzzy v0.2.2.235 OS win2k/xppro ---test.l--- (provide "hoge") (defpackage "hoge" (:use "lisp" "editor")) (import 'hoge::foo) (in-package "hoge") (setq foo 'foo) 期待する動作 M-x load-file "~/test.l" ---*scratch*--- foo ->foo
すみません、行カーソルだけでなく、列カーソルも表示させたいのですが、 そのような方法はありますか?
>>250 素直にmeadowでも使ったらいいのに・・・
>>248 asm-mode を使ってるならフックに引っ掛ける。
そうでなければこんなのとか?
(pushnew '("\\.asm$" . (lambda () (set-tab-columns 8 (selected-buffer))))
*auto-mode-alist*
:test 'equal)
>>249 lc を見比べればうまく行く場合と行かない場合でどう違うかはわかると思う。
バイトコンパイル時に hoge::foo が user から見えるかどうかの違いかな。
253 :
248 :2006/09/08(金) 23:44:30 ID:LhFyI3S9
>>252 Thanx! 本当にありがとうございます。すごく助かりました!
>251 やはり無理ですか。最近また秀丸を使う機会があったのですが、列カーソルもありましたので xyzzyでも可能かと思ったんですが、無理ですか、さすがに・・・
>>254 秀丸で出来るから他のソフトでも可能と思うのが意味不明
>>252 ありがとうございます!
教えてもらってからあれこれ試してみて、
期待どおりの動作をしてくれる場合とそうでない場合の
状態がわかりました。
以下恥ずかしい話ですが…
userで変数fooがバインドされているとバイトコンパイルで
修飾子fooを無視してlcを作るみたいです。
考えてみるとそのほうが動作としていいですもんね。
実際にしたかったのは、自作パッケージ内でdefvarして
.xyzzyで変更するということだったのですが、
つくる過程で.xyzzy内に変更を書いてしまっていたので
それが先に読み込まれてしまって修飾子抜きの
lcが作られていたみたいです。
ほんとありがとうございました。
vi-modeあるみたいだけど、まだ微妙だな。
>>257 どの辺が?
他のmodeに比べてもできは普通だとおもうけど・・・
>>256 > 実際にしたかったのは、自作パッケージ内でdefvarして
> .xyzzyで変更するということだったのですが、
そういうことでしたらこう書くべきかと。
rijndael.lはその辺のことを意識して書いたつもりです。
(provide "hoge")
(eval-when (:compile-toplevel :load-toplevel :execute)
(defpackage "hoge" (:use "lisp" "editor") (:import-from "user" foo)))
(in-package "hoge")
(setq foo 'foo)
userパッケージが自作パッケージよりも先に存在するので、
userパッケージから自作パッケージにインポートするという流れのほうが
自然だと思います。
>>259 ありがとうございます!!
さっそくパクらせてもらいました。
数回バイトコンパイルしたところまったく異常なし(当たり前か)。
感謝です。
でもやっぱり変な思い違いしてたんだなあ。
ご指摘どおり
> userパッケージから自作パッケージにインポートするという流れのほうが
そのとおりでございやす。
rijndael.l面白そうですね。使わせていただきます。
いろいろありがとうございました。
261 :
240 :2006/09/13(水) 07:29:45 ID:GwK42zMx
>>242 ありがとうございます。
始めに思っていた通りの動作になりました
>>241 丁寧な説明有難うございます。
なんとか書けました。
(defun reopen-with-other-encode (encode)
(interactive "zEncoding: ")
(find-other-file (concat (default-directory (buffer-name (selected-buffer))) (buffer-name (selected-buffer))) encode))
get-buffer-file-name
263 :
240 :2006/09/13(水) 09:02:44 ID:GwK42zMx
dabbrev-popupの挙動は仕様なんでしょうか? 例えばmultiply-by-sevenという文字を補完する場合、multまで打ち込んで dabbrev-popupを使うとmultmultiply-by-sevenのようになってしまいます dabbrev-expandの場合はmultiply-by-sevenとなり、残りの文字だけを挿入してくれます
complete+を使ってるならその辺の設定を全部コメントアウトしれ 俺んとこもそうなったけど、↑をやったら直った それでもダメだというならもうワカンネ
すみませんAutohotkey用の定義ファイルみたいな物はありますか?
>>266 脳内補完が一切不要な程度に誰が読んでも意味がわかるように書いてください。
>>265 その通りでした
該当部分をコメントアウトしたらちゃんとした動作になりました
ありがとうございました
270 :
名無し~3.EXE :2006/09/15(金) 16:58:04 ID:BPf8rfjL
いつのまにかcrayonzen氏のHPが消えてる。 adjust-column や hmark を使わせてもらってたので残念。 復活はしないのかな。
xyzzyの音 の「後ろ向きに行を削除」を使っているのですが ミニバッファでは無効になってしまうようです。 有効にするにはどうすればいいのでしょうか? (defun backward-kill-line () (interactive) (kill-region (point) (progn (goto-bol) (point))))
こうしてみるとか? ちょっと動作違うかな。 (defun backward-kill-line () (interactive "*") (kill-line 0)) 271でも使えたけど。
complete+バージョンうp 上の方で言ってる件は修正されたようだ
>>273 おー、直ってますね
でもえらく重くなりましたね
>>274 そんなに重くなったとは思わないのですが…
バイトコンパイルしてます?
>>272 だめなようです。通常のバッファでは動くんですが
Findfile や renemeで出したミニバッファ上では動きません。
>>276 どっちでも問題なく動作してると思うんだけど。
期待する動作と実際の動作がどう違うのか具体的に書いて。
やった事とやりたい事を詳しく書きますと まずsiteinit.lに以下のように書いて、ダンプファイルを削除、再起動 (defun backward-kill-line () (interactive) (kill-region (point) (progn (goto-bol) (point)))) (global-set-key #\C-j 'backward-kill-line) この時点で通常のバッファ(*scratch*や c:\temp\foo.txt)では C-jでカーソルより前の部分を削除できるが Rename(C-x C-n)等でミニバッファ上で作業してる時は C-jを押しても無反応。(初めから表示されてるアドレスを削除したい) 今はC-a(行頭に移動), C-k(カーソルより後ろを削除)で対応してる。 こんな感じです。どこかおかしい所ありますか?
C-j
>>278 (define-key minibuffer-local-map #\C-j 'backward-kill-line)
(define-key minibuffer-local-completion-map #\C-j 'backward-kill-line)
(define-key minibuffer-local-must-match-map #\C-j 'backward-kill-line)
(define-key minibuffer-local-command-line-map #\C-j 'backward-kill-line)
>>278 #\LFD = #\C-j
( define-key で定義された) ローカルなキーバインドは
( global-set-key で定義された) グローバルなキーバインドより優先される
minibuffer.lの最後のほうに定義されているのは
ミニバッファで使われるローカルなキーバインド
ミニバッファでは補完の種類等によって4つのローカルなキーマップがある
…この辺が分かればいいかな。
>>275 バイトコンパイルしてます
補完に*Completion*バッファを使ってますが、
多分、「*Completion*バッファの候補のマッチしてる部分を強調表示機能追加」の処理
によって(私の貧弱な環境では)かなり重くなったのだと思います
前のバージョンで不足ないのでそちらを使っています
>>280-281 キーバインドの設定が根本的に間違えてたんですね。
ありがとうございます。解決しました。
ヒントだけならだすが ・thread-open-local-dat のファイル名を取得して動作するバージョンを作る。 ・ファイルを開くときのhookに引っ掛ける
>>285 初心者ですがLispのコードが必要かどうかを判断基準にしてこっちに来ました。
只今頑張って勉強中なので勘弁してくれると嬉しいです
>>286-287 ありがとうございます。
thread.lにファイル名を取得するバージョン my-thread-open-local-dat を書いて
siteinit.lに以下を追記
(find-file (concat (si:system-root) "site-lisp/2ch/main.l"))
(eval-buffer "main.l")
(kill-buffer "main.l")
(find-file (concat (si:system-root) "site-lisp/2ch/thread.l"))
(eval-buffer "thread.l")
(kill-buffer "thread.l")
(find-file (concat (si:system-root) "site-lisp/2ch/macro.l"))
(eval-buffer "macro.l")
(kill-buffer "macro.l")
(add-hook '*before-find-file-hook*
#'(lambda (x)
(when (string-matchp "[0-9]\\{8,10\\}\.dat$" x)
(2ch::my-thread-open-local-dat x)
(selected-buffer))))
これである程度希望する動作に近づけることができたのですが
いくつかわからない所があったので質問させて頂きます。
thread-open-local-dat が定義されてるthread.lを直接変更してるので2ch-modeを更新するときマズそう。
→ siteinit.lに書く場合はどう書けばいいのか
正規表現 "[0-9]\\{8,10\\}\.dat$" を
"^[0-9]\\{8,10\\}\.dat$"にすると認識してくれなかった
→ 先頭一致の正しい書き方
ファイルを探して→実行して→閉じる の繰り返しはもっとまともな書き方はないものか。
>>288 > thread-open-local-dat が定義されてるthread.lを直接変更してるので2ch-modeを更新するときマズそう。
> → siteinit.lに書く場合はどう書けばいいのか
関数定義も siteinit.l に書けばいいんでない?
その場合 in-package を忘れないように。
> 正規表現 "[0-9]\\{8,10\\}\.dat$" を
> "^[0-9]\\{8,10\\}\.dat$"にすると認識してくれなかった
> → 先頭一致の正しい書き方
先頭一致の書き方はそれでいい。
file-namestring でファイル名だけ取り出せばマッチするんじゃないかな。
> ファイルを探して→実行して→閉じる の繰り返しはもっとまともな書き方はないものか。
load とか require とか。
この場合
(require "2ch/main")
で必要なものは全部ロードされる。
>>289 詳しい解説ありがとうございます。
2chのdatファイルを開けば自動的に2ch-modeで見れるようになりました。
それで元々これがしたかった理由は
「grepで2chのログが引っかかったとき、そのままだと見にくい。」
だったのですが、今試してみたところgrepの結果から
first-errorでジャンプする場合ファイルを開くこと自体ができませんでした。
grepからの結果でも開けるようにするには何処を触ればいいのでしょう?
>>290 質問の回答ではないけど、2ch-modeのgrep機能つかうんじゃだめ?
>>291 2ch/grep.lを見てみたんですが使い方がわかりませんでした
どう使うんでしょうか? 解説してる所とかありませんか
>>293-294 ありがとうございます。
試してみましたが、これは2ch-modeで取得したログ内から検索するものなんですね。
該当の2chログは面白そうなスレッドを過去ログサイトなどからdatファイルで拾ってきた物なので
残念ながら自分の用途には使えませんでした。
ぶつ切りの情報を出してしまい、すいません。
>>295 いや、追っかけスレに追加すれば過去ログでもgrepできるでしょ。
だいぶ前にここの過去ログに追加の仕方を書いたような気がする。
297 :
296 :2006/09/22(金) 07:59:33 ID:NSODtBz6
>>295 あなたが作った関数my-thread-open-local-datを貼ってください
>>296-297 スレ番までどうもありがとうございます。これでgrepも使えるようになりました
一つ気づいたのが
("ソフトウェア" "pc5.2ch.net" "/software/" "1063367821.dat" "xyzzyの使い方がわからぬヤシ 励ましあえ その3" "1001")
とありましたが
("ソフトウェア" "" "" "1063367821.dat" "xyzzyの使い方がわからぬヤシ 励ましあえ その3" "1001")
こう書いて過去ログを .2ch/dat/ の下に入れても見えるようです。
ただ、この方法ですと.2ch/ 配下にしか .dat ファイルを置けないのがまた問題になってしまいます。
その過去ログは外部からでも参照したい時の為に定期的にレンタルスペースにUPしてまして
Webサイト用のフォルダから移動させたくないのです。
ですので、もう少しgrepの結果からでも飛べるようにするにはどうすればいいか調べてみます。
>>298 (defun my-thread-open-local-dat (&optional data-file)
(interactive)
(let* ((if (equal data-file nil)
(data-file (file-name-dialog :title "Local dat"
:default *thread-local-dat-directory*)))
(board "local")
以降は thread-open-local-dat を何も弄くってません。
data-fileが与えられなかった場合はオリジナルと同じ動作にしようとしたのに
できなかった跡が残ってます。
>>299 > (let* ((if (equal data-file nil)
> (data-file (file-name-dialog :title "Local dat"
> :default *thread-local-dat-directory*)))
これだと if を (equal data-file nil) の結果に束縛してる。
こっちが意図する動作?
(let* ((data-file (or data-file
(file-name-dialog :title "Local dat"
:default *thread-local-dat-directory*)))
>>299 こっちの環境ではgrep結果から飛べるけどなぁ
多分grep-mode.lかpicup-grep.lのおかげでできていると思う
希望の行数に飛べないという問題があるけど
右クリックが利かなくなった。 原因がわからずorz
>>300 data-file が nil であれば file-name-dialog を出して値を取得する
を書きたかったのですが…。
>>if を (equal data-file nil) の結果に束縛してる。
すいません意味がよくわかりません、「束縛」とはどういうことでしょうか。
1: (setq data "foo1")
2: (let* ((data (or data "foo2")) (list data)))
例えばこの場合1:をコメントアウトすれば "foo2",しなければ "foo1" としたいのですが
思う通りの結果になりません。この場合はどう書けばいいのですか?
>>301 あとで試してみます。
>>303 >>299 だとifっていう"変数"に(equal data-file nil)の結果を代入してる。
> data-file が nil であれば file-name-dialog を出して値を取得する
ならきっと
>>300 。
分からんならリファレンスとにらめっこしてください。
あと、その例は何を言いたいのかよく分からない。
1を一度評価したらコメントアウトとか関係なくない?
305 :
300 :2006/09/24(日) 16:53:01 ID:4gZxlSbZ
回りくどい言い方をしてしまったね。
要は let* の書き方が間違ってる、と。
>>303 の後半でやりたかったのは
(let ((data "foo1"))
(let ((data (or data "foo2"))) data))
=> "foo1"
(let ((data nil))
(let ((data (or data "foo2"))) data))
=> "foo2"
ということかな。
>>306 俺は昔こんなのを教えてもらった。最後の二行が回避策。
;;; grep-mode.l
(in-package "editor")
(autoload 'grep-mode "grep-mode" t)
(add-hook '*grep-hook* 'grep-mode)
(add-hook '*grepd-hook* 'grep-mode)
(add-hook '*ggrep-hook* 'grep-mode)
(add-hook '*ggrepd-hook* 'grep-mode)
(in-package "user")
;;; 2ch-mode の grep との衝突を回避
(load-library "2ch/main")
(shadow '(2ch::grep-mode 2ch::*grep-mode-hook*) "2ch")
>>308 横からdクス。
grep-modeを先に読み込む事で回避していたが、
これで順序に依存しなくできるのか。
どちらか名前を変えた方がいいじゃないか。
一番最近のバッファというか、C-xbで出てくるバッファを取得する方法ってありますか?
たぶん(other-buffer)じゃないか。
314 :
312 :2006/09/29(金) 00:09:56 ID:VojApy1D
>>313 (defun switch-to-buffer (buffer &optional nowarn)
(interactive "BSwitch to buffer: " :default0 (other-buffer))
ここから(other-buffer)が出てきたんだと思うけどlispから非インタラクティブに取得出来ないようです。
これは取得できないのかもしれない。サンクス
> lispから非インタラクティブに取得出来ないようです。 この部分はどういうこと? ところで、other-buffer は非表示バッファを返さないんだね。
software板から移動してきました。 From: [784] 名無しさん@お腹いっぱい。 <sage> Date: 2006/09/29(金) 08:59:35 ID:4zAxJ21W0 auto-save-buffers.lを使わせてもらっているのですが、保存するときに、 共通設定で「マウスカーソルを消す」にしていても、一瞬カーソルがちらっと見えてしまうのが気になります。 何とかならないでしょうか。 _______________________________________________________ From: [785] 名無しさん@お腹いっぱい。 <sage> Date: 2006/09/29(金) 10:09:18 ID:4zAxJ21W0 マウスカーソルをどこか適当な座標に飛ばしてしまえばいいかなと思ったのですが、 require-mouse-moveという謎な関数が見つかったもののどうしたものやら…… _______________________________________________________
よく調べてないけどChangeLogに Mon Oct 15 2001 Version 0.2.2.213 関数require-mouse-moveはダミーになった。現在のキーマップでMouseMoveが有効かどうかを見るようにした。 ってあるから require-mouse-move は関係ないんじゃね
>>319 たぶんバッファをいくつか開いた状態で
↓みたいにやったときのことじゃないかな。
(progn
(next-buffer)
(msgbox "~S" (other-buffer))
(next-buffer)
(msgbox "~S" (other-buffer))
)
>318 descriptionを見る限りではそのまま使えそうな気がします。 どうもありがとうございました。
322 :
312 :2006/09/29(金) 22:37:50 ID:VojApy1D
すいませんother-bufferでできました。単にC-xbとかバッファを消したときに出てくるバッファに set-bufferしたかっただけなのでこれで十分です。 てっきりC-xoのother-windowと勘違いしてたようでろくに試してなくて other-bufferってのははじめて使うっぽいです。助かりました
323 :
名無し~3.EXE :2006/09/30(土) 18:17:09 ID:TrjrrRp8
質問です: デフォルトc-x c-sの保存で文字エンコーディングをutf-8にして保存死体のですが, ローカル設定ー>もろもろ の中の文字エンコーディングのところで選択してもなってくれません. いちいち上書き保存の時に選択しなければならないのはすごく面倒いです. 何かよい方法はありませんか?
全てのファイルでやっちゃっていいならこんな感じ。 (global-set-key '(#\C-x #\C-s) #'(lambda () (interactive) (save-buffer *encoding-utf8*))) そうじゃないならset-encoding-eol-code.lっていうのがある。 でもどこから落としてきたんだろう。 作者はOHKUBOさんなんだけど。
C-x C-k f で毎回変更するのはダメですね。
開くときにutf8で開けばいいんじゃなかろうか。 (setq *default-fileio-encoding* *encoding-utf8*)
>>323 みて思い出したけど、
セッションファイルにローカル設定も保存されるようにすることは可能ですか?
>>327 可能。ただ自分でセーブ、ロードする関数を書くことになる。
あと元々の関数を上書きする必要もある。
単語に半角英数字以外が含まれているかどうか調べるにはどうしたらよいですか?
string-looking-atですね。 失礼しました。
start-selection-as-regionで作ったセレクションがあっても、 pre-selection-pはnilを返すのですが、このセレクションの有無を調べるにはどうしたらいいですか?
get-selection-type とか?
>332 うまくいきました。 どうもありがとうございます。
黒い羽根さんのlispに色々と付け足して秀丸風に近付けようと
「何も記録されてなかった場合は前回のマクロを残す」
「xyzzy起動時に前回のマクロを読み込む」の2つの機能をつけたかったのですが
どうしてもわからない所があったので質問させてもらいます
1つは name-last-kbd-macro で作ったシンボルを処理が終わったら
消してしまいたいのですが希望する動作の関数が見つかりませんでした。(unintern を使ってる部分)
コメントアウトしてる set-last-kbd-macro の部分で
前回のマクロを読み込んでおきたいのですが
コメントをはずすと"XYZZY_HOME/lispはディレクトリです"とエラーが出てしまいます
シンボルの削除方法、set-last-kbd-macroのエラーの原因はどうすればわかるのでしょうか?
>>335 lispコード
(defun set-last-kbd-macro () (find-file (concat (si:system-root) "kbd-macro-temp.l")) (setq *last-kbd-macro* (eval-buffer (find-buffer "kbd-macro-temp.l"))) ;(delete-buffer (find-buffer "kbd-macro-temp.l"))) ) (defun auto-save-kbd-macro() (if *last-kbd-macro* (progn (name-last-kbd-macro "auto-save-kbd-macro-name") (save-excursion (find-file (concat (si:system-root) "kbd-macro-temp.l")) (set-buffer (find-buffer "kbd-macro-temp.l")) (delete-region (point-min) (point-max)) (insert-kbd-macro 'auto-save-kbd-macro-name) (save-buffer) (delete-buffer (find-buffer "kbd-macro-temp.l"))) ;(unintern 'auto-save-kbd-macro-name) ) (progn (save-excursion (set-last-kbd-macro))))) ;(set-last-kbd-macro) (defun startend-kbd-macro() (interactive) (if (kbd-macro-saving-p) (progn (message "end memory key") (end-kbd-macro) (auto-save-kbd-macro)) (progn (message "start memory key") (start-kbd-macro))))
>>334 > 1つは name-last-kbd-macro で作ったシンボルを処理が終わったら
> 消してしまいたいのですが希望する動作の関数が見つかりませんでした。(unintern を使ってる部分)
シンボルを消すなら unintern でいいと思うけど。
(in-package "ed") とか書いてるなら
(unintern 'auto-save-kbd-macro-name "user")
で。
(first-error)でバッファを開かずに ただファイル名だけを取得したいんですが どうすればいいんでしょうか。
>>334 > 「何も記録されてなかった場合は前回のマクロを残す」
> 「xyzzy起動時に前回のマクロを読み込む」の2つの機能をつけたかったのですが
勘だけど
(register-history-variable '(*last-kbd-macro*))
で済まない?
339 :
334 :2006/10/06(金) 00:15:30 ID:SxFaoHEo
>>336 userパッケージの中でやってますし、念のために 引数に "user"を足してみましたが
2回目以降のキーボードマクロ記録時にこの確認メッセージがでてしまいます
"auto-save-kbd-macro-nameのキーボードマクロ定義を置き換えますか?"
>>338 いけそうな気がするんですが、両方とも効果なしでした。
340 :
338 :2006/10/06(金) 03:30:28 ID:/iJIWFX7
>>339 ~/.xyzzyへどうぞ
(defun save-last-kbd-macro ()
(with-open-file (out "~/last-kbdmacro.l"
:direction :output
:if-exists :overwrite
:if-does-not-exist :create)
(format out "(setq *last-kbd-macro* ~S)~%" *last-kbd-macro*)
t))
(add-hook '*kill-xyzzy-hook* 'save-last-kbd-macro)
(when (file-exist-p "~/last-kbdmacro.l")
(load-file "~/last-kbdmacro.l"))
341 :
334 :2006/10/06(金) 05:49:05 ID:SxFaoHEo
>>340 ありがとうございます。
希望通りの動作になりました。
コード見て勉強させてもらいます。
emacs系のエディタは何度かトライして挫折していたけど、 xyzzyで割り切ってGatesから始めたら、何とか使えそうだ。
>>342 昔と違って今はわかりやすい説明もあるしね
Gatesよりはwinkeyをすすめるけど
説明は昔からあったかもしれないけど、分散しすぎていた感じはあるね。
俺は割り切って2ch-modeしか使わない。とりあえず幸せ。 レポート書いてた時は羅線や印刷に世話になったけど・・・
昔程ではないけど、今も結構分散してると思う。特にtips系。 ML、2ch、wiki、個人のブログ… wikiにでも、全部まとめたりできないかなー
347 :
342 :2006/10/09(月) 21:53:40 ID:2aAfA7LS
>>343 winkeyにしてみたら何かちょっと不便なので、Webで調べてwinkey2と
いうのを入れたら良い感じになりました。
xyzzyの細かい話はないけど Emacs 電子書棚の所が物凄くまとまっているから 大体あそこ見たら分かるような気がする。
>>346 まとめたところで分散によるデメリットを超える?
まずは2chのスレッドなくすところからだな。
352 :
346 :2006/10/11(水) 03:27:29 ID:Lrtgs3ok
そもそもの思いとして、NetInstallerみたいに1つのインタフェースで
いろんなtips系の小さいlispを簡単に持ってこれたらいいなっていうのがあります。
で、実際にそういうのを作るとなればHTMLなりなんなりを
パースしないといけないのですが、
2ch・ML・個人のブログごとにバラバラの書式で書かれたものに
全部対応するなんて無理なので、
決まった書式で1箇所にまとまってた方がいいんじゃないかと思いました。
しかし、著作権が絡むので作者の方々が動かないと始まらないという
なんとも情けない状況です。
2chに投稿された名無しさんのtipsも多分同じ(書いた人が動かないと)
だと思いますが、著作権に詳しくないのでよくわかりません。
あまり拘って出るモノも出ないような状態は好きではないのですが、
何かあると困るので…。
>>349 現状tipsが一番(?)多くあり、かつ、皆で編集できるwikiにまとめるのがいいと思います。
荒らしが来たら面倒だと思いますが…。
353 :
346 :2006/10/11(水) 03:28:36 ID:Lrtgs3ok
改行が多すぎると怒られたので続きです。
>>350 すみません。質問の意図が分かりません…。
まとめる意味はあるのか?ということなら、
まず上で妄想したTips用NetInstallerです。
他に、あちこちで検索する手間や、検索して見つけられなかった場合に
車輪の再発明をしてしまうことを少なくすることが出来ると思います。
皆が1箇所にtipsを書いてくれるようになったら、色々なサイトをチェックする手間も省けます。
あと新参の方に優しいかもしれません。
まとめる手間をかけてまでやる意味はあるのか?ということなら、個人の主観によると思います。
残念ながら、現状に満足している人にはあまり魅力的でないと思います。
違ったらすみません。
長文失礼しました。
じゃあまず353が率先してWikiにまとめるってことで。 あとは気が向いた人が手伝えばおkじゃね?
細かくリンク張りまくるんじゃダメかな。 タグでカテゴリ分け出来るようにしたりしてさ。
>>355 それがいいと思う。Wiki の TipsDirectory を充実させるとかで。
346 の妄想みたいなことになったら、Wiki 以外に Tips 書きにくくなりそうでいやだなー。
wikiに全部をまとめらるとは思えないしさ それにwikiに人が集まったら重くなるだけだし そしたらまたwiki自体が細分化されそう 個々でグーグルとか検索サイトを利用したほうがいいとおもう
適当に自分用に作ったのをブログに自分の書くのは 無責任でもいいから楽だけど。Wikiは少し気合を入れないとできそうにない。 例えWikiの人が気軽にとか言っても、見ている人が多いからね。
それは逆だよ ブログの場合間違ってたら指摘されるよ それで直してる箇所があるサイトをよくみるでしょ 直さなかったら無責任だしさ
まあ、考え方は人によるけど、自分がそう思うというだけだよ。 それに、指摘されることは問題じゃないね。 まず、指摘する人もそんなにいないし。
俺も
>>358 とまったく同じことを考えてた。
正直適当に書いたものは自分のページに載せるほうが気が楽。
Wiki には「出来がいい」と思えるものじゃないと投稿できない。
うまくいってる
すまんw うまくいってるwikiでも実質がんばってるのが一人だったりするからな 前、xyzzyの記事書くと勝手にリンクはってくるサイトあったけど、あれも手動でやってたんだよな
>>363 それは手動じゃない可能性もあるんじゃね?
xyzzyのWikiにRSS読むの
タグにxyzzywikiとか付けたら回収するようなのをつければ良いじゃね。
リンクは一応自動でされるでしょ。SBMとかのRSS読めば誰かが勝手に
登録とかもしてくれそう。まあ、Wikiの情報で満足できないような人は
自分で探しそうなので、それが良い事なのか、よく分からないが
365 :
名無し~3.EXE :2006/10/12(木) 01:03:27 ID:8965hoF/
現状、Wikiで十分ですよ? すごく役に立ってるし、集積していけばいいと思う。 管理がしっかりしてさえいればそれでいいです。 荒らし(SPAM)対策やってくれたり、 突然、何も言わずに消滅したりしなければ、安心して使えるし。 (昔、プログラム関係のwikiが突然、消滅したことがあったので orz)
>>357 > 個々でグーグルとか検索サイトを利用したほうがいいとおもう
コメントにxyzzyとわかるタグを入れておくといいかも。
; kame-editor-xyzzy: ここに概要を書く
Google Code Searchはアーカイブの中も見てくれるそうだし。
WikiのTipsDirectoryを見て、十分情報まとまってるじゃん、と思ったが、 単なるリスト風テキストだから、 得たい情報があるときに調べるとかってもんじゃないね。 あれが検索しやすいリンクのデータベースになるといいかも。
wikiのTipsDirectoryみたいにリンク貼りまくる場合は リンク切れがあるから怖い。 実際今みたらリンク切れて、キャッシュもないところがいくつかある。 ていうか、リンク貼りまくったら結局自分のブログに書いたtipsも人目につくんだから、 最初からwikiに投稿すればいいんじゃない?ってならない? あと、変数を設定するだけのやつはわざわざリンク貼らんでもいいような。
ブログの手間とwikiの手間じゃ比べられないよ
自分のところに書いた方が好き勝手にやれるから気楽。 そこまで強制されたんじゃ書き込みができなくなる気がする。
Blog までリンクを張らなくても、 Wiki内で探しやすいように分類するだけでも、 tipsが見やすくなる気がするけど。
自分が必要な情報については自分は知らないので書けないし 自分が知っていることは、必要性が理解できないので、何がいるのか分からない。
ExtLib みたいな感じで、ExtTips みたいなものを作ってみるとかどうだろう?
>>375 自分で調べた課程とか、知るに至るまでにわかりにくかった
ところとかを書けばいいんじゃないですかね?
>>376 リンクを張るだけなら、元々公にされているものなので著作権は
問題にならないと思いますが、ExtLib にしてもリンク切れが
多いし、新しい情報があまり載っていないような感じですね。
個人で全てに対応するのは困難だと思うので、多くの人に協力
してもらいやすいような形にできたらいいんじゃないでしょうか?
(その分荒らしが問題になりそうですが)
要らない事って書いてしまうと 必要な情報が埋もれてしまうような気もする。 分散しているって、そういうことだろ。
>>378 確かにそうかも。
しかし、今のところ埋もれるほど情報は多くないような
気がするので、何も書かないよりはいいような気もする。
自分としてはそれほど必要性は感じないけど、
そういう意味ではまとめるのも意味があるのかも。
xyzzyのTipsを溜めてる個人サイトの人が サイト内検索をHyperEstraierのestmasterで 公開してくれるといいんだけどな。 おのおののnodeをリンクすれば一つの検索インターフェイスで リンクしたサイトぶんの語句を一気に検索できる。 ただ自宅鯖で個人サイトやってる人じゃなきゃダメなんだよな.。。
入門CommonLisp買ってきた。 いつの間にか出てたんだね。
俺もこの間本屋で見掛けたので速攻確保した。 まだ一ページも読んでないorz 反省はしている。
>>383 そいつを俺に寄付すれば万事解決
さもなくば万事休す
(set-syntax-end-comment *syntax-table* #\LFD nil t) と (set-syntax-end-comment *syntax-table* #\LFD t t) の場合があるけど違いはなんですか?
>>385 ちょうどこないだ試したとこのような。
基本的には S 式とか括弧とかを移動する関数に影響があるみたい。
forward-sexp とか goto-matched-parenthesis とか。
t ..... コメント中の括弧も数える
nil ... コメント中の括弧は無視する
という感じだと思う。
ソースをきちんと読んだわけじゃないから間違ってるかも。
scheme-mode.l の配布サイトが閉鎖してしまった模様。 誰かどこかにうpきぼんぬ。
Netinstallerでparen入れられなくなってる。すぐ見つかるからいいけど。
そういうのはWikiのどこに突っ込みを入れるのかよく分からんね。
favorites.l入れて、site-lispやら%HOME%やらのショートカット突っ込む これ最強
html+-mode で保存時に browserex でカーソルがある場所? を 表示するようにする拡張lispってどこかにありませんでしたか? navigate-current-file or buffer だと表示するだけで違うので。 昔 2ch で見た気がするけど、どうしても見つからない…
ども。
>>392 自分の日記に書いたような記憶があったので掘り起こしてみました。
もしこれのことであれば。
(defvar *hoge-preview-filename* "00HogePreview.html")
(defvar *hoge-preview-work-bufname* " *hoge preview*")
(defun hoge-preview ()
(interactive)
(let ((point (point))
(file (merge-pathnames *hoge-preview-filename* (default-directory)))
(buffer (get-buffer-create *hoge-preview-work-bufname*))
(buffer-contents (buffer-substring (point-min) (point-max))))
(save-excursion
(set-buffer buffer)
(delete-region (point-min) (point-max))
(insert buffer-contents)
(goto-char point)
(html-mode)
(skip-syntax-spec-backward "^}")
(insert "<a name=\"HogePreview\"></a>")
(write-file file)
(bx:navigate (concat file "#HogePreview")))
(delete-buffer buffer)))
(define-key ed::*html+-mode-map* '(#\C-x #\C-s)
#'(lambda ()
(interactive)
(if (fboundp 'save-buffer-with-time-stamp)
(save-buffer-with-time-stamp)
(save-buffer))
(when (bx:browser-open-p) (hoge-preview))))
>>393 おぉ、これです。思ったとおりのことができました。
ありがとうございます。
あと1つ気づいたのは、 html-mode は loadup.l ではロードされないので、
この使い方は環境によってはシンボルの衝突を起こします。
だから ed::html-mode の方がいいと思います。
395 :
394 :2006/10/20(金) 14:46:04 ID:x9oKQZr3
あぁ、うそ書いてました。 defs.l で export されてますね。 じゃぁ何でうちの環境でシンボル衝突したんだろう…
ミニバッファでC-kしても消えてくれないんですね 設定で消せるようにできるんでしょうか
>>396 設定したかどうかわからんけど、
うちはできるよ。
kamailV3使ってみたけど、メール読むたびHDDがガリガリ言うのは仕様? Den8Viewなら大丈夫?
>>396 俺エスパーなんだが、今日はちょっと受信にムラがあって、自信ないすまん。
多分C-kではなくてC-xkでミニバッファーを消したいってことだろ。
無理だからC-gかESC-ESCで消してくれ。
きっと
>>396 はミニバッファでkill-lineが効かないんだろう(デフォルトなら効くはず)
それで消えてくれないと言っている、と想像
396の人気に嫉妬。
C-x C-f C-a C-k で消えたが…
拡張Lispどっさり更新着てます お疲れ様です
406 :
名無し~3.EXE :2006/10/22(日) 14:39:24 ID:hPWCLQch
ウム
なにがどっさりきた?
>>407 olt2とかの更新。NetInstallerの話し。
olt2かtreeview、どちらか分からないけど再描画が激し過ぎるよ…。 howmで検索や保存をしたり、rss-modeでRしたり、 2ch-modeでTしたりするとすっごいチラつく。 でもソースがデカ過ぎて追えない orz
>410 右クリして、アウトライン設定のとこで「カーソル追従」のチェックをはずすとかいうことではなくて?
>>410 好きなようにlisp修正すればいいだけじゃん
文句言ってる時間無駄だとおもうぞ
>>411 外しても効果がないです。
howmでC-c , gして検索した時や、そこからC-nやC-pで切り替える時に、
一瞬だけ行番号や元のファイルが見えるので、
作業用のバッファの段階で表示してるのだと思います。
さらに、olt2を起動していない状態だと大丈夫なので、
*create-buffer-hook*に引っかかっている
outline-tree-create-buffer-node-by-bufferあたりから呼ばれてる関数に、
過剰にrefresh-screenが入っているのではないかと思うのですが。
>>414 修正ありがとうございます。
ばっちりです。
ども。
>>415 なによりです。
では、歯を磨いて眠ります。
おやすみなさい。
Gmail Managerみたなのもできるってことですか?
選択した文字列の文字数を簡単に知る方法を教えてください。 選択しただけでモード行に表示してくれたりすると嬉しいのですが...
>>418 > 選択した文字列の文字数を簡単に知る方法を教えてください。
> 選択しただけでモード行に表示してくれたりすると嬉しいのですが...
(add-hook '*post-command-hook*
#'(lambda ()
(when (eql (get-selection-type) 2)
(message "Selected chars: ~D" (abs (- (selection-point) (selection-mark)))))))
420 :
418 :2006/11/02(木) 01:21:20 ID:nfk1HUcZ
>>419 ありがとうございます! まさしくそんなのを求めておりました。
xyzzyを使い始めたばかりなんですが、いろんなことが出来るんですね。
それで十分満足してますが、もし改行はカウントせず表示する方法が
ありましたらアドバイスください。
>>420 > それで十分満足してますが、もし改行はカウントせず表示する方法が
> ありましたらアドバイスください。
アドバイスはめんどー
(add-hook '*post-command-hook*
#'(lambda ()
(when (eql (get-selection-type) 2)
(message "Selected chars: ~D" (- (abs (- (selection-point)
(selection-mark)))
(abs (- (save-excursion (goto-char (selection-point)) (current-line-number))
(save-excursion (goto-char (selection-mark)) (current-line-number)))))))))
422 :
418 :2006/11/02(木) 22:34:52 ID:nfk1HUcZ
>>421 どうもありがとうございました! まったく期待通りです。
>>421 XyzzyWikiに転載させていただきました。
>>424 2chの書き込みの著作権は、2ch運営側にあるからまずくないか?
書いた人からすると、ご自由にどうぞって感じ。 インデントはちゃんとして欲しかったけどね。
2ch至上主義者なんだろ。キモイ
逆だろ、ひろゆきは前に著作権は書いた人にあるに 決まっている的な事を云っていたので 多分、理解していないことを人に指摘していると思われ。
xyzzyにてhowmを使っています。 xyzzy:0.2.2.235 howm-wrap:1.1.0.3 howm:1.1.0.3 howm_menuより「a」にて一覧表示をすると、ファイルの一覧は見れるのですが、 タイトルが同時に表示されません。 2006-11-04-115754.howm | 【ここにタイトル表示がされない】 2006-11-03-235256.howm | 2006-11-03-234231.howm | 2006-11-03.howm | 「T」と入力して、表示をトグルさせようとしても"書き込み禁止バッファです。"となってしまいます。 このような仕様となっているのでしょうか?
励まし合うスレに過去4回同じ質問がでてますね。 READMEにも書いてあります。
>>433 >>434 ありがとうございました。
解決しました。
howm-init.lに書き込めば良かったのですね。
すっきりしました。
質問です。 会社でxyzzyを使っています。先日ネットインストーラを使おうとしたところ タイムアウトで失敗しました。 理由は会社から外部へ接続する際に自動構成スクリプトなるものを利用している ためだと思われます。 xyzzyでプロキシの設定はできるみたいなのですが自動構成スクリプトに対応させることは できるのでしょうか?教えてください。 xyzzyの使い方が〜のスレでは教えてくれなかったので、 ここへきました。
>>436 マルチダメ
こっちで回答してもらってるのに無視ですか?
xyzzyの使い方が分からぬやし 励ましあえ その9
http://pc7.2ch.net/test/read.cgi/software/1143621919/935 935 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2006/11/04(土) 06:39:55 ID:Q522I33N0
質問です。
会社でxyzzyを使っています。先日ネットインストーラを使おうとしたところ
タイムアウトで失敗しました。
理由は会社から外部へ接続する際に自動構成スクリプトなるものを利用している
ためだと思われます。
xyzzyでプロキシの設定はできるみたいなのですが自動構成スクリプトに対応させることは
できるのでしょうか?教えてください。
439 :
名無し~3.EXE :2006/11/07(火) 16:40:10 ID:UoVmZot8
>理由は会社から外部へ接続する際に自動構成スクリプトなるものを利用している >ためだと思われます。 このへんをハッキリさせないとなぁ
>>439 IEのプロクシの、自動構成スクリプトだと思われ。
>>437 自動構成スクリプト(〜.pac)って、確かメモ帳で中身が見られたはず。
プロクシのアドレスが載ってると思うので、それを設定すればOK(だと思う)。
俺はProxomitronみたいなローカルproxyかませて、xyzzyからは常にそれ経由から行うようにしてる。 .pacから抜き出した串をオミトロンに全部登録して、タスクバーから切り替え。自動設定では無いけど、 接続場所によってころころ串変わるから、いちいち串の設定の値変えるよりは相当楽。 Lisp書くスキルもないし。
俺はこんなの書いてる (require "www/www") (defun set-proxy (host port) ;www-mode用 (setq www::*www-proxy-host* host) (setq www::*www-proxy-port* port) ;2chとか用 (setq ni::*http-proxy-host* host) ; PROXY のホスト (setq ni::*http-proxy-port* port) ; PROXY のポート ) で切替は (set-proxy "inet-gw" 80);社内 とか (set-proxy nil nil) ;yahoo
>>442 ni::〜は netinstaller 用で、2ch-mode は www-mode の設定を使ってるんじゃなかったっけ?
まぁ両方同じ値に設定されるみたいなんで問題はないんだけど。
共通設定ダイアログを使わずに、表示フォントサイズを 手早く切替える方法を教えてください。
>>444 lisp ではフォントサイズは変えられないはず。
やるとすれば、xyzzy.ini を変更→xyzzy を終了(セッションを保存)
→xyzzy を再起動(セッションを復元)
みたいな感じでいけるかも。
>>444 複数のiniファイルを用意して、起動時オプションでiniファイル
を指定して起動する。オプションはhtml/00README.htmlで確認して。
447 :
445 :2006/11/11(土) 15:14:41 ID:Z/ozJHD4
ああ、xyzzy を終了してしまったら lisp で制御はできないか.. なので、@xyzzy.ini を変更→Aセッションを保存→Bxyzzy.exe をAで保存したセッションで起動 →C現在の xyzzy を終了 でいけるんじゃないかと思います。 Bで iniファイルを指定すれば @はいらないかも。試してないのでまちがってたらすいません。
448 :
444 :2006/11/11(土) 16:24:38 ID:Az8bSxMq
ありがとうございます。試してみます。 xyzzy再起動を避けるため、共通設定ダイアログをいじる uwscスクリプトという手もあるかもしれません。
手早くって書いてあるのにか・・・
手早く切り替えるための機能を入手するために、 手間は惜しまない。これがプログラマ。
xyzzyのリファレンスの正規表現の欄を見て、\Sc、\scという書き方があるのを 知ったんですが、これはどういう風に使うんですか? 説明では「シンタックスが c の 1 文字にマッチ」等あるんですが、 ここでいうシンタックスがどういう意味なのかさえ分かりませんでした。
>>451 ヒント:
\sw = \w
\Sw = \W
>>452 うーん、わかったようでわからない状態です。
\S\ = [^\] とかはわかったんですが、\sを使うメリットがわかりません。
\sでしか表わせない文字及び文字列とかはないのでしょうか?
>>454 ありがとうございます。これで理解することができました。
ただ、jを使うと漢字が対象じゃなくて全角文字が対象になるっぽいんですが、
これはそのページが間違ってるのか、それとも\sと組み合わせると動作が
少しかわるんですかね?
>>455 syntax.cc 見た感じだと、文字の内部コードで判断してるらしい。
詳しくは見てないけど、半角カタカナ以外のマルチバイト文字は
一部のゴミ文字を除いて全部マッチしそう。
(map 'list 'kanji-char-p "(・∀・)")
=> (t t t t t)
とか。
正規表現だからというわけではないと思う。
「漢字」というと紛らわしいかもしれないね。
昨日のオフ会はどんな感じだったのか、教えてくらさい
;ヾ、,.、,、.、rツ ッッシ、:':' r':' _,、-'゙_, や 公 帰 そ ,、,、,ミッン、,._ _,、-'゙_,、-'゙. っ 園. り ん 、ィッ ,:、 ゙''ゞ=ミ、~.: _,、-'゙_,、-'゙ __, て の 道 な }; ヾ ゙' {!li;:,. _,、-'゙_,、-'゙ _,、-'゙,::|_| 来 ト に わ ゞァ''゙ぐ _,、-'゙_,、-'゙ _,、-'゙,、-''" .|_ た イ あ け ,ヘ:'_,、-'゙_,、-'゙..::「┴_,エ ┴ ''"_|_| の. レ る で └i'゙-ニ,ニエ,.:|ニ「 _エ ┴ ''"_|_ だ に |エ | ニエ, |ニ「 _エ ┴ __.|_|_ |エ | ニエ, |ニ「 _エ ┴ 「fj.||__|__| _| |エ | ニエ, |[8] _エ ┴ └‐_|_|__l__,|⊥ |__ |エ | ニエ, |二 _.エ 二.._ |__|__| _|_|_ |エ | ニエ, |┴ _.エ 二.._ |_|__l__,|⊥ |__| |エ | ニエ, |工 _.エ 二.._ |__|__| _|_|_ |エ | ニエ, |工 _.エ 二.._ |_|__l__,|⊥ |__ -,-=''┷━━|┬ニエ ┬-- .|__|__| _|_|_ ''ーニ_''ー::、_ ゙┷ 工_二'‐-、,_|_|__l__,|⊥ |__ 二二二`''ーニ`_''ー-、_¨''━、L|__|__| _|_|_ 二二二二二二二`''ーニ_''ー 、_ |⊥ |__
>>457 の破壊力によって、スレ凍結しそうな勢いな件について。
というか、ここまで静かだと何かやましい事があったんじゃ(ry
タブを xyzzy の外に D&D すると、そこにもう 1 つの xyzzy が現れてそのタブの内容 を表示する機能が欲しい(秀丸のタブの分離、emacs のフレームみたいな機能) と期待を込めて言ってみる。
Windowが分割できるのに何で分離するの?
マルチディスプレイとか?
>>462 かっこ良さそうだな。
でも今の1ウィンドウ1プロセスの実装からすると実現は難しそうだ。
meadowとか他では出来るのにな・・・
xyzzyはmeadowじゃないから。 meadowじゃ駄目なのか?
つーか、meadowはemacs
と完全互換ではない
なんかやろうとすると「ミニバッファでは〜できません」とかなるから C-gでミニバッファ閉じると、ポイントやら状態が戻りまくっていらいらするのは俺だけですか ミニバッファ入ったら必ず実行かC-gするの忘れないほどできた人間じゃないんですよね
いらいらするなら自分で直せばいいじゃない xyzzy はそういうエディタだよ
>>470 慣れるとなくなるよ。それが出るのは、
ミニバッファから抜けるときにC-gを使わない。
つまりマウスで移動しているからじゃないかと
ミニバッファからは C-x o とかでも抜けられる。 ま、要は慣れの問題だろ。
xyzzyの改造版があったサイトってなくなったの? usbメモリ用にソース書き換えてた所
howm用ニューヨーク証券取引所の休日データ 間違いがあったらゴメン NYSE Holidays [2006-12-25]@ Christmas [2007-01-01]@ New Year's Day [2007-01-15]@ Martin Luther King, Jr. Day [2007-02-19]@ Washington's Birthday [2007-04-06]@ Good Friday [2007-05-28]@ Memorial Day [2007-07-04]@ Independence Day [2007-09-03]@ Labor Day [2007-11-22]@ Thanksgiving Day [2007-12-25]@ Christmas
>>475 ちょこちょこ修正版ってやつか?
今ググったら見つからないな
質問です。 サンスクリット語の特殊な発音記号つきのフォント(Unicode のラテン 文字拡張追加領域の文字)を表示させるのに、 MS Reference Sans Serif とかいうフォントを使っているのですが、 ■■(ただし半角)という表示になってしまいます。 xyzzy 上でうまく表示させる方法はあるでしょうか?
480 :
479 :2006/11/27(月) 13:01:51 ID:W0Le85a7
だいぶ下がってたので上げておきます
>>478 それ便利なんだけど
本家がバージョンアップしたときのことを考えるとね・・・
変更部分が書いてあるけど
その部分がずっと変更されないとは限らないし・・・
ソース読めるようになればいいんだけどさ
和英辞書で 変化を英語に変換したら縦にchangeって表示されたけど何で? みんなも?
最近の子は質問すらまともに出来ないのか・・・
>>481 本家で対応してくれるように要望するのは?
TextMateの補完機能?らしきものがvimやEmacsには あるのにxyzzyにはないからxyzzyはもうヤバイとか言われているのが なんともやるせない
>>485 どこで言われてるの?
あと補完機能はあるよ。
どうもxyzzyのネガティブキャンペーンをしたくてしょうがない奴がいるようだ
今まで利用者側で開発側はよく知らないんだけど、xyzzyってKAMEI氏が一人で 開発してるの?一応オープンソースらしいけど、どっかにプロジェクトページ でもあるの?
>>488 亀井さん一人だね。同僚の赤塚さんも開発に協力してたらしいけど
オープンソース化はされてるけど、今のところプロジェクトはない
でもkamei以外のバージョンがいくつかあるみたいだね 自分が使ってるのは画像が表示できる奴
独自ビルドプロジェクトがあるんですか。 画像表示いいなー
>>486 え?あるの。それは知らなかった。場所はテキストエディタスレだよ。
>>493 デフォルトで静的補完と動的補完があるぞ
ac-modeなんていう便利な物も作られている
もしなくても、Lispインタープリタ積んでるんだから作れるしね
いや、それは全部唯の補完だし。
>>485 が言ってるのはこのへんのことかな。
というか多分勘違いしてて、Snippetがないからヤバイんじゃなくて、
盛り上がってないって言ってるだけじゃない?
テキストエディタをまた〜り語ろう ver.21
526 [2006/11/30(木) 00:49:47 ID:SnTbTeS10] 名無しさん@お腹いっぱい。 <sage>
vimでTextMateのエミュレート普通に出来てるね
ttp://www.vim.org/scripts/script.php?script_id=1318 Emacsのrails.elとsnippet.elでも同じ事出来るみたいだしやっぱりこの二つは別格かぁ
527 [2006/11/30(木) 01:23:49 ID:97U8/eYl0] 名無しさん@お腹いっぱい。 <sage>
emacsのsnippet.elはいろいろバグや使いにくいとこあるので
自分で修正して使ってる。emacsももっと盛り上がってくれ。
528 [2006/11/30(木) 01:49:50 ID:SnTbTeS10] 名無しさん@お腹いっぱい。 <sage>
emacsは普通に生きてるじゃない
それよりヤバいのはxyzzyかな
やっぱり作者のリアクションがないと盛り上がらないみたいで
こういうvimやemacsみたいな反応がない
ユーザー層が日本に限られているのもあるんだろうけどやっぱり熱が冷めてきている気がする
529 [2006/11/30(木) 04:11:06 ID:5bvNY0Kb0] 名無しさん@お腹いっぱい。 <sage>
xyzzyのlispは全体的に、Emacsの恩恵を受けて成立しているから
動きが遅れるのは仕方がないこと。emacsのがあるなら誰かが作るかもね。
まあ、スクリプトの新しいのとか更新頻度を見る限り
変化は特にない感じだけど。
xyzzy使ってるならlispの様子は、いつもと同じで減っても増えてもいないし 気にする必要がないと思う。しかし補完が一つないだけで 落ち目みたいに思われてしまうのが、現状でしょ。
textmate の方は、ユニットテスト用のコードを生成したりできるようだけど、
emacsへの部分移植の snippet.el は、補完後のカーソル位置も指定+αの
補完という感じなのか?
むかし Eclipse のように javadoc用のコメント文を関数宣言から生成する
コードを書いたけど、そういうたぐいか?
>>490 SPI on xyzzy ではなくて?
browserex のことじゃないですかね。 インライン表示はかなり難しそう。 表示速度が落ちるなら本末転倒な気もするし。 emacs は画像・フォントなど柔軟に表示できても 画面をスクロールさせるとテキストを読みにくくなるのがつらい。 emacs から開発者が来てくれないものか..
>>497 >しかし補完が一つないだけで落ち目みたいに思われてしまうのが、現状でしょ。
これは君が負い目を感じてるからじゃないの?
機能の有無だけしか誰も言ってないんだからさ・・・
xyzzyのほうが上な機能も当然あるし
その機能が重要かどうかは人によるんだからさ
別に落ち目とは思わないし、Windows上で動くエディタとして かなりすばらしいと思うけれど、開発者が少ないというのは 前から言われているところ。 別にプログラマじゃなくても拡張lispなどを書いてる人はいるんだから 特にプログラマの人には協力してもらえたらなと思います。
プログラマでもlisp書けるのは少数派。
>>504 まあ、そうかもしれないですけどね。
でも、リストとかループ構造とか考え方の基本は似てるのでは?
リファレンスとか解説本なんかも充実してきてることですし、
協力者が増えてくれれば喜ばしいと思いますね。
いまリッチな補完を実装しようと思ったら 汎用で強力なdo-completionのようなものから作らないといけないのかな。
>>506 TextMateとかリッチな補完とか良く分かってないですが、
補完なら、shiro さんの complete+ とか ac-mode とかありますよ。
たたき台にできるかは分かりませんが。
lispで特定のフォルダから条件にマッチするファイル名を取得するには どうすればいいですか?
あ、directoryを使えばできそうです。
内蔵ファイラー使っている人いる? 便利な使い方とか、拡張とか教えて欲しい
>>510 使いまくり。
grepとかdiffとかgresregとかまとめてリネームとか。
いろいろ機能追加してたらキーバインド足らなくなって困ってる>ファイラ
490はいつになったら出てくるの?
>>511-512 なるほど。メインファイラーとしてはどうですか?
今までエディタ側からのサブ機能(というかOpenDialog)としか使ってなくてもったいないなと。
>>514 むしろメインファイラなんだけど。
エクスプローラなんて使ってられるかっての。
Jで登録フォルダにジャンプとか。
でもファイラでdiff位しか機能追加はしてない。
あと下の部分にキーの意味はほぼ全て表示させるようにしてる。
>>514 十分使えるよ。というか、その辺の腐ったファイラより遥かに優れてるよ。
カスタマイズも自由自在だし。
ただしxyzzyを良く使っている人じゃないとxyzzyが邪魔になるかもしれないけど。
>>506 do-completionを適当に拡張すれば
do-completionそのものを作る必要はないと思うよ。
>>507 shilogに書いてあったのをよく読めば
一番新しい所にTextMateの感想とか書いてあるから
>>514 注意点はファイラで重い処理をさせると、ついでにエディタにも触れなくなるってこと。
>>518 あるあるwww
たまにたくさんのファイルを上書きコピーとかするとお茶飲むしかなくなることがある。
ファイラは「あふ」で、xyzzy のはここ2、3年使っていない orz
俺はDynaで同じくxyzzyのは触らない・・・
523 :
名無し~3.EXE :2006/12/05(火) 17:16:23 ID:fqGbrZTc
xyzzy をデフォルトで使っているのですが、C-SPC でマークが設定できません。 C-SPC, C-w でカットしようとすると、「マークが設定されていません」とエラーに なって困っています。 .xyzzy に (global-set-key #\C-SPC 'set-mark-command) と記述しても、xyzzy 起動のときに 「C:/Documants and Settings/ユーザ名/.xyzzy. 1: 文字コードが範囲外です: C-SPC」 とやはりエラーになります。 どうしても C-SPC, C-w でカットしたいのですが、どなたか直し方を教えて頂けませんか?
>>523 #\C-SPC は #\NUL に設定されてるので(keyboard.l 参照)
(global-set-key #\NUL 'set-mark-command)
とすればOK。
ていうか、デフォルトでそうなってなかったっけ?
525 :
523 :2006/12/05(火) 19:01:08 ID:fqGbrZTc
>>524 レスありがとうございます。今
(global-set-key #\NUL 'set-mark-command)
やってみました。xyzzy 起動のときにエラーには
なりませんでしたが、マークは設定されませんでした。
> ていうか、デフォルトでそうなってなかったっけ?
ですよね〜。そうだったはずなのに…どっかで変な
設定に変わったのかと思ってインストールしなおしたり
バージョンアップ・ダウンしてみたんですが、効果ないん
ですよ。他のキーバインドは問題ないんですが。
ちっくしょー。
なんか変なソフトつっこんでて、それがCtrl+SPACEの入力を食ってるに1カノッサ
>>523 [C-x ?]して[C-SPC]を押した時ステータスバーに
NUL runs the command set-mark-command
と表示されるか?
528 :
523 :2006/12/05(火) 20:10:36 ID:fqGbrZTc
皆さんご親切にありがとうございます。
>>526 なるほど。こりゃ切り分け大変そうですね。
今走ってるプロセスのうちのどれかですよね?>Ctrl+SPACEの入力を食ってる
>>527 [C-x ?] すると、
ステータスバーに「C-x ?」
ミニバッファに「Describe key briefly:」
と表示されますが、続けて [C-SPC] しても
変化ありませんでした。
529 :
523 :2006/12/05(火) 20:35:57 ID:fqGbrZTc
連投すみません。 最も最近インスコした Web カメラのソフト Logicool QCam 10.0 のプロセス QuickCam10.exe を殺したら、あっさり直りました。 皆様ありがとうございました。お騒がせしました。 ; これに悩んで今日一日何時間無駄にしただろう。何やってんだ漏れ orz
デフォルトだとM-SPCとC-@もset-mark-commandになってるよ。 俺はC-SPCを別ソフトで使ってるからC-@を使ってる。
call-processしたときにDOS窓が出てこない ビルドをどこかで見た記憶があるんですけど、 どなたか場所わかりませんか?
>>531 (call-process "notepad" :show :hide)
これ?
wikiにあるbuffer-bar-click-to-deleteについてなんですが、 左Wクリックとミドルクリックに別々の機能を割当ることってできませんか?
534 :
ららら :2006/12/08(金) 17:40:35 ID:8vth809M
指定ディレクトリ以下のすべての .l ファイルに対して、 一括でバイトコンパイルしたいんだけどー、そんなコマンドある?
ない。書くのが早いよ。
ファイラでまとめてマークしてBじゃ出来なかったっけ?
>>532 あ・・・それでいいですね。orz
ありがとうございます。
>>534 byte-recompile-directory
539 :
ららら :2006/12/08(金) 21:56:01 ID:8vth809M
540 :
ららら :2006/12/08(金) 21:57:33 ID:8vth809M
セレクション内のテキストに対して、 置換ダイアログを用いて置換することはできないのー?
>>540 リージョンを C-x n でナローイングしてから置換で十分
542 :
名無し~3.EXE :2006/12/09(土) 00:05:49 ID:roXcRMid
543 :
ららら :2006/12/10(日) 16:08:07 ID:xpzGmHi1
ちなみにビスタでもxyzzyは動くのだろうか・・・?
ビスコ?
動かなかったらクリスピーで良いよ。 ビスコの何が良いのかさっぱり分からんが xyzzyの何がいいのかはよく分かる。
最近編集したファイルとその中身(の一部)を一覧表示してくれるlispって既にありますか?
howmはちと違うか。参考にはなりそうだけど
(mapc #'find-file *minibuffer-file-name-history*) で最近使ったファイルを全部開いてくれるから、後は好きなように直してくれぃ。
>>547 最近閉じたファイルでいいなら、save-place.l
単に開いたファイルではなく、編集して保存したファイルのリストはどうやったら得られますか? *after-save-buffer-hook*に何か引っ掛けて自前で集めることになるんですかね。
最近編集したファイルの中身をどういう用途に使うのさ。 自分流の使い方を考えなくても等価の機能が既に ありそうな予感。
>>551 (sort (copy-list *minibuffer-file-name-history*) #'>= :key #'file-write-time)
てことかな?
554 :
名無し~3.EXE :2006/12/15(金) 01:47:43 ID:a1cA2Dfz
>>553 それだとだいぶ前に見たapacheのログとか
2ch-modeのdatファイルとかが先頭付近にきてしまう。
すでに無くなったファイルがあればエラーもでる。
後者は:keyをこんな風にすればいいんだけど。
#'(lambda (x)
(or (and (file-exist-p x)
(file-write-time x))
0))
>>551 が何の為に保存したファイルのリストが
欲しいのかわからないからアレだけれども。
セッションの自動保存だとだめなん?
>>551 save-place.lを利用するなら多分こんな感じじゃないかと
(add-hook '*after-save-buffer-hook* #'(lambda () (interactive) (ed::save-place (selected-buffer))))
(setq *save-place-default-sort-method* 3)
557 :
556 :2006/12/15(金) 05:50:40 ID:8Z05d2YF
あ、(interactive)はいらないですね。
>>547 です。
皆様色々とヒントを下さってありがとうございます。
私は文章を書くとき、適当、というかほとんどでたらめにファイル名を付けるので、後になって
「あのとき書いたあれ、何つったっけ」となることが多いのです。
といって、ファイル名を考えるのは面倒だし、そもそもファイル名にあまり情報を持たせようとするとキリがなくなりそう。
そんなときに、どれがどれかすぐにわかる一覧があったらいいなあ、というのが動機です。
いくつか方法がありそうなのでボチボチ試してみることにします。
ファイラでShift+Wも良いかもね。
>560 Shift+wってはじめて知った。いいねこれ。 自分も>558に必要なのはGrepだとおもう。
一部一致でジャンプだと逆に変な所に飛んでしまいそうなので パッケージとかオブジェクトみたいなのを識別するようにしたら 良いんじゃないか?言語ごとに変わってしまうけど。
xyzzy Part10 の550以降辺りにlist-functionの一覧をバッファに出力するのがある。 これだったら自由に検索してジャンプできるんじゃない? 使ってないから知らんけど。
grepじゃ遅いよ。
どっかで拾ったもの。
(defun list-file ()
(interactive)
(let ((hist (subseq *minibuffer-file-name-history* 0 100))) ;; リストの数
(multiple-value-bind (result data)
(dialog-box '(dialog 0 0 262 108
(:caption "File List") ;; ポップアップのキャプション
(:font 12 "FixedSys") ;; フォント設定
(:control
(:listbox files nil #x50b10101 7 7 248 75)
(:button IDOK "OK" #x50010001 148 88 50 14)
(:button IDCANCEL "cancel" #x50010000 205 88 50 14)))
(list (cons 'files hist))
'((files :must-match t :enable (IDOK))))
(when result
(let ((file (cdar data)))
;; ファイルを開く
(when (file-exist-p file)
(find-file file)
(add-history file '*minibuffer-file-name-history*)))))))
たぶん
>>547 >>558 は、これにファイルの内容 (冒頭数行か最新の編集行) が
表示され、さらにファイル・タイプで分類もできる…という贅沢なものを
望んでいるんだろうね。howm 以外では浮ばんなあ。
あったら俺も欲しい。
>>568 たけしょうさんのところかな。
subseq は、ENDよりも要素数が少ないとエラーが出るので直してみた。
あとダイアログも少し大きくした。
(defvar *list-file-numbers* 100)
(defun list-file ()
(interactive)
(let ((hist (subseq *minibuffer-file-name-history* 0
(min (length *minibuffer-file-name-history*)
*list-file-numbers*)))) ;; リストの数
(multiple-value-bind (result data)
(dialog-box '(dialog 0 0 262 148
(:caption "File List") ;; ポップアップのキャプション
(:font 12 "FixedSys") ;; フォント設定
(:control
(:listbox files nil #x50b10101 7 7 248 115)
(:button IDOK "OK" #x50010001 148 128 50 14)
(:button IDCANCEL "cancel" #x50010000 205 128 50 14)))
(list (cons 'files hist))
'((files :must-match t :enable (IDOK))))
(when result
(let ((file (cdar data)))
;; ファイルを開く
(when (file-exist-p file)
(find-file file)
(add-history file '*minibuffer-file-name-history*)))))))
部分一致でジャンプは、lispなら apropos で探してジャンプでそれなりに使 えるけど、他の言語でもやるなら一致するものを探す tags-find-endtry-1 以外 に、部分一致するものを探す関数を選択できるようにしたらできそうだね。
572 :
563 :2006/12/16(土) 18:08:46 ID:bj7xXVNz
いやですね。 動作としては、Ctrl+Gとか押すと、 list-functionで表示される関数がダイアログ(もしくはバッファ)で表示されて、 文字列を入力すると、部分一致で選択され、 エンターでジャンプといった感じです。 まんま、Borland Development Studio の拡張アドオン GExperts のfunction list の挙動なんですがw
scheme-modeはもうどこ探してもないんだろうか・・・
>572 ダイアログである必要が無いなら、Part10の551-552でバッファにリスト表示できて isearchで部分一致が選択できてエンターでジャンプできるよ
>>572 そういうときはダイアログじゃなくミニバッファでやるのがいい。
completing-readにリスト渡せばok。
標準のミニバッファじゃ不満あるかもしれんが
ミニバッファ拡張入れりゃけっこう便利。
公開されてるミニバッファ拡張ってcomplete+くらいしかないけど。
(defun my-list-function ()
(interactive)
(unless (and (eq *list-function-buffer* (selected-buffer))
(eql *list-function-modified* (buffer-modified-count)))
(setq *list-function-list* (long-operation
(save-excursion
(funcall build-summary-function)))
*list-function-selected* nil
*list-function-buffer* (selected-buffer)
*list-function-modified* (buffer-modified-count)))
(let ((result (completing-read "関数一覧: "
(mapcar (lambda (list)
(format nil
"~A ~A"
(second list)
(first list)))
*list-function-list*)
:must-match t)))
(when result
(string-match "[1-9]*$" result)
(goto-line (parse-integer (match-string 0))))
))
>571 ごめんなさい。決して、しかとしていたわけではありません。 実はsave-place.lはだいぶ以前から使わせていただいており、非常に重宝しております。 ただ、save-place-list-bufferは全然使っていませんでした。 で、試してみたのですが、かなりいい感じですね。 フィルタを工夫すれば、ほぼ望み通りのことが出来そうだと思いました。どうもありがとうございます。 not existのファイルがネットワーク上のものだった場合、xyzzyがしばらく固まってしまいますが、 これはwindowsの仕様?ですよね。
>>576 ネットワーク環境がないのでちょっとわからないんですが、
もしかすると、file-exist-p のところで固まっているのかもしれません。
だとすると、避ける方法ってあるのかな?
>>577 文字列からネットワークファイルと推察される場合は、
file-exist-p をしないとか?
>>578 そうですよね。
しかし、あらかじめ情報を保存しないファイルを指定する仕様となっているので、
*save-place-exclude-regexp*にネットワークファイル(フォルダ)を
指定して、既にネットワークファイルの情報が保存されている場合には
*save-place-list*バッファでC-kでファイル情報を削除して、C-x C-s
で保存してみて下さい。
>>576
winapiでタブの外観をフラットとかに変えることってできる?
>579 とりあえずそうすることで回避することにします。
指定したリージョン中において、 1.英文のワード数 2.和文の文字数 をそれぞれカウントすることはできますか?
>>582 (defun foo ()
(interactive)
(let ((reg "\\<[-A-Za-z]+\\>")
(start (mark))
(end (point))
n)
(save-excursion
(save-restriction
(narrow-to-region start end)
(goto-char (point-min))
(setq n (count-matches reg))))
(msgbox "英文のワード数 : ~A個" n)))
和文の方は正規表現をどうかくべきかよく分からなかった。
ググると、
[ぁ-ん] 全角ひらがなを検索
[ァ-ヶ] 全角カタカナを検索
[亜-K] 全ての漢字(亜(889F)〜K(FC4B))を検索
こんなのが見つかったけど、これだけでは "〜" とかがマッチしないので、、、
非アスキー文字全部数えてみた (defun count-non-ascii-chars (start end) (interactive "r") (save-excursion (save-restriction (narrow-to-region start end) (goto-char (point-min)) (let ((n 0)) (while (progn (skip-chars-forward "\x00-\x7f") (not (eobp))) (let ((p (point))) (scan-buffer "[\x00-\x7f]\\|\\'" :regexp t) (incf n (- (point) p)))) (msgbox "非アスキー文字数 : ~A個" n)))))
xyzzyって設定済みMeadowみたいに最初から拡張lispが入っていて、 使えるように設定されてるものってありませんか?
>>586 ないです。だから、あなたにお願いしたい。
>>586 netinstallerで十分じゃない?
netinstaller設定済みとか初心者にはいいかもね。
最初は相当敷居が高かったけどコンパイルとかやらされないだけEmacsよりマシ
本もあるしね。たまに眺めると自分が使ってない機能に気づいたりする
今のxyzzyはかなり敷居が低いと思うよ。 それに自分で拡張しないならxyzzyのメリットが Emacs風味のキーバインドくらいになるような気もするし。
>>593 indent-to-token 更新しておきました。
netinstaller からどうぞ。
KaMailV3の使い方がイマイチわからん これってフォルダ分けはしないもの?
しない。基本はデータベースに登録して必要なときに検索するスタイル。 必要に応じてタグ付けしておいてもいい。
MLに面白いのが来てるな
Perl、Ruby の x += "追加文字列" を Lisp で表現するにはどうすればいいんでしょうか (setq *filer-guide-text* (concat (*filer-guide-text* "説明"))) こう書いてみたのですが *filer-guide-text* は関数ではない とエラーになってしまいます
600 :
名無し~3.EXE :2006/12/21(木) 12:35:52 ID:06XHuuOW
(setq *filer-guide-text* (concat *filer-guide-text* "説明"))
>>599 info-modoki-mode でも導入し、
リファレンスのconcat の項を見るべし。
*filer-guide-text*の中身はリストか (setq *filer-guide-text* (nconc *filer-guide-text* (list "説明")))
603 :
名無し~3.EXE :2006/12/21(木) 12:47:26 ID:4yGrKQAI
2ch-modeでBBSPINKみたいのに出来ない? なんで?
日本語でry
>>603 PINKに対応しているボードを指定すればいい
pw.l の複合鍵を忘れた…orz
xyzzyのlispでgrepみたいに指定したファイル中の文字列を引っ掛ける関数は ありますか?
scan-bufferとか?
609 :
名無し~3.EXE :2006/12/21(木) 18:10:46 ID:HyOSmb2v
何?引っ掛けるって。何をどこに引っ掛けるのかわからんし。 やりたいことは lisp/grep.lやlisp/grepd.lあたりをみて自前で書く call-process等で外部のgrepを起動して結果だけ貰ってくる のどちらかだろうけど。
611 :
matsuoka :2006/12/21(木) 19:06:26 ID:5qMu/bKU
scheme-mode.l の人でーす。 配布に使用させてもらってたサーバーのハードディスクが夏ごろ落ちてから、 以降移り先もなく配布も止まってます。ふいに消えてしまってごめんなさい ものはあるので来年にはなんとかしてーなぁと思っているところです。 もう少しお待ちくださいませ。言う場もないのでこの場をお借りしました。 # WikiWiki FUN 自体が復活できると一番いいんですけどね…厳しいかも
>>611 復活がんばってください。それまでわくわくてかてかして待ってます。
O'sエディタみたいなスタイル切り替えが欲しい
>>614 自分で作るといい。そういう実際の動作と関係ない機能を
作る人は中々居ないよ。
なんか書けなくない?
>>616 winapi 駆使してもできないの?
だめなら c++ で書けばいい
それを欲しがるのは文系ユーザなんだろ、察してやれ
619 :
599 :2006/12/22(金) 22:31:59 ID:zrMy60Mu
なあ、お前らにちょっと聞きたいんだが、 左CtrlとCapsLockって入れ替えorCapsLockを左Ctrlにしてるよな? その場合、Aの横にあるキー(元CapsLockキー)はどの指でどんな風に叩けば楽なんだ? 最近、左Ctrlの叩き過ぎで手が痛くて楽な方法を探してるんだけど、よくわかんなくて。 特に、C-a,C-s,C-x,とか左手だけで押すであろうキー全般について意見をくれ。 CASE1:小指の先で叩いた場合 C-xとか押しにくくない? CASE2:薬指で ホームポジションから離れてしまいませんこと? CASE3:中指で ホームポジションから(ry
キー配置デフォ、小指の付け根でCtrl押すのが一番ラク
>>620 小指で押しっぱなしにしてる。
C-x の x は薬指か中指、C-c は人差し指を使うこともある。
押しにくいときは手首の角度とかを調整してみるとマシになるかも。
俺はデフォのまま使ってるよ ピアノやってたせいか、指が鍛えられていて疲れることはない
>>620 A横Ctrlで小指。C-a,C-sは薬指で、C-xは中指だな。
ちなみにC-cは人差し指。元々cを人差し指で押す癖あるし。
あ、C-x C-sはx=人差し指,s=中指だわ。
ピアノの所為かヴィオラの所為か、疲れたことは無いな。
>>620 C-a, 小指(Caps)-薬指
C-s, 小指(Caps)-薬指
C-x, 小指(Caps)-中指
C-x, C-s, 小指(Caps)-中指-中指
Winkeyでの切り取り操作の場合は
C-x, 小指(左Ctr)-人指し指
手が痛いならキーの深さが浅いキーボード買った方がいいんじゃないか?
キーピッチも小さいとなお良し!
たまには右Ctrlも使ってあげてください
右Ctrlを5年も使ってないことに気がついた。
今は閉鎖されてるcrayon氏の recent-delete-file.l と hmark.l を使いたいのですが誰か持っている人いませんか?
vi-mode改造して使っているから、あまり疲れない。
HHKなので右Ctrl無い
>>628 recent-delete-file.l は自分で改変したものを持ってますが、ライセンスが
わからないのでupできず。
hmark.lは持ってませんが、マーク関係の拡張は他にもいくつかあるはず。
632 :
620 :2006/12/23(土) 13:35:49 ID:nw8L50H9
>レスくれた人達 ありがとう。 凄く参考になった。 キーボードを替えることも視野に入れて考えてみる。 # 家のはすぐに替えられるけど会社のはどうしよう。 # どう考えても会社の方が長くキーボード叩いてるしなぁ。
普通のキーボードには右にctrlキーがあるんだね 知らなかった
vi-modeなので安心。 そろそろyGで最後の一行がコピーされないバグは直してもいい気がする(<気づいてるなら直せ)
どのモードでもインデントにタブを使わない場合はどう設定すればいいんでしょうか? (setq-default indent-tabs-mode nil) や (setq indent-tabs-mode nil) を .xyzzy に書いたのですがインデントにタブが使われてしまいます 今は *hoge-indent-tab-mode* それぞれに nil を設定してるんですが 一括で行う方法はありませんか?
>>635 そのモード独自の *hoge-indent-tabs-mode* が設定されてるなら
一つ一つ設定するしかないんじゃない?
こうするとどうだろう (add-hook '*create-buffer-hook* (lambda (buf) (setq indent-tabs-mode nil))) 真っ当なやり方とは思えないが……
*find-file-hooks*にフックさせるとかは?
>>636-638 ありがとです。
デフォルトの設定の為の変数とかがあると思ってたんですが
ちょいと変わった事しないとないんですね
パッと見た目のわかりやすさ重視で *hoge-indent-tabs-mode* を設定する事にします
outline-tree2(2006.10.25)だと、Lispのインタラクティブな関数も defun (not command)に分類されてしまいませんか? 以前は、defun (command)に分類されていたと思うのですが。 個人的には、インタラクティブでもそうでなくても同じ項目に分類 された方がいいような気がするので、それでいいといえばいいのですが。
641 :
640 :2006/12/24(日) 12:46:44 ID:BB6TubKy
詳しく解析してませんが、cr-lisp.lを古いものに戻したら(not command) と (command)が別々に分類されるようになったので、cr-lisp.lの 仕様変更が原因のようです。
lengthのような関数で、文字数ではなく、文字のバイト数を返す関数はありますか? また、substringのような関数で、文字数ではなく、バイト数で指定する関数はありますか? 初自作lisp書いてて、2バイト文字を含む列表示が崩れてしまい戸惑ってます
>>642 count-column とか、"column" でリファレンスを検索するといろいろみつかるよ。
644 :
名無し~3.EXE :2006/12/25(月) 18:19:38 ID:c2JTGycx
>>643 ありがとう!
stringなんちゃらばっかし見てました
やっぱしsubstringのバイト数で指定するぽいの 見つからなかったorz
>>645 1.convert-encoding-to-internal でバイナリに変換する
2.subseq で必要なバイト数を取り出す
3.convert-encoding-to-internal で元の文字コードに戻す
4.右端の文字が文字化けすることがあるので、右端から1文字削除
こんな感じでどうでしょう?
647 :
名無し~3.EXE :2006/12/25(月) 20:32:47 ID:ash4a2gh
こういうことなんか?? 全然違ったらすまん。 (defun string-columns (str) (let ((n 0)) (every #'(lambda(x) (setq n (+ n (char-columns x)))) str ) n))
>>645 ,647
ありがとうございます。
とりあえず以下のような感じでsubstringのバイト数指定バージョンを作りました。
(defun substringbyte (str start end)
(substring (convert-encoding-to-internal *default-fileio-encoding*
(subseq ( convert-encoding-to-internal *encoding-binary* str )
start (+ end 1))) 0 -1))
くそ、乗り遅れた Ctrlは、薬指だぜ HHKLite2なので右Ctrlがねーぜ!!
650 :
名無し~3.EXE :2006/12/26(火) 08:55:28 ID:IVydCAVy
>>649 HHKLite2って普通のキーボードに比べてどのへんがいいんですか?
main() { char *str = "0xFF" "0xFF" "0xFF"; _asm{ hoge hoge hoge hoge hoge hoge } } // c-modeで↑のようなコードをオートインデントすると↓のようになってしまいます。 // このような状況で階段状にならないようにしたいのですが、 // c-mode.lを弄ろうとしてもさっぱりです。 ボスケテクダサイ main() { char *str = "0xFF" "0xFF" "0xFF"; _asm{ hoge hoge hoge hoge hoge hoge } }
652 :
651 :2006/12/27(水) 01:36:25 ID:bKiQgf9l
c-continued-statement-offsetを弄ったらそれっぽくなりました^^;
>>650 Capsの位置に、Ctrlがデフォルト
HHKL2+窓使いの憂鬱でカスタマイズしまくると最強
カーソルキーが、右シフトの下。
だが、つかってない。
カーソル移動は、全て、窓使いの憂鬱で、
モディファイやーキー同時押しのviカスタム
ホームポジションから、はずさずして、
・改行
・移動
・ファンクションキ押下
ができる
HHKL2いいんだけど、すぐにへたる。おなじ形でもっと丈夫なのないのかな?
pro2
>>652 > c-continued-statement-offsetを弄ったらそれっぽくなりました^^;
(setq c-continued-statement-offset 0)
したらうまくいったってこと?
偶には KEK-EA9AU の事思い出してあげてください
658 :
名無し~3.EXE :2006/12/27(水) 17:57:16 ID:j+Nt4POt
>>653 レスどうもです。
Capsの位置にCtrlがあるとxyzzyでは便利そうですね。
以前、AltIMEでキーの入れ替えをやったことがあるんですが
ソフトのインストール時に不具合が出たので今は使ってません。
HHKL2+は小さめなキーボードなのでキーが押しやすそうですね。
でも、テンキーとかファンクションキーとかはいらんのですか?
>>654 655さんも言ってますが、HHKB Professional2というのがありますね。
ちょっと高いですが。
659 :
658 :2006/12/27(水) 18:05:12 ID:j+Nt4POt
あらら、コピペミスだ ×→HHKL2+ ○→HHKL2 です。
Lite2には独立カーソルキーがあるけど、Pro2にはないから同じ形ではない。
アクセス規制解けたかな?(何もしてないのに..)
>>661 どうもです。とりあえず入れてみました。
設定が簡単でわかりやすいですね。
しばらく試してみて不具合が出ないようならば、
使ってみようかと思います。
>>656 (setq c-indent-level 2)
(setq c-continued-statement-offset 0)
(setq c-argdecl-indent 5)
(setq c-brace-offset 2)
(setq c-brace-imaginary-offset 0)
(setq c-label-offset -2)
(setq c-comment-indent 2)
;; な感じです。
{
if(1 == hoge)
return 0;
}
// これだと↑ のような場合に↓のようになるのがあれですが、階段状になるよりはいいかなと。
{
if(1 == hoge)
return 0;
}
セミコロン付きのマクロとかそうなるな 範囲選択して一番上の行に合わせるLisp書くとかしか思いつかん
lisp で homeDir を指定するのは xyzzy のソースコードをいじらないと ムリでしょうか?
667 :
666 :2006/12/30(土) 21:28:42 ID:BoiZ9qCy
かなり怪しげですが、一応こんな感じで動くような気がします(多分)。 (siteinit.l に記述する。homedir を (si:system-root) にする場合) (defun set-homedir () (find-file (merge-pathnames "xyzzy.ini" (user-config-path))) (let ((buf (selected-buffer)) (homedir (remove-trail-slash (si:system-root)))) (goto-char (point-min)) (when (scan-buffer (compile-regexp "^\\[init\\]")) (delete-region (match-beginning 0) (progn (forward-line) (goto-eol) (forward-char) (point)))) (goto-char (point-max)) (unless (bolp) (insert "\n")) (insert (format nil "[init]~%homeDir=\"~A\"~%" homedir)) (save-buffer) (delete-buffer buf) (unless (path-equal homedir (user-homedir-pathname)) (load-file (merge-pathnames ".xyzzy" (si:system-root)))))) (add-hook '*pre-startup-hook* 'set-homedir) おかしなところがあったら修正たのみます。
668 :
666 :2006/12/30(土) 22:03:14 ID:BoiZ9qCy
少し改良してこんな感じにしてみました。(かなり無理矢理です(^^;) (defun set-homedir () (let ((homedir (remove-trail-slash (si:system-root))) buf) (unless (path-equal homedir (user-homedir-pathname)) (find-file (merge-pathnames "xyzzy.ini" (user-config-path))) (setq buf (selected-buffer)) (goto-char (point-min)) (when (scan-buffer (compile-regexp "^\\[init\\]")) (delete-region (match-beginning 0) (progn (forward-line) (goto-eol) (forward-char) (point)))) (goto-char (point-max)) (unless (bolp) (insert "\n")) (insert (format nil "[init]~%homeDir=\"~A\"~%" homedir)) (save-buffer) (delete-buffer buf) (call-process (merge-pathnames "xyzzy.exe" homedir)) (kill-xyzzy) ))) (add-hook '*pre-startup-hook* 'set-homedir)
669 :
666 :2006/12/30(土) 22:12:36 ID:BoiZ9qCy
(setq buf (selected-buffer)) の後にでも (make-local-variable 'make-backup-files) (setq make-backup-files nil) を追加すればバックアップファイルが作られなくなります。
670 :
名無し~3.EXE :2007/01/01(月) 01:58:33 ID:wzzpRsj5
あけましておめでとうございます。 新年早々質問なんですが、ダイアログボックスで値が入力されていないと ボタンを押せないようにするには、dialog-boxの第3引数に '((hoge :non-null t :enable (IDOK))) とう感じにすればいいみたいなんですが、これをhogeだけじゃなく、 fooという変数にも値が代入されてないと押せないようにするには どうすればいいでしょうか?
671 :
653 :2007/01/03(水) 00:56:32 ID:Lb2V6q2s
>>658 > でも、テンキーとかファンクションキーとかはいらんのですか
テンキーは、いるときだけ、つなぐ。
HHKL2は、ハブもってるので、つなぎやすい。
ファンクションキーは、HHKL2デフォは、Fnキー+数字。
ただ押しにくいから、モディファイヤーキー(同時押しキー)を定義して、
モディファイヤーキー+数字キーで、押せるようにしている。
Professional2もいいのだが、モディファイヤーキーとして使っている変換、無変換がないので、
俺敵には残念。
親指シフト並に変態なので、(他の環境でキレるので)あまりお奨めしない。
ä などの特殊な文字の参照文字(?)の \X0164とか を調べる関数は Xyxxyで用意されてるんでしょうか? 今は毎回引数が足りない関数を書いてエラー表示から読んでいますが 禿しくめんどくさいので、もっと良い方法を教えていただけませんか
char-unicode とか。
確認のためにも聞きたいんだけど、みんなはautoload派?それともrequire派? 自分の認識だと、 「siteinit.lに書く場合はダンプ作成速度に差異があって、 起動速度に差異はほとんどない。.xyzzyに書く場合は起動速度に差異がでる。」 という感じなんだけどあってる? そのためsiteinitではrequireで、.xyzzyではautoloadで読み込んでるんだけど。
但し書きとして 「起動時フローに呼ばれる関数をautoloadで読み込む場合は、siteinit.lでも 差異がでる。」 が抜けてた。
>>674 少しでも早く起動したいからほとんど siteinit でrequireしている。
.xyzzy は最低限の設定ぐらい。
>>674 全ての設定は siteinit.l。
ほとんど使わない機能は autoload
よく使うのは require
あと autoload だと設定しづらい場合も require
例えば howm は autoload で C-c , を押した時点でロード
されるとか、ggrep や buf2html はメニュー設定+αまでロードして、
本体は autoload させている。
こうしないとダンプサイズが10M超えてしまう。
今は 6Mくらい。
そういえばダンプサイズにも影響でるね。 ダンプサイズは気にしてなかったから忘れてたけど。 それにしても、ダンプサイズが10Mってすごいなー。 俺も色々拡張してるけど、ダンプサイズは3.16Mぐらいだった。
multi-modeの導入方法が良く分からないです。 どなたか教えてください。
教えて君は迷惑
励まし合うスレの人かな
>>679 multi-mode.l の中にインストール方法も書いてるから
それ読んでもわからないことあったら
何をして何がわからないかもう少し詳しく書いて
flex-fillはもう公開停止?なのかな?
Shift-F6 で start-selection-as-region 開始して、 カーソル移動してセレクション作った状態だと、 pre-selection-p が t にならない気がするのだけど、そういうもの? こういうのってどこ調べればいいんだろう……
selectionがある時と無い時で動作を変えたいので win-key.lを参考に書いてみたんですが どう変数を追加したらいいかわからなく困っています。 既にある変数に何かを追加する場合はどうすればいいのでしょうか? (defvar *my-default-selection-keymap* (let ((keymap (make-sparse-keymap))) (define-key keymap #\C-f 'function-foo) keymap)) ;(setf selection-keymap (+ *default-selection-keymap* *my-default-selection-keymap*)) (define-key esc-map #\C-f #'forward-char)
>>683 その目的では get-selection-type が使えるみたい。
selection-start-end の定義からさかのぼってみると、
ありました。
>>684 お、改良版があるのですね。試してみます、サンクス。
うーん、emacs の transint-mark-mode があれば簡単なんだけど、
セレクションとクリップボードとリージョンで訳が分からなくなりつつ……
>>685 セレクション時で常に同じ動作させるなら、
(setq-default ed::selection-keymap (make-sparse-keymap))
して、あとは
(define-key ed::selection-keymap 〜〜)
としていけばいいのでは。
win-key.l を持ってないので知らないけど、これを使っているならたぶん
(define-key ed::selection-keymap 〜〜)
だけでいけると思う。
使用する状況で、keymapを一部変えたい時は、
マイナーモードというのでやる事になる。
minor-mode-map で grep したらいろいろ出てくるんじゃないかな。
>>688 できましたありがとうございます!
define-key で既に有る keymap に追加することになるんですね。
USBで、xyzzy使う方法だけど @echo off cd > xyzhome.dat copy xyzzy.set+xyzhome.dat xyzstart.bat echo start xyzzy.exe>> xyzstart.bat call xyzstart.bat del xyzstart.bat del xyzhome.dat これあるじゃん? %~dp0使ったら、もう少しスマートにかけないかな・・・
691 :
名無し~3.EXE :2007/01/11(木) 23:41:37 ID:GnOUmjNJ
未テストですが、 @echo off set XYZZYHOME=%~dp0 start xyzzy.exe %1 %2 %3 %4 %5 %6 %7 %8 %9 な感じでいけないですかね。
あんまりdosコマンドに詳しくないけど、98seじゃ使えないコマンドとかあったよね? まぁ、もう98se以下のOSは考慮に入れなくてもいいのかもしれないけど。
>>691 古いwindowsを切り捨てるのなら %1 %2 ... は %* でいいんじゃね。
NetinstallerでR
↓
おっ、なんか新しいの増えてるぜ
↓
作者のサイトチェックするか
↓
http://miyamuko.s56.xrea.com/xyzzy/images/drive-info.png ↓
ちょwwwおまwwwwwwwww
↓
大喜びでインストールして drive-info-popup-disk-free-space-kuma-- 実行
↓
キタ━━━(゚∀゚)━━━!!
↓
1回やればもう満足なのでアンインス(ry
∩___∩ /)
| ノ ヽ ( i )))
/ ● ● | / /
| ( _●_) |ノ / いまここクマー
彡、 |∪| ,/
/ ヽノ /´
>>694 これを応用してgrepなどの進行状況をクマーで表示して欲しいな。
分離したがこんなものを作って誰が得をする? (defparameter *kuma-template* " 0 25 50 75 100% ┝━━━━━┿━━━━━┿━━━━━┿━━━━━┥ _ ∩___∩ /)\n_ | ノ ヽ ( i )))\n_ / ● ● | / / _ | ( _●_) |ノ / ~A\n_ 彡、 |∪| ,/\n_ /__ ヽノ /´\n_(___) /") (defparameter *kuma-canvas-width* 36) (defparameter *kuma-border-width* 90) (defun kuma-string (r &key header footer kuma border kanryo) (concat header (if header "\n") (substitute-string (format nil *kuma-template* (or kuma (if (>= r 1) "完了クマ――!!" "ここクマ――!!"))) "^_" (make-sequence 'string (floor (* *kuma-canvas-width* (if (< 1 r) 1 r))) :initial-element #\ )) (if footer "\n") footer "\n" (make-sequence 'string (or border *kuma-border-width*) :initial-element #\-))) (defun kuma-popup (r &key header footer kuma border point) (popup-string (kuma-string r :header header :footer footer :kuma kuma :border border) (or point (point))))
↑のテスト用 (let ((n 50)) (dotimes (i n) (sleep-for 0.01) (kuma-popup (/ (+ i 1) n) :header "このあたりがヘッダ。文字かける" :footer "このへんがフッタ。文字かける")))
698 :
名無し~3.EXE :2007/01/13(土) 06:03:53 ID:i8XjTbWD
ext-lisp-maketags.l だけど、define-history-variable にも対応してくれないかな。
701 :
名無し~3.EXE :2007/01/13(土) 14:51:43 ID:PM9s0JYg
作業中のバッファの現在の行(カーソルのある行)を ruby textfilter.rb に引き渡して結果(標準出力)で元の行を置換したいのですが どのようにすればいいのでしょうか。 外部コマンドの結果を任意のバッファに出力する命令はいくつかあるようですが カレントバッファの現在の位置に出力することは可能ですか?
702 :
699 :2007/01/13(土) 15:27:54 ID:oMvRBt8t
>>700 ありがとうございます。動作確認しました。
merge-tags.l などもそうですけど、lisp書こうとするときに便利に使わせてもらってます。
>>702 お。正直なところ、どちらも使ってくれてる人がいるとは
思ってなかったので、とてもはげみになる。ありがとう。
>>701 execute-subprocess が近いけど、出力するバッファを erase-buffer
しているから、これだと現在位置に出力する事はできないね。
make-process と process-filter 使えばその手はなんでもできる。
けど、めんどう。
(let ((proc (make-process "bash.exe"))
(ostream (make-buffer-stream (selected-buffer) (point))))
(set-process-filter proc #'(lambda (p x) (format ostream "~A\n" x)))
(process-send-string proc "ls\n")
(sit-for 0.01)
(kill-process proc))
ext-lisp-maketags.lってどこにあるんですか?
>>704 netinstallerから。
Wikiのサイト一覧の 思いつくままxyzzy
706 :
699 :2007/01/13(土) 18:33:18 ID:oMvRBt8t
>>704 先を越されたけどNetInstallerからですね。
ついでにいうとldoc2,stack-trace-modeも使わせてもらってます。
あと、parenはもちろん、ref2doc,re-builderなんかもlisp書くにはいいですね。
707 :
703 :2007/01/13(土) 18:39:33 ID:PM9s0JYg
>>703 ありがとうございます
ちょっと難しくて、私にはうまくできなかったので、結局以下のようにしました
(defun insert-subprocess (cmd)
(interactive "scommand: ")
(let (bol eol line)
(setq bol (progn (goto-bol) (point)))
(setq eol (progn (goto-eol) (point)))
(setq line (progn (buffer-substring bol eol)))
(delete-region bol eol)
(save-window-excursion
(execute-subprocess (concat cmd " " line))
(sleep-for 0.1)
(setq line (buffer-substring (point-min) (point-max))))
(insert line)))
作業バッファいちいち作るのは気持ち悪いのですが、しかたなしとします。
あとはsleep-forではなく、確実にsub processの終了を待つことができるとよいのですが・・・
708 :
701 :2007/01/13(土) 18:40:04 ID:PM9s0JYg
↑名前701でした。
>>707 かなり適当ですが、
例えばこんな感じにすれば待ち合わせできると思います。
(setq line "")
(while (zerop (length line))
(sleep-for 0.1)
(setq line (buffer-substring (point-min) (point-max))))
filter-regionて内部でcall-processを使ってるんですね。
call-processなら:wait tで待ち合わせできますよ。
711 :
710 :2007/01/13(土) 19:59:17 ID:oMvRBt8t
上のコードだと、結果が何も返らないときに無限ループになる ような気がするので、 (let ((line "") (wait 0)) (while (and (zerop (length line)) (< wait 3)) (sleep-for 0.1) (incf wait 0.1) (setq line (buffer-substring (point-min) (point-max))))) の方がいいかも。 703のコードとか、call-processが使えるならその方がいいと思いますが。
>705,706 どうもありがとう。 いただきました。
>>709-711 filter-regionでどんぴしゃのようです
while...sleep-forも勉強になりました
ありがとうございました
>>698 あれ、折り返されちゃうの?
(defparameter *kuma-border-width* 90)
の数値を上げてもダメかな。
C-u M-| ってなかったっけ?
>>698 >>714 *kuma-template* 内の _ の直前の空白を2箇所削除すればOK
>>716 これでいいのかな。
(defparameter *kuma-template*
(concat "\n 0 25 50 75 100%\n"
" ┝━━━━━┿━━━━━┿━━━━━┿━━━━━┥\n"
"_ ∩___∩ /)\n"
"_ | ノ ヽ ( i )))\n"
"_ / ● ● | / /\n"
"_ | ( _●_) |ノ / ~A\n"
"_ 彡、 |∪| ,/\n"
"_ /__ ヽノ /´\n"
"_(___) /"))
718 :
名無し~3.EXE :2007/01/14(日) 15:25:00 ID:OUHZNaS4
719 :
名無し~3.EXE :2007/01/14(日) 15:25:47 ID:OUHZNaS4
ずれるというか、見切れる?
>>718 なんか俺のクマーと違う、特に目のあたりが。。
>>718 "_" の横幅が狭いフォントだからかな。
(defparameter *kuma-border-width* 90) を
(defparameter *kuma-border-width* 120) くらいにすりゃズレないと思われ。
722 :
名無し~3.EXE :2007/01/15(月) 12:31:45 ID:JZ8tDTCV
723 :
名無し~3.EXE :2007/01/16(火) 11:00:16 ID:hudprf8q
C++モード(またはそれを継承しているPHPモード等)でインデントの挙動を変更したいんですが、どうすればいいんでしょうか? 例えば if (1) { となるようにしたいんですが、 if (1) { となってしまいます。 たぶん元々は if (1) { のような、コーディングスタイルを想定しているのだと思うのですが、自分のスタイルとは合わないもので。
>>724 おおお!.xyzzy に
;; 括弧の設定
(setq c++-brace-offset -2)
を追加していけました。
ありがとうございました!
start-timer に関数登録すると初回の関数呼び出し時だけ2回呼ばれません?
再現するテストコードを。
>>726 (defun test ()
(message-box "OK"))
(stert-timer 5 'test)
こんなんです
初回呼び出し時のみ OKダイアログが2つ連続して出ません?
今scratchで書いて試した感じだと一回しか出ないよ。
今scratchで書いて試したら2回出たよ。
>>728 俺も出ないよ
別のPCでやってみるか
OSとかPC環境も書いてくれ
俺は2回でた。osは2000
俺も2回。xp, 0.2.2.235
こんなにバラバラなのも珍しいなw アーカイブ展開したてのデフォxyzzyでも2回出たよ。 osはxp.
2回出た。win2k。
2回出る。xp, 0.2.2.235 第三引数(ONE-SHOT-P)をtにすると1回だけ。
win2k 2回 質問です replace-dialog で 「バッファの先頭から」に初めからチェック入れておきたいので (setf *replace-whole-buffer* t) として見ましたがダメでした。 誰か設定方法教えてくれませんか
どういう風に駄目なのか分からないけど、名前の衝突が出るなら replace-dialogを読み込んでおかないと駄目。
機能1回しか出ないと書いたけど 今見たらコピペで試したのが問題だった。 (defun test () (message-box "OK")) (start-timer 5 'test) こういうことだよね?エラーの報告とOKを見間違えていた。
>>738 (setf ed::*replace-whole-buffer* t) でいけました
ありがとうございました
>>739 書き込むときstart-timerのスペル間違えました
それで OK のダイアログ2回でませんか?
2回出るっていうのは、5秒後にももう一度出るって事か? 上の実行のさせ方だと、何回でも message-box がでるけど。 これでも2回出るの。あと、何回でも (start-timer 5 'test t) を 評価したら、その分何回もでるんだが。 こうすれば、1回の評価で1回しか出ない。 (defun test () (message-box "OK")) (start-timer 5 'test t) XP SP20.2.2.235 だけど、1回だけ。
うちも XP SP2 の 0.2.2.235 だけど、2回でる 2回出るっていうのは、登録してから5秒後にOKが出て OKを押すともう一個OKが出るって事でいんだよね?
745 :
742 :2007/01/19(金) 19:21:52 ID:wk9SJjka
拡張を全部はずして実行したけど、やっぱり1回。
>>745 たぶん勘違いしてるから、はじめから読み返して。
747 :
742 :2007/01/20(土) 22:47:03 ID:TYnlnM2b
サロゲート文字を試してみたいのですが、 xyzzyで使える等幅のフォントでサロゲート文字まで入ってるフォントって何かないでしょうか?
>>748 サロゲート文字が入ったフォントがどれかは知らないけど、
メイリオは入ってるんじゃないの。
等幅じゃなくても、xyzzy.ini直接編集すれば指定できるし。
サロゲート文字がちゃんと扱えるか、表示、移動、buffer-substring、
subseq、scan-buffer 等報告してくれるとありがたい。
>>749 コピペした文字をフォントをメイリオにしたメモ帳に持って行くとちゃんと表示されたので
フォントだけ設定すれば表示はできるんじゃないかなって思った。
ini直接編集で、明日会社で試してみる。
メモ帳ですらBackSpaceで半分ずつ消えていく変な挙動なんだよなぁ。
scheme-mode って今は手に入れられない? なんかリンクも切れちゃってるし見つからないんだけど。
質問させて下さい。
version 0.2.2.235を使用しています。
Gresregにて正規表現を使い、単一行モード(改行コードを無視し、ファイル内容を単一行として扱う)
にて置換を行いたいと考えているのですが、そのようなことは可能なのでしょうか?
Perlでいうところの、$ext =~ /test/s;
このような修飾子sの働きをして欲しいのです。
>>1-2 のテンプレを一通りみたのですが、そのような内容を見つけられませんでした。
もし宜しければお力添えして頂けると幸いです。
754 :
750 :2007/01/25(木) 00:11:22 ID:dGQs+e4H
>>749 ini直接編集でフォントの指定を全部メイリオにした、普通の文字はメイリオで表示される。
でも、xyzzy上ではサロゲート文字は化けたまま。表示もできなかった。orz
化けた文字をクリップボードエンコーディングをUTF16でコピペするとメモ帳では表示される。
環境はXP上でメイリオだけ突っ込んだ状態。Vista上での挙動は未テストだけど多分同じじゃないのかなぁ。
>>752 ありがとう。
定期的にここは見てるんで過去ログチェックをしなかったんだけど
記憶からすっぽり落ちていたようだ。
>>753 1.ファイルを開く
2.改行コードのあるポイント位置を変数に保存する
3.改行コードを置換して一行テキストにする
4.置換を行う
5.2で保存したポイント位置がずれたら修正する
6.置換後のテキストに、保存したポイント位置に改行コードを挿入する
こんな感じでどうでしょう?
というか、Emacsで同等の機能はないんですかね?
あればそれを移植するのが早いと思いますが。
perlでやればいいと思う。 適材適所だよ。
>適材適所 細木や江原やあるある大辞典並みにうぜぇ
>>753 外してると思うけど
[^\n](改行以外の文字)
を使えば、何とかなる場合も多いのではないかと思った。
>>753 違うのは ^, $, . の処理?
^, $ については \\` と \\' で代用できるかも。
(string-match "xyz$" "xyz\nabc")
=> 0
(string-match "^abc" "xyz\nabc")
=> 4
(string-match "xyz\\'" "xyz\nabc")
=> nil
(string-match "\\`abc" "xyz\nabc")
=> nil
. を改行にマッチさせるのは無理っぽいので \\(.\\|\n\\) と書くしかないかな。
変換関数を書いておけばいいかもしれない。
761 :
名無し~3.EXE :2007/01/26(金) 02:29:17 ID:ANBwiqty
>>753 perlとかrubyでやれば一発でできる
xyzzyの出番ではない
>>753 xyzzyの正規表現はEmacsのと同じで古式ゆかしいやつだから無理だよ。
つーか、いい加減Perlとかと同じ「普通の」正規表現もサポートしてほしい。
もうそういう時代なんだから。
boost::regexとかonigurumaとか、いくらでも実装あんだし。
あとLispにリテラルも欲しい。C++でもそうだが、文字列リテラルとして正規表現を書くのはきつい。
検索語を一文字ずつ取り出して a\\(\\|\n\\)b\\(\\|\n\\)c\\(\\|\n\\)d\\(\\|\n\\)e\\(\\|\n\\) みたいにすれば、一応 abcde abc de のどちらにもヒットしますね。 ただ、これだと正規表現は無理っぽいですが。
_, ._ ( ・ω・) ○={=}〇, |:::::::::\, ', ´ .,.,,.,.,..,.,,.,,.,,(,@)a\\(\\|\n\\)b\\(\\|\n\\)c\\(\\|\n\\)d\\(\\|\n\\)e\\(\\|\n\\) いや、ごめん
スニペットの作者さんとこにあるスクリーンキャストって分かりやすくて良いですね もっと公開してるサイト無いでしょうか
outline-tree2のスクリーンキャストがあったと思います。 他は見たことないですね。
2009年頃はやるんじゃなかったけ lisp
オープンソースなんだから気に入らないなら自分でいじれ
何が意味ないのか
なんか機嫌悪いなみんな。(´・ω・`)
ソフト板で聞いたけど、レスつかなかったのでこちらで。 2ちゃん閲覧だけ xyzzy 2ch-mode から Jane View に乗り換えようと 思ってるんだけど、ログの移行とか簡単に出来るのかな? Jane併用してる人いましたら、それやれる便利ソフトとか教えて。
なぜ回答がもらえないか考えないのかな・・・
>>772 過去ログにあった気もする。だからレス付かないのかも。
過去ログ読んだがhtml to datやdat to htmlじゃきれいにできないみたいなこと書いてあった。それが答え? それに代わるソフトを答えられないって事は、結局、便利なのはないorスレ住人も知らないってこと?
>>775 xyzzyはフリーソフトでサポートの義務はないので、
質問に答えるかどうかは回答者の自由。
自分としては今まで何回か回答してきたが、せっかく回答しても
お礼どころか何の返答もないことが多く、さらにLispを貼り付けるのが
悪いといわれたような気がするので特に励ましあうスレの
方で今後回答するのはやめることにした。
君も回答者に責任を転嫁する逆ギレ君の一人ですか?
xyzzyの"~/.2ch"以下とJaneの"Jane2ch.exe/Logs/2ch"以下を見てみればなんとなく分かると思うんだけどな。
>>775 煽られるのはフト板で諦めるのが早すぎだからかも
でも775の態度を見るとこれ移行誰も答えないだろうけどさ・・・
タメ口で質問しちゃ厨扱いだよな、もう半年ROMってろ
答えさせるように質問する事を考えた方が良い。 どういう風に言うと2chスクリプトがレスポンスを返すのか 日本語を研究した方が良いね。 755の場合、日本語コンパイラの性能に期待しすぎ。
質問に答えるのにもそれなりに時間を取られるが、 答えた後も、それが要望に添うものだったのかどうか確認するために しばらくスレを見ていなくてはならないのがつらい。 質問をする以上、お礼はともかくできるだけ早く返答してほしい。 ところで、リファレンス更新されてますね。 xyzzyには色々とお世話になっているので、できるだけ協力しようと は思うんですが..
>それに代わるソフトを答えられないって事は、結局、便利なのはないorスレ住人も知らないってこと? なんでこういう結論になるんだろうな? あとわざわざ書く理由が分からん
>>781 > ところで、リファレンス更新されてますね。
> xyzzyには色々とお世話になっているので、できるだけ協力しようと
> は思うんですが..
何でも良いから、行動に移そう!
784 :
781 :2007/01/30(火) 18:47:02 ID:nRxNG0EY
>>783 自分としては拡張Lispを公開したり、Wikiや2chで質問に答えたり
すでにそれなりに行動に移しているつもりなんですが。
それでも十分でないのかもしれないですが、あまりこちらに
力を注ぐと本来しなければならないことが出来なくなってしまうので..
そのうち時間と気持ちに余裕が出来たらまた何か公開するかもしれません。
>>781 俺には今はお礼を言うことぐらいしか出来ないけど
頑張ってくれ! そしてありがとう!
>>781 既に行動に移していたなんて,さすがじゃん
(string (unicode-char 228)) (replace-string "\X0164" "ä") 一行目があると「ä」が置換されません。 string と unicode-char の項目を見てみましたが 何が邪魔してるのか全くわかりません。何が原因なんでしょうか?
>>787 同じものを同じもので置換したから、
結果は変わらないように見えているだけでは?
>>788 すいません…。頭沸いてました。次からもう少し落ち着いてから書きこきます
本当は2行目は (replace-string "ä" "\X0164") でした。
出来なかった理由はEsc Esc で Evalしたとき1個目のリスト(?)しか読み込まないことを知らなかったからです。
スレ汚し失礼。。。
質問お願いします。 現在のバッファのエンコーディング(モード行に表示されている) を取得するにはどうすればよいでしょうか?
>>790 buffer-fileio-encoding
詳細はリファレンスを。
792 :
790 :2007/02/02(金) 05:57:04 ID:xAjY+v8R
Vistaでxyzzyを使うときの問題点とかまとめたサイトある?
無い
むしろ何か問題あるのなら、ここかwikiに書くと他の人の参考になるかも
Vistaで使ってるのだけれど、 C:/Program Files/xyzzy/usr/hoobar/wxp/.xyzzy.history 既に存在するファイルを作成することはできません。 とか言われる。
> C:/Program Files/xyzzy/usr/hoobar/wxp/.xyzzy.history > 既に存在するファイルを作成することはできません。 > > とか言われる。 エスパー 出番ですよ。
終了時にそのエラーが出て終了できないとか?
OK押せば終了できます。
で?
ヒストリが保存されてないとか?
ヒストリって最近使ったファイルのことですよね? それならちゃんと表示されます
↑間違いでした usr以下を消してからxyzzyを起動すると先ほどのダイアログが出なくなります。 ただしヒストリは保存されません。 考察するにProgram Files以下にファイルを作ったりすることができないよう になったみたいです。
>>803 考察しなくても常識だよ。
vista使ってないけど
>>803 新しいOS使うなら以前からの変更点くらいはチェックしてからのほうがいいぞ
やることやったうえで考えるようにしないと時間を無駄にするだけ
Vistaでxyzzyを使うときにバイナリを置く場所として 最適なのはどこだと思いますか?
>>806 説明書読まずにゲーム始めるやつと、読んでから始めるやつみたいだな。
でも、結局どちらも変らんよ。
xyzzyはゲームだろ。
xyzzyのカスタマイズは確かにゲームかもしれん
Vistaの売りはセキュリティ面で改善されていてより安全になるということ
>>807 C直下にxyzzyてフォルダを作って放り込め。
Vistaでコンパイルした人いるのかな 自分は低スペックマシンなので試せないが
試す必要はないけど、それは試さない理由にならない。
低スペックはコンパイルしない理由にはならないが Vistaをインストールしない理由としては十分。 日本語てむずかしい
ガタガタぬかしてんじゃねぇ。さっさとコンパイルしやがれ!!
今派入る
普通にVistaのことを省略してインストールできない言っているんだろう
>>815 は低レベルな釣りor漏り
>>816 くらいのレスならまだいいが。
igsearch.l ですが、outline-tree2 の無い環境だとバイトコンパイルできない模様。 igsearch-switch-olt2 をとりあえず以下のように書き換えると上手く行くっぽい。 (defun igsearch-switch-olt2 () (unwind-protect (isearch-exit) (if (modulep "outline-tree2") (progn (in-package "outline-tree2") (outline-tree-isearch-forward) (in-package "editor")))))
指先が xyzzy を求める。
minibuffer-messageって何に使うの? メッセージでてもすぐ消えるんだけど。
>>824 コマンド終了時にクリアされるようだから,
終了まで時間のかかるコマンドなら使い道があるのかも.
>>824 minibuffer-promptとほぼ同じ。
minibuffer-promptでlispフォルダ内をgrepしれ。
>824 messageを出すのにステータスバーじゃ小さくて嫌なときに、sit-forと組み合わせて使うことがある。
igsearchいいですね。 isearce-decoから乗り換え決定しました。
Vistaに最適化したインストーラー作って欲しいな。 環境変数とか設定ファイルの保存場所とか自動でやって くれるやつ。
逆におれは isearch-deco に戻そうかと思案中。 一覧は カレントバッファに対するgrepで作れるけど、 画面分割して表示するのが当たり前の自分の使い方では、 検索して見つかった時に igsearch を中止すると、カーソル がどこにあるか探すことになって不便。 ウィンドウを仕切りなおして一覧表示するかどうかのデフォルト値 と、検索中にそれを切り替えるコマンドが用意されるといいんだけどな。
>>830 > 検索して見つかった時に igsearch を中止すると、カーソル
> がどこにあるか探すことになって不便。
行カーソルを表示したり、キャレットをブロックにしてキャレットの色を
目立つ色に変更するとだいぶ良いと思うのですが、どうでしょう。
> ウィンドウを仕切りなおして一覧表示するかどうかのデフォルト値
ウィンドウの仕切りなおしがいらないってことでしょうか?
一覧表示自体がいらないってことでしょうか?
前者なら一覧が変なところに表示されたら見づらいと思うのですが…。
後者なら*igsearch-grep*です。
>>831 > 行カーソルを表示したり、キャレットをブロックにしてキャレットの色を
> 目立つ色に変更するとだいぶ良いと思うのですが、どうでしょう。
ある程度それはしてますけど、キャレットを探すことで思考が中断されるの
は物忘れの激しい自分には辛いです。
> 一覧表示自体がいらないってことでしょうか?
> 後者なら*igsearch-grep*です。
*igsearch-grep* でした。それで自分のしたいようにできないかとちょっと
コード書いてみましたが、まだ少しうまくいきません。
やりたいことは、C-s サーチ中に 表示・非表示を切り替えるという事です。
833 :
830 :2007/02/11(日) 19:04:38 ID:8mUfXBMn
;; デフォルトは一覧表示しない。 (setq *igsearch-grep* nil) ;; *igsearch-abort-hook* を追加。 (defvar *igsearch-abort-hook* nil) (defun igsearch-abort () (let ((last *isearch-last-match*) (curstr *isearch-current-string*)) (loop (unless *isearch-status* (unless (string= curstr "") (setq *last-search-string* curstr)) (run-hooks '*igsearch-abort-hook*) (quit)) (and (not last) *isearch-last-match* (return)) (igsearch-pop-status))))
834 :
830 :2007/02/11(日) 19:05:36 ID:8mUfXBMn
;; *igsearch-grep* の値をトグル (defvar igsearch-grep-old nil) (defun toggle-igsearch-grep (&optional (arg nil sv)) (interactive) (if (null igsearch-grep-old) (setq igsearch-grep-old (list *igsearch-grep*))) (setq *igsearch-grep* (if sv arg (not *igsearch-grep*))) (ed::igsearch-show-candidate)) ;; 元の状態に戻す (defun recover-igsearch-grep-status () (when (consp igsearch-grep-old) (setq *igsearch-grep* (car igsearch-grep-old) igsearch-grep-old nil))) (add-hook '*igsearch-abort-hook* 'recover-igsearch-grep-status) (define-key ed::*isearch-map* #\M-C-t 'toggle-igsearch-grep)
835 :
830 :2007/02/11(日) 19:53:45 ID:8mUfXBMn
自分のしたいことできました。お騒がせしてすみません。
837 :
830 :2007/02/11(日) 20:48:28 ID:8mUfXBMn
>>836 こちらではちゃんと使えています。
しっかりと見てるわけではないですが、hookを追加する方だと色々と修正が出
るのに対し、この方法だとそれはないのですね。
でも、切り替えた時点で一覧を表示するようにはできないでしょうか。
切り替えた時点で一覧を見たいことは確定しているので、もう一度
C-s 等を押すまで表示されないのは少し不便です。
839 :
830 :2007/02/11(日) 21:22:21 ID:8mUfXBMn
>>838 一覧表示にトグルすると、現在の候補もちゃんとハイライト
されていて、まさに望む動作になりました。
ありがとうございました。
KaMailV3でpngファイル添付して送信すると壊れません?
iniファイル編集してメイリオ使えるようにしたいんですが、 [Font] ... Japanese=19,"FixedSys",128 の部分の "19" と "128" は何を意味するのでしょうか? 適当にいじると文字化けしたりサイズが合わず、うまくいきません。 アドバイスお願いします。
>>841 メイリオを等幅にできるパッチがあるからMeiryoKeで検索してみるといい
843 :
841 :2007/02/13(火) 17:45:34 ID:nwWlKj4Q
>>842 氏
レスありがとうございます。
MeiryoKe を手に入れましたが、meiryo のバージョンが 5.0 でないため
パッチを適用できませんでした。
そもそも、メイリオは等幅ではなくて、そのままでは xyzzy では
使えないものなのでしょうか?
無理。
>>841 = 842
xyzzy ではプロポーショナル・フォントは使えない。ini ファイルを
手動でいじっても、レイアウトが崩れてちゃんと表示できない。
だから MeiryoKe で Meiryo ver. 5.0 にパッチをあてて等幅に
するしかないよ。5.0 は手に入りづらいけど、善意で公開して
いる人がいる。
リンク張ると迷惑がかかるから、「メイリオ フォント 5.0」で
ぐぐってみて。
Katex modeについて質問します。 Katex本体を ~/site-lisp/katex ディレクトリに展開しました。 .xyzzyに (push "e:/xyzzy/site-lisp/katex" *load-path*) site-lisp/siteinit.lに (push "e:/xyzzy/site-lisp/katex" *load-path*) (require "elisp") (push '("\\.tex$" . elisp::katex-mode) *auto-mode-alist*) (autoload 'elisp::katex-mode "katex" t) (setq elisp::tex-command "platex") を追加し、shift+ctrl+右クリックで、ダンプファイルを作り直しました。 xyzzyを起動し、.texファイルを開くとKatexモードになります。ここでxyzzyを終了し、 再起動した後 .texファイルを開くと 「ファイルが見つかりません "katex"」 ダイアログが出現し、Fundamentalモードでファイルを開いた状態になります。 以後、何度 .texファイルを開いても、Katexモードは出現しません。 (ダンプファイルを作り直すとKatexモードで開けますが、再起動すると同じ症状が出ます。) xyzzyを再インストールし、クリアな状態でKatexをインストールしても、同じでした。
>>847 referenceの*load-path* と*default-load-path* を見たところ、
siteinit.lでは *default-load-path* にpushしなきゃだめらしいよ。
>>848 siteinit.lを
(push "e:/xyzzy/site-lisp/katex" *default-load-path*)
に書き換えましたが、
「ファイルが見つかりません "elisp"」
ダイアログが出て、xyzzyが起動しませんでした。
>>849 (setq *default-load-path* '("e:/xyzzy/site-lisp/katex"))
ではどうかな?
851 :
841 :2007/02/15(木) 02:24:37 ID:xErDsp+G
>>845 氏
コメントありがとうございます。
等幅フォント、見つけることができますた。
852 :
847 :2007/02/15(木) 07:25:40 ID:ahvwrDhB
環境変数XYZZYHOMEを登録してませんでした。 特に不具合なく動いています。 ごめんなさい。
>>853 そこリンク禁止じゃね?
マナーくらい守ろうよ
ソフトの寿命を縮めるだけ
grepした結果の1行がすごく長い行で F10でジャンプしようとしてもできないのですがなんとかならないでしょうか?
勝手にリンクしてしまい、申し訳ありません 禁止事項についてどこで確認できるのか教えてください。
リンク禁止って、今時そんな事を文字通りの意味で言っているとも思いにくい。 ありえんだろ。実際。
858 :
名無し~3.EXE :2007/02/16(金) 08:11:22 ID:7cyZJy3P
俺もサイト作ってるけど 一般的な掲示板とかならいいんだけど 正直2ちゃんで晒すのはやめてほしい。 本人はよかれとおもってるから何も言えないんだがな・・・
860 :
名無し~3.EXE :2007/02/16(金) 14:05:04 ID:7cyZJy3P
俺は別にさらされてもいけど、宣伝乙、作者乙っていわれるのがいや。
861 :
855 :2007/02/16(金) 14:34:41 ID:z/vDfAgA
自己解決した。 *error-regexp-list*の2番目の正規表現がgrep結果の内容の:とマッチしててgrep結果の内容までファイル名に渡していた。 これを書き換えたら直った。
864 :
名無し~3.EXE :2007/02/17(土) 00:27:49 ID:yxfBvzC3
(while t (dolist (c '(33478 33449 33471 33474 33453 33471 33476 10)) (princ (code-char c)) (sit-for 0.03)))
winkey.l を読み込んだ状態で selection
すいません途中で送信してしまいました selection を killの履歴 ではなく clipboard にだけ入れたいので 下のように書いたのですが、それでもkillの履歴に入ってしまいます copy-selection-to-clipboard の時点で履歴に入ってしまうようなんですが 何故そうなるかがわかりません。 どこが間違ってるか教えてもらえませんでしょうか (defun copy-and-delete-selection-to-clipboard () (interactive) (save-window-excursion (copy-selection-to-clipboard)) (delete-selection) (define-key ed::selection-keymap #\C-x 'copy-and-delete-selection-to-clipboard)
>>866 コピー失敗してました
誤 (delete-selection)
正 (delete-selection))
でした。
すげぇ
>>762 Common Lispの言語仕様どうなってるんだっけ?
もし正規表現の方法まで細かく規定されてるんなら
それ以上はしないんじゃない?
>>870 正規表現はなかった気がする。
CLtL2 を検索したけどそれらしい記述も見当たらないし。
873 :
866 :2007/02/19(月) 04:17:48 ID:yyLj8lCP
>>868 ありがとうございます
…うちでも再現しなくなってました。 理由はわかりません ○| ̄|_
ldoc2のバージョンアップで M-x netinstallerとか M-x 2chが出来なくなったような。 …こういうときにNetInstallerから前のバージョンに戻すキーがほすぃ。
俺はなってないな てかバックアップしとけばいいだけ
>>875 あれ。なんか変なことをやってるのかな。
バックアップはNetInstallerがしてくれてるので、それを一発でってことです。
>>872 THX
じゃあCommon Lispの範囲内にはおさまるんだ
作者さんの気分でやってくれるかもね
つーか(Lispに限らず)正規表現Perlレベルでどっか標準化しないのかな?
>>874 うちでは起動直後はM-x netinstallerできるが、任意のバッファを
開くとできなくなるような気がした。
それと、バッファによってインデントがおかしくなることがある気がする。
*buffer-package*をdefvar-localに戻して、make-local-variable
を削除したら動いている感じ。
ついでに*this-command*がmouse-nopのときにもドキュメントを
表示してくれるとうれしいな。
>>874 > ldoc2のバージョンアップで
> M-x netinstallerとか
> M-x 2chが出来なくなったような。
使っている拡張によって出たりするようです。
原因を完全に追うところまではしてないので、はっきりとは言えませんが、
おそらく原因となっていた部分を戻したので、今度は問題ないと思います。
netinstaller から更新してください。それができない場合は、
XYZZY/site-lisp/ni-autoload/whimsical_xyzzy/ldoc2.l
を削除 & ダンプしたら、netinstaller 使えるでしょうか?
ちなみに、旧バージョンは以下にもあります。
http://www.jaist.ac.jp/~m-nakano/ni/ldoc22006.11.21.zip
>>878 > *buffer-package*をdefvar-localに戻して、make-local-variable
> を削除したら動いている感じ。
まさにそれをしました。
> ついでに*this-command*がmouse-nopのときにもドキュメントを
> 表示してくれるとうれしいな。
本日、 2回目の更新で対応しました。
>>877 そうはいうがな、Perl5のそれを元にして微妙に拡張していたりする
Javaとか.NETがあったりするし、PerlはPerlで5.10.xでまた微妙な
拡張をするようだ。マイナーなところではPythonとか鬼車も微妙に違いが
あるしね。
で、「誰が」標準を定める団体(ISOとかECMAか?)に仕様を提出すればいいと?
そもそもPerl自体がOpengroupとかで挙げられている必須のツールに
入ってないんじゃなかったっけ?
>>881 Boost.Regexでは、Perl式のことをECMAScript式とも呼んでるから、
すでにECMAにあるものと考えていいんじゃないかと思う。
少なくともBoostの中の人はそう考えてるっぽい。
884 :
881 :2007/02/22(木) 01:23:11 ID:YMp6Elkd
>>882 団体名でECMA出しておいて、ECMAScriptのことはすっかり忘れていた。ツッコミ感謝。
Boostは良く知らないのだけど、まあそれなりの「整った仕様」だとしても
それはBoostなりECMAScriptの一部じゃない?
そりゃあ何もないよりは良いかもしれないけど、「(Perl5互換の)正規表現のリファレンス」
にするにはちょっと弱いんじゃないかなあ。まあPOSIXのあれもシェルとかユーティリティ
部門に押し込められているけど、各ツールで共通にしているわけだし(2つの大別はある)。
ミニバッファ上でfind-fileとかしてる時に、tab補完でディレクトリショートカットが展開されないのが 我慢ならなかったので(調べても*before-find-file-hook*に追加する奴しか見つからなかったし)、 入力にディレクトリ.lnkがあったら全て展開していくlispを書いてみた。 需要があるかどうかわからんけど、wikiのtipsに上げてみたので欲しい人はどうぞ。
>>884 Boostの正規表現で参照されてるのは
ECMA-262でその仕様の中に正規表現についての記述がある。
BoostがそのうちC++の標準に含まれてBoostの正規表現も仕様に載るだろうと思うけど。
>>886 ん? ECMA-262ってECMAScriptじゃなかったっけ?
わかりづらいかき方で申し訳なかったが、ある言語の仕様の一部としてあるんじゃ
ちょっと立場的には弱いんじゃないの? ということ。
Boost経由でC++0xに入るなら影響はでかいだろうけどさ。
テキストファイルを開いている最中、たとえば #include "hoge.h" とかあったときにカーソルが矢印のとこさしていた場合 ↑ ここでなにか lisp-command うつと新しい buffer 開いて移動してくれる みたいなものってないでしょうか? vim でいう [ f みたいなもので "relative-path" or '...' だと current path -> 登録されているディレクトリを検索し、 マッチした最初のファイルに飛んでくれるようなものを期待しています。 ここまでなくてもいいので、似たようなものってないでしょうか? 僕のクリック力では見つからなかったのであるかないかだけでもよろしく お願いします。
ありがd
移植版のffapってたまにもっさりなんだよなぁ。
>>891 昔書いたやつが利用価値無いかと思ったけど、
そうでもない場合がありそうなので netinstaller で公開してみました。
open-pattern-path です。よかったらどうぞ。
>892 どうもありがとうございます。 diaryに書いていただいたコードを貼り付けてみたら軽快になりました。 ちなみに以前は、たとえば(require "ffap")だったら、 "ffap"の辺りでC-xC-fするとさくっといけるのに対して、 "require"のところだともっさりしていました。
ちょっとした勘違いをしてる人が
"require"のところでC-xC-fしたときにミニバッファに"d:/hoge/ffap.l"が出ることを期待しているわけじゃないです。 この場合、"d:/currentdirectory/"と出るわけですが、これが出てくるまでにややもっさりする、という話です。
>>895 その場合はrequireで検索してて、
requireっていうファイル見つからないために
登録されてる全てのディレクトリから検索してるせいでもっさりしてるんだと思う。
897 :
名無し~3.EXE :2007/02/27(火) 23:03:09 ID:fVZASlF+
勘違いってのは、892さんとffapの作者さんとは別人だって ことじゃないの?
勘違いを勘違いしているのは気づかんかったわ
最近、板更新したら2ch-modeで2ch見れんくなったんだが、 話題として出て無いってことはおれん所だけなんかな。
bbsmenu.htmlは新しくなっているはずなのに、板一覧を更新して
もそれが反映されないことがあったので調べてみた。その結果、ペ
ージの内容が更新されていてもサイズが前と全く同じ場合に更新さ
れていないと判断されてしまうことがわかった。普通は更新されたら
サイズがちょっとは変わるものだが、
ttp://pc10.2ch.net/ →
ttp://pc11.2ch.net/ みたいに1文字変わるだけの更新だったりすると、サイズが変わら
ないため板一覧が更新されないという現象が起こってしまう。
修正は、http-get()を
; バイト数での比較
(when (and *http-compare-size*
(not gzip-p))
(not (equal *menu-url* url)));追加
(when (and (not force)
とすればよいと思われる。
で、otherbbsにも反映しようと思ったのだが、添付にパスワードが
必要になったみたいで添付できない。これって○○を入れろとか決
まってたんでしたっけ?
>>899 BBSPINKが見られなくなったという場合は
otherbbs を使ってください or それを参考に 2ch-mode を修正してみてください。
それ以外は
>>900 を除いて自分の環境では特に問題は感じていませんが…。
ちなみに otherbbs を使う場合は、
>>900 の修正は otherbbs の方に行ってください。
>>900-901 ご丁寧にありがとう。
でも、pcXX.2ch.net鯖の板が見れなくなってるみたい。スレ一覧の形式がわからんよってなる。
どちらかというと、bbsmenu.htmlが更新されたせいで見れなくなってるくさい。R押す前までは見れてたから。
ためしに、bbsmenu.html消して、再度更新してみたけど、同じ。bbsmenu.htmlの形式が変わったんかな?
とにかく、いま板一覧は更新しない方がいいですよ。
BBSPINKに関しては、いままで、bbsmenu.htmlを手編集してました。
あと、302エラーになるせいでPC関連の追っかけスレが全部過去ログになってしまった。。。
前もあったけど、これ直すの面倒なんだよね。
>>902 ~/.2ch にある bbsmenu.html に書かれてある Windows 板の URL を見てみてください。
ttp://pc10.2ch.net/win/ になってませんか?
ttp://menu.2ch.net/bbsmenu.html のデータを見ると
ttp://pc11.2ch.net/win/ になっています。この変更がファイルサイズが同じであるため2ch-modeで認識されていない
のが原因ではないかと思います。
自分の環境では
>>900 の修正をすることでいままで更新なしとされていた更新が
行われて、「形式がわからんよ」や 302 が出ないようになりました。ちなみに
*menu-file-name*、*2ch-base-url*はデフォルトです。
ただ、そちらの環境では板一覧更新後に今の状況になったというのが謎ですね…
自分の推測が外しているだけなのかなぁ…。
>あと、302エラーになるせいでPC関連の追っかけスレが全部過去ログになってしまった。。。
大量に 302 が出る場合、板移転であることが多いですね。
自分はとりあえず過去ログにしますかが出たら「いいえ」と答えて様子を見ることに
しています。
あ、Windows板の変更は一例で、他の板も似たような変更が行われているものと思います。
pc10使ってた板(PC等、ネット関係の多く)が全部pc11に移行してる。 ~/.2ch/bbsmenu.html のpc10を全部pc11に置換すれば良いよ。
>903-905 ありがとう。なんとか、見れるようになりました。 >ただ、そちらの環境では板一覧更新後に今の状況になったというのが謎ですね… これについては、こちらの恥ずかしい勘違いでした。申し訳ない。
>>900 PukiWikiで添付を開けていると機械的に広告がはっつけられるので閉じました。
良い設定や運用方法があるならなんとかしたいのですけど。
>>907 貼られてたのはコメント(の大量のURL)じゃないんですか?
>>910 なるほど、spam画像の置き場として使われている訳ですか…。
>なんとなし前と全く同じようにはできなさそうなのですが
>考えてみます。mailがお嫌いでなければ現状でも対応できそうですが…
それってメールで添付ファイルを送って代わりに添付してもらうっ
てことですよね。それはあまりにもそちらの手間がかかってしまっ
て申し訳ないです…。
>>910 CVS最新だと対策済みのハズ。
ただ、遅くても夏までに次バージョンリリースされそうな予感はする。
# 最近の更新内容から考えて。
900のってそのまま書けばいいの? )1個多い気がするけど
>>913 試すなり解読するなりして
間違ってる箇所があるなら直してくれよ。
何のための掲示板だよ・・・
>>913 (゚д゚)?
(゚Д゚)…
Σ(´Д`)
---
; バイト数での比較
(when (and *http-compare-size*
(not gzip-p);)を1個取る
(not (equal *menu-url* url)));追加
(when (and (not force)
---
でした…
_______ _______ ______
〈 スミマセン 〈 スミマセンスミマセン 〈 コノトオリデス
∨ ̄ ̄ ̄ ̄ ̄ ̄ ∨ ̄ ̄ ̄ ̄ ̄ ̄ ∨ ̄ ̄ ̄ ̄ ̄
(´Д`;)ヾ (;´Д`) ヾ
∨) ( 八) (´Д`;)、
(( 〉 〉 ノノZ乙
指摘有難うございました…
あ、otherbbsの方は最初からそうなっているのでダウンロードし 直す必要等はありません。
また〜り語るスレでxyzzyが熱いな
>CALL STACK 13: (toggle-paren nil) >CALL STACK 12: (system:*byte-code ...) >CALL STACK 11: (editor::snippet-mode t) >CALL STACK 10: (system:*byte-code ...) >CALL STACK 9: (editor::snippet-mode-on) >CALL STACK 8: (system:*byte-code ...) >CALL STACK 7: (snippet-expand) >CALL STACK 6: (system:*byte-code ...) >CALL STACK 5: (editor::ac-mode-expand-abbrev-after-complete) >CALL STACK 4: (run-hooks editor::*ac-mode-complete-hook*) >CALL STACK 3: (system:*byte-code ...) >CALL STACK 2: (#<lexical-closure: ac-mode-complete-or-indent>) >CALL STACK 1: (command-execute ac-mode-complete-or-indent) 引数が多すぎます: (toggle-paren nil) って叱られます。
>>918 paren は、そのサイトの人が公開しているやつを入れてるか?
paren.l はいっぱい種類があるぞ。
依存関係があったのか、知らなかった
silogさんとこのparenって、(turn-on-paren)って書いとけばxyzzy起動したときから有効になるの? 俺のxyzzyだと(turn-on-global-paren)て書かないと起動時に有効にならない
(turn-on-paren)は1つのバッファ。 (turn-on-global-paren)は全バッファ。 多分、元のparenのusageに(turn-on-paren)って書いてあるから 他のもそう書いてあるんだと思うけど、 求めるものは(turn-on-global-paren)だろうね。
>>922 そういうことだったんですね
ありがとうございます
*before-find-file-hook* が前回終了時のバッファを復元した時に効かなくて困ってる。 ac-mode-on を引っ掛けるのに何かいいのないですか。
復元の説明をする
さまざまの 終了時の状態を保存する にチェック入れた状態です。 *post-startup-hook* ってのが良さげなんで試してみます。
>>926 個人的にはセッションを使うのがいいんじゃないのかと思う。
ac-mode はセッションによる前回の状態の復元はサポートしているみたいだし。
意識せずとも終了時の状態を保存する仕組みとして、デフォルトセッション
という拡張lispもあるよ。
「さまざまの 終了時の状態を保存する」
の実体はセッションだから一緒だと思う。
>>924 は*before-find-file-hook*に引っかかってる関数のどれかが
non-nilを返しててそれ以降が実行されてないんだと思う。
素直に*find-file-hooks*に引っ掛けちゃまずい理由でもあるの?
929 :
924 :2007/03/10(土) 01:19:53 ID:B0BbXG74
>>927 効かないのです。
>>928 Emacs の desktop より使い勝手のいいxyzzyのセッションに惚れこんでるのと、Emacs の ac-mode より(略
とりあえず *before-find-file-hook* を評価して片っ端から調べてみます。
アドバイスどうもです。
セッションでファイルを開けば(終了時の状態を保存するも同じ)、 *before-find-file-hook* とか、*find-file-hooks* とか効かんだろ。 927 とか 928 とか分かってレスしているとは思えん。
>>930 おまいこそ分かってレスしているとは思えん。
*before-find-file-hook* とか、*find-file-hooks* とか効くぞ?
セッションがどういう風に実装されてるか追ってみたらいい。
>>931 930 ですが、勘違いでした。スレ汚してごめんなさい。
あー、恥ずかしいortz
昨夜から xyzzy 使ってるのですが、winapi をたたきたくて悩んでます。 putenv をいじりたくてあれこれしているのですがこれって可能なのでしょうか? (c:define-dll-entry winapi:_putenv (winapi:PSZ winapi:PSZ) "msvcrt" "_putenv") のようなものを想定しています。 makefile のほうに /MT と書かれているので LIBCMT をたたけるのかな???とか 考えているのですけど、できるかできないかだけでも助言いただけないでしょうか?
kernel32.dll の SetEnvironmentVariable 使えば?
>>935 返事ありがとうございます。
コード眺めていたら si:getenv で getenv をラップしていたので、
対応する putenv を使用しなくてはいけないと考えていました。
で、実際にそれは試してみたのですけれど、 execute-subprocess がうまく
うごかなくて、上記の方法を試そうと考えました。
とりあえず、シンボルは解決できたっぽいのですけれど、
putenv が -1 を返す。。。msvcrt.dll 使用
本体はいじりたくたいのですけれど、ちょっと考えます。。。
ご存知の方いたら助言お願いします。
putenv で 0 が帰ってくるところまでできたのですが、 xyzzy の本体のほうに反映させることはできなかったでした。 なので結局 execute-subprocess に環境変数を渡してそこで いじることにしました。 すれ汚してごめんなさい。
>>937 たしか起動時にgetenvして解析してxyzzy内部で保持している値を
使いまわすので後からputenvしても駄目だった気がする。
昔ソース呼んでたときの記憶なんで間違ってるかも試練が。
#いや、激しく記憶違いかも。
939 :
名無し~3.EXE :2007/03/13(火) 18:01:49 ID:TKfLvd3q
treeviewでマウスのD&Dイベントを受けとることってできますか?
treeview.dllに手入れしないと無理かな?
できるとおもいますよ。
バッファがのファイル名がなく バッファ名が *untitled* の時は 名前を付けて保存 みたいな操作にしたく思ってます。 ところが下記のLispを呼び出すと rename の 引数が足りないと怒られてしまいます。 リファレンスを見るとファイル名は必須のようですが不定のものなので 実行時に指定できるようにしたいのですが、どうすればできるのでしょうか? (add-hook '*save-buffer-no-filenames-hook* #'(lambda () (if (equal (buffer-name (selected-buffer)) "*untitled*") (rename) (save-buffer) nil)))
save-as-dialog
>>942 (call-interactively 'rename)
>>943 できればダイアログ無しでいきたいので…。
>>944 できました! ありがとうございます!
(add-hook '*save-buffer-no-filenames-hook*
#'(lambda ()
(if (equal (buffer-name (selected-buffer)) "*untitled*")
(progn
(call-interactively 'rename)
(save-buffer))
nil)))
946 :
939 :2007/03/14(水) 13:47:55 ID:PcmXhZgy
がりがりwinapiを書く必要はあるでしょう
D&Dより アイコンをファイルからとって来たり ノードごとに文字色が変えられたり 中クリックでバッファ/ディレクトリを閉じられたり ノードを並び替え出来て欲しいなー。
それはtreeview.dllではなく、outline-treeへの要望では。 dllにはフォント変更のインタフェースないみたいだけどoutline-treeではやってるし、 winapi頑張れば大抵のことは今のdllでなんとかなるのでは、という印象。
952 :
950 :2007/03/16(金) 09:09:43 ID:ekoedn9k
>>951 ばっちりです、ありがとうございました。
>>952 (・∀・)ヨカッタ
一応種明かしをすると、スレバッファには、バッファローカル変数として、
thread-host
thread-path
thread-dat
thread-bbs
等が存在します。なので、これらからURLを組み立てればOK。
今回は、otherbbsで
get-url-from-host-path-dat-bbs-num-for-browser (host path dat &optional bbs startnum endnum)
という関数が定義されているので、これに上記4つのデータを渡すことでURLを
得ることができます(この関数はホスト名がしたらばのものだったらしたらばの、まちBBSだったら
まちBBSの、それ以外だったら2chのフォーマットでURLを生成してくれる)。最後にこれを利用して
thread-url-copy()、thread-open-browser()を修正して完了となります。
py-modeバージョンうpキタ━(゚∀゚)━!!
snippet.lを導入して試しに使用方法の2を試したんだけど、なんか 最初に展開したときと2回目に展開したときの動作が違うのはなんでだろう? 動作が違うのは展開した直後にC-nを押したとき。 2回目以降はC-nを押すと移動先のデフォルト値が消されるような動作になる。
change-default-fileio-encoding で文字コードを変更したら ファイルの内容が変更された、と判断したいんですがどの関数を呼べばいいんでしょうか? 文字コード変更直後に上書きしても 「変更されてませんよ〜」と言われるので変えたいんです
(set-buffer-modified-p t)