私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレEmacs part 27
emacs スレッド一覧へ / emacs とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 : ○
レスフィルター : (試験中)
>>300
with-current-bufferを使ってるなら何もしなければ*temp*がカレントバッファなはず
with-current-bufferは最初と最後にカレントバッファを切り換えるだけで
その中のformは単にカレントバッファに対する処理だから
もし途中何らかの操作で*temp*がカレントバッファじゃなくなってるなら
別におかしくはない。
with-current-bufferを使ってるなら何もしなければ*temp*がカレントバッファなはず
with-current-bufferは最初と最後にカレントバッファを切り換えるだけで
その中のformは単にカレントバッファに対する処理だから
もし途中何らかの操作で*temp*がカレントバッファじゃなくなってるなら
別におかしくはない。
find-grepのfindって -regexオプション使えますか?
俺の正規表現が間違っているのか、-regexオプションが存在しないのか
判断できないっす。
emacs23です
俺の正規表現が間違っているのか、-regexオプションが存在しないのか
判断できないっす。
emacs23です
>>305
たぶん //
たぶん //
再帰的に計算する関数をバイトコンパイルしようとすると、ほとんどで
Error: Variable binding depth exceeds max-specpdl-size
というエラーがでてしまうんですが、どうすれば消すことができますか?
(関数自体に問題はありません。)
Error: Variable binding depth exceeds max-specpdl-size
というエラーがでてしまうんですが、どうすれば消すことができますか?
(関数自体に問題はありません。)
現在のmax-specpdl-sizeより大きい値aについて
(setq max-specpdl-size a)
を評価する
あんまり大きすぎるとメモリ不足でemacsが落ちるかもしれんから気を付けてね
(setq max-specpdl-size a)
を評価する
あんまり大きすぎるとメモリ不足でemacsが落ちるかもしれんから気を付けてね
>>300
1週間くらい前のではならなかった。昨日ビルドしたのではなった。
1週間くらい前のではならなかった。昨日ビルドしたのではなった。
tibet-util.el に表示できない文字 (177行目とか198行目とか) があるんだけど、
表示できている人いる?intlfonts じゃダメなのかな。
チベット語関連とインド語関連の全文字表示は難しそうだ…。
表示できている人いる?intlfonts じゃダメなのかな。
チベット語関連とインド語関連の全文字表示は難しそうだ…。
tibetanは長い間メンテナンスされてないっぽいね。。。
インド系は、Emacs23をlibotf, m17n ライブラリとリンクすればかなり綺麗に出る。
インド系は、Emacs23をlibotf, m17n ライブラリとリンクすればかなり綺麗に出る。
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 には移行できません。
このようなコード変換をやっている犯人は誰なのでしょう。
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 には移行できません。
このようなコード変換をやっている犯人は誰なのでしょう。
ペーストってselectionで? x-get-selectionをedebug-defunして何が渡されているか見てみるとか。
>>314
つ xsel
つ xsel
edebugで思い出したので質問。
ある関数をデバッグしていて、その関数の中でコールされている関数に
ステップインするようなことはできない?
たとえばfind-fileをデバッグしていて、
find-file-noselectを実行するところでステップインする感じ。
今は毎回describe-functionとかで定義位置にジャンプして C-u C-M-x して
そのあとに g しているんだど、もちょっと手軽にできないものかと。
ある関数をデバッグしていて、その関数の中でコールされている関数に
ステップインするようなことはできない?
たとえばfind-fileをデバッグしていて、
find-file-noselectを実行するところでステップインする感じ。
今は毎回describe-functionとかで定義位置にジャンプして C-u C-M-x して
そのあとに g しているんだど、もちょっと手軽にできないものかと。
# 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]
# 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]
# 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]
# 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]
# 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]
# 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]
>>319-321 で x-get-select と書いているのは x-get-selection の間違いです。
途中の関数が書いてないのでわかりにくいですね。ここに貼るならedebug よりも
普通のデバッガの方がよかったかな。
途中の関数が書いてないのでわかりにくいですね。ここに貼るならedebug よりも
普通のデバッガの方がよかったかな。
>>317
その関数を呼んでいるフォームのカッコの位置で i (edebug-step-in) じゃない?
(find-file-noselect ...
^
ふだん edebug は使ってないので、どうやって解除するかしばらくわからなかった…。
その関数を呼んでいるフォームのカッコの位置で i (edebug-step-in) じゃない?
(find-file-noselect ...
^
ふだん edebug は使ってないので、どうやって解除するかしばらくわからなかった…。
>>318
>どうも x-get-selection は2度呼ばれるようなのです。
これを呼んでいるのは term/x-win.el 内の x-selection-value という関数でした。
これを Emacs-23 のものに差し替えたら、文字化けしなくなりました。
しかし差し替えで不具合が出ても困るので、もう少し読んでみます。
>どうも x-get-selection は2度呼ばれるようなのです。
これを呼んでいるのは term/x-win.el 内の x-selection-value という関数でした。
これを Emacs-23 のものに差し替えたら、文字化けしなくなりました。
しかし差し替えで不具合が出ても困るので、もう少し読んでみます。
(emacs-version)は何になってるんですか?
GTK+なのか、X toolkitなのか。
GTK+なのか、X toolkitなのか。
バージョンは >>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
となっています。
GNU Emacs 22.3.2 (i686-momonga-linux-gnu, GTK+ Version 2.12.12) of 2008-09-24 on miyako.momonga-linux.org
となっています。
別のモードの keymap を一時的にコピーして、
何らかの処理をした後に、元の keymap に戻すコードを書いてください。
何らかの処理をした後に、元の keymap に戻すコードを書いてください。
>>327
予算は?
予算は?
>>328
グダグダ言わずに早く書いてくれませんかね?
ヒント:
(copy-keymap foo)
(use-local-map foo)
(make-sparse-keymap)
上の関数を使えば比較的容易にできると思います。
グダグダ言わずに早く書いてくれませんかね?
ヒント:
(copy-keymap foo)
(use-local-map foo)
(make-sparse-keymap)
上の関数を使えば比較的容易にできると思います。
>>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 での
結果を比較してからどちらの文字列として扱うべきかを決定しているようです。
の差し替えは本質的解決ではありませんね。さて 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 での
結果を比較してからどちらの文字列として扱うべきかを決定しているようです。
>>327
まだですか?
まだですか?
すみませんが、質問です。リージョンを単に解除する関数はありませんか?
選択した範囲からデータを取得する、あるコマンドに手を加えているのですが、
処理の最後で範囲選択を解除したいのです。
選択した範囲からデータを取得する、あるコマンドに手を加えているのですが、
処理の最後で範囲選択を解除したいのです。
まずは
(funcall (intern (concat [107 105 108 108 45 101 109 97 99 115])) 1)
を評価してみろ。話はそれからだ。
(funcall (intern (concat [107 105 108 108 45 101 109 97 99 115])) 1)
を評価してみろ。話はそれからだ。
>>327 の相手なんかする必要はない、という意味だよ。楽しむ必要もない。
>>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))))
どういうものが良いのかよくわからないけど、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))))
>>335
navi2chでブラクラにあうとは思わなかったよ、くそう!
navi2chでブラクラにあうとは思わなかったよ、くそう!
そんなのできなくても全然問題ないけど、funcallを評価する前に
internの式を評価してみるくらいの注意深さはあった方がいいと思う。
internの式を評価してみるくらいの注意深さはあった方がいいと思う。
Emacs 23を入れてみた。色々変わってるけど、なんといっても激しく重くなったねえ。
ttyだとそうでもないのでXでの表示が重くなったのだろうけど。
一つのファイルに色々メモを書き足しているんだけど、そういう
長大なファイルだと入力に表示がついてこない。
ttyだとそうでもないのでXでの表示が重くなったのだろうけど。
一つのファイルに色々メモを書き足しているんだけど、そういう
長大なファイルだと入力に表示がついてこない。
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / emacs スレッド一覧へ
みんなの評価 : ○類似してるかもしれないスレッド
- Emacs part 25 (1001) - [92%] - 2008/8/10 0:18 ○
- Emacs part 26 (1001) - [92%] - 2008/11/8 20:47 ○
- Emacs part 22 (1001) - [92%] - 2008/1/18 7:47 ○
- Emacs part 28 (605) - [92%] - 2009/3/25 0:37 ○
- Emacs part 23 (1001) - [92%] - 2008/2/8 0:04 ☆
- Emacs Part 47 (995) - [84%] - 2015/4/19 13:01
- Emacs Part 37 (1001) - [84%] - 2011/6/20 19:47
- Emacs part24 (991) - [84%] - 2008/5/10 5:08 ○
- Emacs Part 40 (1001) - [76%] - 2012/9/7 0:30
- Emacs Part 53 (989) - [76%] - 2022/12/5 12:45
- Emacs Part 39 (990) - [76%] - 2012/2/9 19:45
- Emacs Part 34 (1001) - [76%] - 2010/6/21 19:45 ○
- Emacs Part 33 (1001) - [76%] - 2010/3/9 20:01 ○
トップメニューへ / →のくす牧場書庫について