のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,434,809人
昨日:no data人
今日:
最近の注目
人気の最安値情報

私的良スレ書庫

不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

元スレEmacs part 27

emacs スレッド一覧へ / emacs とは? / 携帯版 / dat(gz)で取得 / トップメニュー
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
レスフィルター : (試験中)
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
301 : 名無しさん@お腹 - 2008/12/01(月) 10:12:42 (+77,+30,+0)
302 : 名無しさん@お腹 - 2008/12/01(月) 14:11:56 (+80,+29,-24)
>>297
ぼくも3パートのまとめを大切に保管しているけど、
あれ以降、それについて言及した人を見たことが無い。
303 : 名無しさん@お腹 - 2008/12/01(月) 16:13:50 (+4,-30,-80)
>>300
with-current-bufferを使ってるなら何もしなければ*temp*がカレントバッファなはず
with-current-bufferは最初と最後にカレントバッファを切り換えるだけで
その中のformは単にカレントバッファに対する処理だから
もし途中何らかの操作で*temp*がカレントバッファじゃなくなってるなら
別におかしくはない。
304 : 名無しさん@お腹 - 2008/12/01(月) 16:28:53 (+85,+29,-4)
>>297
経緯は知らんけど、
ちゃんと議論したいならム板あたりに行った方がいいと思う。
305 : 名無しさん@お腹 - 2008/12/02(火) 01:03:56 (+2,-29,-63)
find-grepのfindって -regexオプション使えますか?
俺の正規表現が間違っているのか、-regexオプションが存在しないのか
判断できないっす。
emacs23です
306 : 名無しさん@お腹 - 2008/12/02(火) 03:45:03 (+0,-23,+2)
>>305
たぶん //
307 : 名無しさん@お腹 - 2008/12/02(火) 19:33:02 (+3,-30,-101)
再帰的に計算する関数をバイトコンパイルしようとすると、ほとんどで

Error: Variable binding depth exceeds max-specpdl-size

というエラーがでてしまうんですが、どうすれば消すことができますか?
(関数自体に問題はありません。)
308 : 名無しさん@お腹 - 2008/12/02(火) 20:17:59 (+30,+12,+0)
再帰数子
309 : 名無しさん@お腹 - 2008/12/02(火) 20:35:40 (+3,-30,-44)
現在のmax-specpdl-sizeより大きい値aについて
(setq max-specpdl-size a)
を評価する

あんまり大きすぎるとメモリ不足でemacsが落ちるかもしれんから気を付けてね
310 : 名無しさん@お腹 - 2008/12/02(火) 23:03:45 (+57,+29,-5)
お前も命を落とさないようにな。
お互い無事だったらまた落ち合おう。
311 : 名無しさん@お腹 - 2008/12/02(火) 23:21:15 (+63,+29,-2)
>>300
1週間くらい前のではならなかった。昨日ビルドしたのではなった。
312 : 名無しさん@お腹 - 2008/12/03(水) 01:25:26 (+3,-30,-45)
tibet-util.el に表示できない文字 (177行目とか198行目とか) があるんだけど、
表示できている人いる?intlfonts じゃダメなのかな。

チベット語関連とインド語関連の全文字表示は難しそうだ…。
313 : 名無しさん@お腹 - 2008/12/03(水) 07:49:14 (-1,-29,-40)
tibetanは長い間メンテナンスされてないっぽいね。。。
インド系は、Emacs23をlibotf, m17n ライブラリとリンクすればかなり綺麗に出る。
314 : 名無しさん@お腹 - 2008/12/03(水) 22:41:09 (+36,-30,+0)
Linux の「くだらねえ質問は…」から引越してきました。
UTF-8 環境での、X上の Emacs (22.3.2) と、端末エミュレータ mlterm の間の
コピー and ペースト について。
OSは Momonga Linux 5 ですが、まあ Fedora9 に近い環境だとお考え下さい。

mlterm (2.9.4) でトランプのダイヤモンド記号(黒) (UTF-8) をコピーし、X上の
emacs (22.3.2) にペーストすると、JISX0213という扱いになってしまいます。
emacsで M-x describe-char してみると、本来は

