トップページunix
1001コメント315KB

Emacs Part 43

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001名無しさん@お腹いっぱい。2013/06/09(日) 14:05:32.09
語り合いましょう。

GNU Emacs - GNU Project - Free Software Foundation (FSF)
https://www.gnu.org/software/emacs/

EmacsWiki: サイトマップ
http://www.emacswiki.org/emacs/

Emacsのトラノマキ | 検索結果: | ありえるえりあ
http://dev.ariel-networks.com/wp/?s=Emacs%E3%81%AE%E3%83%88%E3%83%A9%E3%83%8E%E3%83%9E%E3%82%AD

前スレ
EmacsPart42
http://toro.2ch.net/test/read.cgi/unix/1356319580/
0814名無しさん@お腹いっぱい。2013/11/12(火) 21:39:43.17
(require 'cl) がランタイムで禁止だったのは同名のEmacs Lispの関数を上書きして、
他のソフトがどっちを使っているのか分からなくなる問題があったため。

最近のEmacs は、clパッケージの関数の先頭に全部 cl- をくっつけることで名前衝突を防ぎ、
普通にrequire できる、 (require 'cl-lib) というのがあるので、支障がなければこっちを
使うべき。
08158052013/11/12(火) 21:57:02.45
色々調べたり試してみましたが advice の中で素直にマクロ展開させるのは無理そうでしたorz
cl を止めて cl-lib にしたところコンパイル時の警告が出なくなったので、
自前のマクロ用に>>813さんに指摘された関数の形でくくりだすのと合わせて対応してみます。

>>811さんの教えてくださった nadvice ですが、さらっと見た感じ
advice の中身も普通の関数みたいにコンパイル時にパースされるみたいですね。
導入が楽しみです。

ありがとうございました。
0816名無しさん@お腹いっぱい。2013/11/13(水) 00:45:42.47
>>805,806
(defadvice bar (after ad-bar compile activate)
(setq ad-return-value (moo)))
08178002013/11/13(水) 02:53:28.57
>>803-804
ありがとう。汚いコードを書かずに済みました。
バックスラッシュは……普段rx使ってるのでという言い訳を。

(replace-regexp-in-string (rx string-start (* (or blank "\n")) "\n")
""
" \n\n \n hoge\n \n")
08188052013/11/13(水) 12:01:28.13
>>816
ありがとうございます。
それは前も試しましたが void-function になります。

compile オプションの説明、Info 見ても正直よくわからないんですよね。
elc ファイル直接見てもわかるんですが事前にコンパイルするって命令ではないようです。
(この場合だと elc の中で moo が展開されていない)

preactivate もいまいち使いどころがわからないし色々 advice は難しい・・・
0819名無しさん@お腹いっぱい。2013/11/13(水) 12:34:44.71
>>818
24.3.1 で (bar) -> "moo!" となるけど?
08208052013/11/13(水) 12:47:16.49
>>819
(fboundp 'moo) が t になってませんか?
(symbol-function 'bar) でコンパイル済みの中身がでますが、その中で moo は展開されていますでしょうか。

なにかの拍子に未コンパイルの方を一度でもロードしてしまうと
moo が定義されてしまってそのまま動いてしまったりするので。
0821名無しさん@お腹いっぱい。2013/11/13(水) 14:41:26.54
>>820
じゃあこれでどうだ?

(defadvice bar (after ad-bar preactivate activate)
(setq ad-return-value (moo)))

(eval-when-compile
(ad-compile-function 'bar))
08228052013/11/13(水) 15:19:12.49
>>821
うーむ、結果変わりませんでした。
preactivate の説明みてると事前にコンパイルしてくれても良さそうな内容に見えるんですけどねえ・・
0823名無しさん@お腹いっぱい。2013/11/13(水) 16:23:51.22
emacs終了時に.recentfへの書き込み時間がいつの間にか伸びるようになってしまいました
package経由でインストールしたelispのせいだと思うのですが、どれが原因か絞り切れていません
なにかいい調べ方はありますか
0824名無しさん@お腹いっぱい。2013/11/13(水) 16:41:56.79
recentf-save-list が終了時に .recentf に保存する関数みたいだけど、
実際にそれに時間かかってるのか、それとも他のが終了時に時間かかってて
たまたま .recentf に保存してるメッセージが長く表示されてるように見えてるだけなのか見てみたほうがいいかも。
benchmark とか elp 使って recentf-save-list の実行にかかる時間測ってみるとかね。
あと kill-emacs-hook の中身とか。
0825名無しさん@お腹いっぱい。2013/11/13(水) 19:15:16.60
バイナリファイルをオープンして最初の4byteをリトルエンディアンでリードして返す、
みたいな処理はemacs lispでどう書けますか?
C言語ならfopenしてfreadするだけなのですが…
0826名無しさん@お腹いっぱい。2013/11/13(水) 19:29:14.98
一旦どっかのバッファに読む必要があるけど insert-file-contents-literally を使えばいいと思う。
これだとファイルのどこをどれだけ読むか指定出来る。
文字コード変換とかしないで読み込んでくれるけど、(set-buffer-multibyte nil) は必要だったかもしれない。
0827名無しさん@お腹いっぱい。2013/11/13(水) 19:46:38.84
>>826
ありがとうございます!
やっぱりバッファに読む必要があるんですね。
ファイルサイズが大きいとメモリ喰いそうだけど、仕方ないんですかね。。
まずは教えて頂いた関数をヒントに試してみます。
0828名無しさん@お腹いっぱい。2013/11/13(水) 19:52:09.47
こんな感じ?なんかもっとスッキリ出来るのかな。
あと素の emacs だと 28bit までしか扱えなかったんじゃなかったっけ。最近のは違うんだろうか。

あと insert-file-contents-literally は全部読み込むわけじゃなく、指定した範囲だけ読み込むから
とんでもなく大きい場合でも問題ないよ。

(defun read-dword (filename pos)
(with-temp-buffer
(set-buffer-multibyte nil)
(insert-file-contents-literally filename nil pos (+ pos 4))
(let ((result 0))
(dotimes (c 4 result)
(setq result (+ (lsh result 8)
(string-to-char (buffer-substring (- 4 c) (- 5 c))))))

)))
0829名無しさん@お腹いっぱい。2013/11/14(木) 00:49:11.09
>>828
サンプルありがとうございます。期待通りに動作しました。
insert-file-contents-literallyは&optionalの引数(beg end)で読み込む範囲を指定できるのですね。
ちゃんとマニュアル読むべきでした。すみません。
あと自分のはemacs 23.4.1ですが整数型はsigned 29bitまでしか扱えませんでした。
0830名無しさん@お腹いっぱい。2013/11/14(木) 12:22:56.48
>>824
有難うございます!
0831名無しさん@お腹いっぱい。2013/11/16(土) 17:18:42.52
Emacsがどういうオプションでビルドされたかを見るにはどうすればいい?
0832名無しさん@お腹いっぱい。2013/11/16(土) 20:09:14.64
system-configuration-options でわかるみたいだ
0833名無しさん@お腹いっぱい。2013/11/17(日) 05:15:43.15
たまに *Quail Completions* ってバッファが出来てるんですけど
これは何者ですか?
0834名無しさん@お腹いっぱい。2013/11/17(日) 08:36:04.83
ソースをagでググれば
emacs/lisp/international/quail.el
にありますね。
簡易入力メソッドフレームワーク "qual" のつくるバッファ。

Emacsの入力フレームワークは「たまご」egg(たくさんまたせてごめんなさい)
→eggの簡易版「うずらのたまご」quail.el
→quailの簡易版「こまどりのたまご」robin.el
という形になっていて、ちょっとしたものをつくる場合は robin.el は便利。
0835名無しさん@お腹いっぱい。2013/11/17(日) 10:02:17.99
>>834
ありがとうございます。そういう事だったのですね。
Win や Mac の IME しか使ったことなくて分かってませんでした。
単に \ を入力したつもりが Ctrl + \ を押しちゃってただけでした・・・
0836名無しさん@お腹いっぱい。2013/11/18(月) 00:53:06.94
smartrepを導入したのですが、smartrepによる連続操作実行後にカーソルキーによるカーソルの移動や
Deleteキーによる文字削除の動作を行うと、smartrepの解除と共にアルファベットが入力されてしまうのですが
これを回避する方法はありますか??
C-fやC-b、C-dを使えば問題ないのですが・・


環境は Windows + Cygwin です。
08378312013/11/18(月) 01:52:01.08
>>832
おお!これだ!ありがとう!
0838名無しさん@お腹いっぱい。2013/11/18(月) 15:46:47.28
>>836
Mac使ってて、そういう現象は確認できなかったけど…
他のライブラリが影響を及ぼしていないかを確認するため、
素Emacsでsmartrep以外全てオフにした最小限の状態でも
同じ現象が起こるか確認できる?それで起こるなら
そのコードを張ってみてください…
0839名無しさん@お腹いっぱい。2013/11/19(火) 00:55:47.81
>>838
Macで.emacs.dを削除して最小構成でやってみたのですが、
C-x oooooで画面を切り替えたあと→を押すと「C」と入力されてしまいます。

設定は以下になります。
0840名無しさん@お腹いっぱい。2013/11/19(火) 01:01:35.18
(require 'package)
(add-to-list 'package-archives '("marmalade" . "略"))

;; load-pathを追加する関数を定義します.
(略

(add-to-load-path "elisp")
(add-to-load-path "elpa")

;;; C-x o,o,o...で画面切り替えを行えるようにします。C
(require 'smartrep)
(smartrep-define-key global-map (kbd "C-x")
'(("o" . 'other-window)))
0841名無しさん@お腹いっぱい。2013/11/19(火) 06:15:48.72
>>840
こうさん。こちらじゃ再現しない。最小限構成にしても出るのなら、
もうEmacsそのものの環境の問題とかじゃないかな?

でも確かに C-x o のsmartrep 化は便利だなぁ。
いつも windmove で動いてたけどこっちに乗り換えてみるか。
0842名無しさん@お腹いっぱい。2013/11/19(火) 08:24:01.35
>>841
最後まで付き合ってくれてありがとうございました。
これを機会にC-f,b,n,pを使用した操作に切り替える
という手法で解決しようとおもいます!
0843名無しさん@お腹いっぱい。2013/11/19(火) 21:06:07.19
カーソルキーがエスケープシーケンスな環境とか。
0844名無しさん@お腹いっぱい。2013/11/19(火) 22:07:38.27
24.4とか、25って、どうなってるん?
最近リリースないな
0845名無しさん@お腹いっぱい。2013/11/19(火) 23:02:57.58
24.4のリリースを検討し始めたとこだね。
俺的な改善点はeshellでgitのログとか見れるようになるとこだな。(わかる人しかわからんか)
0846名無しさん@お腹いっぱい。2013/11/19(火) 23:15:58.99
っていうかgitのログすら見れんシェルを付けるなと。
eshellって名乗るぐらいなら
gitログくらいグラフィカルに表示しろ。
0847名無しさん@お腹いっぱい。2013/11/19(火) 23:20:46.75
eshell なんかまだ使ってる人いるんだな
0848名無しさん@お腹いっぱい。2013/11/20(水) 00:07:56.62
eshellはるびきちさんが推してたので一応使ってる
0849名無しさん@お腹いっぱい。2013/11/20(水) 01:27:10.80
つうかeshell以外なに使うんだ?
0850名無しさん@お腹いっぱい。2013/11/20(水) 02:11:18.24
普通にshell-mode
と見せかけて通はterm、これ
素人が手を出すとバッファからぬけられなくなって往生する諸刃の剣
0851名無しさん@お腹いっぱい。2013/11/20(水) 09:23:43.23
僕は ansi-term ちゃん!
0852名無しさん@お腹いっぱい。2013/11/20(水) 09:33:37.82
eshellの利点はwindows上でMSYSとか入れなくても、とりあえずcd,ls,cpとか使える事だな。
後はgnuwin32とかからgrepなんかの必須コマンドを落としてくればOK
0853名無しさん@お腹いっぱい。2013/11/20(水) 09:55:01.65
eshellはなんつーか内部処理の実装が効率悪すぎなんだよね
安全側に寄せてるんだろうけど思わぬ所でシステムコールしまくりみたいな
0854名無しさん@お腹いっぱい。2013/11/20(水) 12:06:55.65
基本 shell-mode で、たまに ansi-term かな。
0855名無しさん@お腹いっぱい。2013/11/20(水) 12:30:42.98
Unix 系 OS 上での eshell のいいところってなんだろう
0856名無しさん@お腹いっぱい。2013/11/20(水) 15:30:20.84
やっぱりカラフルterm+ ♪
0857名無しさん@お腹いっぱい。2013/11/20(水) 16:52:17.10
eshell はファイルを一気に開いたりするにはいい
0858名無しさん@お腹いっぱい。2013/11/20(水) 17:11:59.76
find-file でもワイルドカード使えるよね普通に
0859名無しさん@お腹いっぱい。2013/11/21(木) 00:12:14.72
eshellのもうひとつ便利な機能は**/*.hとかで、ディレクトリを再帰的に辿ってpathを生成してくれるところ
0860名無しさん@お腹いっぱい。2013/11/21(木) 01:07:11.71
shell-mode 弄りすぎて他のは使えなくなってしまった
0861名無しさん@お腹いっぱい。2013/11/21(木) 14:28:57.98
マクロについて質問です。
elisp の info によると、マクロ内で let を使って変数を作った場合
引数内でのその変数名を上書きしてしまうことを問題点としてあげています。
http://www.gnu.org/software/emacs/manual/html_mono/elisp.html#Surprising-Local-Vars

この例の中で、(let ((max 0)) ...) ではなく (let ((tempvar (make-symbol "max"))) ...) を使えばいいと書いてあるのですが、
これって max については intern されないので問題ないですが
結局 tempvar については同じ問題をはらんでますよね?
0862名無しさん@お腹いっぱい。2013/11/21(木) 14:42:30.04
その上の例のmaxはマクロが展開された結果に残るけど、
下の例のtempvarは展開時に使うだけで展開された結果には残らない。
0863名無しさん@お腹いっぱい。2013/11/21(木) 15:05:26.93
>>862
なるほど、マクロの理解が足りてませんでした。
評価結果で置換されるわけだから外側の let は置換後の結果にあらわれてこないと。
(defmacro foo1 () (bar)) と (defmacro foo2 () '(bar)) の違いということですね。
いまいちなんでマクロ本体にシングルクォートを置くのかわからず使っていました。

ありがとうございます。
0864名無しさん@お腹いっぱい。2013/11/21(木) 15:16:24.70
もう一つ質問です。
intern-soft で非 nil が返ってくるのに obarray の中にシンボルが見つからないということはありうるのでしょうか。
emacs -q で起動した emacs に対して以下を評価しました:

(require 'cl-lib)
(intern-soft "cl-find") ; => cl-find
(cl-find (lambda (sym) (string-match "^cl-find" (symbol-name sym))) obarray) ; => nil

intern-soft では cl-find が定義されてるように返ってくるのですが、
cl-find で検索した結果は nil となってしまいました。
実際に obarray を展開してインクリメンタルサーチしても実際中に入っていないように見えます。
0865名無しさん@お腹いっぱい。2013/11/21(木) 15:45:04.87
mapatoms で vector (obarray) をお探しくだせぇ

参考

(let ((vec (make-vector 1 nil)))
(intern "a" vec)
(intern "b" vec)
(list
(intern-soft "a" vec)
(intern-soft "b" vec)
(intern-soft "c" vec)))
0866名無しさん@お腹いっぱい。2013/11/21(木) 15:50:00.99
obarray より cl-find の使い方からだな
0867名無しさん@お腹いっぱい。2013/11/21(木) 16:02:45.34
>>865
ありがとうございます。
mapatoms で探索させたところ見つかりました。

(require 'cl-lib)
(let ((found nil))
(mapatoms (lambda (sym) (when (string-match "^cl-find" (symbol-name sym))
(setq found t))))
found) ;; => t

vector ⊂ sequence だと思っていたのですが必ずしもそういうわけでもないってことなんでしょうかね
(pp obarray) させた結果にも cl-find が出てきませんでしたし。
もうすこし vector について勉強してみます。
0868名無しさん@お腹いっぱい。2013/11/21(木) 16:13:23.22
(length obarray) と mapatoms で数えた要素数が異なるのもなんでかわからない・・・

(let ((count 0))
(mapatoms (lambda (sym) (setq count (1+ count))))
count) ;; length の結果とかなり異なる (ex 1511 vs 22728 など)

length のドキュメントを見る限り普通に vector にも使えそうな感じではあるのですが。
0869名無しさん@お腹いっぱい。2013/11/21(木) 16:20:27.07
自己解決しました。
obarray は vector ではあるが、中身は hash 構造になっているので mapatoms 以外での探索は出来ないとのこと。
ちゃんと obarray の説明の所に書いてありますね。length での値が異なるのも納得できました。

http://www.gnu.org/software/emacs/manual/html_node/elisp/Creating-Symbols.html
0870名無しさん@お腹いっぱい。2013/11/21(木) 16:21:05.35
解決したらしいけどおまけ。

http://www.mew.org/~kazu/doc/elisp/hash.html
0871名無しさん@お腹いっぱい。2013/11/21(木) 16:22:27.85
mapatomsのドキュメントを読んだ感じだと
http://www.geocities.co.jp/SiliconValley-Bay/9285/ELISP-JA/elisp_103.html

obarrayがフラット(?)なvectorじゃないだけじゃない?
emacs lispを余り知らないからはっきりと言えないけど
vector ⊂ sequence は正しいんじゃない?
0872名無しさん@お腹いっぱい。2013/11/21(木) 19:05:20.92
imaximaのgnuplot連携ですが外部のgnuplotを呼び出さずにインラインで描画させる方法有りませんか? ( ; ; )誰か助けてorz
0873名無しさん@お腹いっぱい。2013/11/21(木) 19:22:24.33
呼び出さないってのは gnuplot の window に描画させるんでなく、emacs の window 内に表示させたいってことだよね?
gnuplot がない環境でも動くようにって話ならそりゃ無理じゃねえの?としか。
0874名無しさん@お腹いっぱい。2013/11/21(木) 19:42:55.65
rskkservはruby 1.9に対応してないようですが、
これは簡単には動きませんか?
0875名無しさん@お腹いっぱい。2013/11/21(木) 19:53:42.68
>>873
gnuplot自体は有ってgnuplot-modeでプロセス作ってコマンド入れればインラインで描いてくれます。
imaximaで使うgnuplotをemacs外部のプロセスじゃなくemacs内のプロセスでインラインにならないかと。
0876名無しさん@お腹いっぱい。2013/11/21(木) 20:00:30.54
>>872
Imaximaのサイトやブログに書いてあったよ。

Tutorial of Imaxima inline graph
sites.google.com/site/imaximaimath/tutorial-of-imaxima/tutorial-of-imaxima-inline-graph

draw関数によるグラフのプロット 入門編 - Maximaでつづる数学の旅
d.hatena.ne.jp/jurupapa/20110613/1307977715
> imaximaではグラフをEmacsのバッファの中にインラインで表示することができ
> るのですが、そのために、draw2d()の代わりにwxdraw2d()関数を使用します。
> 引数などの書式は両者とも全く同じです。
0877名無しさん@お腹いっぱい。2013/11/21(木) 20:33:40.54
>>876
おおおお、(≧∇≦)
ありがとうございます(^o^)/
0878名無しさん@お腹いっぱい。2013/11/24(日) 06:56:36.40
今更ながら24.3にしてみたですけど、
Warning: function `map' from cl package called at runtime
これはどうすれば黙らせられます?
0879名無しさん@お腹いっぱい。2013/11/24(日) 10:19:50.70
byte-compile-warnings から cl-functions を抜けばいい。
cl-functions だけ外してずらずら列挙するか、'(not cl-functions) とか設定するとか。
0880名無しさん@お腹いっぱい。2013/11/24(日) 10:22:34.51
あと正攻法でいくならで cl-map に置き換えるとか。
直接書き換えないんでも バージョンみて defalias して上げりゃいいと思う

ただ cl-flet なんかは flet と挙動自体が変わってて cl-letf にしないとダメな場合もあるから
単純に defalias すればいいってわけでもなかったりするのもある
0881名無しさん@お腹いっぱい。2013/11/25(月) 11:31:24.63
C++/CLI を semantic が理解できるようにする方法があったら教えてくださいませ。
c++-modeで開いてみたときの印象からは、 ^ を *, & と同じように扱えれば何とかなりそうなんだけど、
どこをどうすればいいのかがわからなくて。

Doxgenタイプのコメントをつけたいのだけれど、いちいち手で作るのは勘弁してほしいというだけなんで、
semantic使わないで、関数のコメントのテンプレートを生成する方法があれば、そちらもよろしく。
0882名無しさん@お腹いっぱい。2013/11/25(月) 12:05:42.27
自分で調べろクソが
0883名無しさん@お腹いっぱい。2013/11/25(月) 16:33:52.79
そこら辺はもう MS の VC 使うとかの方が健全な解な気がしてる
0884名無しさん@お腹いっぱい。2013/11/25(月) 17:54:53.59
C# なら /// でコメントのテンプレート吐いてくれるからいいんだけれど、
C++ だと吐いてくれないから Semantic で何とかならないかと
もしかして、最近のVCではできたりするのかな?
2013 Express インストールしてみる
0885名無しさん@お腹いっぱい。2013/11/25(月) 21:35:52.50
/usr/share/emacs/lisp/cedet/semantic/bovine/c.el ぐらいを改造してC++に対応させる、のは無理か。
テンプレートだけなら /usr/share/emacs/etc/srecode/cpp.srt に加筆。
0886名無しさん@お腹いっぱい。2013/11/25(月) 23:57:40.26
正規表現をつかって検索した単語にmultiple-cursorsすることってできますか??
0887名無しさん@お腹いっぱい。2013/11/26(火) 00:27:18.08
繰り返しが含まれる正規表現なんかだとなんかあやしい結果になりそうだなそれ
a*b みたいなのだと aaaaaaaaab とか aab に同時にカーソルが現れて欲しいってことでしょ?
0888名無しさん@お腹いっぱい。2013/11/27(水) 13:41:39.57
windowsのgnupackでemacsを使っています
twittering-mode.elでmaster passwordを使ってタイムラインを開こうとすると
パスワードを入力してenterを押したとたん
"the authorized token is loaded"
というメッセージがエコー欄に表示されてEmacs自体が完全に固まることがあります
そのときは強制終了させなければいけません
正常にタイムラインが表示されることがほとんどなのですが、エラーの結果が重大なので気がかりです
どのような原因が考えられるのでしょうか
0889名無しさん@お腹いっぱい。2013/11/27(水) 16:29:10.23
リンク可能なテキストの作成について質問します
テキスト,ファイル名,行番号からなるリストが複数あります
'(("test text1" "~/foo/test1" 3)
("test text2" "~/foo/test2" 5))
これをもとにテキストの文字列全体にファイル名のその行番号を紐付けてリンクして
文字列として返すようにしたいのですがどうすればいいのでしょうか
http://www.gnu.org/software/emacs/manual/html_node/elisp/Changing-Properties.html
これのset-text-propertyを使うとは思うのですが、propをどういじればリンクできるかが分かりませんでした
どうぞよろしくお願いします
0890名無しさん@お腹いっぱい。2013/11/27(水) 16:34:45.14
>>888
NTEmacs 固有っぽい気がする
http://anago.2ch.net/test/read.cgi/software/1325573999/
0891名無しさん@お腹いっぱい。2013/11/27(水) 16:35:57.32
>>889
返すってのはツールチップみたいに表示したいってこと?
0892名無しさん@お腹いっぱい。2013/11/27(水) 20:57:59.73
>>891
889です
すみません言葉足らずでした
ツールチップの表示ではなくてリンクを埋め込んだテキストを普通に表示する、という意味です
org-modeでurlを書くと自動的にクリッカブルな文字列になりますが
あのようなものをorg-mode以外でも使いたいのです
0893名無しさん@お腹いっぱい。2013/11/27(水) 21:04:29.97
普通に表示するってのは、マウスクリックでそのテキストにリンクしてるファイルを find-file して
リンクしてる行までジャンプして表示する、ってことでいいのかな。

http://www.gnu.org/software/emacs/manual/html_node/elisp/Clickable-Text.html#Clickable-Text
クリッカブルな文字列のプロパティの作り方はここでよさそう。
find-file して forward-line する関数をくっつけてやればいいんじゃないのかな。
0894名無しさん@お腹いっぱい。2013/11/27(水) 21:44:57.26
ありがとうございます。やってみます。
08958782013/11/28(木) 02:04:03.37
>>879>>880
すみません遅くなりましたが、ありがとうございましたm(_ _)m
とりあえず byte-compile-warnings にしてみます
0896名無しさん@お腹いっぱい。2013/11/28(木) 14:31:41.55
>>890
ありがとうございます。NTEmacsスレで聞いてみます
0897名無しさん@お腹いっぱい。2013/11/28(木) 14:32:48.49
emacsスレからこちらに誘導されてきました
windowsのgnupackでemacsを使っています
twittering-mode.elでmaster passwordを使ってタイムラインを開こうとすると
パスワードを入力してenterを押したとたん
"the authorized token is loaded"
というメッセージがエコー欄に表示されてEmacs自体が完全に固まることがあります
そのときは強制終了させなければいけません
正常にタイムラインが表示されることがほとんどなのですが、エラーの結果が重大なので気がかりです
どのような原因が考えられるのでしょうか
0898名無しさん@お腹いっぱい。2013/11/28(木) 14:59:23.62
出戻ってんじゃねえかw
0899名無しさん@お腹いっぱい。2013/11/28(木) 15:46:22.94
すみません
素で間違えてしまいました
0900名無しさん@お腹いっぱい。2013/11/28(木) 16:16:24.53
>>897
やべー少しウケたw
0901名無しさん@お腹いっぱい。2013/11/28(木) 21:43:45.34
微笑ましい
0902名無しさん@お腹いっぱい。2013/11/29(金) 05:31:41.64
evil使ってるとforward-sexpが行末で止まってしまうんですが、これはevil-move-cursor-backをnilにする以外では避けようがないんですかね
0903名無しさん@お腹いっぱい。2013/11/30(土) 02:53:35.49
>>902
それ、evil 関係なくない?

うちでは、普通に動いてるっぽいけど。
0904名無しさん@お腹いっぱい。2013/11/30(土) 09:09:31.90
anything-c-moccor-occur-by-moccorを
あらかじめキーワードを指定した状態で呼び出したいです。
ミニバッファに
patter:キーワード
↑キーワードがすでに打ち込まれた状態でキーバインドから呼び出したいのですが、
わかる方いらっしゃいますか?
0905名無しさん@お腹いっぱい。2013/11/30(土) 09:50:04.68
>>904
これかな。
(anything-c-moccur-occur-by-moccur-base "キーワード")
0906名無しさん@お腹いっぱい。2013/11/30(土) 10:56:30.83
>>905
実行できました。
ありがとうございます!!
0907名無しさん@お腹いっぱい。2013/11/30(土) 14:51:51.78
>>903
あんまりEmacsに慣れてないからよくわかんないんだけど

・閉じ括弧でC-M-f(forward-sexp)を呼ぶと、モード・位置関係なく Scan error: "Containing expression ends prematurely" と出てカーソルは移動しない
・それ以外の場合はEmacsモードでは普通に動作する
・evilのnormalステートだとカーソルが行の最後の要素の一番後ろの文字の上に乗った状態で引っかかる。閉じ括弧じゃないならエラーメッセージは出ないけどやっぱり動かない
・evil-move-cursor-backをnilにするか、行末にスペースがあるとちゃんと次の要素に飛んでくれる

っていう状態です
誰か助けて

ちなみに
GNU Emacs 24.3.1 (i386-mingw-nt6.0.6002)で
evilのバージョンは1.0.8です
0908名無しさん@お腹いっぱい。2013/11/30(土) 14:55:22.09
vimに移るかevilを捨てるか選んで
0909名無しさん@お腹いっぱい。2013/11/30(土) 17:21:04.87
evilのメリットってctrlを使わないでカーソル移動ができることなのかな
そうだとするならばモード移動の切り替えも面倒な気がするけれど
慣れてしまったせいかemacsのctrl+n, ctrl+pの方がモードを気にせず楽だと思うけれどね
0910名無しさん@お腹いっぱい。2013/11/30(土) 17:47:39.09
>>907 は、 cursor 位置の emacs と、vi 系の違いを理解していない。と思う。

試しに、forward-sexp を、evil の insert state や emacs state で、やってみ。

normal mode のbox cursor と、 emacs での box cursor の位置の解釈の仕方が、
違うんだ。

行末での cursor 位置の違いを emacs state と normal state で
見比べてみると、一個ずれてるのに気づくと思うけど。

ちなみに、エラーメッセージの意味は、閉じカッコの手前で forward に進もうとするから、進めねーよ(意訳)ってことだろう?

対策としては、advice とか使って、ちょっと、手を加えるとかになるんじゃないんかな。

おれは、insert state で使ってすましてる。
0911名無しさん@お腹いっぱい。2013/11/30(土) 19:15:09.87
変更されているバッファを一度にすべて保存するコマンドはありますか?
今はemacs終了時に変更されているバッファを保存するかどうか聞かれるのでyを何度も押しています
0912名無しさん@お腹いっぱい。2013/11/30(土) 19:19:09.40
>>911
save-some-buffers に universal-argument を付けて実行。
C-u C-x s かな。

buffer-save-without-query を t にしておけば C-x s で問答無用で保存してくれるようになる。
そのかわり終了時にも聞かれなくなるかもしれない。
0913名無しさん@お腹いっぱい。2013/11/30(土) 21:16:51.36
>>912
ありがとうございます
レス数が900を超えています。1000を超えると表示できなくなるよ。