04/05/12 18:14
ここで>>1を読んで修業すればnavi2chみたいの書けますか?
201:名無しさん@お腹いっぱい。
04/05/12 19:22
書けるよ
202:鬱­猫­2030 ◆utuPOcVnl.
04/05/12 21:20
ネット関係のライブラリが標準で用意されているのですか?
P2P関係のものを何か作りたいのですがtcp/ip層までいじれますか?
203:名無しさん@お腹いっぱい。
04/05/12 21:43
リリースされてる版だと、Emacs Lisp からできるのは TCP の connect(2) だけ。
accept(2) へのインターフェイスは 用意されてないから P2P やりたいなら
下請けの外部プログラムが必要。
204:名無しさん@お腹いっぱい。
04/05/13 00:53
M-x namazu とする代わりに F2 キーでカーソルのある単語を検索できればと思い,
namazu.el を読んだ上で以下のように設定しました
しかしこの設定で F2 キーを叩いても,
別のバッファが開いて「32 件検索しました」 という
メッセージが出るところまで行くのですが
検索結果がでません どこを直せばよいのでしょうか
(global-set-key [(f2)]
(lambda ()
(interactive)
(namazu namazu-search-num namazu-default-dir
(current-word))) )
205:名無しさん@お腹いっぱい。
04/05/13 04:54
namazu の最初の引数は PAGE-NUM みたいなので普通は 0 でしょう。
206:204
04/05/14 00:09
>>205 コメントありがとうございます
0 を入れてみたのですが改善しませんでした
出力結果は以下のようにヘッダとフッタだけ出てるようで中身が出ません
M-x namazu でインタラクティブに実行するのは問題ないのですが。。。
検索結果
参考ヒット数: [ BufferedReader: 52 ]
検索式にマッチする 52 個の文書が見つかりました。
現在のリスト: 1 - 0
ペイジ: [1][2][3][4][5][6][7][8][9][10][11][12][13][14][15][16][17][18][19][20]
207:名無しさん@お腹いっぱい。
04/05/14 00:35
namazu-search-num が 0 になってない?
(namazu namazu-search-num namazu-default-dir (current-word))
で namazu-search-num を 0 にするんじゃなくて、
(namazu 0 namazu-default-dir (current-word))
にしたら? ってこと。
208:名無しさん@お腹いっぱい。
04/05/14 14:01
読書メモの為に下みたいなのを挿入したいのですけども。
Date:2004-01-26
Page:
Memo:
で、ムチャクソ頑張って下みたいなのを書きました。
(defun bookz ()
"Retune the current time as a string in Date from."
(format-time-string "Date:%04Y-%02m-%02d\nPage:\nMemo:")
)
(defun insert-bookz nil
"Insert bookz."
(interactive)
(insert (bookz))
)
(define-key global-map "\C-c\C-d" 'insert-bookz)
なんかもっと綺麗に書く方法とかありますか?
209:名無しさん@お腹いっぱい。
04/05/14 15:39
>>208
> なんかもっと綺麗に書く方法とかありますか?
ispellを使う、とか
210:名無しさん@お腹いっぱい。
04/05/14 16:34
しかしそれでもfromを見つけられない罠
211:名無しさん@お腹いっぱい。
04/05/14 17:04
queequegも利用してみるとか? 試したことないけど。
212:名無しさん@お腹いっぱい。
04/05/14 18:41
そのまま翻訳にかけてみるのも手かもな
213:204,206
04/05/19 22:32
>>207 コメントありがとうございます
namazu-search-num が 0 になってない?
おかげさまで以下のようにしてうまく行きました
(setq namazu-search-num 20)
...
(namazu 0 namazu-default-dir (current-word))
てっきりnamazu-search-num と
namazu の第一引数は同じにするものだと思いこんでいました
ありがとうございました
214:名無しさん@お腹いっぱい。
04/05/26 15:39
(defun display-binaried-file (file)
(interactive "fFilename: ")
(with-output-to-temp-buffer "Binary"
(with-temp-buffer
(let ((addr 0)
s)
(insert-file-literally file)
(goto-char (point-min))
(while (re-search-forward "\\=\\(?:.\\|\n\\)\\{1,8\\}" nil t)
(princ (format "%08X:" addr))
(setq s (match-string 0)
addr (+ 8 addr))
(mapc (lambda (c)
(princ " ")
(dotimes (i 8)
(princ (if (zerop (logand 128 c)) "0" "1"))
(setq c (lsh c 1))))
s)
(princ (format "%s %s\n"
(make-string (* 9 (- 8 (length s))) ?\040)
(mapconcat (lambda (c)
(if (and (<= 32 c) (< c 127))
(char-to-string c)
"."))
s
nil))))))))
215:名無しさん@お腹いっぱい。
04/05/26 15:49
>>214
あんがとね。
いやー、あんた最高だよ。
216:名無しさん@お腹いっぱい。
04/05/28 20:45
>>214
イイ!!
> (mapc (lambda (c)
> (princ " ")
> (dotimes (i 8)
> (princ (if (zerop (logand 128 c)) "0" "1"))
> (setq c (lsh c 1))))
> s)
でもここはdotimesよりそのまんま
(princ (if (zerop (logand 128 c)) "0" "1"))
(setq c (lsh c 1))
(princ (if (zerop (logand 128 c)) "0" "1"))
(setq c (lsh c 1)) ....
のように羅列した方が少々早くなんない?(コードが汚くなるのは認めるけど)
1 character ずつ dotimes やってたら大きなファイルの時に
かなり遅れるかもしれんし。
217:名無しさん@お腹いっぱい。
04/05/28 21:27
速度命!ならビットパターンを表す文字列をキャッシュしといた方が簡単確実。
218:名無しさん@お腹いっぱい。
04/05/28 23:47
>>216
速度を考えるなら、大量のリストや文字列を作らないようにすることも重要と
考えている。その点で 214 は文字列に関してちょっとイージー、というか所
詮ワンショットの関数。バッファ終端の判定を楽にしたいという理由だけで8
バイトずつ文字列に突っ込んでいる。
> (princ (if (zerop (logand 128 c)) "0" "1"))
> (setq c (lsh c 1))
> (princ (if (zerop (logand 128 c)) "0" "1"))
> (setq c (lsh c 1)) ....
せめて、
(princ (if (zerop (logand 128 c)) "0" "1"))
(princ (if (zerop (logand 64 c)) "0" "1"))
(princ (if (zerop (logand 32 c)) "0" "1")) ...
だな。
(princ (mapconcat
(lambda (mask) (if (zerop (logand mask c)) "0" "1"))
'(128 64 32 16 8 4 2 1)
nil))
はありだった。
insert-file-literally は insert-file-contents-literally じゃなきゃだめ。
219:名無しさん@お腹いっぱい。
04/05/29 02:41
(do ((x 128 (rsh x 1)))
((<= x 0))
(princ (if (zerop (logand x c)) "0" "1")))
220:名無しさん@お腹いっぱい。
04/05/29 03:06
たった 256 個だから
(defconst byte-to-bit-string
(let ((v (make-vector 256 nil)))
(dotimes (i 256) ...)))
してあらかじめ作っとけばいいじゃん。
221:名無しさん@お腹いっぱい。
04/05/29 11:45
(defconst byte-to-bit-string
(let ((a '("0" "1"))
(f (lambda (&rest x)
(let ((x (reverse x)) (r '("")))
(while x
(setq r (apply #'append (mapcar (lambda (x) (mapcar (lambda (y) (concat x y)) r)) (car x))))
(setq x (cdr x)))
r))))
(funcall f a a a a a a a a)))
222:名無しさん@お腹いっぱい。
04/05/29 12:05
なんかビット絡みはついてけない(´・ω・`)ショボーン
223:名無しさん@お腹いっぱい。
04/05/29 14:07
>>219
rshって、remote shellで実行するのか?
昔から思ってたんだけど、logand/logiorってRMSのチョンボだな。
logicalじゃなくてarithmaticだろ。
またnatnumpってのもあるけど、0はnatunal numberじゃない。
224:名無しさん@お腹いっぱい。
04/05/29 14:13
>>223
> 0はnatunal numberじゃない。
定義による。
0を自然数に含めることもある。
URLリンク(www.ss.u-tokai.ac.jp)
225:名無しさん@お腹いっぱい。
04/05/29 14:32
>>224
そうか。
じゃMITじゃビットAND/ORもlogicalって呼ぶのかもしれないな
226:名無しさん@お腹いっぱい。
04/05/29 14:39
>>223
aithmatic じゃなくて bit-and/or operatorか。
227:名無しさん@お腹いっぱい。
04/05/29 16:17
(defun write-binaried-file (filename)
(interactive (list (read-file-name "Write file: " nil buffer-file-name
nil buffer-file-name)))
(let (i
buf
temp-buffer-show-hook)
(with-output-to-temp-buffer " *outbuf*"
(save-excursion
(save-restriction
(widen)
(goto-char (point-min))
(while (re-search-forward "^\\([0-F]+\\): +\\(?:\\(?:[01]\\{8\\}\\) \\)\\{8\\}" nil t)
(goto-char (match-end 1))
(setq i 0)
(while (< i 8)
(re-search-forward "[01]+")
(princ (char-to-string (string-to-number (match-string 0) 2)))
(setq i (1+ i))))
(if (re-search-forward "^\\([0-F]+\\): +\\([01]\\{8\\}\\) ")
(progn
(goto-char (match-beginning 2))
(setq i 0)
(while (and (< i 8) (re-search-forward "\\=\\([01]\\{8\\}\\) " nil t))
(princ (char-to-string (string-to-number (match-string 1) 2)))
(setq i (1+ i)))))
(setq buf standard-output))))
(set-buffer buf)
(let ((coding-system-for-write 'no-conversion))
(write-region (point-min) (point-max) filename))
(kill-buffer buf)))
228:名無しさん@お腹いっぱい。
04/05/29 17:02
>>227
save-XX 2つはwith-output-to-temp-bufferの外の方がよかった。
エラーチェックなんてほとんどしてないので、上書きとかしない方がいいかも。
229:名無しさん@お腹いっぱい。
04/05/29 17:37
たいしたことではなくてすまんのだが、write-binaried-file
はwrite-file-in-binaryの方がアメ人側からするとわかりやすいとおもた。
230:名無しさん@お腹いっぱい。
04/05/29 17:55
今になって知ったんだが、hexl-modeは外部プログラムを使ってたんだな。
2進表示より、右側に全角文字を表示をして欲しいんだが、そういうことを考
えると、やっぱelispだ。
231:名無しさん@お腹いっぱい。
04/05/29 18:08
全角文字
232:名無しさん@お腹いっぱい。
04/05/30 20:15
----BEGIN BASE64----(binary-dump.el.gz)
H4sICJnAuUAAC2JpbmFyeS1kdW1wLmVsAKVY227jNhB9tr/iwEBjqjUDy/fUcdwm
zQIF+lT0cR8qS0wsrCx5KWWzBop+e4ek7rKcRM2LKR7OhTPDM2TW6zV2fujIE/de
DsdrEYBzDtcN4EaeHz4jPsWJOOApkvD8+Bg4JzVrZKBl+mtS8sC/48/Hv+CW1enZ
B/6ET7//8YgkQiyEGfthVUWfiW9OwF/3IuRudDj6gaA5Tzy90EKP3OFSOB7fnRIB
5lt9gAUiAWNSPNNEmAgZgpGTByfBQP7gDWhBvIcPblvqjyRIxn8C22BMWPTshB5s
+AT1/lZ6HA8j0maByTl+2sCmkZrA7YpEUg1AthZyZqGx9p+NmtcGq+6/Sj8RfO/v
fPJarSSPDxSBJJJKM2lVvmkdVxhp323Yc4sUa1Fs7WI4Lu+nLjPrIDPtIDPpIGN3
kBl/XAY3HWRWb8iY71Epby1JDqIPJRnLDs4uOsh0KCZ0KCZ0KCZ0KCZ0KCa8VUzv
TnLKRLUMM1rmOkHQwjQYNslg2CgdIiTt/lukppeVPW11lLt7R6a8qfhrhg2F5p0W
Rr+0bYbd3dGpod8rTObzKsuSjVtMJ0WIr60cuMP23ypghpo5tYrGXg7OF8Fj8RUs
LJF/gNAP8tTtqWmA3WpHY5F8BW3N5gitnLvNNGXHjcKY4CCDgobBvN3EmUnneAxO
GNKPoBCwg3N0VVAD57DzHBVcsHqn0s2l18uAfBNha4OoW9Sm3m250KHM9npm135W
jX4WD0oMtj9bxrvz7qnUU6mk54EZLJGq97MfcQPGsUpVtbc7vZu0+P73lowe/wNO
U5Zdquuq88ZvXZqDz+Gg5LwqigR78V0Z4t+ES4eKSkbL8STKZgZjezKdzRfL1c2v
9w+/PX4atOze8TwpYsqmOXamSuVSnT0mF6DDM6HTc1Xp8gSPqh5Y5+RmHeXG3eTs
RUe5STc5dIwLOsYFOi6rd4gZmIrnPE2lLO6Hol7wZwpDl2ujzImXWgBzAHSd91PD
ZIirVUcZPUvnQAbVlyfo7k5CxUVcF6Btmw2r22y/R1weHfX91XwbriCyb/DfqomW
9lmgSjfdhcsT4iicpOBf2pR0QncPOc/WKAbHej1qKi6cwhnUvohOLqLTi+jsIjq/
iC4uossCzUnnfAZFeCaDQ2YjzVqaO/UOkeOssY6x2ZiWuyPki1WOv7ZbFYO0ISeQ
U+q7lBBQ9qTysJd18KXSp25J9Lyjj1ef7jU7AU8QJb64ifD6WYcp2de3KjWkw3+T
Dy0rXduycpUNx5ZVdsEuL6S31WJWgSc1WPWiEjytwURjZXhWg1cVdF5Dq5YXNTQ3
nPLHOP3MUlQSzdJURO9COrefw/P5zAopxfL41lOef6t6043QvOt5+q6n+2fpvT7D
9h6D++JlPkBmasjOUwuuWypWWVw3/71AbBhTk5Xiuv8fdZ8WR30QAAA=
----END BASE64----
233:名無しさん@お腹いっぱい。
04/05/30 21:00
>>232
いやー、かなり早くなったね。
234:名無しさん@お腹いっぱい。
04/05/30 22:55
>>232
すごいすごい。
せっかくなので、アドレス部の表示をファイル位置にできたりしませんか?
(insert-file-contentsでBEG ENDを指定した場合など)
235:名無しさん@お腹いっぱい。
04/05/30 23:34
ヽ(`Д´)ノ cclってナンダヨー
236:名無しさん@お腹いっぱい。
04/05/31 11:55
>>235
code convetion lang
237:名無しさん@お腹いっぱい。
04/05/31 15:49
16bit,32bit,64bit,128bit単位の表示、および
ビッグ・エンディアン、リトル・エンディアンの切り替え
もできれば、言うこと無しだが・・・
238:名無しさん@お腹いっぱい。
04/06/03 17:13
(defun bdccl-write-8bit (reg terminator bit)
(let ((x (+ bit 8)) (r (list `(write ,terminator))))
(while (< bit x)
(setq r (cons `(if (,reg & ,(lsh 1 bit)) (write ?1) (write ?0)) r))
(setq bit (+ bit 1)))
r))
(defun bdccl-write-hibit (reg terminator)
(bdccl-write-8bit reg terminator 8))
(defun bdccl-write-lobit (reg terminator)
(bdccl-write-8bit reg terminator 0))
239:名無しさん@お腹いっぱい。
04/06/09 23:51
すいません初歩的質問なんですが、リファレンスマニュアルを最終的にPDF化したいのですが、
fURLリンク(ftp.ascii.co.jp)
これを展開して、README.jisを読んだんですが、elisp.dviの作成手順で
GNU Emacs Lisp Reference Manual のソースツリーのファイルtexinfo.texが
どこにあるのだか分かりません。どこにあるんでしょうか?
240:名無しさん@お腹いっぱい。
04/07/02 17:30
>>239
texinfo のソースツリーに入ってます。
URLリンク(savannah.gnu.org)
ところで、bookshelf.jp にある私的日本語化プロジェクトは
texinfo 形式のソースがあるのかな?
241:名無しさん@お腹いっぱい。
04/07/02 21:33
>>240
texinfo でやってますので,ソースはありますけど,公開はしてません.
242:名無しさん@お腹いっぱい。
04/07/02 21:42
では公開していただけますか?
243:名無しさん@お腹いっぱい。
04/07/03 09:21
>>241
あ、texinfoのやつがあると僕もうれしい。支障なかったら公開きぼんぬです。
244:名無しさん@お腹いっぱい。
04/07/03 09:45
>> 242,243
支障ないので,そのうちに公開しておきます.
少しお待ちを
245:名無しさん@お腹いっぱい。
04/07/13 23:34
>>232
(defun bdccl-write-hibit (reg terminator)
`((if (,reg & ,(lsh 1 15)) (write ?1) (write ?0))
(if (,reg & ,(lsh 1 14)) (write ?1) (write ?0))
(if (,reg & ,(lsh 1 13)) (write ?1) (write ?0))
...
(lsh 1 15) これを下のように定数にしないのは
マクロ展開されるて、実行時には関係なくなるから?
(defun bdccl-write-hibit (reg terminator)
`((if (,reg & 32768) (write ?1) (write ?0))
(if (,reg & 16384)) (write ?1) (write ?0))
246:名無しさん@お腹いっぱい。
04/07/13 23:37
>>232
と同じような Hex dump ってあるのかな? そっちの方が僕は使うな。
binary にしてどんな時に便利か教えてくれ。
247:名無しさん@お腹いっぱい。
04/08/11 23:45
ほしゅ。
248:名無しさん@お腹いっぱい。
04/08/15 01:57
つか、ほしゅしなくても落ちないのでは?
249:名無しさん@お腹いっぱい。
04/09/07 11:11
連番を作るのに、こんなのを作ってるんだけど、
うまく動かない。 どこが悪いのかな…。
(do ((i 1)) ((> i 10))
(insert (format "Sequence%d\n" i))
(setq i (1+ i)))
250:名無しさん@お腹いっぱい。
04/09/07 11:43
あなたは elisper ではありませんね?
251:名無しさん@お腹いっぱい。
04/09/07 14:16
先生!
このマンコ関数はどうでしょう?
(defun manko(i)
(cond ((> i 0) (insert (format "Sequence%d\n" i)) (manko (- i 1)))
(t nil)))
(manko 10)
252:名無しさん@お腹いっぱい。
04/09/07 23:36
number-sequence
253:249
04/09/08 11:31
>>251
ありがとう。
でも、こういわれてしまう…。
Debugger entered--Lisp error: (void-function manko)
(manko 10)
eval((manko 10))
eval-last-sexp-1(nil)
eval-last-sexp(nil)
* call-interactively(eval-last-sexp)
recursive-edit()
byte-code("堰ニ!秩ー∨ 秩ー¬!秩ッ⊃n�?
254:名無しさん@お腹いっぱい。
04/09/09 21:01
(do ((i 1 (1+ i)) ((> i 10))
(insert (format "Sequence%d\n" i)))
255:名無しさん@お腹いっぱい。
04/09/09 22:02
ちゃんと書きなよ。
しかし do なんか使わなくても。
256:249
04/09/09 22:37
>>254
環境が悪いのでしょうか。
Debugger entered--Lisp error: (invalid-function (i 1 (1+ i)))
((i 1 (1+ i)) ((> i 10)) (insert (format "Sequence%d\n" i)))
eval(((i 1 (1+ i)) ((> i 10)) (insert (format "Sequence%d\n" i))))
eval-last-sexp-1(nil)
eval-last-sexp(nil)
* call-interactively(eval-last-sexp)
257:名無しさん@お腹いっぱい。
04/09/09 23:43
>>249
そもそも「うまく動」いたらどうなるんだ?
期待してる結果が書いてない。
258:名無しさん@お腹いっぱい。
04/09/10 01:03
(require 'cl)
(do ((i 1 (1+ i))) ((> i 10))
(insert (format "Sequence%d\n" i)))
259:名無しさん@お腹いっぱい。
04/09/10 09:17
なんか覚えにくい構文だな。
まだloopのほうが、という気がした。
260:名無しさん@お腹いっぱい。
04/09/10 10:12
eldocでミニバッファに出るから覚えなくても書ける。
でも普通はdotimesなんかを使うとは思うんだが。
261:名無しさん@お腹いっぱい。
04/09/10 11:14
エコーエリア
262:249
04/09/10 17:28:00
>>258
ありがとう!!
(require 'cl)
これが不足でした。
(do ((i 1 (1+ i))) ((> i 10))
(insert (format "Sequence%d\n" i)))
(do ((i 1)) ((> i 10))
(insert (format "Sequence%d\n" i))
(setq i (1+ i)))
どちらでも動きました。
しかし。
doなんてとか、loopのほうが、っていうなら、
サンプルを掲示してみてはどうでしょう。
言い合いをしているだけでは何にもならないじゃないですか。
263:名無しさん@お腹いっぱい。
04/09/10 17:48:24
「してくれないでしょうか?」の間違いではなくて?
個人的には、何故doでやってみようとしたかに興味が少しある。
264:260
04/09/10 18:49:50
>>262
調べろよ、それくらい。
見て猿真似できるサンプルが出てこないと何も出来ない池沼なのかよ。
キーワードが出てくるだけで十分だろ。
# cl-macsにloopがあるとは知らんかった
そもそも「言い合い」になるほど骨のある内容じゃなかったし。
265:名無しさん@お腹いっぱい。
04/09/10 19:05:04
池沼というのは、マンコ関数でひっかかってる時点で明らか。>>253
266:260
04/09/10 19:15:10
言われてみればその通りだった。orz
267:名無しさん@お腹いっぱい。
04/09/12 01:45:39
(let ((i 0))
(while (< i 10)
.....
))
とかの方が分かりやすくて好きなんだけどな
268:名無しさん@お腹いっぱい。
04/09/12 04:07:53
viperで、vimの"*"コマンドを実装した。
(define-key viper-vi-global-user-map "*" 'viper-exec-word-search-nearest-cursor)
(define-key viper-vi-global-user-map "#" '(lambda () (interactive) (viper-exec-word-search-nearest-cursor t)))
(define-key viper-vi-global-user-map "g*" '(lambda () (interactive) (viper-exec-word-search-nearest-cursor nil t)))
(define-key viper-vi-global-user-map "g#" '(lambda () (interactive) (viper-exec-word-search-nearest-cursor t t)))
(defun viper-exec-word-search-nearest-cursor (&optional reverse unbound)
"Emulate vim \"*\" command."
(interactive)
(let ((word (viper-surrounding-word 1 1)))
(when (stringp word)
(setq viper-s-string (if unbound word (concat "\\<" word "\\>")))
(setq viper-s-forward (not reverse))
(setq viper-search-history (cons viper-s-string viper-search-history))
(setq viper-intermediate-command 'viper-exec-word-search-nearest-cursor)
(viper-search viper-s-string viper-s-forward 1))))
269:名無しさん@お腹いっぱい。
04/09/12 09:49:16
>>268
おーなかなかいいすね。使わせてもらいまっさ。
でも g + hogehoge は viper 流の (viper-buffer-search-enable) の方が好き :-)
;; しかし viper 異様に重いよなあ…。ボクのマシンがボロなだけ?(´・ω・`)
270:名無しさん@お腹いっぱい。
04/09/12 14:11:08
再帰好きなelisperの人は
max-lisp-eval-depth と max-specpdl-size に
どのくらいの値を設定してるの?
271:268
04/09/18 10:06:39
www.vim.orgで公開されているscriptで定番のやつの実装。
;;; alternate files quickly
(defvar a-extension-map
'(("c" . "h") ("cc" . "h") ("h" . ("c" "cc")) ("emacs" . "viper") ("viper" . "emacs"))
"The corresponding associative list of extensions.")
(defun alternate-files-quickly ()
"A few of quick commands to swtich between source files and header files quickly."
(interactive)
(if buffer-file-name
(let ((ext (file-name-extension buffer-file-name))
(base (file-name-sans-extension (file-name-nondirectory buffer-file-name)))
data a_ext a_file)
(when (and ext base (< 0 (length ext)))
(setq data (cdr (assoc ext a-extension-map)))
(cond ((stringp data)
(setq a_ext data)
(when (< 0 (length a_ext))
(setq a_file (concat base "." a_ext))
(when (file-exists-p a_file)
(find-file a_file))))
((listp data)
(catch 'break
(while data
(setq a_ext (car data))
(when (and (stringp a_ext) (< 0 (length a_ext)))
(setq a_file (concat base "." a_ext))
(when (file-exists-p a_file)
(find-file a_file)
(throw 'break t)))
(setq data (cdr data))))))))))
272:名無しさん@お腹いっぱい。
04/09/20 17:14:26
;;; filecache の対象を load-path にすると、
;;; .el 以外のファイルもついてきて面倒なので以外を消す
;;; 必要なのはあとで追加する
(defun file-cache-not-el-list ()
(let (nelist)
(dolist (list file-cache-alist)
(catch 'quit
(unless (string-match "^.*\\.el\\'" (car list))
(setq nelist (cons (car list) nelist))
(throw 'quit nil))))
nelist))
(file-cache-add-directory-list load-path)
(file-cache-delete-file-list (file-cache-not-el-list))
(file-cache-add-file-list '("~/.emacs" "~/.skk" "~/.wl" "~/.folders" "~/.bashrc"))
273:名無しさん@お腹いっぱい。
04/09/20 17:58:29
cach - throw は何のため?
(defun file-cache-not-el-list ()
(delq nil (mapcar (lambda (list)
(unless (string-match "\\.el\\'" (car list))
(car list)))
file-cache-alist)))
274:名無しさん@お腹いっぱい。
04/09/20 18:05:39
>>273
叩かれて強くなるためです
勉強になりました
275:名無しさん@お腹いっぱい。
04/10/24 22:51:00
30 分ほど考えたり調べたりしましたが,わからなかったので質問させてください.
(list (list '("A" . "1") '("B" . "2"))
(list '("C" . "3"))
(list '("D" . "4") '("E" . "5")))
を
(list '("A" . "1")
'("B" . "2")
'("C" . "3")
'("D" . "4")
'("E" . "5"))
のように展開(?)するにはどうしたら良いのでしょうか?
276:名無しさん@お腹いっぱい。
04/10/24 23:02:53
何をどう調べたり考えたりしたのか書いた方がいいと思うよ。
これこれを試してみたとか。
ヒントとしては、
mapc + append
277:名無しさん@お腹いっぱい。
04/10/24 23:07:21
宿題なのかなー?
278:名無しさん@お腹いっぱい。
04/10/24 23:09:05
展開後(?)の表記のしかたが悪い。
それを評価した結果になってほしいのか、まさにそれが欲しいのか。
279:名無しさん@お腹いっぱい。
04/10/24 23:14:48
>>275
(apply #'append
(list (list '("A" . "1") '("B" . "2"))
(list '("C" . "3"))
(list '("D" . "4") '("E" . "5"))))
280:名無しさん@お腹いっぱい。
04/10/24 23:16:21
>>275
スレリンク(unix板:405番)
これ書いたやつだろ。
>>276
mapcは違うと思うぞ。
281:276
04/10/24 23:17:46
>>280
applyが思い浮かばなかったのさ……
282:275
04/10/24 23:43:20
素早いレスありがとうございます.うまくいきました.
> 何をどう調べたり考えたりしたのか書いた方がいいと思うよ。
> これこれを試してみたとか。
GNU Emacs Lisp Reference Manual のリスト関連をあさっていました.
> 宿題なのかなー?
趣味です.
> 展開後(?)の表記のしかたが悪い。
> それを評価した結果になってほしいのか、まさにそれが欲しいのか。
おっしゃるとおりですね.勉強不足でした.
>>279
> (apply #'append
すみません,この「#'」はリファレンスマニュアルのどの辺をみれば良いのでしょうか?
ポインタだけでも教えて頂けるとありがたいです.
> スレリンク(unix板:405番)
> これ書いたやつだろ。
そうです.何か問題ありましたでしょうか?
283:276
04/10/24 23:59:29
>>282
#'はemacs lispではほとんど'と一緒。関数にのみ使うと思っておいて。
refrence manualだけじゃなくてemacs-lisp-intro は読んだ?
284:275
04/10/25 00:01:12
>> 283
まだ読んでません.どうも基礎がわかってないみたいなので,まずは
そちらから読んでみます.お世話になりました.
285:名無しさん@お腹いっぱい。
04/11/09 12:28:51
(defun my-w3m-view-url-with-external-browser ()
"emacs-w3mから外部ブラウザを起動する"
(interactive)
(let ((url (or (w3m-anchor)
(ffap-url-at-point)
w3m-current-url)))
(message "Browsing <%s>..." url)
(start-process "external-browser"
nil
"C:/Program Files/Mozilla Firefox/firefox.exe"
url)))
FireFoxを閉じないと、↓こんなメッセージが出てEmacsも閉じられない・・・
Active processes exist; kill them and exit anyway? (y or n)
どなたかアドバイスをお願いします。
286:名無しさん@お腹いっぱい。
04/11/09 12:45:52
>>285
unix なら PROGRAM に & を付ければ? って話なんだろうけど。
firefox.exe のオプションか別コマンドで「firefox に url を渡してする終
了する」ってなことができるんじゃないの?
287:名無しさん@お腹いっぱい。
04/11/09 13:27:30
process-kill-without-query じゃない?
288:名無しさん@お腹いっぱい。
04/11/09 14:01:40
ごもっとも orz
289:名無しさん@お腹いっぱい。
04/11/09 14:19:05
Emacs 終了時に Firefox も終了したいわけじゃないんだよね。
プロセスをバックグラウンドで動かしっぱなしにするには、
BUFFER 引数を 0 にして call-process を
(call-process "C:/Program Files/Mozilla Firefox/firefox.exe" nil 0 nil url)
こんな感じで呼び出してやればいい。
290:289
04/11/09 14:21:42
う、navi2ch のデフォルトフィルタにひっかかった。
>>289 は
( call-process "C:/Program Files/Mozilla Firefox/firefox.exe" nil 0 nil url)
291:285
04/11/09 14:57:44
レスありがとうございます。
>>286
firefoxのオプションを調べてみたんですが、適切なものが見つかりませんでした。
>>287
説明が足りなかったようで、すいません。
僕がやりたかったのは、emacsから起動したfirefoxは閉じずに
emacsだけを終了するというものです。
process-kill-without-queryを使ったら、問い合わせなしにfirefoxも
終了されてしまったので、どうやら僕がやりたいこととは違ったようです。
>>290
おおっ、うまくいきました。
ちなみにコードは以下のように変更しました。
(defun my-w3m-view-url-with-external-browser ()
"emacs-w3mから外部ブラウザを起動する"
(interactive)
(let ((url (or (w3m-anchor)
(ffap-url-at-point)
w3m-current-url)))
(message "Browsing <%s>..." url)
( call-process "C:/Program Files/Mozilla Firefox/firefox.exe" nil 0 nil url)))
どうもありがとうございました。
292:名無しさん@お腹いっぱい。
04/11/09 23:32:45
>>290
start-process と call-process の第3引数を0にするのってそんな違いがあっ
たのか。今までどっちにするか気分で決めてた…(´Д`)
293:名無しさん@お腹いっぱい。
04/11/13 13:00:32
8進数を10進数に変換する関数とかあったりする?
自前でゴリゴリやるしかないスか?
逆は format でできるんだけど…。
294:名無しさん@お腹いっぱい。
04/11/13 13:08:06
>>293
(string-to-number (number-to-string 10) 8)
=> 8
(string-to-number (number-to-string 20) 8)
=> 16
295:名無しさん@お腹いっぱい。
04/11/13 14:43:54
>>294
がーん、string-to-number って基数を指定できるのか、知らなかった。
ありがとう。
296:名無しさん@お腹いっぱい。
04/11/21 21:51:33
(let ((y 1.2))
(while (>= y -1.2)
(let ((x -2.0))
(while (<= x 1.0)
(let ((zx x) (zy y) (v 126))
(while (and (< (+ (* zx zx) (* zy zy)) 4.0) (> v 32))
(let ((temp (+ (* 2 zx zy) y)))
(setq zx (+ (* zx zx) (- (* zy zy)) x))
(setq zy temp))
(setq v (- v 1)))
(insert v))
(setq x (+ x 0.04))))
(insert "\n")
(setq y (- y 0.1))))
297:名無しさん@お腹いっぱい。
04/11/27 21:42:29
call-process を呼ぶ時って apply 使って呼んでるコードが多いんだけど、ど
うしてなの?
引数をリストで渡せるから? とか思ったんだけどそうでない場合でも apply
使ってることあるしなあ。なぜざんしょ?
298:名無しさん@お腹いっぱい。
04/11/28 13:55:08
元々は直接呼んでたのが、何らかの必要があって apply を使うようになり、
その後の変更で apply である必要が無くなったんじゃないの?
299:名無しさん@お腹いっぱい。
04/12/04 07:28:21
(pol2str "5X^2-3") >>> ((5 2) (-3 0))
入力がSTRINGで出力をリスト形式で出すようなpol2strを定義したいんですけど、
どうかいたらいいかわかります?
反対の作業はなんとなくできたんだけどこれはわからなかったです。
300:297
04/12/04 08:42:10
>>298
遅くなったけどサンクス。そんな経緯があったのか。
301:名無しさん@お腹いっぱい。
04/12/04 10:31:36
一気に変換するか、
一回トークンを切り出してリストに変換、あとはリスト処理。
302:299
04/12/04 14:13:51
情報どうもっす。
色々調べたけど、TOKENに切り出す方法が分からないので諦めます。
303:名無しさん@お腹いっぱい。
04/12/04 14:28:11
初心者なのはみえみえなんだからちゃんと教えてやれよ。
304:名無しさん@お腹いっぱい。
04/12/04 22:08:21
----BEGIN BASE64----(font-lock-test.el.gz)
H4sICDWssUEAA2ZvbnQtbG9jay10ZXN0LmVsAI2RzW7DIBCEz/FTrHLJopZDnqdu
FQzrBAVYC0gjv30B569qWtVH77czOwMaGk8B/CxHDlk61kc5qZhIOpsmQGe9zaID
wPOBAmAkmUhFfSh8PKtoYI19j28fKKAP7y99L9bQlqCtlUVHGRCLiwbUHIzNloPU
KhEE67rVqlFp9gM7WbE6B7QhUwwy8ZgLs1CF8yoX85SjDXsZWE6RJ4rZUoKtEKLJ
4Sdb06SqUjERdXIRUMFAHXVVETkCDnMmqdnQzV1ODRHdxbWcdxri5Wf7OnxSXKS9
TVkeaT5zNAmwFbfkJ0ceNvhr0VvY3Ae3O4Ly5SqlqbR5zYB2hDt6NetWeAqOUnH1
5AeK0Bx/gi0UJsralOxOpfwMgh2+VoHH4oyRmeu5+fHWW9r7Rq2n0gfmI2xqPtle
Uy2hfK16mf1V3zcR8kqnVtX/178A0ylMGtwCAAA=
----END BASE64----
スレリンク(unix板:857-869番)
の流れでちょっとやってみたもの。
- とりあえずつつましく font-lock-keywords の末尾に追加
- でも OVERRIDE はt だったり。本当は 'keep がいいんだろうけど
- っつーか t にしててもところどころにしか色付かない。jit-lock だから?
- symbol-function の結果を直接使うんじゃ駄目なんだっけ?
- もうちょっと正規表現も格好よくしたいけど
とかいろいろ疑問があるけどまだあまりテストしてないです。もっとスマート
なのが出来たら教えて下さい。
305:名無しさん@お腹いっぱい。
04/12/04 23:01:19
>>304
hook ってわかってるか?
306:名無しさん@お腹いっぱい。
04/12/05 02:34:57
なんか妙にややこしいことしてるな。
(font-lock-add-keywords 'emacs-lisp-mode '((REGEXP SUBEXP (progn ...))))
みたいな感じでいいんじゃないのか。
307:名無しさん@お腹いっぱい。
04/12/05 03:00:41
>>304
> - っつーか t にしててもところどころにしか色付かない。jit-lock だから?
my-font-lock-parse-lisp で、
(and func
(or (byte-code-function-p func)
(subrp func)))
が nil になったときにそのまま nil を返しちゃまずい。
もう一回探さないとそれ以降に色が付かないぞ。
308:名無しさん@お腹いっぱい。
04/12/05 22:58:55
>>306
最初そっちでやっててリストの先頭に登録されるのが嫌だったんですが新ため
て見たら APPEND ってフラグがありますね。そっちに変更してみました。
>>307
ごもっとも。書いててなんか違和感あったんだけどなんで気付かなかったんだ
ろ orz
とりあえずそれなりに色付くようになりました。どもー。
309:名無しさん@お腹いっぱい。
04/12/06 21:44:56
しつこくてスマン。間違いがあったので訂正。
>>304 の condition-case んとこは void-function だけ受けるんじゃ駄目で
すね。error で受けてやれば全部色付くようになりました。
310:名無しさん@お腹いっぱい。
04/12/07 13:43:05
>>309
なんかいろいろ修正があったようなのですが、自分も一度使用してみたいので、
よかったら修正版 font-lock-test を navi2ch-base64-insert-file してもらえるとうれしいです
311:名無しさん@お腹いっぱい。
04/12/07 22:35:01
----BEGIN BASE64----(font-lock-test2.el.gz)
H4sICDSvtUEAA2ZvbnQtbG9jay10ZXN0Mi5lbADdVEFu3DAMPNuvIPZiCoWA5to8
JU4Br01vhFiSK8nY+j/5QD6RS5FP9CWl6G63aex0DznlZJjiDDkzlrGjvm9aAjvr
/NQ0mDhq27TBQ4WYAL/0PtAh+Ml1sIvUwCEQuZ1SCpwZVInrFHHahzWGcQrjQP+F
95Nr1+CWOjNZ2A/TPxyTEwbvkh58e/9CCA7GmqRKADzekQMMpFlJaO8YEI5NYOKb
Cm/rGm++ooLa3X6qa7UDwYEgGesDYMNLoPO8liX7DfBASSf6nvQY/EghzfAZKtGD
tkk8IKZg3AGulCqLoqjwvGHrrSV+ke5zmddxjJCyyiiQ4a13nUnGO902kbJu5gOM
s937QezKh4DGJQpOR9+nlyto509LGop5oRM3s1MIrC6bmau46eRiZG7a9lyS/wiW
ZyHjhvPFm87nBk7nggCKlQA2EhBfLwlA7s5HCGA/J2JIR39c1uPpm924EG/fiHKJ
5aJgLolEnP4rkvN503X6nuajD12ESpplj2aRYVnU4s32XbuCau2vzKNyOu81SyS8
GiXVd54k3++rSVL9Pen6GohFRr3IZTZ4+Pn0+Pz88KP8BYGg2TyqBgAA
----END BASE64----
>>310
今のところこんなかんじに落ち着いてます。lisp なだけにかなりの部分に色
付くため1色だと逆に見難かったので3色使ってます。
312:310
04/12/08 00:06:08
>>311 ありがとうございました
しかし、これは良くできていますね。
こうやって見てみると自分が普段どれだけ多くのsubrな関数を使用しているのかわかります。
感謝です。
313:名無しさん@お腹いっぱい。
04/12/08 03:56:47
minibuffer で作業してるときにたまに message が表示されて
自分が入力してるのが消えるときがあるじゃないですか。
で、そんなときに消えないようにと以下の advice を付けてみたんですけど、
今いち視線が上下してよろしくない気がします。
何かいい案はないですかね?
momentary-string-display をうまく使えばいい感じになりそうな気もするけど。。。
(defadvice message (around if-minibuffer-use-momentary-string-display activate)
(if (window-minibuffer-p (selected-window))
(save-window-excursion
(save-selected-window
(select-window (display-buffer (get-buffer-create "*message on minibuffer*")))
(delete-other-windows)
(erase-buffer)
(insert (make-string (window-height) ?\n)
(format (ad-get-arg 0) (ad-get-arg 1)))
(goto-char (point-max))
(recenter))
(sit-for minibuffer-message-timeout))
ad-do-it))
314:名無しさん@お腹いっぱい。
04/12/08 08:55:07
>>313
> minibuffer で作業してるときにたまに message が表示されて
> 自分が入力してるのが消えるときがあるじゃないですか。
漏れも、LSDBを入れたらその問題で悩みました。Fontifying... という
メッセージがじゃまをするので、~/.emacs で (setq font-lock-verbose nil)
しましたが、こういう手もあったとは。
315:名無しさん@お腹いっぱい。
04/12/08 22:46:40
>>313
何となくわかればいいだけなら、こんな感じでは?
一発目だけポインタを移動するとか、小細工はあってもいいけど
(defadvice message (around my-message-ad activate)
(if (window-minibuffer-p (selected-window))
(let ((executing-kbd-macro t))
ad-do-it
(display-buffer "*Messages*"))
ad-do-it))
316:名無しさん@お腹いっぱい。
04/12/08 23:47:51
>>315
ポインタってポイントのコト?
317:名無しさん@お腹いっぱい。
04/12/09 01:29:52
結局こんなんになりました。
これだと視線の上下もないしいい感じ。
ついでに、minibuffer での isearch のときもいい感じになってくれました。
ただ signal とかの emacs の中の人が処理してるやつはやっぱりだめっぽいです。
(defadvice message (around minibuffer-workaround activate)
(if (window-minibuffer-p (selected-window))
(let ((pos (point-max)))
(when (ad-get-arg 0)
(unwind-protect
(progn
(save-excursion
(goto-char pos)
(insert "\n" (format (ad-get-arg 0) (ad-get-arg 1))))
(sit-for (or minibuffer-message-timeout 1)))
(delete-region pos (point-max)))))
ad-do-it))
318:名無しさん@お腹いっぱい。
04/12/09 02:00:56
なんかいもごめんです。
さっきのやつの insert のとこを
(insert "\n" (apply 'format (ad-get-arg 0) (ad-get-args 1))))
に変えないとダメポです。
あと、skk と相性がわるいなぁ。
319:名無しさん@お腹いっぱい。
04/12/10 22:21:05
URLリンク(example.jp) bar/~baz/
こんな url を encode して
URLリンク(example.jp)
を得たいんだけど、そのものズバリな関数がありそうで見つからない。
(browse-url-file-url "URLリンク(example.jp) bar/~baz/")
=> "URLリンク(example.jp)"
~ は encode してくれないのね。
(w3m-url-encode-string "URLリンク(example.jp) bar/~baz/")
=> "URLリンク(example.jp)"
+ か(´・ω・`)
今は自力でやってるけど、どっかにあったりする?
320:名無しさん@お腹いっぱい。
04/12/10 22:57:43
~ をエンコードすべき理由が思い当たらないんだけど
321:名無しさん@お腹いっぱい。
04/12/10 23:22:32
同一性をチェックしたいとか?
322:名無しさん@お腹いっぱい。
04/12/11 10:59:40
RFC1738 の時代には「+」が unreserved で「~」はエスケープが必要だった。
後に RFC2396 ができて「+」が reserved になり、「~」は unreserved に
なった。
> ~ は encode してくれないのね。
は RFC2396 に
> + か(´・ω・`)
は RFC1738 にしたがっているのだろう。
323:名無しさん@お腹いっぱい。
04/12/11 14:27:03
つまりどれにも準拠してないってことね。
324:名無しさん@お腹いっぱい。
04/12/11 16:19:09
え?
325:319
04/12/12 12:55:16
発端は wget -x で件の url を取得するとああいったディレクトリを掘るんで、
それを emacs 側で知りたいってことからでした。
>>322 氏の解説のように変遷があると既存の関数でズバリな encode を期待す
るのは無理がありそうですね。自力 encode で納得しときます。
レスどーもでした。
326:名無しさん@お腹いっぱい。
04/12/12 21:58:29
wgetってなんで ~ をエンコードしちゃうんだろうね。
だれかハックしてエンコードしないバージョンを配布してくれ。
327:名無しさん@お腹いっぱい。
04/12/12 22:20:03
そんなんハックとはいえん
328:名無しさん@お腹いっぱい。
04/12/13 12:21:41
一文字変えるだけ?
329:名無しさん@お腹いっぱい。
04/12/21 22:10:29
最近Emacsを使うだけの立場から少しいじろうと思って、
「やさしいEmacs-Lisp講座」など読みました。
しかし、この板に書かれてるようなLispははるかに上でびっくりしました。
hookとかどこにもほとんど説明がないし、始めはshow-paren-modeが気に食わなくて
対応する括弧のbackgroundではなく、括弧そのものがboldでredになるようにしたい
と思ったのですが第一歩が踏み出せません。
cc-mode.elとかみれば参考になるかと思いきや、やはり難しい。。
faceというのをいじればよいことまでは分かったのですが、他の機能もごちゃごちゃ
ついているので、boldにしたりするのにどれが本当に必要なものか見分けがつきません。
みなさんはこのギャップをどこで勉強して埋められたのですか?
よろしければ教えてください。
そして、こんな自分にどうやって、そして何を勉強してよいのかアドバイスください。
よろしくお願いします。
330:名無しさん@お腹いっぱい。
04/12/22 00:43:21
知識に上に下もないと思うけど。
「やさしいEmacs-Lisp講座」は自分も一番最初に読んだ。elispの基本を押さえている
し、かなり良い本だと思う。
自分の場合は、その知識を元に .emacs をいじったり、他人の .emacs を覗いたり、日
本語 Info で分からないこと調べたりしていくうちに、個人レベルでやりたいことはで
きるようになった。
その時は分からなくても、何ヶ月後かに調べてみたら、あっさり分かったりするので、
焦らずに知識を蓄えていくのが一番の近道ではないでしょうか。
331:名無しさん@お腹いっぱい。
04/12/22 01:09:28
>>329
(show-paren-mode) の評価より先に
show-paren-match-face を上書きすると変えられるよ.
ちょっと paren.el のソース見たけどこんな感じ.
(defface show-paren-match-face '((t (:foreground "red" :bold t))) nil)
(show-paren-mode t)
この際だから mic-paren.el でも捜して比較してみたらどうでしょう.
332:名無しさん@お腹いっぱい。
04/12/22 01:33:27
>>331
揚げ足取るわけじゃないけど、、、
set-face-*()で変えるほうが自然じゃない?
(show-paren-mode 1)
(set-face-foreground 'show-paren-match-face "red")
(set-face-bold-p 'show-paren-match-face t)
333:名無しさん@お腹いっぱい。
04/12/22 01:38:24
>>332
確かにこっちのほうがスマートだね.
何でオレ, あんなふうに書いたんだろ….
334:名無しさん@お腹いっぱい。
04/12/22 04:07:45
>>330-333
ありがとうございます!あれから少し探してみたのですが、
どうも各モードにどんな変数があるかをInfoで見つけて、
それをいじるというのがカスタマイズの初歩のようですね。
335:名無しさん@お腹いっぱい。
05/01/07 00:10:45
diredモードで拡張子ごとに色を付けたいんですけどどうやったらいいですか?
336:名無しさん@お腹いっぱい。
05/01/07 09:11:46
>335
俺の.emacs見てたらこんなんあった
ウザくなってコメントアウトしてたけどうまく動いてたっぽい
(font-lock-add-keywords 'dired-mode
'(
; ;source
("^.*\\.[Ee][Ll]$" . font-lock-variable-name-face)
; ;archive
("^.*\\.[Zz][Ii][Pp]$" . font-lock-builtin-face)
("^.*\\.[Gg][Zz]$" . font-lock-builtin-face)
("^.*\\.[Tt][Aa][Rr]$" . font-lock-builtin-face)
("^.*\\.[Ll][Zz][Hh]$" . font-lock-builtin-face)
; ;text
("^.*\\.[Tt][Xx][Tt]$" . font-lock-reference-face)
; ;executable
("^.*\\.[Ee][Xx][Ee]$" . bold)
; ;dot
("^.+[0-9][0-9] \\.[^.]+.*" . font-lock-variable-name-face)
))
337:335
05/01/07 19:28:01
お~、ありがとうございます。
バッチリ動きました。
ただexeにboldが効いてなかった様な気も・・。
Fontlockの設定とかが原因でboldに気が付かなかっただけかな。
boldを色指定に変えて使ってます。
十分満足なんですけど
拡張子だけに色を付けるとなると相当面倒ですか?
理想としては拡張子はファイル名とは別のカラムに表示して(lsの設定?)
さらに拡張子にだけ色を付けたいのですが。
つーかemacs楽しいですね。時間足りないw
ある程度Lisp覚えてがんがんカスタマイズできるようになりたいな。
338:名無しさん@お腹いっぱい。
05/01/07 20:17:34
>>337
> 拡張子だけに色を付けるとなると相当面倒ですか?
("^.*\\.\\([Ee][Ll]\\)$" 1 font-lock-variable-name-face)
みたいにしてけばいいだけよ。詳しくは font-lock-add-keywords の
docstring を参照のこと。
> 理想としては拡張子はファイル名とは別のカラムに表示して(lsの設定?)
ちょっとやり方を思い付かないけど、逆に見難くないかね。
> つーかemacs楽しいですね。時間足りないw
> ある程度Lisp覚えてがんがんカスタマイズできるようになりたいな。
ガン(゚д゚)ガレ
339:名無しさん@お腹いっぱい。
05/01/25 21:33:24
すいません、キーバインドの方法について質問させてください。
shift+rightにother-windowを割り当てたいのですが
;(describe-keyでは"ESC [ d"と表示されます。)
うまくいきません。global-set-key で
\M-[-d とか [M-[-d] や [ESC]-[-d等を試してみたのですがどれもだめでした。
ESC [ dはどう表記したらいいのでしょうか?
340:名無しさん@お腹いっぱい。
05/01/25 23:45:32
>>339
その環境だと shift+right も right も一緒になってないか?
341:名無しさん@お腹いっぱい。
05/01/26 00:03:02
shift+right と right が一緒になってるかどうかの確認の方法が分からないのですが
(何かにバインドして確認しようにもバインドの方法が分からない)
describe-keyをすると
right は right
shift+right は ESC [ c
とでます。
ちなみにF1にバインドする時にもつまづきました。
[f1] ではなく\C-ce でf1にバインドできました。
そうするとC-ceにもバインドされました。
C-ce と f1 は一緒になってるようです。
ターミナルの設定の問題なんでしょうか?
342:名無しさん@お腹いっぱい。
05/01/26 00:37:20
スレ違いだろうが、とりあえず [?\e ?\[ ?d] とか "\e[d" とか
343:名無しさん@お腹いっぱい。
05/01/26 00:49:47
おお、いけました。ありがとうございます。
shift+upでバッファ間を移動しまくっております。
previous-bufferみたいな関数あるかと思ったんですけどないみたいですね。残念。
書くスキルないのはもっと残念です。
どこで質問するか迷ったんですけどやっぱりスレ違いでしたか。
emacsスレで聞けばよかったです。
ありがとうございました。
344:名無しさん@お腹いっぱい。
05/01/26 01:40:01
>>343
> shift+upでバッファ間を移動しまくっております。
> previous-bufferみたいな関数あるかと思ったんですけどないみたいですね。残念。
バッファっつーか、ウィンドウ間を移動したいんだよね?
windomove.el がいいんじゃないかと。
345:名無しさん@お腹いっぱい。
05/01/26 01:41:01
> windomove.el
変なところに o が入った。windmove.el だ。スマソ
346:名無しさん@お腹いっぱい。
05/01/26 02:35:31
そうか。windmove使えばいいのか。
(global-set-key [?\e ?\[ ?d] 'windmove-left)
(global-set-key [?\e ?\[ ?a] 'windmove-up)
(global-set-key [?\e ?\[ ?c] 'windmove-right)
(global-set-key [?\e ?\[ ?b] 'windmove-down)
でウインドウ間を超高速移動しまくってます。
ありがとうございました。
347:名無しさん@お腹いっぱい。
05/01/26 09:51:41
超高速移動という響き,イイ!!
348:名無しさん@お腹いっぱい。
05/01/27 03:17:04
どもども。いや、ホント楽になりました。
C-xo連発してたのがうそみたいです。
349:名無しさん@お腹いっぱい。
05/02/11 20:21:31
一回のキー操作に複数の手続きを割り当てたいんですけど、例えば
(global-set-key "\C-cg" '(lambda () (begin
(forward-char)
(backward-char)))
これで一文字進んで一文字戻る(なにも起こらない)を想定してるんですが、動いてくれません
普通(global-set-key KEY COMMAND)でCOMMANDにはシンボルを想定してるみたいなんですが、
複数同時に渡せないし...
350:名無しさん@お腹いっぱい。
05/02/11 20:30:48
(global-set-key "\C-cg" "\C-f\C-b")
351:名無しさん@お腹いっぱい。
05/02/11 20:45:11
(interactive)
ていうかelispにbeginは無いし
352:名無しさん@お腹いっぱい。
05/02/11 20:46:07
(define-key mode-specific-map "g"
(lambda ()
(interactive)
(forward-char)
(backward-char)))
353:名無しさん@お腹いっぱい。
05/02/11 21:58:34
どうも、解決しました。
(ここ結構人居るんですね)
other-windowを組み合わせようとしてたんですが、
これが引数とるのに気が付かなくて二重にはまってました。
M-xから呼ぶときは引数いらないのに...いまだに意味不明です。
354:名無しさん@お腹いっぱい。
05/02/11 22:59:58
(other-window ARG &optional ALL-FRAMES)
だから引数は必要。
M-x でいらない(ように見える)のは (interactive "p") で
(prefix-numeric-value current-prefix-arg) が渡されるから。
355:名無しさん@お腹いっぱい。
05/02/12 01:45:40
>>353
要らない世話かも知れないけど>>354に補足すると
(interactive "p") で渡っているのは ARG の方だけね
ALL-FRAMES を指定するときは
(other-window 1 t)
のようにもう一つ引数がいるからね
詳しくは info を
356:名無しさん@お腹いっぱい。
05/02/12 08:41:04
Lispはちょっと触った事あったんでいけるかと思ってたんですが、
Emacsの仕様もあって結構難しいですね。
ちょっと勉強してみます。
357:名無しさん@お腹いっぱい。
05/02/19 00:17:22
(multibyte-string-p "a")
=> nil
(with-temp-buffer
(insert "a")
(multibyte-string-p (buffer-substring-no-properties (point-min) (point-max))))
=> t
HEAD でも 21.3 でもこうなるみたいなんだけどこーゆーもんなんすか?
358:名無しさん@お腹いっぱい。
05/02/19 00:30:43
>>357
はい。
(with-temp-buffer
(set-buffer-multibyte nil)
(insert "a")
(multibyte-string-p (buffer-substring-no-properties (point-min) (point-max))))
=> nil
359:名無しさん@お腹いっぱい。
05/02/19 00:55:48
>>358
むむ、なるほど、どうもです。
じつは任意の buffer から substring してきた文字列に multibyte (とりあえ
ずは日本語) が含まれてるかどうかを判定したいんですが、そんな場合はどう
するのが常套手段なんでしょう。思い付いたのは↓なんですが
(with-temp-buffer
(insert "あ")
(goto-char (point-min))
(if (re-search-forward "\cj" (point-max) t)
"日本語あり"
"日本語なし"))
=> "日本語なし"
(´・ω・`)
360:名無しさん@お腹いっぱい。
05/02/19 01:12:14
(find-charset-string "abc")
=> (ascii)
(find-charset-string "abcほげ")
=> (ascii japanese-jisx0208)
(let ((str "あ"))
(if (memq 'japanese-jisx0208 (find-charset-string str))
"日本語あり"
"日本語なし"))
=> "日本語あり"
361:名無しさん@お腹いっぱい。
05/02/19 01:21:29
(re-search-forward "\\cj" (point-max) t)
Emacs21 なら
(re-search-forward "[[:nonascii:]]" (point-max) t)
が使えたはず。
362:名無しさん@お腹いっぱい。
05/02/19 01:27:41
Emacsのunibyte/multibyteってのはタダのバイト列として読むか
なんらかのエンコーディングで表現された文字として読むかってとこで生じる。
単に表現されたときに1バイトになるかってのは関係ない。
363:名無しさん@お腹いっぱい。
05/02/19 01:49:37
>>362
うそー、関係あるよ。
src/alloc.c:
Lisp_Object
make_string_from_bytes (contents, nchars, nbytes)
const char *contents;
int nchars, nbytes;
{
register Lisp_Object val;
val = make_uninit_multibyte_string (nchars, nbytes);
bcopy (contents, SDATA (val), nbytes);
if (SBYTES (val) == SCHARS (val))
STRING_SET_UNIBYTE (val);
return val;
}
文字列中の文字が全て1バイトになるかを思いっきり考慮してんじゃん。
364:名無しさん@お腹いっぱい。
05/02/19 02:29:27
はいはい。それはmake_string_from_bytesだからでしょ。
それは考慮してるんじゃなくてunibyteにするかmutlibyteにするかっていう
判定材料に使ってるだけだよ。
その関数の使われるところがどういうところかも見れば自明だと思うんだけど。
365:名無しさん@お腹いっぱい。
05/02/19 03:06:30
自日月
366:名無しさん@お腹いっぱい。
05/02/19 03:38:11
>>364
はいはい。じゃあ
(multibyte-string-p (string 97)) => nil
(multibyte-string-p (string 53794)) => t
を説明してみ。
367:名無しさん@お腹いっぱい。
05/02/19 03:49:16
アホだな。Fstringってmake_string_from_bytesを使ってる例でしかないじゃん。
それはインタフェースからしてmultibyteかどうかの情報が与えられないから、
multibyteかどうかを判定するのに文字の範囲から推定するしかできないからでしょ。
逆に例えば既にmultibyteである情報源から文字列を作るとき、
要するにmultibyte bufferからsubstringする場合なんかはいちいち
中身が1バイト文字だけかどうかなんて考慮しないよ。
まあソースコード読みなよ。
Emacsでのunibyte/multibyteの扱いってものについて学習してらっしゃい。
368:名無しさん@お腹いっぱい。
05/02/19 05:04:41
>>362 の
> 単に表現されたときに1バイトになるかってのは関係ない。
に対し、SINGLE_BYTE_CHAR_P でない文字を含む文字列は常に multibyte にな
ると言ってるのに、SINGLE_BYTE_CHAR_P だけからなる文字列も multibyte に
なり得ると反論してもしょうがないだろうに。
369:名無しさん@お腹いっぱい。
05/02/19 05:27:37
> に対し、SINGLE_BYTE_CHAR_P でない文字を含む文字列は常に multibyte にな
> る
そこが問題なのか? 違うだろ。だって当たり前すぎるほど当たり前じゃん。
>>363はタダのバイト列として読むんじゃなくてEmacsの内部表現で表現された
文字列として読んでるんだから。
そこを問題にしているとしたら363の方こそナンセンス。
370:名無しさん@お腹いっぱい。
05/02/19 07:02:02
>>366がどういう意図をもっているのか自分で説明すべきだろ。
何を根拠に何を主張したいのか書かなきゃ単なる煽りの手口。
371:359
05/02/19 09:05:52
>>360
> (find-charset-string "abc")
>>361
> (re-search-forward "[[:nonascii:]]" (point-max) t)
おー、ありがとう。勉強になるっす。
> (re-search-forward "\\cj" (point-max) t)
うぼあ、なんたる初歩的ミス orz
372:名無しさん@お腹いっぱい。
05/02/20 14:51:39
Emacs の multibyte, unibyte まわりって確かにわかりずらいですよねー。
試しに unibyte な文字列中に "\\cj" で検索かけてみたんですけど、結果は nil なん
ですねぇ。当然と言えば当然ですが。
(string-match "\\cj" "あいうえお")
=> 0
(string-match "\\cj" (string-as-unibyte "あいうえお"))
=> nil
(find-charset-string "あいうえお")
=> (japanese-jisx0208)
(find-charset-string (string-as-unibyte "あいうえお"))
=> (eight-bit-graphic eight-bit-control)
coding-system の binary, raw-string とかとの関係も難しい・・・。
373:名無しさん@お腹いっぱい。
05/02/20 14:56:20
閑話休題。
iswitchb で migemo を使えるようにしてみたですよ。
(setq iswitchb-regexp t)
(setq iswitchb-use-migemo-p t)
(defadvice iswitchb-get-matched-buffers (before iswitchb-use-migemo activate)
"iswitchb で migemo を使ってみる。"
(when iswitchb-use-migemo-p
(ad-set-arg 0 (migemo-get-pattern (ad-get-arg 0)))))
374:名無しさん@お腹いっぱい。
05/02/20 18:40:57
>>373
おおぅ、ナイスです。
ありがたく使わせていただきます。
375:373
05/02/21 23:35:24
昔の「自慢の.emacsを貼り付けよう」スレのように活気付く事を祈って。
dired とか ibuffer で色を付けて、長いファイル名があってもそれなりに見やすくしてみる。
まずは dired:
(defun dired-font-lock-information-matcher (limit)
"dired でまん中へんに色を付けてみる matcher。"
(when (dired-move-to-filename nil limit)
(let (end)
(backward-char)
(setq end (point-marker))
(progn (beginning-of-line)
(forward-sexp (if (looking-at dired-re-mark) 2 1))
(forward-char))
(store-match-data (list (point-marker) end)))
(forward-line)))
(font-lock-add-keywords
'dired-mode
'((dired-font-lock-information-matcher . font-lock-constant-face)))
376:373
05/02/21 23:36:57
んで ibuffer:
(setq ibuffer-fontify-information-field-list '(size mode))
(defadvice ibuffer-insert-buffers-and-marks (after ibuffer-fontify-information-field activate)
"ibuffer でまん中へんに色を付けてみる。"
(save-excursion
(ibuffer-goto-beg)
(while (not (eobp))
(let ((pos (point))
(limit (line-end-position)))
(while (and (setq pos (next-single-property-change pos 'ibuffer-field nil limit))
(< pos limit))
(goto-char pos)
(let ((buffer-read-only nil)
(field (get-text-property (point) 'ibuffer-field))
(beg pos))
(when (memq field ibuffer-fontify-information-field-list)
(setq pos (next-single-property-change pos 'ibuffer-field nil limit))
(goto-char pos)
(put-text-property beg pos
'face 'font-lock-constant-face)))))
(forward-line))))
dired-mode で、dircolors の色を使うようにすると派手でいいかもしれないとか思った。
377:373
05/02/22 00:21:53
dircolors 使うやつができたっぽい。
(require 'dircolors)
(font-lock-add-keywords
'dired-mode
(mapcar (lambda (x)
(list
(format "\\(%s\\)$"
(mapconcat (lambda (ext)
(if (stringp ext)
(format "\\.%s" ext)
(format ".*%s.*" (cadr ext))))
(car x)
"\\|"))
`(".+" (dired-move-to-filename) nil (0 ',(cadr x)))))
dircolors-extension))
378:名無しさん@お腹いっぱい。
05/03/20 13:59:42
(defadvice next-error (after next-error-plus-alpha activate)
(insert "OMOITSUKANAI"))
定義してgrep+next-error実行しても, OMOITSUKANAIがバッファに挿入され
ないのはどうしてなのだろうか
379:名無しさん@お腹いっぱい。
05/03/20 18:00:24
>>378
(with-current-buffer ) を抜けたあとだから。
380:名無しさん@お腹いっぱい。
05/03/21 13:45:50
>>379 with-current-buffer 以後でも insert を可能にする方法は何
かありますか?
381:名無しさん@お腹いっぱい。
05/03/21 18:16:49
>>380
with-current-buffer
382:名無しさん@お腹いっぱい。
05/03/23 00:29:38
>>381
(defadvice next-error (after next-error-plus-alpha activate)
(with-current-buffer next-error-last-buffer
(insert "OMOITSUKANAI")))
なりませんけど・・・?
383:名無しさん@お腹いっぱい。
05/03/23 09:16:12
>>382
(when (setq next-error-last-buffer (next-error-find-buffer))
...
384:名無しさん@お腹いっぱい。
05/03/23 14:52:04
>>383
その中に入れても結局なりませんでした。。。
385:名無しさん@お腹いっぱい。
05/03/23 21:36:02
>>384
最新の Emacs だと grep バッファは読み込み専用だけど,あらかじめちゃんと
書き込めるように対処はしてあるの?
386:名無しさん@お腹いっぱい。
05/03/24 00:33:30
>>385
書き込みしたいのは、次のエラー箇所が見つかったファイル (この場合はマッチするファイル)に
なので、 *grep* バッファ上でではありません。。
`next-error-last-buffer' がそのファイルじゃないのですか?
387:名無しさん@お腹いっぱい。
05/03/24 01:36:43
試してみると
next-error-last-buffer's value is #<buffer *grep*>
ってなるから違うみたい
388:名無しさん@お腹いっぱい。
05/03/24 22:05:20
emacs 21.4 を使っています。
カーソル配下のtextのface取得方法が解からないので、教えてください。
やりたいことは、特定の単語の色の変更では無く、
その単語の所属するキーワードグループまるごと色を変更したい為、
カーソル配下の単語から、faceを特定したいということです。
お願いします。
389:名無しさん@お腹いっぱい。
05/03/24 22:51:54
(get-text-property (point) 'face)
390:388
05/03/25 00:51:21
>>389
thx
391:名無しさん@お腹いっぱい。
05/03/30 12:38:13
Emacs には「グラフ」データ構造の library がないように思えます。
ここでプログラムしてみちゃってください。
392:名無しさん@お腹いっぱい。
05/03/30 12:52:18
ム板でやると盛り上がると見た。
393:名無しさん@お腹いっぱい。
05/03/30 17:48:01
>>392
ここでよくない? こういうプログラミング練習の為にこのスレッドがあるんじゃないの?
394:名無しさん@お腹いっぱい。
05/03/30 18:33:00
ライブラリ的なのはあっちっしょ。好きそうな人もいるし。
395:名無しさん@お腹いっぱい。
05/03/30 21:02:12
cons と car と cdr で事足りる
396:名無しさん@お腹いっぱい。
UNIX時間(+0900)35年,2005/04/03(日) 07:43:30
>>395
おまえは、 「情報なんて 0 と 1 のみで事足りる」
とでも言うのか?
アホ。
397:名無しさん@お腹いっぱい。
UNIX時間(+0900)35年,2005/04/03(日) 20:28:38
「ハッカーと画家」に
car, cdr, cons, quote, cond, atom, eq
だけで Lisp の関数は書けるとかって書いてあった。
四則演算はどうやってやるんだ?
398:名無しさん@お腹いっぱい。
UNIX時間(+0900)35年,2005/04/03(日) 20:57:40
(t) => 1、(t t) => 2、(t t t) => 3
のように表わすことにして
(defun plus (x y)
(cond (y (plus (cons (car y) x) (cdr y)))
(t x)))
(plus '(t t t) '(t t))
=> (t t t t t)
足し算ができれば後はどうとでも。
399:名無しさん@お腹いっぱい。
UNIX時間(+0900)35年,2005/04/03(日) 23:04:31
398 は効率悪すぎだから (t) => 1、(nil t) => 2、(t t) => 3 と
little endian な 2 進表記にして
(defun plus (x y &optional c)
(cond ((cond ((eq x nil) (eq y nil)))
(cond (c (cons c nil))))
((car x)
(cond ((car y)
(cons c (plus (cdr x) (cdr y) t)))
((cons (not c) (plus (cdr x) (cdr y) c)))))
((car y)
(cons (not c) (plus (cdr x) (cdr y) c)))
((cons c (plus (cdr x) (cdr y) nil)))))
(defun mul (x y)
(cond ((eq y nil) nil)
((plus (cond ((car y) x))
(mul (cons nil x)
(cdr y))))))
(plus '(t t nil t) '(t nil t)) ; 11 + 5
=> (nil nil nil nil t) ; 16
(mul '(t t nil t) '(t nil t)) ; 11 * 5
=> (t t t nil t t) ; 55
400:名無しさん@お腹いっぱい。
05/04/05 10:30:07
おいおまえら、知能ベースを elisp で書けよ。
はやくしろ。
401:Zeno ◆5nZQbNmQPs
05/04/05 16:08:22
Re:>400
それはいいアイディアである
402:名無しさん@お腹いっぱい。
05/04/05 17:27:56
お前なんかに誉められてもうれしくないよ
403:Zeno ◆5nZQbNmQPs
05/04/06 11:34:00
Re:>402
お前のことは誉めていない。
知能ベースでも書いてから物を言うようにしろ
404:Zeno ◆5nZQbNmQPs
05/04/06 11:43:29
Tail Recursion は未だに Elisp に実装されていない。
この事実に理由はあるのか?
405:名無しさん@お腹いっぱい。
05/04/06 12:09:56
tail recursion なら実装されてますがなにか?
おまいの言いたいのは tail recursion optimization のことだろ。
理由はもちろんある。
-- 終了 --
406:名無しさん@お腹いっぱい。
05/04/06 13:29:51
あんま相手すんな。
伝染るぞ。
407:Zeno ◆5nZQbNmQPs
05/04/06 17:14:11
Re:>405
じゃあお前が optimization しろ
408:名無しさん@お腹いっぱい。
05/04/06 17:59:39
動的スコープの言語では末尾再帰の最適化は不可能
(defun bar ()
(fset 'foo (lambda () (print "bar"))))
(defun foo ()
(bar)
(foo))
409:Zeno ◆5nZQbNmQPs
05/04/07 14:22:10
A* サーチ・アルゴリズムの elisp バーションが
ほしくないわけでもないな。
____________
"Self" is that which is in the process of becoming... --Zeno
Today's Lucky Number: 421
410:名無しさん@お腹いっぱい。
05/04/07 23:12:09
>>409
負けたな
411:sakurai osamu
05/04/08 02:23:21
URLリンク(www.club-paruparo.com)
フィリピン万個伝説よろ
windows 最高!
412:名無しさん@お腹いっぱい。
05/04/08 13:01:28
ある文字列から四文字ずつ取り出してリストを作りたいのですが
どういう風にすればよいのでしょうか?
"いろはにほへとち" という風な文字列から '("いろはに" "ほへとち")
という風なリストを得たいのです。
文字列は四文字以上で4の倍数であることは保証されています。
413:412
05/04/08 13:59:44
length と substring を使うと簡単にできました。
どうもすいません。
414:名無しさん@お腹いっぱい。
05/04/09 21:30:09
Dired-modeのコピーとかをバックグラウンドでできませぬか?
415:名無しさん@お腹いっぱい。
05/04/13 21:05:28
拡張子 .tex を開けると自動的にflyspell-modeになるようにしたくて、
ついでに辞書もデフォルト(英語)からかえたくて、以下の
コードを~/.emacs にいれたんですけど、flyspell-mode
も辞書の変換もうまくいきません。なにがだめなんでしょう?
(add-hook 'LaTeX-mode-hook 'flyspell-mode)
(setq LaTex-mode-hook
'(lambda ()
(setq ispell-personal-dictionary "~/.ispell-dico-perso")
(ispell-change-dictionary "dansk")
))
エラーのメッセージはでないんですけど、、、
416:名無しさん@お腹いっぱい。
05/04/13 21:28:40
>>415
>も辞書の変換もうまくいきません。なにがだめなんでしょう?
せっかくadd-hookしたのに、次のsetqで上書きされてます。
danskに萌えたので、設定例も。
(setq LaTex-mode-hook
(lambda ()
(flyspell-mode 1)
(set (make-local-variable 'ispell-personal-dictionary) "~/.ispell-dico-perso")
(ispell-change-dictionary "dansk")
))
417:415
05/04/13 21:45:32
>>416
ありがとうございます。萌えてくださって。ってちがうか。
書いて下さった設定例でやってみたんですけど、
やっぱりうまくいきません、、、辞書も、英語のままです。
なにがいったいだめなんでしょうか、、、
418:416
05/04/13 21:56:59
>>417
だめでしたか。
当方ispell-modeを英語で使ったことがあるだけで、personal-dictionaryなん
て変えたこともないのでした。
せっかくなので少し調べてみます。
419:415
05/04/13 22:03:09
>>418
きょ、恐縮です、、、、
わたしももうちょっといろいろやってみます。
420:416
05/04/13 22:09:56
flyspell-modeだとプロセスを上げっぱなしにし、
それに付随して、辞書の指定はプロセス立ち上げ時なので、
辞書の設定を先に行う必要があるようですね。
こんなんでどうでしょうか。
(setq LaTex-mode-hook
(lambda ()
(let ((ispell-local-dictionary "dansk"))
(set (make-local-variable 'ispell-personal-dictionary) "~/.ispell-dico-perso")
(flyspell-mode 1)
)))
#自分で試してみる気はしません
421:415
05/04/13 22:21:46
>>420
調べて下さってありがとうございます。m(_ _)m
ですが、やはりだめでした。。。
そもそも、なぜflyspell-modeさえ自動的にたちあがらないのは
なぜなのか、、、
もうちょっとがんばってしらべてみます。
422:416
05/04/13 22:36:58
げ、そういう状態でしたか。
LaTex-mode-hook じゃなくて latex-mode-hook なのでは?
423:415
05/04/13 22:49:20
>>422
あああありがとうございます!(涙
うまくいきました!
あのコードはどっかから拾ってきたものなので盲目に過信してました,,,orz
最初に書いてもらったコードのLaTex をlatexに変えることでいけました。
一応貼っておきます。
(setq latex-mode-hook
(lambda ()
(flyspell-mode 1)
(set (make-local-variable 'ispell-personal-dictionary) "~/.ispell-dico-perso")
(ispell-change-dictionary "dansk")
))
424:416
05/04/13 23:12:13
>>423
プロセスを作成するのは最初のparse時であり、
ispell-change-dictionaryでispellプロセスがあれば殺す、
という処理でした。
この辺はflyspellかispellかは関係ないですね。勘違いしてました。
425:415
05/04/13 23:50:34
>>424
わたしにはまだよくわかりませんが
御教授戴きありがとうございました。時間ができしだい
Lispのマニュアルも最初から最後まで読もうと思います。
426:Zeno ◆5nZQbNmQPs
05/04/16 19:01:21
Reply-to:>>425
よかったな。 Lisp の場合、フリーでダウンロードできる本が沢山ある。
探して読め。
____________
If T is consistent, T !|- G_T.
If T is ω-consistent, T !|- ¬G_T.
427:名無しさん@お腹いっぱい。
05/04/16 20:35:55
引数で与えたローマ字文字列を、平仮名に変換してくれる関数ありませんか?
428:Zeno ◆5nZQbNmQPs
05/04/16 20:39:49
Reply-to:>>427
> 引数で与えたローマ字文字列を、平仮名に変換してくれる関数ありませんか?
そんなのあるもなにも、自分で簡単に書けるだろうが。
____________
If T is consistent, T !|- G_T.
If T is ω-consistent, T !|- ¬G_T.
429:名無しさん@お腹いっぱい。
05/04/17 09:38:00
>>427
kakasi 使っていいなら kakasi.el とか skk-kakasi.el とかを参考にすると
か。
430:名無しさん@お腹いっぱい。
05/04/17 17:45:37
読み込んだら文字化け!
何とかして!!
431:名無しさん@お腹いっぱい。
05/04/17 17:48:49
線香と水で供養する!
432:名無しさん@お腹いっぱい。
05/04/17 23:03:48
見るんじゃない 感じるんだ
そのうち文字化けでも読めるようになる
433:名無しさん@お腹いっぱい。
05/04/17 23:44:43
なにその Rogue like
434:Zeno ◆5nZQbNmQPs
05/04/18 12:23:06
Reply-to:>>427
> 引数で与えたローマ字文字列を、平仮名に変換してくれる関数ありませんか?
pt を 0 で始める。
pt を相対として、 substring で引数の文字列の
`one-char'、`two-char'、`three-char'
をゲットする。
s は empty string として初期化。
(setq s (concat s
(cond
((string= one-char "a" ) "あ")
((string= one-char "i" ) "い")
...
((string= two-char "ka" ) "か")
...
)))
んで、 pt を動かす。
上の作業を繰りかえせ。
Elisp 道場なんだから、後は自分で組み立てろバカ。
____________
If T is consistent, T !|- G_T.
If T is ω-consistent, T !|- ¬G_T.
435:.Zeno ◆5nZQbNmQPs
05/04/18 12:24:07
Reply-to:>>427
> 引数で与えたローマ字文字列を、平仮名に変換してくれる関数ありませんか?
pt を 0 で始める。
pt を相対として、 substring で引数の文字列の
`one-char'、`two-char'、`three-char'
をゲットする。
s は empty string として初期化。
(setq s (concat s
(cond
((string= one-char "a" ) "あ")
((string= one-char "i" ) "い")
...
((string= two-char "ka" ) "か")
...
)))
んで、 pt を動かす。
上の作業を繰りかえせ。
Elisp 道場なんだから、後は自分で組み立てろバカ。
436:名無しさん@お腹いっぱい。
05/04/18 12:48:24
二日考えた結果がそれか
437:名無しさん@お腹いっぱい。
05/04/18 13:13:37
うん。何でそう書くのかって感じだな。
438:Zeno ◆5nZQbNmQPs
05/04/18 13:54:18
Reply-to:>>436
別に考えていない。
Reply-to:>>437
相手が初心者である故、一番直観的な実装方法を書いてやっただけだ。
実際、ストリングではなく、char 単位で比較をした方が早く処理できる。
____________
If T is consistent, T !|- G_T.
If T is ω-consistent, T !|- ¬G_T.
439:名無しさん@お腹いっぱい。
05/04/18 14:06:21
ふつーに書けば
(let ((r-h-alist
'((a . あ) (i . い) (u . う) (e . え) (o . お)
(ka . か) (ki . き) (ku . く) (ke . け) (ko . こ)
(sa . さ) (si . し) (su . す) (se . せ) (so . そ))))
(defconst r-h-table
(let ((table (make-hash-table :test 'eq)))
(dolist (x r-h-alist)
(puthash (car x) (cdr x) table))
table))
(defconst r-h-regexp
(regexp-opt (mapcar (lambda (x) (symbol-name (car x))) r-h-alist))))
(defun r-h (roma)
(let ((start 0) result)
(while (string-match r-h-regexp roma start)
(if (> (match-beginning 0) start)
(push (substring roma start (match-beginning 0)) result))
(setq start (match-end 0))
(push (symbol-name (gethash (intern (match-string 0 roma)) r-h-table))
result))
(push (substring roma start) result)
(apply #'concat (nreverse result))))
こんな感じだろ。cond で比較してくなんて小学生か?
440:Zeno ◆5nZQbNmQPs
05/04/18 14:16:32
Reply-to:>>439
最適化などいくらでもできる。
その関数をプログラム中に何度も使用のであれば、早くすればよい。
さっきも言ったように「一番直観的な実装方法を書いてやっただけ」だ。
吾の君ので比較した場合、どっちが直観的かは自明である。
____________
If T is consistent, T !|- G_T.
If T is ω-consistent, T !|- ¬G_T.
441:名無しさん@お腹いっぱい。
05/04/18 14:31:47
ローマ字とかなの対応リスト作ったほうが直感的だよ。
442:名無しさん@お腹いっぱい。
05/04/18 14:32:27
中学生じゃなかったっけ
443:名無しさん@お腹いっぱい。
05/04/18 14:34:59
>>440
おツムの程度がずいぶんお粗末ですねえ。
444:名無しさん@お腹いっぱい。
05/04/18 15:11:40
438 が最適化されていると感じるのなら
(defconst r-h-alist
'(("a" . "あ") ("i" . "い") ("u" . "う") ("e" . "え") ("o" . "お")
("ka" . "か") ("ki" . "き") ("ku" . "く") ("ke" . "け") ("ko" . "こ")
("sa" . "さ") ("si" . "し") ("su" . "す") ("se" . "せ") ("so" . "そ")))
(defconst r-h-regexp
(regexp-opt (mapcar #'car r-h-alist)))
(defun r-h (roma)
(let ((start 0) (result ""))
(while (string-match r-h-regexp roma start)
(setq start (match-end 0))
(setq result (concat result
(cdr (assoc (match-string 0 roma) r-h-alist)))))
result))
これで理解できるかな。
ローマ字にマッチする正規表現を検索し、結果をひらがなとの対応表から引く。
one-char two-char とやらを cond でだらだら比較するよりずっと「直観的」
じゃないか。
445:名無しさん@お腹いっぱい。
05/04/18 15:39:00
ローマ字綴りが変でマッチしない時の処理を加えねば。
446:名無しさん@お腹いっぱい。
05/04/18 15:53:42
式が違っているのに、算盤使うか電卓使うかで喧嘩されてもなあ
447:名無しさん@お腹いっぱい。
05/04/18 16:04:31
コードも出してこないのに、口先だけで煽られてもなあ
448:名無しさん@お腹いっぱい。
05/04/18 17:24:31
アンサーノーと電卓の奇屍
449:名無しさん@お腹いっぱい。
05/04/18 20:46:10
Zeno ◆5nZQbNmQPs やこれに類似したレスは池沼コテなので、スルー推奨
450:名無しさん@お腹いっぱい。
05/04/18 22:41:34
もう少しいじれば n=(ry くらい言い出すのではなかろうか。
451:名無しさん@お腹いっぱい。
05/04/23 10:15:07
Zeno ◆5nZQbNmQPs (笑)
452:名無しさん@お腹いっぱい。
05/04/24 17:21:08
「em → emacs」 のabbreviation展開が定義してあるとして、
text-mode や emacs-lisp-mode などで例えば
( em
の後に expand-abbrev を実行すれば展開がされるのですが、
(em
の後に expand-abbrev を実行しても、emacs への展開がされません。
どうすれば、後者の場合にも展開がなされるようになりますか?
453:名無しさん@お腹いっぱい。
05/05/02 22:11:39
今日の日付2005-05-02から一日前とか二日前の日付をゲットする
うまい方法ある?なんか普通にプログラムすると、汚くなりそうなので
454:名無しさん@お腹いっぱい。
05/05/02 22:49:46
current-timeにオフセット指定できたらなー。
455:名無しさん@お腹いっぱい。
05/05/02 22:55:51
time-date.elのtime-addとか使ってみるとか?
456:名無しさん@お腹いっぱい。
05/05/02 23:51:02
スレリンク(tech板:306-307番)
457:名無しさん@お腹いっぱい。
05/05/03 16:57:33
float-time は?
458:457
05/05/03 16:59:41
全然読んでなかった。キャンセルします。
459:453
05/05/03 19:00:32
>>456
サンクス。
460:名無しさん@お腹いっぱい。
05/05/29 18:46:12
すみません,きわめて初歩的な質問です.
setq で,関数側の名前空間に lambda 関数をセットするにはどうしたら良い
のでしょうか?つまり,(defun square (x) (* x x)) と同じことを setq で
やるにはどうしたら良いでしょうか?
Common Lisp (というか,xyzzy Lisp)では
(setq square #'(lambda (x) (* x x))) でできるのですが.
461:名無しさん@お腹いっぱい。
05/05/29 18:58:14
fset
462:名無しさん@お腹いっぱい。
05/05/29 19:00:09
∧ ∧
(σ・∀・)σ 460 ゲッツ!!
\ \
/ \
∪ ̄ ̄ ̄\)
463:460
05/05/29 19:10:01
>>461
ありがとうございます.(fset 'square (lambda (x) (* x x))) でうまく行き
ました.それにしても,名前空間は本当にややこしいですね.このあたりは,
Scheme が本当に楽だと思います.
>>462
騙りはやめてください.私はアスキーアートを貼ったりすることに興味はあり
ません.
464:名無しさん@お腹いっぱい。
05/05/29 19:14:17
>>460
騙りじゃないYO。
|:::|::|__ 、-'''"´ ̄ ̄`"''''-、 __|_::::||
__|::::|::|_|_ / / \ \|::::||;;;||.. ___ .___
㍊|::|::|::::|_/ ● ,,. .,, ● ヽ:||::::::_|__|_ | |iiii
::::||::::|;;;;;|. (__人__) |目;;∥|≡| ̄|iiii
::::||::::|旦''-、、,,,,,,______,,,,,,、、-'' 超巨大ショボーン
465:名無しさん@お腹いっぱい。
05/05/29 19:21:52
関数の名前空間にlambda関数をセットするって意味わからん
466:460
05/05/29 19:22:01
訂正です.xyzzy-Lisp で,(setq square #'(lambda (x) (* x x))) という書
き方ができると書きましたが,間違いでした.これだと変数側の名前空間にセッ
トされるだけでした.ごめんなさい.しかし,xyzzy ではどう書くのだろう...
fset もないみたいだし.
>>464
すみませんでした.ただ,どうも私は,「番号ゲット」の人と,アスキーアー
トが苦手なのです.前者は全く意義がわからないし,後者は w3m ではアスキー
アートはきちんと表示されませんし.
467:名無しさん@お腹いっぱい。
05/05/29 19:36:39
お前の好みをここに書くことに意義はあるのか。
468:460
05/05/29 20:40:11
>>467 遅くなりました.個人的には意義があると思っております.
道端で大音量の音楽をかけている人がいたとして,そういう人に「私はその種
の行為を好まない」と伝えることには,意義があるというのと同じです.
もちろん,それを聞いてその人が音楽を止めるかはその人の自由ですし,周囲
の第三者が一連の流れをどう受け取るかも,それぞれの自由です.
469:名無しさん@お腹いっぱい。
05/05/29 20:43:23
道端じゃなくてライブハウスでもそうするのかな?
470:460
05/05/29 20:57:21
>>469
なるほど,良い例えですね.ライブハウスなら私はそれをしないでしょう.た
だし私は,その比喩に乗っかるなら,ライブハウスには行きません.
私は UNIX 板などの専門板は道端(ないしは公共空間)と考えており,ラウン
ジやニュース速報板などをライブハウスだと考えているということです(だか
らその種の板には行きません).
しかし,その受け取り方が正しいかはわかりません.というより,こういうも
のに正しいということは存在しません.ただし,その場の第三者の支持をより
多く受ける意見のほうが選択として望ましいでしょう.
以上です.しかし,この種の意見をたくさん書くのは,明らかにこのスレにとっ
て望ましくないですね.これで終わりにします.すみません.
471:名無しさん@お腹いっぱい。
05/05/29 21:41:54
書いてて自己矛盾してるのに気付かないもんかね、まったく。
472:名無しさん@お腹いっぱい。
05/05/29 22:00:32
結論: 句読点に , や . を使うやつはおかしなひとがおおい
473:名無しさん@お腹いっぱい。
05/05/29 22:02:07
この辺で雑談終わりにしないか
474:名無しさん@お腹いっぱい。
05/05/29 22:10:04
>>472
私も句読点は「,」「.」にしてるよ.日本語の論文誌では
そう指定されることが多いから,私の周りでもそういう人は多い.
君はきっとそんな世界とは無縁なんだろうね.
475:名無しさん@お腹いっぱい。
05/05/29 22:18:53
texの時だけそうしてる。
476:名無しさん@お腹いっぱい。
05/05/29 22:21:42
大学院に行くやつはたいてい就職できなかったやつ。
477:名無しさん@お腹いっぱい。
05/05/29 22:44:20
TeXの場合はその方が見栄えがいいから「, 」「. 」だけど、それとてASCIIコードの方だしなあ。
なんにせよ、場もわきまえずに関係の無いことをグダグダと垂れ流し、
挙句の果てには「私も」なーんて他人の振りして自己弁護するような池沼だということだけは分かった。
478:460 203-179-90-199.cust.bit-drive.ne.jp
05/05/29 22:59:38
ID がでないので証拠はありませんが,私は>>470 を最後に書き込みはしてお
りません.私の書き込みは,fill-region で整形してありますので,句読点以
外でも見分けがつくのではないかと思います.私の批判をなさるのは皆さんの
自由ですが.
(それにしても,私はよく自作自演の誤解を受けます.理由はわかりませんが,
>>474さんには申し訳ありません)
ただ一点だけ,>>471 の書き込みの「自己矛盾」という言葉が何を指している
のか,しばらく考えましたがどうしてもわかりません.よろしかったら,矛盾
点をご指摘いただけたら幸いです.皮肉でなしに,真剣に知りたいのです.
もし,お教えする価値がないと思われましたら,このレスを最後に,スレ本来
の流れに戻していただければ幸いです.
479:名無しさん@お腹いっぱい。
05/05/29 23:04:19
460よりもこいつ↓の方が断然好ましいと思う。つか気に入った。
|:::|::|__ 、-'''"´ ̄ ̄`"''''-、 __|_::::||
__|::::|::|_|_ / / \ \|::::||;;;||.. ___ .___
㍊|::|::|::::|_/ ● ,,. .,, ● ヽ:||::::::_|__|_ | |iiii
::::||::::|;;;;;|. (__人__) |目;;∥|≡| ̄|iiii
::::||::::|旦''-、、,,,,,,______,,,,,,、、-'' 超巨大ショボーン
480:名無しさん@お腹いっぱい。
05/05/29 23:05:45
xyzzy-lispってなぁ…
481:名無しさん@お腹いっぱい。
05/05/29 23:24:45
>>477
> TeXの場合はその方が見栄えがいいから「, 」「. 」だけど、それとてASCIIコードの方だしなあ。
日本語の論文では,ASCIIでなくて全角の「,」「.」を指定されるんだけど.
君はほんとに何も知らないんだね.Fランク大の出身者でしょうな.
> なんにせよ、場もわきまえずに関係の無いことをグダグダと垂れ流し、
> 挙句の果てには「私も」なーんて他人の振りして自己弁護するような池沼だということだけは分かった。
最早このあたりになると哀れというか見っともないというか・・・
自作自演じゃないんだけどね.まあ,君のような頭の悪そうな人に
どう思われてもかまわないけど (笑)
482:名無しさん@お腹いっぱい。
05/05/29 23:37:09
結論: 句読点に , や . を使うやつはおかしなひとがおおい
483:名無しさん@お腹いっぱい。
05/05/29 23:42:41
>>481 は学歴しかとりえがない社会不適合者かな?
大学はこういうやつを隔離しておくところ。
ずっと入院して、永遠に退院してこないでください。:-)
484:名無しさん@お腹いっぱい。
05/05/29 23:43:59
いつまで続けんのよ。
485:名無しさん@お腹いっぱい。
05/05/29 23:44:02
>>481
これはどっちのキャラで読んだらいいのかな。
フシアナしてないから「弁護する他人」キャラ?
>>479
いいよな。初めて見た。
486:名無しさん@お腹いっぱい。
05/05/29 23:44:19
:-) ←とかいう顔文字を使う奴が自分は社会に適合できてると思ってるのが笑える
487:名無しさん@お腹いっぱい。
05/05/30 01:19:50
なんで山崎スレでテストしてんだ>>478は。
スレリンク(unix板:17番)
488:名無しさん@お腹いっぱい。
05/05/30 02:22:12
>>481
日本語の論文って、あんた、Gランク大ですか?
島国根性まるだしですね。
489:名無しさん@お腹いっぱい。
05/05/30 07:10:51
>>488
はあ? いま日本語の論文の話題をしてるんだろ?
なんで突然英語の論文の話題になるの? ふつーは論文を英語で
書いてるよ,そんなの言うまでもないじゃん.
得意げに島国根性だってよ (苦笑).馬鹿と話すと疲れるね.
490:名無しさん@お腹いっぱい。
05/05/30 07:49:04
>>489
(add-hook 'yatex-mode-hook
(lambda ()
(require 'skk)
(setq skk-kutouten-type 'en)))
とでもしとけ。
491:名無しさん@お腹いっぱい。
05/05/30 09:16:54
結論: 句読点に , や . を使うやつはおかしなひとがおおい
492:名無しさん@お腹いっぱい。
05/05/31 02:23:52
日本でまともな研究しているやつっているの?
493:名無しさん@お腹いっぱい。
05/05/31 16:16:20
まともな研究したいやつは皆アメリカへ行く。
494:Zeno ◆5nZQbNmQPs
05/06/01 21:51:38
:)
________________________________________________________
セオドア・カジンスキー 「産業社会とその未来」 (aka. マニフェスト) の抜粋
URLリンク(www.cnn.com)
495:名無しさん@お腹いっぱい。
05/06/14 21:04:19
M-x で呼び出せる関数書いたんですが、
それに C-u を前置しても4回連続で実行とかしてくれません
ESC [任意の数字] でも同じ
複数回連続動作させたい場合は、何か特別な事をしなくちゃならないんでしょうか?
496:名無しさん@お腹いっぱい。
05/06/14 21:20:07
(interactive "p")
497:名無しさん@お腹いっぱい。
05/06/14 21:25:33
>>495
特別なっつーか、引数を自分のやりたいように処理してやんなきゃ。
その前置引数を見てその回数だけ繰り返すように関数を書かないと駄目っしょ。
C-u を前置すると Emacs が勝手に繰り返してる訳じゃなくって、C-u が渡さ
れたら繰り返すように関数が作ってある訳で。
498:名無しさん@お腹いっぱい。
05/06/14 22:11:40
>>496-497
すんません。そのようですね
URLリンク(www.math.s.chiba-u.ac.jp)
今この辺見て勉強してるんですが、何故だかうまくいかねっす
もう少しやってみます
499:名無しさん@お腹いっぱい。
05/06/14 22:28:00
(defun hoge (n)
(interactive "p")
(dotimes (i n)
(insert "hoge")))
500:498
05/06/14 23:26:34
一応解決しました
ifの使い方で躓いてただけだった
perlとかCみたいに{}で複数行をひとまとめにできないんで
>>499
ありがとうございます
dotimesなんてものもあるんですね
関数もっと知ってれば結構書けるんじゃないかな、とか思っちゃってる俺
ネット上に結構充実したリファレンス(しかも日本語訳されてる)とかあるし、
金出さなくても勉強できそう
501:名無しさん@お腹いっぱい。
05/06/15 00:46:14
emacs lisp は info のヘルプが超便利だと思うよ。
502:名無しさん@お腹いっぱい。
05/06/15 01:28:29
そだね
いろんな日本語のinfoを捜して、
それ読むだけでもいいんじゃない
503:名無しさん@お腹いっぱい。
05/06/23 13:33:40
lisp 以下のソースを見たらいいんじゃない?
使用したい function の使用例として。
504:名無しさん@お腹いっぱい。
05/06/25 10:23:50
文字列で与えられたシンボルを束縛したいんだけどどうやればいいでしょうか。
font-lock-mode => t
(let* ((bound-str "font-lock-mode")
(intern-soft bound-str))
font-lock-mode)
=> t
これじゃ駄目だし orz
505:名無しさん@お腹いっぱい。
05/06/25 10:32:34
eval すればいい
(let ((bound-str "font-lock-mode"))
(eval `(let ((,(intern bound-str) nil))
font-lock-mode)))
=> nil
よく使うならマクロに
(defmacro hoge (str value &rest body)
(let ((sym (intern (eval str))))
`(let ((,sym ,value))
,@body)))
(let ((bound-str "font-lock-mode"))
(hoge bound-str nil font-lock-mode))
=> nil
506:名無しさん@お腹いっぱい。
05/06/25 11:09:42
>>505
おおー、できました。
eval すりゃいいのか…ってまだよく理解できてないけど。感謝。
507:名無しさん@お腹いっぱい。
05/06/26 18:11:07
eval 必要ないみたい。
(defmacro let-string (str-value-list &rest body)
`(let ,(mapcar (lambda (sval)
(list (intern (car sval)) (cadr sval)))
str-value-list) ,@body))
(let-string (("font-lock-mode" nil)
("test" 11))
(cons font-lock-mode test))
=> (nil . 11)
508:名無しさん@お腹いっぱい。
05/06/26 18:24:34
eval 無いと
(let ((bound-str "font-lock-mode")) (let-string ((bound-str nil)) ...))
みたいに使えないよね。
文字列リテラル書けるのなら最初からシンボルにすればいいんだから、
よそから持って来た文字列に値を束縛したいって話なんじゃないの?
509:名無しさん@お腹いっぱい。
05/06/26 19:24:09
すみません、書いてから気付きました。
510:名無しさん@お腹いっぱい。
05/08/07 01:07:26
hoge という関数が定義されているか調べるにはどのように書けばよいのでしょ
うか?
511:名無しさん@お腹いっぱい。
05/08/07 01:22:09
(fboundp 'hoge)
512:名無しさん@お腹いっぱい。
05/08/17 15:11:54
Linux板のAtok Wnnスレで放置されたんで作ってみた。
(defun to-hankaku ()
"change current word from zenkaku to hankaku"
(interactive)
(save-excursion
(push-mark)
(backward-word 1)
(japanese-hankaku-region (region-beginning) (region-end))
(pop-mark)))
(global-set-key "\M-n" 'to-hankaku)
どなたか叩いてくだひゃい。
本当に聞きたいのはWnn7eggで半角カタカナ入力できるか否かなんだが
513:名無しさん@お腹いっぱい。
05/08/17 16:07:04
普通、関数内部の処理では mark は使わない。
mark は基本的に、ユーザーが手動で region 指定したり移動したりするためのもの。
移動コマンドなんかで、あとでユーザーが使えるように push-mark しとくとか、そういうときに使う。
普段の処理で使うのは marker のほう。
でもこの場合は、その場で region 指定するだけだから、 marker も使わないで済みそうかな。
(save-excursion
(let ((end (point)))
(backward-word 1)
(japanese-hankaku-region (point) end)))
みたいな。
514:名無しさん@お腹いっぱい。
05/08/17 17:00:47
>>513
ありがとさんです。regionといっても
markしなきゃいけないわけじゃないんですね。
えらくすっきりしました。
またなんかあったらよろしく
515:名無しさん@お腹いっぱい。
05/08/21 20:15:39
質問なんですが、例えば(decode-time)の結果のようなリストを
これまた例えば(sec minute hour day month)のような変数(のリスト)に
一気に代入するようなコマンドってないもんでしょうか。
Perlでいう
($sec, $minute, $day, $mon, $year) = localtime();
みたいなイメージなんですが。
あと、Emacs-Lisp Farm ていうMLがあるようですが
過去ログって見れないんでしょうか?
516:名無しさん@お腹いっぱい。
05/08/21 21:07:43
間違った使い方な気がするけど、multiple-value-setqとか?
ログはMLはいってからコマンドメール投げれば取得できるよ。
517:名無しさん@お腹いっぱい。
05/08/21 21:31:55
>>515
(apply (lambda (sec minute hour day month year dow dst zone)
...)
(decode-time))
とか CL 使うなら
(destructuring-bind
(sec minute hour day month year dow dst zone)
(decode-time)
...)
518:名無しさん@お腹いっぱい。
05/08/21 21:55:07
>>516,517
レスどうもっす。
(setq num '(1 2 3 4))
(multiple-value-setq (a b c d) num)
みたいに簡単にできるのですね。助かります。
「間違った使い方」つうのが気になるけど、、。
(apply (lambda (sec minute hour day month year dow dst zone)
(message "%d年%d月%d日%d時%d分" year month day hour minute sec)
)
(decode-time))
として動くのは確認しました。が、当方未だラムダ式とかよくわかっていないので
じっくり考えてみようと思います。
とりあえずapplyのドキュメントを丸のみすれば
「(decode-time)で返されたリストを引数(リスト)としたlambda式が実行された」
ということですね?