character: ? (299494, #o1110746, #x491e6, U+2666)
charset: mule-unicode-2500-33ff (Unicode characters of the range U+2500..U+33FF.)

となって欲しい所が

character: ? (135996, #o411474, #x2133c)
charset: japanese-jisx0213-1 (JISX0213 Plane 1 (Japanese))

となってしまいます。

(1) emacs を -nw で立ち上げれば、このような変換は起きません。
(2) mltermの代りにコピー元を xterm や urxvt にすれば、このような変換は起きません。
(3) mlterm の設定で receive_string_via_ucs を true にしても false にしても解消されません。
(4) emacs に Mule-UCSを導入しようがしまいが、解消されません。
(5) emacs を 23 にすれば、このような変換は起きません。

他の elisp パッケージとの関係上まだ Emacs-23 には移行できません。

このようなコード変換をやっている犯人は誰なのでしょう。
315 : 名無しさん@お腹 - 2008/12/04(木) 00:01:44 (+4,-30,-20)
ペーストってselectionで? x-get-selectionをedebug-defunして何が渡されているか見てみるとか。
316 : 名無しさん@お腹 - 2008/12/04(木) 00:32:41 (+0,-29,+1)
>>314
つ xsel
317 : 名無しさん@お腹 - 2008/12/04(木) 00:51:08 (+9,-30,-100)
edebugで思い出したので質問。

ある関数をデバッグしていて、その関数の中でコールされている関数に
ステップインするようなことはできない?

たとえばfind-fileをデバッグしていて、
find-file-noselectを実行するところでステップインする感じ。

今は毎回describe-functionとかで定義位置にジャンプして C-u C-M-x して
そのあとに g しているんだど、もちょっと手軽にできないものかと。

318 : 名無しさん@お腹 - 2008/12/04(木) 02:54:45 (+9,-30,-111)
お返事ありがとうございます。

>>316
mltermの場合と urxvtの場合を比較しましたが、selectされた内容に差はありませんでした。
しかし emacs にペーストすると、違いが生じます。謎です。

>>315
どうも x-get-selection は2度呼ばれるようなのです。そして1度目は mlterm の場合と
urxvtの場合に違いは無いのですが、2度目の挙動が異なります。以下に *message* バッファ
の内容を貼ってみます。
319 : 名無しさん@お腹 - 2008/12/04(木) 02:57:18 (+9,-30,+0)
# mlterm と urxvt で共通な、
# x-get-selectの1回目のcall
Result: PRIMARY [2 times]
Result: UTF8_STRING [2 times]
Result: #("\342\231\246" 0 3 (foreign-selection UTF8_STRING)) [2 times]
Result: t
Result: #("\342\231\246" 0 3 (foreign-selection UTF8_STRING))
Result: UTF8_STRING [4 times]
Result: t
Result: utf-8
Result: #("\342\231\246" 0 3 (foreign-selection UTF8_STRING))
Result: utf-8
Result: "?" [3 times]
Result: 1 (#o1, #x1, ?\C-a)
Result: UTF8_STRING
Result: "?"
Result: nil [2 times]
Result: #("?" 0 1 (foreign-selection UTF8_STRING)) [2 times]
320 : 名無しさん@お腹 - 2008/12/04(木) 03:02:54 (+3,-30,+0)
# mlterm の場合。
# x-get-selectの2回目のcall。^[ と ◆ は 本物ではない。
Result: PRIMARY [2 times]
Result: COMPOUND_TEXT [2 times]
Result: #("^[$(O&<" 0 6 (foreign-selection COMPOUND_TEXT)) [2 times]
Result: t
Result: #("^[$(O&<" 0 6 (foreign-selection COMPOUND_TEXT))
Result: COMPOUND_TEXT [4 times]
Result: nil [2 times]
Result: compound-text-with-extensions [3 times]
Result: #("^[$(O&<" 0 6 (foreign-selection COMPOUND_TEXT))
Result: compound-text-with-extensions
Result: "◆" [3 times]
Result: 1 (#o1, #x1, ?\C-a)
Result: COMPOUND_TEXT
Result: "◆"
Result: nil [2 times]
Result: #("◆" 0 1 (foreign-selection COMPOUND_TEXT)) [2 times]
321 : 名無しさん@お腹 - 2008/12/04(木) 03:07:11 (+3,-30,+0)
# urxvt の場合。
# x-get-selectの2回目のcall。^[ は 本物ではない。
Result: PRIMARY [2 times]
Result: COMPOUND_TEXT [2 times]
Result: #("^[%G\342\231\246^[%@" 0 9 (foreign-selection COMPOUND_TEXT)) [2 times]
Result: t
Result: #("^[%G\342\231\246^[%@" 0 9 (foreign-selection COMPOUND_TEXT))
Result: COMPOUND_TEXT [4 times]
Result: nil [2 times]
Result: compound-text-with-extensions [3 times]
Result: #("^[%G\342\231\246^[%@" 0 9 (foreign-selection COMPOUND_TEXT))
Result: compound-text-with-extensions
Result: "?" [3 times]
Result: 1 (#o1, #x1, ?\C-a)
Result: COMPOUND_TEXT
Result: "?"
Result: nil [2 times]
Result: #("?" 0 1 (foreign-selection COMPOUND_TEXT)) [2 times]
322 : 名無しさん@お腹 - 2008/12/04(木) 03:15:08 (+4,-29,-33)
>>319-321 で x-get-select と書いているのは x-get-selection の間違いです。
途中の関数が書いてないのでわかりにくいですね。ここに貼るならedebug よりも
普通のデバッガの方がよかったかな。
323 : 名無しさん@お腹 - 2008/12/04(木) 03:56:29 (+4,-30,-72)
>>317
その関数を呼んでいるフォームのカッコの位置で i (edebug-step-in) じゃない?

(find-file-noselect ...
^

ふだん edebug は使ってないので、どうやって解除するかしばらくわからなかった…。
324 : 名無しさん@お腹 - 2008/12/04(木) 13:05:33 (+10,-30,-70)
>>318
>どうも x-get-selection は2度呼ばれるようなのです。

これを呼んでいるのは term/x-win.el 内の x-selection-value という関数でした。
これを Emacs-23 のものに差し替えたら、文字化けしなくなりました。

しかし差し替えで不具合が出ても困るので、もう少し読んでみます。
325 : 名無しさん@お腹 - 2008/12/04(木) 13:32:39 (-1,-29,-22)
(emacs-version)は何になってるんですか?
GTK+なのか、X toolkitなのか。
326 : 名無しさん@お腹 - 2008/12/04(木) 13:53:34 (+4,-30,-129)
バージョンは >>314 にも書きましたが、ツールキットは書いてませんでしたね。(emacs-version) は

GNU Emacs 22.3.2 (i686-momonga-linux-gnu, GTK+ Version 2.12.12) of 2008-09-24 on miyako.momonga-linux.org

となっています。
327 : 名無しさん@お腹 - 2008/12/04(木) 14:44:51 (+95,-29,-22)
別のモードの keymap を一時的にコピーして、
何らかの処理をした後に、元の keymap に戻すコードを書いてください。
328 : 名無しさん@お腹 - 2008/12/04(木) 15:19:43 (+45,+13,-2)
>>327
予算は?
329 : 名無しさん@お腹 - 2008/12/04(木) 15:32:55 (+9,-30,-37)
>>328
グダグダ言わずに早く書いてくれませんかね?

ヒント:
(copy-keymap foo)
(use-local-map foo)
(make-sparse-keymap)

上の関数を使えば比較的容易にできると思います。
330 : 名無しさん@お腹 - 2008/12/04(木) 15:51:52 (+4,-30,-226)
>>324 では mlterm と urxvt とで何処が違うかが明かではないので、x-selection-value
の差し替えは本質的解決ではありませんね。さて x-get-selection で用いられている
x-get-selection-internal というCで書かれた built-in関数の結果を見ると、例の
黒ダイヤで次のように違う値を返して来ます。

; mterm
(x-get-selection-internal 'PRIMARY 'COMPOUND_TEXT)
#("^[$(O&<" 0 6 (foreign-selection COMPOUND_TEXT))

; urxvt
(x-get-selection-internal 'PRIMARY 'COMPOUND_TEXT)
#("^[%G\342\231\246^[%@" 0 9 (foreign-selection COMPOUND_TEXT))

一方、上の 'COMPOUND_TEXT の所を 'UTF8_STRING で評価すると、同じ結果が
返って来ます。Emacs22.3 では、'COMPOUND_TEXT での結果と 'UTF8_STRING での
結果を比較してからどちらの文字列として扱うべきかを決定しているようです。
331 : 名無しさん@お腹 - 2008/12/04(木) 19:27:05 (+21,-5,+0)
>>327
まだですか?
332 : 名無しさん@お腹 - 2008/12/04(木) 20:10:01 (+61,+29,-53)
すみませんが、質問です。リージョンを単に解除する関数はありませんか?

選択した範囲からデータを取得する、あるコマンドに手を加えているのですが、
処理の最後で範囲選択を解除したいのです。
333 : 327 - 2008/12/04(木) 20:12:32 (+40,-29,-18)
>>332
(deactivate-mark)

私の質問の解答待ちに、割り込んでそういう初歩的な質問をするのは控えてください。
334 : 名無しさん@お腹 - 2008/12/04(木) 20:19:00 (+63,+29,+0)
>>333
うまく動きました。ありがとうございます。割り込んでしまってごめんなさい。
335 : 名無しさん@お腹 - 2008/12/04(木) 20:26:56 (-18,-30,-34)
まずは
(funcall (intern (concat [107 105 108 108 45 101 109 97 99 115])) 1)
を評価してみろ。話はそれからだ。
336 : 名無しさん@お腹 - 2008/12/04(木) 20:35:12 (+62,+29,-26)
>>335
無意味で味気無い
見ただけで何が起こるかがわかってしまう
もうちょっと楽しませてよ。
337 : 名無しさん@お腹 - 2008/12/04(木) 20:37:45 (+68,+29,-32)
>>327 の相手なんかする必要はない、という意味だよ。楽しむ必要もない。
338 : 名無しさん@お腹 - 2008/12/04(木) 20:38:37 (+34,-30,-266)
>>327
どういうものが良いのかよくわからないけど、minor-mode を適当に作ってみたよ。

(defvar hoge-orig-map nil)
(make-variable-buffer-local 'hoge-orig-map)

(define-minor-mode hoge-mode
"hoge minor mode"
:init-value nil
:lighter " Hoge"
:group 'hoge
(if hoge-mode
(condition-case err
(use-local-map
(progn
(push (current-local-map) hoge-orig-map)
(symbol-value
(intern
(completing-read
"Keymap: " obarray
(lambda (m) (and (boundp m) (keymapp (symbol-value m))))
t nil)))))
((error quit)
(setq hoge-orig-map nil
hoge-mode nil)))
(use-local-map (pop hoge-orig-map))))

339 : 327 - 2008/12/04(木) 20:48:09 (+33,+1,-36)
>>338
私が頭の中で描いていたもの (vip-change-modeに似た関数)
とは実装方法が違いましたが、コードが簡潔で素晴しいですね。
楽しめました。 ありがとうございました(笑顔)。
340 : 名無しさん@お腹 - 2008/12/04(木) 20:49:32 (+61,+29,-3)
>>335
navi2chでブラクラにあうとは思わなかったよ、くそう!
341 : 名無しさん@お腹 - 2008/12/04(木) 20:55:29 (+6,-30,-27)
>>340
[A-Za-z] の ascii コードぐらいは(二|十|十六)進法で言える、若しくは
暗算できるようにしておいた方がいいと思うよ。
342 : 名無しさん@お腹 - 2008/12/04(木) 21:06:30 (+57,+29,-16)
そんなのできなくても全然問題ないけど、funcallを評価する前に
internの式を評価してみるくらいの注意深さはあった方がいいと思う。
343 : 名無しさん@お腹 - 2008/12/04(木) 21:20:39 (+45,+13,-44)
ところで >>314 の問題は他の環境でも再現性はあるの?
再現性が無いのなら、OS特有・Build特有の問題なんで、
そのOSのスレの方がよいかも。
344 : 名無しさん@お腹 - 2008/12/05(金) 02:41:52 (+31,+3,-31)
それはUNIX板からLinux板への宣戦布告と受けとっていいのか?
345 : 名無しさん@お腹 - 2008/12/05(金) 10:12:19 (+45,+27,+0)
何言ってんの?
346 : 名無しさん@お腹 - 2008/12/05(金) 12:35:26 (+52,+29,-1)
ウンコ食いすぎて頭がイカれたらしい
347 : 名無しさん@お腹 - 2008/12/05(金) 22:14:48 (+57,+29,-14)
ウンコは食いすぎなくても食えば頭イカれるだろ。
というか食う時点で頭イカれてるだろ。
348 : 名無しさん@お腹 - 2008/12/05(金) 23:05:06 (+27,+9,+1)
ウン。
349 : 名無しさん@お腹 - 2008/12/06(土) 10:19:42 (+52,+29,-1)
はやくどんどん次の話題だして。
350 : 名無しさん@お腹 - 2008/12/06(土) 15:13:54 (+96,+29,-32)
Emacs 23を入れてみた。色々変わってるけど、なんといっても激しく重くなったねえ。
ttyだとそうでもないのでXでの表示が重くなったのだろうけど。
一つのファイルに色々メモを書き足しているんだけど、そういう
長大なファイルだと入力に表示がついてこない。
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / emacs スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について