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

Emacs Part 43

■ このスレッドは過去ログ倉庫に格納されています
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/
0791名無しさん@お腹いっぱい。2013/11/10(日) 20:34:49.57
1万回起動すれば1000秒(約16分)の差になる。
メロスも16分遅れていたら約束を果たせなかったかもしれない。
人生の行方を決めるには十分な時間さ。
0792名無しさん@お腹いっぱい。2013/11/10(日) 20:51:46.13
一日2回起動するとしても16分稼ぐのに13年もかかるのか・・・
PCの性能があがると更に差は縮まるだろうしなかなか過酷な旅路になるな
0793名無しさん@お腹いっぱい。2013/11/10(日) 21:17:59.12
>>787
一時的なファイルチェックなんかに locate-file 使われると詰むから
init.el 内のみで機能するようにした方が無難だと思う。
0794名無しさん@お腹いっぱい。2013/11/10(日) 21:29:59.18
init.elc ファイル見てて思ったんだけど、advice 定義の中身ってコンパイルされてないのね。
上の方で eval-after-load の中身をコンパイルしてたけどこっちは出来ないんだろうか。
オプションに compile って付けてみたけど効果がよくわからない。
0795名無しさん@お腹いっぱい。2013/11/10(日) 22:02:56.27
>>794
適当にadviceした関数の定義をsymbol-functionで見てみるとどうやらコンパイルされてるっぽいから
特に何もしなくてもいいんじゃないのかね。defadviceしたタイミングでコンパイルされるんだろうきっと。
0796名無しさん@お腹いっぱい。2013/11/10(日) 23:29:44.99
そうすると init.el に advice 書きまくるとバイトコンパイルのせいでどんどん遅くなるんじゃないかって気がしてきた
実際 flet とか advice の中に書いとくと起動時に Compile-Log のバッファが出来てて warning が記録されてる・・
0797名無しさん@お腹いっぱい。2013/11/10(日) 23:38:22.34
adviceは(あんまり)使うべきではない
http://www.emacswiki.org/emacs/AdviceVsHooks
0798名無しさん@お腹いっぱい。2013/11/10(日) 23:53:51.94
>>790
37回という回数はどうやって計測するの?
0799名無しさん@お腹いっぱい。2013/11/11(月) 00:04:03.16
>>798
occur で数えたよ。ダサい答えでごめんなさい。
require した別のファイルの中でも呼んでたりするだろうから実際はもう少し多いかもね。
それこそ advice でも書いて数カウントでもしたほうがいいのかもしれない。
0800名無しさん@お腹いっぱい。2013/11/12(火) 00:43:56.46
流れぶった切るけど。文字列の最初の空白のみからなる行を削除するのってemacsではどう書くのがいい?

Gaucheだと
(regexp-replace #/^( *\n)*/ str "")
と書けるけど、emacsだと
(string-match "^\( *\n\)*" " \n\n \n hoge\n \n")
はnilになるので。
0801名無しさん@お腹いっぱい。2013/11/12(火) 01:13:26.16
次のバージョンていつリリースされんだろう?
0802名無しさん@お腹いっぱい。2013/11/12(火) 01:41:42.06
>>799
なるほど
ありがとう
0803名無しさん@お腹いっぱい。2013/11/12(火) 02:15:21.12
>>800
\( \) を "" の中に書くときは "\\( \\)"
^ だと行頭すべてにマッチしてしまうので文字列の頭だけなら \\`

(replace-regexp-in-string "\\`\\(?: *\n\\)+" "" " \n\n \n hoge\n \n")
;=> " hoge\n \n"
0804名無しさん@お腹いっぱい。2013/11/12(火) 08:21:26.07
\\`[ \n]*\n

\t はいらんかえ
0805名無しさん@お腹いっぱい。2013/11/12(火) 15:59:22.67
マクロを eval-when-compile 内で定義しておいてロード時には見えないようにしてる場合、
defadvice の中でそのマクロを使ってしまうとコンパイル時に展開されないためか実行時にエラーになってしまいます。
これを回避する方法はないのでしょうか?

cl を eval-when-compile で使いたいのに advice の中で使ってるせいでうまくいかない・・・

; コンパイル時のみ有効なマクロ
(eval-when-compile
(defmacro moo ()
'"moo!"))

; 関数内でマクロ使用
(defun foo ()
(moo))

; アドバイス内でマクロ使用
(defun bar ()
nil)
(defadvice bar (before ad-bar activate)
(moo))

; コンパイル後のファイルをロードして実行した結果:
; (fboundp 'moo) => nil
; (foo) => "moo!"
; (bar) => Error: void-function moo ("moo!" になってほしい)
08068052013/11/12(火) 16:02:59.87
一部間違えました。
(defadvice bar (before ad-bar activate)
(moo))

(defadvice bar (after ad-bar activate)
(setq ad-return-value (moo)))
0807名無しさん@お腹いっぱい。2013/11/12(火) 16:18:13.86
eval-when-compileで思ったが>>787でやってるキャッシュなんか
全部eval-when-compileでやっちゃえばいいんじゃないかと思ったわ
どうせ違う環境にもってったらそんときinit.elコンパイルし直すだろうしな

(when (eval-when-compile (executable-find "w3m")) ...)

みたいな
マニュアルみてもコンパイル時に定数に置き換えるっていってるし
0808名無しさん@お腹いっぱい。2013/11/12(火) 17:17:42.94
>>806
ad-return-value は before after advice では使えなかった記憶が。
around advice 使うしかなかったような。
08098052013/11/12(火) 17:23:22.70
>>808
>>806 で after になおしています。
macroexpand でもダメだったし無理なんですかねえ・・・
08108052013/11/12(火) 17:24:22.75
じゃないや・・ マニュアルによると ad-return-value は after でも使えるみたいです。
0811名無しさん@お腹いっぱい。2013/11/12(火) 18:49:40.14
原理的なおっ説教ですまないが、
- advice を使う
- cl パッケージを cl-* なしで使う
という2重の意味でこまったことをしている気がする。。。

根本から立ち戻って、本当にそれしか方法がないのか再考はできないかなぁ。

Emacs 24.4. の nadvice.el が使えるようになったら色々と捗る気はするが、
捗らないかもしれない。
0812名無しさん@お腹いっぱい。2013/11/12(火) 19:09:32.20
>>811
advice はともかく cl-* を使ってるかどうかは関係なくね?
どっちにしろ (require 'cl) しないと使えない上
(require 'cl) はライブラリで使う時は eval-when-compile にしてランタイムに使うなってのは
変わってないでしょ。
0813名無しさん@お腹いっぱい。2013/11/12(火) 19:34:05.00
>>805
stackoverflow でも似たような質問出ていたけど最後は結局普通に require しろで終わってたな。

他に考えられる方法としては、advice の中身を別関数建てにして予めコンパイルさせるぐらいか。
これだとロード時じゃなくコンパイル時にちゃんと中身までマクロ展開されるし
関数名 typo とかしてても Warning 出してくれるようになる。

(eval-when-compile (defmacro moo () "moo!"))
(defun bar () nil)
(defun ad-bar-internal () (moo))
(defadvice bar (after ad-bar activate) (setq ad-return-value (ad-bar-internal)))
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/
■ このスレッドは過去ログ倉庫に格納されています