[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 04/03 02:06 / Filesize : 277 KB / Number-of Response : 955
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【叩かれて】Emacs Lisp道場【強くなれ】



1 名前:おっす [03/09/18 19:29]
なんとなくEmacs 触り始めて、なんとなくelispにも手を出して
しまったアナタ。

なんとなく書いてしまったコードをココに書き込んで叩かれましょう。
タタカレテツヨクナレ。

年季の入った玄人衆は、もしアドバイスできたらお願いします。
いや、叩きついでにでも。

とりあえず入門書は
ttp://www.netfort.gr.jp/~kiyoka/emacs_setq/emacs_setq.html
ttp://www.math.s.chiba-u.ac.jp/~matsu/lisp/emacs-lisp-intro-jp.html

リファレンスマニュアルは(ちと古い)
ttp://www.fan.gr.jp/~ring/doc/elisp-manual/elisp.html

とか、新しいのは(でも英語)
ttp://www.delorie.com/gnu/docs/elisp-manual-21/elisp.html

ではひとつ、コード中心の熱いバトルをよろぴく。


125 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/29 16:16]
unwind-protect使ったほうがいいよ。

126 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/29 16:46]
なぜ C-g で quit がいやなのかようわからんが、アドバイスせんでも
(let ((previous-input-mode (current-input-mode)))
(unwind-protect
(progn
(apply #'set-input-mode
`(,@(butlast previous-input-mode) ,last-input-event))
(heavy-proc))
(apply #'set-input-mode previous-input-mode)))
でいいような。


127 名前:114 mailto:sage [03/10/29 17:56]
>>125, 126
助言、ありがとうございます。
今まで、unwind-protect は実際にどういう場面で用いるのかわかりませんでしたが、
なんかわかったような気がしますです。

> なぜ C-g で quit がいやなのかようわからんが、

bf-mode.elというelispをいじくっているのですが、html をw3mで表示したと
きに重いので、キャンセルの手段が欲しいと思ったのです。

128 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/30 01:09]
C-gでいいじゃん…


129 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/30 21:47]
ファイルへの出力ってどうやってするんですか?
とりあえずhoge.txtに"hoge\n"と書いて出力する程度でいいんですが。

130 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/30 21:53]
write-regionでいいじゃん…


131 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/30 21:58]
>>130
さんくす!
ググってもよく分らなかったもので。

132 名前:名無しさん@お腹いっぱい。 mailto:age [03/11/15 19:21]
【徹底的】プログラマーが語るviとemacs 7【バトル】
pc.2ch.net/test/read.cgi/prog/1064605855/

514 :仕様書無しさん :03/11/15 14:09
Vimの方がEmacsより速いとか言っていた馬鹿が居たなぁ
ttp://msdn.microsoft.com/seminar/shared/asp/view.asp?url=/msdntv/episodes/en/20031028lhorndb/manifest.xml&rate=1&WMPVer=9.0.0.3008

どう見てもEmacsの方が速いなプッ
以前のこれと比べてみろよ
ttp://seriss.com/people/erco/fltk-videos/tutorial-fltk-hello.html

ダセーーー(藁
なんか、Vim抜けてプロンプトでコンパイルしてまた開いてるよプッ
しかも、Emacsの方が断然速いな〜
いい加減乗り換えた方が良いんじゃねぇか(藁

それにしてもM$のプログラマホモくせーな

133 名前:名無しさん@お腹いっぱい。 mailto:sage [03/12/06 19:06]
もはや、このスレもこれまでか…
がんばってる同士はおらんのだろうか。



134 名前:名無しさん@お腹いっぱい。 mailto:sage [03/12/06 22:27]
2ch以外で頑張ってます。

135 名前:名無しさん@お腹いっぱい。 [03/12/07 17:16]
たとえば、それはどこなんでしょう?

136 名前:名無しさん@お腹いっぱい。 mailto:sage [03/12/10 02:40]
あのー質問なんですが,
あるファイルの内容を調査したい場合,Emacs Lisp だと
対象となるファイルを一旦 find-file とかで
全て読み込まなくちゃ駄目なんでしょうか…?

外部プロセスに逃げると言う手も考えましたが,
そんなものを使うよりは,Emacs Lisp のみで完結したいので…


137 名前:名無しさん@お腹いっぱい。 mailto:sage [03/12/10 03:10]
etagsとか?
ってか、どんな調査したいのかにもよるのでは?

138 名前:名無しさん@お腹いっぱい。 mailto:sage [03/12/10 10:17]
dired で % g

139 名前:名無しさん@お腹いっぱい。 mailto:sage [03/12/10 10:30]
全部読まなくても
(insert-file-contents FILENAME &optional VISIT BEG END REPLACE)
でファイルの一部だけを読む事ができるよ。

140 名前:136 mailto:sage [03/12/11 23:27]
御回答どもです

>>137
どんな調査ってのはイロイロあるものの,
コレさえ解決できればってのは無くて,
要は,

open→無視して良いデータは破棄しつつ満足するまでread→close

ってのをやりたいだけでして…

>>139
ありがとうございます。
info読みなおしました…
今まで如何にイイカゲンに読んでたかを思い知りますた…
名前付きパイプとかも読めちゃうんすねコレ…


141 名前:名無しさん@お腹いっぱい。 [03/12/26 16:20]
一つの関数でλを定義する数は何個ぐらい許されるんでしょうか?

142 名前:名無しさん@お腹いっぱい。 mailto:sage [03/12/26 17:03]
なにがしたいのか分からんが、とりあえず作ってみたら?
もっと意図を明確にしたうえで、ム板のスレで質問するのがいいと思うが。

143 名前:名無しさん@お腹いっぱい。 mailto:sage [03/12/26 22:02]
(defun newschangelog (start end)
"ChangeLog中の不必要な部分を削除"
(interactive "r")
(save-excursion
(save-restriction
(narrow-to-region start end)
(goto-char start)
(replace-regexp "^[ \t]*.*STRONG.*" "")
(goto-char start)
(replace-regexp "^ *<A HREF.*" "")
(goto-char start)
(replace-regexp "</A></DT>" "")
(goto-char start)
(delete-matching-lines "^$")

(goto-char start)
(replace-regexp "^[ \t]*" "\t")
)))

* news/index.html: 記事追加
★ PTCジャパン、Linux対応Pro/EをLinux World Expoに参考出品</A></DT>
<DT><STRONG>日経BizTech</STRONG>
<A HREF="biztech.nikkeibp.co.jp/wcs/show/leaf/CID/onair/biztech/comp/247927">
日本SGI、Linux向けのシステム構築支援サービス</A></DT>
<DT><STRONG>c|net</STRONG>
<A HREF="japan.cnet.com/svc/rss?id=1261.47623.54525">
日本国内のLinuxサーバ市場:ビジネス利用には課題が多い</A></DT>


上記★から☆までがリージョンに指定されている状態だとします。このとき、
カーソルが★にあるのか☆にあるのかで、M-x newschangelog の結果が異なり
ます。



144 名前:143の続き mailto:sage [03/12/26 22:03]
具体的には、カーソルが☆にあると
PTCジャパン、Linux対応Pro/EをLinux World Expoに参考出品
<DT><STRONG>日経BizTech</STRONG>
日本SGI、Linux向けのシステム構築支援サービス
<DT><STRONG>c|net</STRONG>
日本国内のLinuxサーバ市場:ビジネス利用には課題が多い
となり、カーソルが★にあると
PTCジャパン、Linux対応Pro/EをLinux World Expoに参考出品
日本SGI、Linux向けのシステム構築支援サービス
日本国内のLinuxサーバ市場:ビジネス利用には課題が多い

となります。
希望する結果は、カーソルが★☆のどちらにあっても
PTCジャパン、Linux対応Pro/EをLinux World Expoに参考出品
日本SGI、Linux向けのシステム構築支援サービス
日本国内のLinuxサーバ市場:ビジネス利用には課題が多い
のようになることです。添削おねがいします。


145 名前:名無しさん@お腹いっぱい。 mailto:sage [03/12/26 23:41]
なんか例示されてるのと違い、空行が入ってしまうなーと思ったら、
transient-mark-mode かどうかで挙動が違うな。
で、offにして試してみたけど、どちらも okっぽかったけれど。

146 名前:143 mailto:sage [03/12/27 00:21]
検証ありがとうございます。おっしゃるとおり、手元の Emacs 20.7.2 を
\emacs -qで起動すると、★☆どちらにカーソルがあっても希望の結果になり
ました(transient-mark-mode t/nil のどちらも)。
ところが、XEmacs 21.1 を \xemacs -q で起動させて確認したところ、
transient-mark-mode t/nil どちらの場合も 144 に書いた結果になるのです。

常用しているのは XEmacs なので、それで希望の結果が出て欲しいのです。
皆様のアドバイスをいただきたく思います。よろしくお願いします。


147 名前:名無しさん@お腹いっぱい。 mailto:sage [03/12/27 05:08]
replace-regexp を
(while (re-search-forward REGEXP nil t)
(replace-match TO-STRING nil nil))
にすれば直るはず。
特別な理由がない限り lisp program 中で replace-regexp は使わないほうが
いいです。 perform-replace を参照。

148 名前:143 mailto:sage [03/12/27 22:46]
147氏のおっしゃるように修正したところ、XEmacs, Emacs の両者で
希望の動作をしてくれるようになりました。ありがとうございます。


149 名前:名無しさん@お腹いっぱい。 mailto:sage [04/01/04 14:13]
>>1 のelispリファレンス-ja
ttp://www.fan.gr.jp/~ring/doc/elisp-manual/elisp.html

は 27章 ウィンドウ がまるごと抜けてるからちょっと不便ですた。

ちょっと探したら、
www.i.kyushu-u.ac.jp/~s-fusa/doc/elisp-manual-20-2.5-jp/elisp-ja.html

を発見。こっちはちゃんと27章があるじょ。
スタイルシートでカラフルで見やすいなり。

にしても、emacs21版のelispリファ-ja は まだどこにもないんでしょか。

150 名前:名無しさん@お腹いっぱい。 mailto:sage [04/01/04 14:43]
149が訳すことにケテーイしますた。

151 名前:名無しさん@お腹いっぱい。 [04/01/04 16:33]
がんがれー

152 名前:名無しさん@お腹いっぱい。 mailto:sage [04/01/04 17:13]
www.gnu.org/software/emacs/elisp-manual/html_chapter/elisp_51.html#SEC729
これだけ訳せばいいんだろうか?

153 名前:名無しさん@お腹いっぱい。 mailto:sage [04/01/05 19:56]
>>152
駄目.

www.i.kyushu-u.ac.jp/~s-fusa/doc/elisp-manual-20-2.5-jp/elisp-ja_1.html#SEC4

にあるように,日本語は改変が認められていません.

故に公開したければ,全文を訳し直す必要がある.




154 名前:名無しさん@お腹いっぱい。 mailto:sage [04/01/05 21:01]
その GPL 和訳の由来はここ。
www.sra.co.jp/public/doc/gnu/gpl-2j.txt
これにも同じく
> ・和文文書の本文を改変しないこと。
とある。つまり、禁止してるのは「GPL の和文本文」の改変であって、
Emacs Lisp Reference Manual の和文ではない。
そもそも、元の文書が GPL なのだから改変禁止は不可能。

155 名前:名無しさん@お腹いっぱい。 mailto:sage [04/01/05 23:46]
恐ろしいほどの部分引用だな

156 名前:名無しさん@お腹いっぱい。 mailto:asage [04/01/23 04:41]
asm-mode で新規作成/既存ファイル開く、でファイル先頭に;(コメント文字) が
自動的に挿入されてしまうんだけど、これを抑制する方法ないでつか?

157 名前:名無しさん@お腹いっぱい。 mailto:sage [04/01/23 09:11]
それだけでは、うちではそんなことはないとしか言いようがないよ。
それは本当にasm-modeが入れているものなのかな?



158 名前:名無しさん@お腹いっぱい。 mailto:156 [04/01/23 11:26]
-q つけて起動したら再現しませんでした…出直してくるぽ。

新規作成したバッファの状態を監視しつつ
edebug でステップ実行したいんですけど、
バッファが見当たらない… asm-mode が
呼ばれたときはバッファが存在してるはずでつよね?



159 名前:156 mailto:sage [04/01/23 11:29]
まちがえて age ちゃった。 ごめんでつ。>>158>>156 です。

160 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/02 02:00]
最近の elisp では when とか unless とか出て来るんですけど、
わたしは while と if と cond くらいしか使いません。
when, unless の利点は何ですか?

161 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/02 02:01]
>>160
progn 使わなくていい

162 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/02 02:29]
whenとあったとき、ifと違い条件の成立しなかった時の処理はないのだと
一目で分かる。

163 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/02 02:38]
欠点はいらんのか



164 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/02 02:45]
別に ifと置換えとかじゃないし、単純すぎる構文だから欠点もなにも……。

165 名前:160 mailto:sage [04/02/02 02:55]
ってことは別に無理して使わなくてもいいってことか。
マクロってよくわかんないけど subr.el 見たら、if に置き換えてるだけみたいね。



166 名前:名無しさん@お腹いっぱい。 [04/02/06 02:12]
navi2chなんかで、エンター押したらその行に関係する動作をする機能を作るには
何を使えばいいのでしょうか。
key map を使うのかと思ってnavi2chのソースをみたのですが、
define-key map [return] という行は見つかりませんでした。


167 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/06 03:23]
そのレベルの質問なら、navi2chスレのほうが適切と思うが。

168 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/06 04:15]
(define-key map "\r" 'navi2ch-article-select-current-link)

169 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/06 04:45]
今回の場合、describe-key で returnに対応するコマンドを調べて、
それを元に grepすれば >>168が見つかりますな。

170 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/06 11:48]
C-h w RET

171 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/06 11:49]
w じゃなくて k だ

172 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/06 12:08]
ある関数内で auto-compression-mode を有効に束縛したいんですが

(let ((auto-compression-mode t))
(insert-file "foo.gz"))

じゃ駄目なんですね。

(let ((current auto-compression-mode))
(auto-compression-mode t)
(insert-file "foo.gz")
(auto-compression-mode current))

こうすべきもんなんでしょうか。なんかもっとスマートな方法ありますか?

173 名前:166 mailto:sage [04/02/06 12:15]
>>167-171
みなさんありがとうございました。
勉強になりました。
[return] ではなくて"\r"で定義してあるんですね。




174 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/06 12:21]
>>172
> じゃ駄目なんですね。
変数じゃないならだめだよ。

175 名前:172 mailto:sage [04/02/06 12:36]
>>174
いちお変数でもあるんですけどね、って今見てみたら docstring に
Setting this variable directly does not take effect;
と書いてあった…失礼しますた。やっぱあんな方法でやるしかないのかなあ。

176 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/06 13:23]
with-auto-compression-mode

177 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/06 18:24]
>>176
おーありがとうです。こんなのがあったのか。感謝。

178 名前:名無しさん@お腹いっぱい。 [04/02/06 22:10]
emacs21のtool-bar にあるプリンタアイコンはprint-bufferですが、
これを.emacsでpostscript-print-bufferに変えたいんですが、どうやれば
良いすかね?


179 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/07 00:26]
(setq tool-bar-map (delq (assq 'print-buffer tool-bar-map) tool-bar-map))
(tool-bar-add-item-from-menu 'ps-print-buffer "print")
でどうでしょ

180 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/09 16:51]
空のファイルを作成したいのですがどうやればいいんでしょうか?
動作としては↓のような感じです。
% touch hoge
(hogeというファイルは存在していないとして)

181 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/09 17:27]
(write-region (point-min) (point-min) "hoge" t)

182 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/09 20:37]
>>181
ありがとうございました。

183 名前:名無しさん@お腹いっぱい。 mailto:sage [04/03/20 18:29]
だれか、mmm で php-mode の indent が効かなくなるの直してくれ。



184 名前:名無しさん@お腹いっぱい。 mailto:sage [04/03/24 08:35]
mmm と php-mode てなんか相性わるいよね。
漏れは別の不具合のせいで、結局php-mode 単体でつかってまふ。

185 名前:名無しさん@お腹いっぱい。 mailto:sage [04/05/01 12:53]
'(1 2) '(3 4) => (4 6)
みたいにリストの各要素を足してくれるような関数ってありませんでしたっけ?

186 名前:名無しさん@お腹いっぱい。 mailto:sage [04/05/01 13:16]
(mapcar* '+ '(1 2) '(3 4))
clだけど。

187 名前:185 mailto:sage [04/05/01 13:29]
>>186
あれこれ探してみてたんですが cl にあったのか、どうもですた。

188 名前:名無しさん@お腹いっぱい。 mailto:sage [04/05/10 20:39]
arg1 が non-nil なら a-list に arg2 を append、
arg1 が nil なら b-list に arg2 を append、って処理をやりたいんですが

(defun my-test (arg1 arg2)
(if arg1
(setq a-list (append arg2 a-list))
(setq b-list (append arg2 b-list))))

これじゃちょっと不恰好な気がします。スマートに実装する方法ありませんか
ね。

189 名前:名無しさん@お腹いっぱい。 mailto:sage [04/05/11 01:40]
(let ((sym (if arg1 'a-list 'b-list)))
(set sym (append arg2 (symbol-value sym))))

190 名前:名無しさん@お腹いっぱい。 mailto:sage [04/05/11 18:30]
>>189
set ってこんな時に使えるのか。サンクスコでした。

191 名前:名無しさん@お腹いっぱい。 mailto:sage [04/05/12 08:04]
マ板、Emacs Lispスレから流れてきました。
○×ゲームを作っていくという話題。

とりあえず、入力はこんな感じで。
(read-from-minibuffer " │○│ 
―┼―┼―
 │×│ 
―┼―┼―
 │ │  コンマで区切って2つの数字を入力してください。(例 0,0)")


192 名前:名無しさん@お腹いっぱい。 mailto:sage [04/05/12 13:06]
何でminibuffer使う?
一瞬 gomoku.el の部品が使えないかなと思ったけど
自分で書いた方がはやそう。

193 名前:名無しさん@お腹いっぱい。 mailto:sage [04/05/12 15:56]
○×か。最初から敷居が高いなぁ。
入力はコンマ区切りよりリストとして入力させる方が良いハックじゃないかな?
コンマはパースしなくちゃいけないし。



194 名前:名無しさん@お腹いっぱい。 mailto:sage [04/05/12 16:10]
何も考えずに、ここまでやってみた。ボードと終了判定があるだけ。
あとは、エラーチェックの徹底と思考ルーチンかな。
長いので2回に分けます。

(defun ox-index (x y) (+ (* y 3) x))
(defun ox-line (vector y)
  (format "%c|%c|%c"
          (aref vector (ox-index 0 y))
          (aref vector (ox-index 1 y))
          (aref vector (ox-index 2 y))))
(defun ox-board (vector)
  (format "%s\n-+-+-\n%s\n-+-+-\n%s\n"
          (ox-line vector 0)
          (ox-line vector 1)
          (ox-line vector 2)))
(defun ox-read (vector o-or-x)
  (1- (string-to-int
       (read-from-minibuffer (format "%s (%cの番です) " (ox-board board)
                                     o-or-x)))))


195 名前:名無しさん@お腹いっぱい。 mailto:sage [04/05/12 16:12]
しょの2

(defun ox-game-over-p (vector)
  (catch 'loop
    (dolist (indexes '((0 1 2) (2 5 8) (7 6 8) (0 3 6)
                       (0 4 8) (1 4 7) (2 4 6) (3 4 5)))
      (let ((marks (mapcar #'(lambda (i) (aref vector i)) indexes)))
        (when (or (null (remove ?O marks)) (null (remove ?X marks)))
          (message (format "%s (%cの勝ちです。)" (ox-board board) (car marks)))
          (throw 'loop t))))))


196 名前:名無しさん@お腹いっぱい。 mailto:sage [04/05/12 16:13]
あとminibufferよりも新しく編集バッファを作成してエディタ内のテキストを
操作する方が良いと思う。二次元の平面を扱うなら。
例えば以下のような感じ。

(progn (get-buffer-create "hoge")
  (switch-to-buffer "hoge")
  (erase-buffer)
  (insert "○|×|○ \n")
  (insert "×|○|○ \n")
  (insert "×|○|× \n"))



197 名前:名無しさん@お腹いっぱい。 mailto:sage [04/05/12 16:13]
しょの3

(defun ox ()
  (interactive)
  (let ((board (vconcat '(?1 ?2 ?3 ?4 ?5 ?6 ?7 ?8 ?9)))
        (o-or-x ?O)
        i mark)
    (while (not (ox-game-over-p board))
      (setq i (ox-read board o-or-x))
      (setq mark (aref board i))
      (if (member mark '(?O ?X))
          (progn
            (message (format "%s (そこには置けません)" (ox-board board)))
            (sit-for 1))
          (aset board i o-or-x)
          (setq o-or-x (if (eql o-or-x ?O) ?X ?O))))))


198 名前:名無しさん@お腹いっぱい。 [04/05/12 16:20]
Emacsって何?

199 名前:名無しさん@お腹いっぱい。 mailto:sage [04/05/12 16:22]
>>192
> 何でminibuffer使う?
> 一瞬 gomoku.el の部品が使えないかなと思ったけど
> 自分で書いた方がはやそう。
その場のノリですが、むりやり理由をつければゲーム後に画面の後かたずけとかが自動的に行われるからです。

>>193
>入力はコンマ区切りよりリストとして入力させる方が良いハックじゃないかな?
>コンマはパースしなくちゃいけないし。
置ける場所に番号を書いておいて、それを入力してもらう方法をとってみました。

思考ルーチンも総あたりすればいいだけですね。

ox-game-over-pではthrowでdolistを早抜けしているんですけど、elisp的な
定石はこれでいいのでしょうか。

200 名前:鬱­猫­2030 ◆utuPOcVnl. mailto:utucat@yahoo.co.jp [04/05/12 18:14]
ここで>>1を読んで修業すればnavi2chみたいの書けますか?

201 名前:名無しさん@お腹いっぱい。 mailto:sage [04/05/12 19:22]
書けるよ

202 名前:鬱­猫­2030 ◆utuPOcVnl. mailto:utucat@yahoo.co.jp [04/05/12 21:20]
ネット関係のライブラリが標準で用意されているのですか?
P2P関係のものを何か作りたいのですがtcp/ip層までいじれますか?


203 名前:名無しさん@お腹いっぱい。 mailto:sage [04/05/12 21:43]
リリースされてる版だと、Emacs Lisp からできるのは TCP の connect(2) だけ。
accept(2) へのインターフェイスは 用意されてないから P2P やりたいなら
下請けの外部プログラムが必要。



204 名前:名無しさん@お腹いっぱい。 mailto:sage [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 名前:名無しさん@お腹いっぱい。 mailto:sage [04/05/13 04:54]
namazu の最初の引数は PAGE-NUM みたいなので普通は 0 でしょう。

206 名前:204 mailto:sage [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 名前:名無しさん@お腹いっぱい。 mailto:sage [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 名前:名無しさん@お腹いっぱい。 mailto:sage [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 名前:名無しさん@お腹いっぱい。 mailto:sage [04/05/14 15:39]
>>208
> なんかもっと綺麗に書く方法とかありますか?
ispellを使う、とか

210 名前:名無しさん@お腹いっぱい。 mailto:sage [04/05/14 16:34]
しかしそれでもfromを見つけられない罠

211 名前:名無しさん@お腹いっぱい。 mailto:sage [04/05/14 17:04]
queequegも利用してみるとか? 試したことないけど。

212 名前:名無しさん@お腹いっぱい。 mailto:sage [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 名前:名無しさん@お腹いっぱい。 mailto:sage [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 名前:名無しさん@お腹いっぱい。 mailto:sage [04/05/26 15:49]

>>214
あんがとね。
いやー、あんた最高だよ。


216 名前:名無しさん@お腹いっぱい。 mailto:sage [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 名前:名無しさん@お腹いっぱい。 mailto:sage [04/05/28 21:27]
速度命!ならビットパターンを表す文字列をキャッシュしといた方が簡単確実。


218 名前:名無しさん@お腹いっぱい。 mailto:sage [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 名前:名無しさん@お腹いっぱい。 mailto:sage [04/05/29 02:41]
(do ((x 128 (rsh x 1)))
((<= x 0))
(princ (if (zerop (logand x c)) "0" "1")))

220 名前:名無しさん@お腹いっぱい。 mailto:sage [04/05/29 03:06]
たった 256 個だから
(defconst byte-to-bit-string
(let ((v (make-vector 256 nil)))
(dotimes (i 256) ...)))
してあらかじめ作っとけばいいじゃん。

221 名前:名無しさん@お腹いっぱい。 mailto:sage [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 名前:名無しさん@お腹いっぱい。 mailto:sage [04/05/29 12:05]
なんかビット絡みはついてけない(´・ω・`)ショボーン

223 名前:名無しさん@お腹いっぱい。 mailto:sage [04/05/29 14:07]
>>219
rshって、remote shellで実行するのか?

昔から思ってたんだけど、logand/logiorってRMSのチョンボだな。
logicalじゃなくてarithmaticだろ。
またnatnumpってのもあるけど、0はnatunal numberじゃない。




224 名前:名無しさん@お腹いっぱい。 mailto:sage [04/05/29 14:13]
>>223
> 0はnatunal numberじゃない。
定義による。
0を自然数に含めることもある。
ttp://www.ss.u-tokai.ac.jp/~itai/column/three.html

225 名前:名無しさん@お腹いっぱい。 mailto:sage [04/05/29 14:32]
>>224
そうか。
じゃMITじゃビットAND/ORもlogicalって呼ぶのかもしれないな






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

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<277KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef