トップページunix
990コメント300KB

Emacs Part 39

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2011/11/29(火) 17:50:44.24
前スレ

Emacs Part 38
http://hibari.2ch.net/test/read.cgi/unix/1308635178/
0203名無しさん@お腹いっぱい。2011/12/25(日) 12:26:15.80
現在開いているファイルがutf-8のとき、
utf-8bomかutf-8non bomかを開いているファイル名情報(ミニバッファ欄というのでしょうか)の
左側に表示したいのですが、可能でしょうか?
0204名無しさん@お腹いっぱい。2011/12/25(日) 12:27:38.96
書き忘れていました。
改行がlfかcrかも表示させたいです
0205名無しさん@お腹いっぱい。2011/12/25(日) 12:50:00.45
>>203
; BOMなしを 大文字の U に
(coding-system-put 'utf-8 :mnemonic ?U)
; BOMありを 小文字の u に
(coding-system-put 'utf-8-with-signature :mnemonic ?u)

基本的に一文字でしか表示は出来ないみたい。
ちなみに今何が設定されているか知りたいときは以下を実行
M-x list-coding-systems

UTF関連は全部ひっくるめてUになっちゃってるから必要であれば細かくわけたほうがいいかも。
一文字縛りだから厳しいけど。
0206名無しさん@お腹いっぱい。2011/12/25(日) 12:51:07.42
>>204
cr だの lf だの crlf は一応もともと表示はされているけど、
もっとわかりやすくしたいなら以下で。

(setq eol-mnemonic-dos "[CRLF]")
(setq eol-mnemonic-unix "[LF]")
(setq eol-mnemonic-mac "[CR]")
(setq eol-mnemonic-undecided "[?]")
0207名無しさん@お腹いっぱい。2011/12/25(日) 13:20:29.19
>>202 うーむ、月日が流れるのは早いもんだ。
0208名無しさん@お腹いっぱい。2011/12/25(日) 13:22:36.47
> (ミニバッファ欄というのでしょうか)

mode-line ね。

mode-line-mule-info いじればなんとでもなりそうな気はするけど。
マウスカーソル合わせればいろいろ表示できるからそれで十分な気がする。
0209名無しさん@お腹いっぱい。2011/12/25(日) 13:30:34.87
session.el を使っていると file-name-history に w3m の一時ファイル名が溜まるのが嫌なので
(setq session-set-file-name-exclude-regexp "[/\\]\\.overview\\|[/\\]\\.session\\|News[/\\]\\|w3mtmp")
というように、デフォルトの値に付け加えてみたんですが、やはりお構いなしに溜っていきます。

Emacs は 21.1 を使っているんですが、これを設定してる人はちゃんと効いてますか?
0210名無しさん@お腹いっぱい。2011/12/25(日) 13:30:46.10
load-path とかを設定するときに
append したり add-to-list を繰り返したりするのはよくみるけど
バッククオート使ったリスト展開使ってる人ってあんまり見かけない気がするんですが、
何かデメリットとか互換性とかでまずい点とかがあるんでしょうか?

(setq load-path `("~/lisp" "~/site-lisp" ,@load-path))
0211名無しさん@お腹いっぱい。2011/12/25(日) 13:36:40.41
>>210
デメリットは読みづらいって点じゃないかね。
真性 lisper の作った macro とか読んでると分かるかも。
0212名無しさん@お腹いっぱい。2011/12/25(日) 13:39:17.64
>>211
なるほど、あんまり見ないという意味で読みづらいってのはありそう。
でもただリストに追加するだけ、ってのが設定ファイル上だと多発してるんで、
短くて読みやすいこっちを使ってみます。
ありがとうございました。
0213名無しさん@お腹いっぱい。2011/12/25(日) 14:57:06.79
xyzzyにはある機能だな
emacsはというと見当たらない気がする
0214名無しさん@お腹いっぱい。2011/12/25(日) 15:10:17.46
>>213
リスト展開はEmacsで普通に使えてるぞ
0215名無しさん@お腹いっぱい。2011/12/25(日) 15:59:36.74
>>214
すまねえ、>>213>>200向けのレスだった
アンカーが抜けてしまったわ
0216名無しさん@お腹いっぱい。2011/12/25(日) 16:05:04.22
>>215
ああ、そういうことか。了解。
>>200 はxyzzyで使えるなら頑張ればEmacsにも移植出来そうなもんだね。
0217名無しさん@お腹いっぱい。2011/12/25(日) 17:27:51.00
バッファローカルなマクロや関数を設定する方法ってありますでしょうか?
0218名無しさん@お腹いっぱい。2011/12/25(日) 17:48:27.78
オーソドックスな方法はない。
obarray とか make-variable-buffer-local とか intern とか組み合わせてが
んばればもしかしたらそれっぽいことはできるかも。何がやりたいかによりそ
う。
0219名無しさん@お腹いっぱい。2011/12/25(日) 18:09:35.92
>>218
特定のファイル内でのみ使える使い捨ての関数を使いたかったのでした。

funcall での呼び出しで妥協するなら make-local-variable => lambda => funcall で他への影響少なく
実現出来ましたが、fset しちゃうとしっかりグローバルにマップされちゃうのが残念な感じ・・
0220名無しさん@お腹いっぱい。2011/12/25(日) 18:29:51.56
特定のファイル(バッファ?)内で呼び出すならそれでいいけど、
いろんなところで呼び出す関数の中でその使い捨て関数を使おうとするとだめじゃないか?

↓はevalしたバッファでなら問題なく動くけど他のバッファで say-hello するとNG
(set (make-local-variable 'somefunc) (lambda () (message "hola!")))
(defun say-hello ()
(interactive) (funcall somefunc))

0221名無しさん@お腹いっぱい。2011/12/25(日) 22:34:15.94
リストの中で条件に一致するものだけを抜き出す関数ってありますか?
find-if みたいな条件式を外から渡せるものが欲しいです。
0222名無しさん@お腹いっぱい。2011/12/25(日) 22:57:39.93
remove-if-not かな。名前分かりづらいよね。
0223名無しさん@お腹いっぱい。2011/12/25(日) 23:05:47.16
>>222
ありがとうございます。条件に一致しないものを全て除く、なんですね。
わかりづらいですねw
0224名無しさん@お腹いっぱい。2011/12/26(月) 20:45:07.50
>>160
すみません。ためして見ましたが他のアプリとの連携が完全に断ち切られてしまいました。

よく考えてみたらxyzzyでいうところのセレクションとリージョンの区別が
emacsには無いのかもしれないと思いました
xyzzyの説明はこれです
http://hie.s64.xrea.com/xyzzy/note/region-selection.html#1

希望する動作を詳しくいうと、もしもemacsにセレクションの機能があるとして
仮にメモ帳の文字をコピーしたとしてemacsに貼り付けようとするとき
セレクションの貼り付け->メモ帳からの貼り付けok
キルリングのヤンク->メモ帳からの貼り付けNG

逆も同様で、emacsで
セレクションの範囲選択からコピー->メモ帳に貼り付けok
リージョンの範囲選択からコピー->->メモ帳に貼り付けNG

セレクションが無いとするとキルリングを改変して
独立したリージョンのようなもの
(指定したキルリングのみ他のアプリと文字の受け渡し可)
を使いたいのですが可能でしょうか。何か複雑なことになってしまいましたが…
0225名無しさん@お腹いっぱい。2011/12/26(月) 21:13:29.20
>>224
ちょっとよく分からないけど・・

クリップボードと同期したくないだけなら
(setq x-select-enable-clipboard nil) でよかったはず。

上記の状態でキルリングではなくクリップボードから貼付けしたい時は clipboard-yank
切り取りの clipboard-kill-region と貼付けの clipboard-kill-ring-save ってのはあるんだけど
こっちは kill-ring にも入っちゃうんだよね。

クリップボードと直接やり取りしてるのは >>160 が言ってる変数の中身に指定されている関数である
x-select-text と x-get-selection-value。

セレクションについても普段使ってるプライマリの他にセカンダリ(Alt+ドラッグで指定出来る/Alt+真ん中クリックで貼付け)
ってのがあるから、それと組み合わせて何か関数作ればクリップボード連携専用セレクションは作れると思う。

0226名無しさん@お腹いっぱい。2011/12/26(月) 21:40:30.25
やっつけでかいてみた。

;; クリップボードとのkill/yank連携解除
(setq x-select-enable-clipboard nil)

;; クリップボードから貼付け
(global-set-key (kbd "C-c y")
(lambda ()
(interactive)
(let ((x-select-enable-clipboard t)
(x-last-selected-text nil))
(insert (or (x-get-selection-value) "")))))

;; クリップボードへコピー
(global-set-key (kbd "C-c w")
(lambda ()
(interactive)
(when (region-active-p)
(let ((x-select-enable-clipboard t))
(x-select-text (buffer-substring-no-properties
(region-beginning) (region-end)))))))
0227名無しさん@お腹いっぱい。2011/12/26(月) 22:43:20.34
>>226
やっつけに突っ込む & 試してないけれど、
(lambda (beg end)
    (interactive "r")
    (let ((x-select-enable-clipboard t))
      (x-select-text (buffer-substring-no-properties beg end))))
0228名無しさん@お腹いっぱい。2011/12/27(火) 00:56:12.67
>>225-227
ありがとうございます!まさに意図したとおり動いています
思わず笑顔になってしまいました
>>225の説明がわかりやすくて参考になります
ありがとうございました
0229名無しさん@お腹いっぱい。2011/12/27(火) 11:39:39.37
windowsでファイラーの右クリックからemacsにファイルを送ると
あらたなemacsが起動してしまうのですが
emacsがすでに起動しているならそのemacs内でファイルを開くように設定できますか
0230名無しさん@お腹いっぱい。2011/12/27(火) 12:04:09.38
>>229
emacsclientw.exe とか?
0231名無しさん@お腹いっぱい。2011/12/27(火) 13:57:42.71
>>230
ありがとうございます
それを使って設定できました
0232名無しさん@お腹いっぱい。2011/12/27(火) 21:10:00.44
メジャーモードの作成でdefine-generic-modeを使うとき
キーワードリストで設定するのと色づけリスト内のfont-lock-keyword-faceで設定するのは
変わりないのでしょうか?
それと、予約語や組み込み関数が膨大な言語を扱うときに一つ一つを書くのではなくて
予約語一覧や組み込み関数一覧の別ファイルを読みこんでfont-lockを設定できないものでしょうか
るびきち著のemacslispテクニックバイブル10章を読んでもこのあたりのことが
書いていないのでよくわかりません。
0233名無しさん@お腹いっぱい。2011/12/27(火) 22:00:50.40
generic-mode ではキーワードの外出しはサポートしてないっぽいね。

↓の関数でどうでしょ。
(defun keywords-from-file (file)
"ファイルからキーワードのリストを取得。ファイル内のキーワードは改行で区切ること"
(with-temp-buffer
(insert-file-contents file)
(split-string (buffer-substring-no-properties (point-min) (point-max)) "[\r\n]" t)))

(define-generic-mode
'hogehoge-mode
'("#")
(keywords-from-file "~/.emacs.d/hogehoge-mode-keywords")
...
)

みたいな感じで。
0234名無しさん@お腹いっぱい。2011/12/28(水) 02:04:40.26
>>233
ありがとうございます。うまくいきました。
0235名無しさん@お腹いっぱい。2011/12/28(水) 10:32:52.68
C-yでyankした後にM-yで履歴を遡れますが、
うっかり戻り過ぎた時に戻るコマンドはないのでしょうか。
リングを全部もう1周するのは大変です。
C-/でundoするのも時にはありなんですが、
やっぱり違ったって時にM-yを継続できないので不便です。
簡単に履歴を行ったり来たりできないのでしょうか。
0236名無しさん@お腹いっぱい。2011/12/28(水) 10:39:02.54
anything-show-kill-ringを使うといいよ^^^
0237名無しさん@お腹いっぱい。2011/12/28(水) 10:43:02.78
標準の M-y だとあんまり器用なことはできないね。
M-1 M-y とかで yank するヒストリの位置を指定したりできるけどそんなの頭で把握していないだろうし。

素直に browse-yank とか kill-summary とか browse-kill-ring とか popup-kill-ring とかの
貼る奴を選べるタイプのを使ったほうがいいと思う。

anything でも kill-ring は扱えるらしいんだけど使っていないからちょっとそっちは分からない。
0238名無しさん@お腹いっぱい。2011/12/28(水) 10:55:49.77
>>235
C-u -1 M-y
0239名無しさん@お腹いっぱい。2011/12/28(水) 11:06:30.27
M-- M-y でいいじゃん。
anything なんか勧めるな
0240名無しさん@お腹いっぱい。2011/12/28(水) 11:18:09.10
そういうこと言っちゃうとまた彼がくるよ。
0241名無しさん@お腹いっぱい。2011/12/28(水) 11:24:06.46
実際anything使ってるの?
auto-completeの作者はanythingアンチっぽいな
0242名無しさん@お腹いっぱい。2011/12/28(水) 11:35:51.24
割と技術ある人はだいたいanythingアンチ。
若い人があの人の煽りに乗せられちゃってるんだよ。
0243名無しさん@お腹いっぱい。2011/12/28(水) 12:06:07.16
> auto-completeの作者はanythingアンチっぽいな
これソース何?その人のブログとか読んだ限りじゃanythingユーザっぽいんだが…
0244名無しさん@お腹いっぱい。2011/12/28(水) 12:27:14.73
過剰反応
0245名無しさん@お腹いっぱい。2011/12/28(水) 13:25:04.41
>>235
redo.elで検索
0246名無しさん@お腹いっぱい。2011/12/28(水) 14:35:05.68
技術のある人はanythingを使わない(キリ
技術のある人はるびきち本などクソだと思っている(キリッ
vim・nviなどviではない(キリリッ
0247名無しさん@お腹いっぱい。2011/12/28(水) 16:01:44.06
/*
test
hoge
test
hoge
*/
これ全体にヒットするelispの正規表現はどのようなものでしょうか?
/\\*[\\n.]+\\*/ と書いたのですがヒットしませんでした
0248名無しさん@お腹いっぱい。2011/12/28(水) 16:12:30.51
> /\\*[\\n.]+\\*/

bracket (文字クラス) の中では . の意味は失われて通常文字になる。

(re-search-forward "/\\*\\(\n\\|.\\)*?\\*/")

でとりあえずマッチする。
コメントみたいなのに正規表現はあんまりよくないんじゃないかね。
0249名無しさん@お腹いっぱい。2011/12/28(水) 16:18:39.47
> コメントみたいなのに正規表現はあんまりよくないんじゃないかね。

よくないって書いたのはコメントが大きくなってきたときに正規表現がオーバー
フローするって意味です。ちょっとした利用なら気にしなくていいはずです。
02502472011/12/28(水) 16:25:53.05
ありがとうございます。わかりました。
0251名無しさん@お腹いっぱい。2011/12/28(水) 17:20:48.37
るびきちとご飯を食べる会とかやってるみたいだし
elisp書いてる界隈は総じて仲良いように見えるけどな。
anything!!anything!!ってプッシュしてなきゃあの人も色々面白い記事かくいい人だと思うよ。
0252名無しさん@お腹いっぱい。2011/12/28(水) 17:29:19.67
どんないい記事かこうとあの情報商材みたいな文章の羅列ですべて台無しだよ。
どっかの大学にでも勤めて真っ当な研究でもすればいいのに。いや無理か。。
0253名無しさん@お腹いっぱい。2011/12/28(水) 17:30:56.46
うるせえ、創造的破壊するぞ
0254名無しさん@お腹いっぱい。2011/12/28(水) 17:33:59.06
イノベーション()
0255名無しさん@お腹いっぱい。2011/12/28(水) 17:38:16.02
そうだね
倭猿ごときがEmacsの伝道師なぞ恐れ多いわ
0256名無しさん@お腹いっぱい。2011/12/28(水) 17:41:26.13
Lisp方言ならまかせろー!ならまだいいんだけど
たかだか1エディタの設定だけだもんな
0257名無しさん@お腹いっぱい。2011/12/28(水) 17:46:11.19
もうちょっと手広くやればいいのにね。
Emacsだけで食べるなんて無理だよ。
100ユーザ集ったとか悪いけど嘘くさすぎる。
0258名無しさん@お腹いっぱい。2011/12/28(水) 17:48:25.85
まだ本業のrubyがあるからあわてる時期じゃない
0259名無しさん@お腹いっぱい。2011/12/28(水) 17:50:15.62
そういえば設定本にviewer.elでview-modeのmode-lineを色付けして
他のモードと区別しやすくしようなんてページがあったのだけど

載ってるスクショが白黒だた
0260名無しさん@お腹いっぱい。2011/12/28(水) 17:53:07.29
>>258
最後の ruby kaigi に参加したとき自分の中でrubyは三年前のままで時間が止まってるとかほざいてたぞ。
お前その名前詐欺だろと思ったわ。
0261名無しさん@お腹いっぱい。2011/12/28(水) 17:55:39.93
>>259
ズコーw
0262名無しさん@お腹いっぱい。2011/12/28(水) 17:57:45.09
お前ら文句いいつつもしっかり本買ってるあたり、るびきちのことなんだかんだいって好きだよな
0263名無しさん@お腹いっぱい。2011/12/28(水) 17:58:27.22
嫌いです。
0264名無しさん@お腹いっぱい。2011/12/28(水) 17:58:35.12
ひとくくりにされてもな。
0265名無しさん@お腹いっぱい。2011/12/28(水) 18:03:04.34
Elisp本はLisp遊びで充分です
0266名無しさん@お腹いっぱい。2011/12/28(水) 18:04:38.74
リスト遊びか?
0267名無しさん@お腹いっぱい。2011/12/28(水) 18:18:48.69
俺らるびきちなんて格下興味ないからな
0268名無しさん@お腹いっぱい。2011/12/28(水) 18:23:38.65
lisp遊びなんてでてたんや
0269名無しさん@お腹いっぱい。2011/12/28(水) 18:54:32.36
山本さんのじゃなくて?
0270名無しさん@お腹いっぱい。2011/12/28(水) 18:57:51.43
>>264
なあ。俺らはるびきち本がどんなにつまらん内容か確認するためだけに買ってその後捨てたわ。
0271名無しさん@お腹いっぱい。2011/12/28(水) 19:17:33.42
せめてbookoffに。
0272名無しさん@お腹いっぱい。2011/12/28(水) 19:24:54.32
少しでも無意味な本が世に出回らんようにという配慮だ
emacswikiもいらん、このスレだけで十二分だ
0273名無しさん@お腹いっぱい。2011/12/28(水) 19:41:22.07
俺なんか間違ってあんな本を買うやつが出ないように近くの本屋で買い占めたからな
0274名無しさん@お腹いっぱい。2011/12/28(水) 19:49:32.87
山本さんは今ではHaskellの人というイメージやな
0275名無しさん@お腹いっぱい。2011/12/28(水) 20:39:36.16
お前らかずさんのことを悪く言うのか
0276名無しさん@お腹いっぱい。2011/12/28(水) 20:42:01.54
emacswiki面白いけどなあ。

>>273
俺も買い占めは出来なかったけどせめての布教防止にと2冊買った。
0277名無しさん@お腹いっぱい。2011/12/28(水) 22:27:24.40
だれもkazuさんのことを悪く言ってない
悪く言われているのは……
0278名無しさん@お腹いっぱい。2011/12/28(水) 22:39:30.78
なんでルビキチって叩かれてるの?
0279名無しさん@お腹いっぱい。2011/12/28(水) 22:44:46.33
一流のスポーツ選手ほど叩かれる
つまりそういうことだ
0280名無しさん@お腹いっぱい。2011/12/28(水) 22:46:15.31
つまりルビキチは神ってことすか?
0281名無しさん@お腹いっぱい。2011/12/28(水) 22:49:10.02
神キチ
0282名無しさん@お腹いっぱい。2011/12/28(水) 23:06:09.34
キチさんってruby時代から叩かれてるよね
あの頃は顔写真まで使って叩いてて酷いと思った
0283名無しさん@お腹いっぱい。2011/12/28(水) 23:07:47.51
アクの強いキャラクターだからなあ
別に悪人じゃないし色々貢献している人ではあるんだけど
0284名無しさん@お腹いっぱい。2011/12/28(水) 23:12:26.85
いったい何に貢献してるんだ?
最近anything連呼してるだけじゃん。
0285名無しさん@お腹いっぱい。2011/12/28(水) 23:13:51.02
個人的にはjplの人が一番偉いと思ってる
0286名無しさん@お腹いっぱい。2011/12/28(水) 23:14:14.58
設定本では「筆者が開発している」anythingだったのが
elisp本では「筆者がメンテナンス・開発している」anythingになっていた
ちなみに原作者の名前はまったく出てこない。まさに神の御業である
0287名無しさん@お腹いっぱい。2011/12/28(水) 23:45:54.41
るびきちが残念なのはemacsの枠内でだけ考えていること
anything.elもなんだかんだ言って既存のemacsスクリプトを取り込んで拡張していったから
自ずと限界は見えてしまう

anything.elがemacsの諸ライブラリの統合だと主張するのはわかったから
つぎはvimとemacsの統合というか融合の形を見せてほしい
0288名無しさん@お腹いっぱい。2011/12/28(水) 23:49:42.01
なんだそりゃ
0289名無しさん@お腹いっぱい。2011/12/28(水) 23:55:24.14
viperでいいのでは
0290名無しさん@お腹いっぱい。2011/12/29(木) 00:01:08.69
いちおうるびきちのブログみる感じだとemacs内で閉じるのは×で
外部プログラム使おうぜって主張だったと思うけど。

正直emacs内のhttpライブラリとかうんこちんちんだからなあ。
ただ外部プログラム呼ぶと他の環境に移る時めんどくさい。
0291名無しさん@お腹いっぱい。2011/12/29(木) 00:35:35.93
>>290
>正直emacs内のhttpライブラリとかうんこちんちんだからなあ。
詳しく聞きたい
0292名無しさん@お腹いっぱい。2011/12/29(木) 00:40:34.06
俺達って、もう Emacs だけで第一線張っていくの無理なのかな……(涙
なんとか言ってくれよ誰か!俺達が…俺達が費した青春は何だったんだよ!
0293名無しさん@お腹いっぱい。2011/12/29(木) 00:47:03.98
url.el が糞な点

・POSTメソッドをサポートしてない
・非同期接続時にタイムアウト指定できない
・接続待機はコンパイル時のオプション次第によっては非同期にならない

これはあかんよ。
0294名無しさん@お腹いっぱい。2011/12/29(木) 01:06:16.02
>>293
postメソッドについては知らなかった
そうだったのか
0295名無しさん@お腹いっぱい。2011/12/29(木) 11:50:02.70
モードラインに現在のバッファの最大行数を常に表示するのにはどうしたらいいんですか?
02962352011/12/29(木) 12:39:55.01
外部プログラムに頼りたくないので>>239さんの
M-- M-y
を使いたいと思います。
みなさんありがとうございました。
0297名無しさん@お腹いっぱい。2011/12/29(木) 12:49:16.97
define-generic-modeの初期化関数リストの部分で
(custom-set-faces
'(font-lock-keyword-face ((t (:foreground "yellow")))))
のようにすると他のモードにも色が反映されてしまうのですが、
任意のモードのときにのみ特定の色をつけるということは可能でしょうか
0298名無しさん@お腹いっぱい。2011/12/29(木) 13:09:33.71
>>297
デフォルトのfaceを使いたくない場合は、自分でfaceを作って
font-lock に教えてあげる必要がある。
特定のフェイスの色をバッファ毎に置き換える方法はちょっと分からない。

(make-face 'hogehoge-green-face)
(set-face-attribute 'hogehoge-green-face nil :foreground "green")

(make-face 'hogehoge-red-face)
(set-face-attribute 'hogehoge-red-face nil :foreground "red")

(font-lock-add-keywords 'hogehoge-mode
'(("^GREEN: .*" . 'hogehoge-green-face)
("^RED: .*" . 'hogehoge-red-face)))

んで、
generic-mode の場合は generic-make-keyword-list って関数があって、
これだとキーワードのリストに対して任意の face を指定出来るみたいだからこっち使ったほうがいいのかもね。
詳しい使い方は関数のヘルプをみてちょうだいな。
0299名無しさん@お腹いっぱい。2011/12/29(木) 13:11:14.19
typo だ。
× generic-make-keyword-list
○ generic-make-keywords-list
0300名無しさん@お腹いっぱい。2011/12/29(木) 14:34:09.80
kbd マクロに変数を渡すとエラーになってしまいますが
どうしても変数を渡したい場合は以下の方法しかないんでしょうか?
(setq a "C-c a")
(kbd a) ;; => (wrong-type-argument integer-or-marker-p a)
(eval `(kbd ,a)) ;; => "^C"
0301名無しさん@お腹いっぱい。2011/12/29(木) 14:57:49.13
横レスだけど

(macroexpand '(kbd a))

>Debugger entered--Lisp error: (wrong-type-argument integer-or-marker-p a)
となるのはなぜなのだろう?
(macroexpand '(dolist (x '(a b c)) (print x)))
は問題ないのに
0302名無しさん@お腹いっぱい。2011/12/29(木) 15:32:41.59
なんでって質問にはなかなか答えられないかもしれない。。
lisp reader作っちゃうような真性lisperの集まるスレに行って聞くといいかも。
プログラム板のschemeとかclとかの。

>>300
(setq a "C-c a")
(read-kbd-macro a)

ってやっちゃうととりあえず願いは叶うんだろうけど、これじゃ不満だろうか?
kbd はシンタックスシュガーな気がするしループの中でなんかするとかそうい
う使い方じゃないんじゃなかろうか。
■ このスレッドは過去ログ倉庫に格納されています