【叩かれて】Emacs Lisp道場【強くなれ】
emacs覧 / PC版 /みんなの評価 : ○
201 = :
書けるよ
202 = :
ネット関係のライブラリが標準で用意されているのですか?
P2P関係のものを何か作りたいのですがtcp/ip層までいじれますか?
203 = :
リリースされてる版だと、Emacs Lisp からできるのは TCP の connect(2) だけ。
accept(2) へのインターフェイスは 用意されてないから P2P やりたいなら
下請けの外部プログラムが必要。
204 = :
M-x namazu とする代わりに F2 キーでカーソルのある単語を検索できればと思い,
namazu.el を読んだ上で以下のように設定しました
しかしこの設定で F2 キーを叩いても,
別のバッファが開いて「32 件検索しました」 という
メッセージが出るところまで行くのですが
検索結果がでません どこを直せばよいのでしょうか
(global-set-key [(f2)]
(lambda ()
(interactive)
(namazu namazu-search-num namazu-default-dir
(current-word))) )
205 = :
namazu の最初の引数は PAGE-NUM みたいなので普通は 0 でしょう。
206 = :
>>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 = :
namazu-search-num が 0 になってない?
(namazu namazu-search-num namazu-default-dir (current-word))
で namazu-search-num を 0 にするんじゃなくて、
(namazu 0 namazu-default-dir (current-word))
にしたら? ってこと。
210 = :
しかしそれでもfromを見つけられない罠
212 = :
そのまま翻訳にかけてみるのも手かもな
213 = :
>>207 コメントありがとうございます
namazu-search-num が 0 になってない?
おかげさまで以下のようにしてうまく行きました
(setq namazu-search-num 20)
...
(namazu 0 namazu-default-dir (current-word))
てっきりnamazu-search-num と
namazu の第一引数は同じにするものだと思いこんでいました
ありがとうございました
215 = :
>>214
あんがとね。
いやー、あんた最高だよ。
216 = :
>>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 = :
速度命!ならビットパターンを表す文字列をキャッシュしといた方が簡単確実。
218 = :
>>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 じゃなきゃだめ。
220 = :
たった 256 個だから
(defconst byte-to-bit-string
(let ((v (make-vector 256 nil)))
(dotimes (i 256) ...)))
してあらかじめ作っとけばいいじゃん。
221 = :
(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 = :
なんかビット絡みはついてけない(´・ω・`)ショボーン
232 = :
----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 = :
>>232
いやー、かなり早くなったね。
234 = :
>>232
すごいすごい。
せっかくなので、アドレス部の表示をファイル位置にできたりしませんか?
(insert-file-contentsでBEG ENDを指定した場合など)
235 = :
ヽ(`Д´)ノ cclってナンダヨー
238 = :
(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 = :
すいません初歩的質問なんですが、リファレンスマニュアルを最終的にPDF化したいのですが、
ftp://ftp.ascii.co.jp/pub/GNU/elisp-manual-20/elisp-manual-20-2.5-jp.tgz
これを展開して、README.jisを読んだんですが、elisp.dviの作成手順で
GNU Emacs Lisp Reference Manual のソースツリーのファイルtexinfo.texが
どこにあるのだか分かりません。どこにあるんでしょうか?
240 = :
>>239
texinfo のソースツリーに入ってます。
http://savannah.gnu.org/cgi-bin/viewcvs/texinfo/texinfo/doc/
ところで、bookshelf.jp にある私的日本語化プロジェクトは
texinfo 形式のソースがあるのかな?
241 = :
>>240
texinfo でやってますので,ソースはありますけど,公開はしてません.
242 = :
では公開していただけますか?
243 = :
>>241
あ、texinfoのやつがあると僕もうれしい。支障なかったら公開きぼんぬです。
245 = :
>>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 = :
>>232
と同じような Hex dump ってあるのかな? そっちの方が僕は使うな。
binary にしてどんな時に便利か教えてくれ。
247 = :
ほしゅ。
248 = :
つか、ほしゅしなくても落ちないのでは?
250 = :
あなたは elisper ではありませんね?
みんなの評価 : ○
類似してるかもしれないスレッド
- 【熱く】お前のEmacsにはまった理由【語れ】 (577) - [36%] - 2021/8/28 17:30 ○
- 「Emacsは消滅すべき」、ゴスリング氏 (127) - [17%] - 2023/1/12 15:45
トップメニューへ / →のくす牧場書庫について