1 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/11(金) 17:55:35.35 .net] 前スレが落ちていたみたいなので。 GNU Emacs - GNU Project - Free Software Foundation (FSF) https://www.gnu.org/software/emacs/ EmacsWiki: サイトマップ www.emacswiki.org/emacs/ 前スレ Emacs Part 48 peace.2ch.net/test/read.cgi/unix/1429172451/
653 名前:642 mailto:sage [2016/06/25(土) 13:36:30.14 .net] >>644 そうですね、これからは25がメインになってくと思います。 とりあえず今のところ25の最新は25.0.95(pretestの6) みたいなので25.1がリリースされたらGithubにあげるつもりです (それとも25.2? git.savannah.gnu.org/cgit/emacs.git/plain/etc/NEWS ではになってるけど、これとは別に25.1のNEWSがあるのか知らん? どーも見かたがよくわかりませぬ・・・)
654 名前:642 mailto:sage [2016/06/25(土) 13:52:06.56 .net] ああ、こっち見るのか・・・ git.savannah.gnu.org/cgit/emacs.git/plain/etc/NEWS?h=emacs-25
655 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/06/25(土) 15:50:48.43 .net] >>645 同じGitリポジトリでブランチを分ける運用だと辛いですかね 25.1が正式リリースされたらmasterにマージすれば楽かなあ、と
656 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/06/25(土) 19:17:19.64 .net] emacsでドラッグ&ドロップで画像を埋め込む方法ってないでしょうか? 現在開いているテキストファイルに画像をD&Dすると、 1.プロンプトかポップアップが出て画像ファイル名を入力する 2.そのテキストファイルがあるディレクトリ位置にimages/1.のファイル名 でファイル保存 3.D&Dした箇所に画像リンクが挿入される。例えばテキストファイルがMarkdown形式の場合は  が挿入される感じで。
657 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/06/25(土) 19:54:09.77 .net] >>648 これたしかに便利ですね
658 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/06/25(土) 21:36:40.11 .net] ;; >>648 ;; --- HINTS ------ ;; check info ;; (info "(elisp) Input Events") ;; (info "(elisp) Misc Events") ;; (info "(elisp) Click Events") (defun my-drag-n-drop (e) (interactive "e") ;; display the contents of the event (message "%S" e) (sit-for 3) ;; display a list of the files' name (message (mapconcat 'identity (nreverse (nth 2 e)) ; on Microsoft Windows "\n"))) (global-set-key [M-drag-n-drop] 'my-drag-n-drop)
659 名前:名無しさん@お腹いっぱい。 [2016/06/25(土) 23:21:53.56 .net] >>616 Github Pagesやってみました。便利ですねえ。 容量とかファイル数の制限とか、かなり緩い? https://ayatakesi.github.io/
660 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/06/25(土) 23:52:00.75 .net] d&d で画像リンクは探したらありそうではあるな
661 名前:名無しさん@お腹いっぱい。 [2016/06/26(日) 06:07:24.06 .net] あるファイルをスーパユーザで編集したい場合 /sudo::<対象ファイルのパス> で開こうとすると、 root のパスワードを聞かれてしまいます。 通常の sudo 同様、ログインユーザ(emacs を起動したユーザ) のパスワードで済ますには、どのようにしたらいのでしょうか? 環境は以下です。 Linux version 3.13.0-37-generic (buildd@roseapple) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ) #64-Ubuntu SMP Mon Sep 22 21:30:01 UTC 2014 GNU Emacs 24.3.1 (i686-pc-linux-gnu, GTK+ Version 3.10.7) of 2014-03-08 on toyol, modified by Debian
662 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/06/26(日) 06:36:08.72 .net] >>653 ownerのパスワードを聞かれてるだけだろ その挙動以外あり得ない
663 名前:653 mailto:sage [2016/06/26(日) 06:55:41.40 .net] >>654 例えば、 sudo vi <ファイル名> だと、 <ファイル名> の owner のパスワードではなく、 ログインユーザのパスワードしか聞かれないと思うのですが、 emacs では同様の操作はできないのですか?
664 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/06/26(日) 07:32:16.05 .net] >>653 24.2.1と24.5.1使ってるけどそんな事ないよ
665 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/06/26(日) 10:42:36.54 .net] >>651 いいね
666 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/06/26(日) 16:18:11.67 .net] >>653 同じくそんな事起きないな 普通にsudoを使ってもrootのパスワードが聞かれてんじゃないか?
667 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/06/26(日) 20:41:40.32 .net] sudoers で許可されてないと su にフォールバックするんだっけ
668 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/06/27(月) 09:42:28.48 .net] いっそ env EDITOR=emacsclient sudoedit <対象ファイルのパス> でいいんじゃね
669 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/06/28(火) 21:47:33.66 .net] auctexつかってるときに、対応してる$の組を光らせたいんだけどどうすればいいの
670 名前:名無しさん@お腹いっぱい。 [2016/06/29(水) 02:59:38.76 .net] エロ漫画だと局部は光ってるだろ つまりそういうことだよ
671 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/06/29(水) 09:53:59.45 .net] >>661 少なくとも $inline equation$ と $$block equation$$ を区別しないといけない。 ちなみに、後者のマークアップは、事実上 obsolete だが。
672 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/06/29(水) 12:09:23.26 .net] 括弧閉じると同時に、括弧の外にでたいお ω
673 名前:名無しさん@お腹いっぱい。 [2016/06/30(木) 02:07:50.35 .net] 俺もいろいろ悩んだけど 打ちながら進んでいけばいいじゃないと思った
674 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/06/30(木) 02:32:12.95 .net] ペアの補完はあんまり意味がないんだよ
675 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/06/30(木) 13:32:11.25 .net] >>666 やっぱそうか ^^;
676 名前:名無しさん@お腹いっぱい。 [2016/07/02(土) 06:27:50.26 .net] パーミッションのないディレクトリのファイルをediff-revisionしようとすると一時ファイルを作ろうとしてpermission deniedになるんだけど,何とかする方法はないでしょうか?
677 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/02(土) 12:14:01.57 .net] ediffじゃなくてgitとかの使ってるVCSの問題な気がする ちなみにgitだと一時ファイルは作られないな 直接バッファ内に特定revisionが表示されてる
678 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/02(土) 12:20:30.46 .net] と思ったら一瞬作られてた…どうすればいいんだろうな
679 名前:名無しさん@お腹いっぱい。 [2016/07/02(土) 19:31:32.62 .net] 今頃ながらだけど、CMakeとirony(clang)でC++のなかなか良い環境が構築できるんですね ところでストールマンさんは、コンパイラ(gcc)とコンパイルツール(autotools,Make)も手掛けていながら、 どうしてこれをプロジェクト管理とかコード補完・解析に使おうとせず、CEDETとかやろうとしたんでしょうか?
680 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/02(土) 20:19:58.74 .net] 偏屈なRMSが非GPLなプログラムに使われるのを嫌って中間表現でのインターフェースを長い間禁止していたから
681 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/02(土) 20:52:58.04 .net] gccてストールマンがつくったのか・・・
682 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/03(日) 00:23:16.02 .net] CEDETはみんな設定のしかたが分からんだけで過小評価されてると思う だけどclangでコード補完が出来るのならそれを使うべきではある ちなみにCEDETはストールマンとは無関係だ
683 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/03(日) 08:54:19.35 .net] CEDETって開発止まってるよね
684 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/05(火) 02:25:04.32 .net] company でどう発音する カンパニーかコンプエニーか 意味合いからすれば後者の気がするが
685 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/05(火) 12:03:55.41 .net] >>676 くっつけた結果別の単語になるのがミソなので当然前者だろうけど、 これも選択候補を直接バッファに挿入してくれないね。
686 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/05(火) 13:32:31.59 .net] 直接入ると何が嬉しくなるの? 確定操作が不要になるってやつ?
687 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/05(火) 14:14:33.11 .net] TabかEnterの入力が必ず1回は必要だけどそれがスペースとか)とかで自動的に確定までされると 今度は補完されたくない単語を入力する時に鬱陶しい事になる 好みの問題だな
688 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/05(火) 14:18:55.61 .net] >>678 主にそうだけど、 補完候補を常にポイント位置で確認できた方が視線の移動がなくていいとは思う。 でも次のように設定するとかなり好みの動作になった。 (setq company-idle-delay nil) (setq company-auto-complete t) (define-key company-active-map [tab] 'company-complete-common-or-cycle) 直接バッファに挿入はしないけどスペースやピリオドなどで自動的に確定するので、 補完開始キーをタブに設定すればタブをたたき続けてスペースとかで確定。
689 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/05(火) 15:34:55.88 .net] うちの auto-complete は特にこった設定してないけどもともとそうなってる気がする ポップアップ出てる状態でTabおすと候補を順にバッファに直接展開、なんか適当な文字入力すると確定される
690 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/05(火) 17:21:26.37 .net] >>681 そうだね。ただacは補完を開始して最初の候補を選択するのに なぜかもう一度タブをたたかないといけない。 polemで補完を開始して最初の候補がpolemicだとすると、 auto-complete polem + (tab) (tab) (space) -> polemic _ company polem + (tab) (space) -> polemic _
691 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/06(水) 17:14:44.50 .net] emacs オリジナルの bookmark 機能って使ってる人いるんだろうか
692 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/06(水) 17:32:37.34 .net] >>683 日常的なしおり程度の用途ならいいような。 bookmark plusならタグで分類とかできるからそっちにしたけど。
693 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/06(水) 18:04:43.18 .net] オリジナルブックマークは改変の追従に弱いからな ポイント位置と前後のテキストで場所覚えてるから変更入りまくるファイルだとずれまくって話にならない
694 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/06(水) 19:47:13.29 .net] alistのキーの値を変えたりする編集ってどうやるんですか?
695 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/06(水) 20:09:35.96 .net] ペアを破壊してよいならsetcar
696 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/07(木) 02:19:59.68 .net] elispでみずぽのシステム組んで
697 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/07(木) 11:45:20.76 .net] ミニバッファにキル、カットした文字列を表示させたいのですが、どうすればできますか?
698 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/07(木) 12:17:47.47 .net] 標準のしくみやフックは無いみたいだから advice 使って以下で (defadvice kill-new (after kill-echo activate) (message "Killed: %s" (ad-get-arg 0)))
699 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/07(木) 14:11:47.22 .net] >>690 ad-get-argがvoidになる ^^;
700 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/07(木) 18:00:23.65 .net] >>691 試してみたけど表示されたよ? 引数使っても同じだった (defadvice kill-new (after kill-echo (string &optional replace) activate) (message "Killed: %s" string))
701 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/07(木) 23:20:23.79 .net] 家帰ってもう一度やったら、なぜか表示できた!ありがとうございます (_ _;)
702 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2016/07/10(日) 12:14:54.99 .net] >>306 ,307,308 この ace-jump モードに入った時に強制的に IME を US に切り替える方法、解決しましたか? 同じことで悩んでいて >>307 の方法ではうまくいかなかったので、良い方法があったら教えてください。
703 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2016/07/10(日) 14:06:28.72 .net] ubuntuではなんなけどmacではなるから諦めた
704 名前:693 mailto:sage [2016/07/10(日) 22:26:17.01 .net] >>695 そうです、うちも Mac 環境です。 'mac-auto-ascii-mode でも 'mac-change-language-to-us でもだめでした。
705 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/10(日) 23:18:42.52 .net] てかみんなIMEなにつかってるのかな ^^;
706 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/11(月) 12:32:10.60 .net] >>688 みずぽは無理として、最近lisp系で組まれた大規模システムってあるのかね? 昔、Paul Grahamの書いた文章か何かで例が載っていた気がするがいかんせん古すぎる。
707 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/11(月) 20:41:30.57 .net] >>698 https://common-lisp.net/~dlw/LispSurvey.html#success-stories-successful-products-and-projects-written-in-lisp ↑あたりで1つずつ調べれば大規模システムがあるかもよ
708 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/11(月) 21:42:04.30 .net] これからAIの時代だからLispの使用が増えていく可能性はあるかもね 新しい分野の為に新しいプログラム言語をでっち上げるのもいいけど マクロを使って新しい言語を作り上げるのがLispのやり方
709 名前:名無しさん@お腹いっぱい。 [2016/07/12(火) 02:15:15.71 .net] 航空会社のシステムがあったような気がするぞ
710 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/12(火) 12:49:53.26 .net] Common Lispよりも今はClojureの方が業務での採用率は高そうだ (あくまでもLisp系の中ではという意味) ただClojureはCommon Lispやelispとはだいぶ違っててあまり好きになれんが
711 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/16(土) 03:17:42.88 .net] 稼働中に repl を叩けるのは大きいと思うけど 金融系こそ lisp じゃあるまいか
712 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/16(土) 06:25:09.10 .net] 稼働中にreplはどこかでみたんだろうけど 金融系こそlispってのはどうしてそう思うの?
713 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/16(土) 19:00:59.89 .net] open-line(C-o)すると同じバッファにありそうな行が挿入される 変なバグ踏んじゃったかな
714 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/16(土) 19:31:42.06 .net] 知らないうちにfill-prefixが設定されててそれが挿入されてただけだった
715 名前:名無しさん@お腹いっぱい。 [2016/07/20(水) 22:32:51.45 .net] どうもLispが好きになれんのだが 慣れてないだけなのだろうか? 有難味が良くわからん どのあたりが優れてるんだ?
716 名前:名無しさん@お腹いっぱい。 [2016/07/20(水) 22:34:41.27 .net] みんなレベルが高い人が多くて ライブラリを使わず書いちゃう人が多いのか ライブラリちょっと弱くない Lisp系列って
717 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/20(水) 23:58:55.69 .net] emacs24 の 正規表現では 先読み・後読み に対応してないみたいだけど 対応の予定ってあるのでしょうか。
718 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/21(木) 01:02:41.63 .net] LispはEmacsを使って編集してると編集する事自体が気持ち良くなってくる あとオブジェクト指向とか遅延評価や継続みたいな他の言語だと処理系が対応しないと出来そうにない事もマクロを使って実装出来る ただネイティブ対応してる言語に比べると機能が不完全とか余計な記述が必要とかしょうがない面はある 要するに構文なんて無いに等しいがマクロのお陰で工夫次第で色々出来る奥深さがあるという事だな
719 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/21(木) 01:12:54.52 .net] ちなみにEmacs公式ページにあるPareditの動画見ると気持ち良さが分かるかも
720 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/21(木) 14:17:18.50 .net] 25 なかなかこないな
721 名前:名無しさん@お腹いっぱい。 [2016/07/21(木) 18:23:45.33 .net] 括弧の対応が面倒で嫌いだったけど なるほど それ使えば楽そうだね また試してみます
722 名前:名無しさん@お腹いっぱい。 [2016/07/21(木) 20:22:15.34 .net] s.el dash.el cl-lib.el あたりが出てきたのが最近ってのは割と不思議に思う それまで remove-if とか when-let すら、堂々と使えなかったって・・・
723 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/21(木) 21:07:18.44 .net] cl 使ってなにわるいねん!って感じだったからなあ
724 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/22(金) 00:57:23.00 .net] Paredit使うと括弧の対応が楽になるんじゃなくて考える必要が全く無くなるんだ こんな重要なものが標準で入ってないのが信じられん お陰で色々亜種が氾濫しちゃってるけど 俺はSmartparensを自前キーバインド派だ
725 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/22(金) 01:04:19.97 .net] ちなみに>>710 のマクロ云々は全部On Lispに書いてある 読むのはスゲー大変だが…
726 名前:名無しさん@お腹いっぱい。 [2016/07/22(金) 16:16:12.81 .net] >>716 そうなんだ 使ってみよう意味がまだ理解できない 使ってみればわかるのかな? >>717 その文書知らなかったよ 読んでみるよ
727 名前:名無しさん@お腹いっぱい。 [2016/07/24(日) 14:45:41.14 .net] シンボルlexical-bindingに非nilを設定した場合の動作について、 NEWSにはdolistやcl-labels/labelsでの注意点が記述されていますが、 それ以外に注意することはありますか? lexical-letでは不可能だったことが(setq lexical-binding t)でできるようになった、 あるいは同様の記述でもlexical-letとは動作が異なる、というようなことはありますか?
728 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/24(日) 17:00:31.35 .net] elispだとグローバル変数は全てhoge-countみたいにプリフィックスを付けるのが約束だから let内でcountとか作ってもグローバル変数を上書きする事は皆無なんでlexical-letは使った事ないな ちなみにmapcとかにクロージャーを渡すとレキシカルバインドでは問題無いけど ダイナミックバインドだとエラーになる可能性は出て来る だからレキシカルバインドだとエラーになる可能性が低くなるだけで特に気にした事はないな 返答になってないか
729 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/24(日) 21:34:48.32 .net] macのemacsでmozc使いたいけど、むずすぎてわかんないお ω
730 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/25(月) 07:25:34.12 .net] 25.1 RC1 ようやくだ…
731 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/25(月) 19:34:43.54 .net] xwidgetの件、Emacs内でブラウザが動くとかっていう紹介のされ方が多いけど、 アレはAtom動かしているElectronみたいにアプリウィジェットを提供する目標でもあるのでしょうか? 例えば 独特なUIな widget.el を置き換えるとか…
732 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/25(月) 23:00:12.10 .net] Emacs内のxwidget内でAtomを動かす為だろ
733 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/26(火) 00:46:07.98 .net] GTK+はLinux以外で動かすのは難しいから標準になられても困るよ
734 名前:WindowsでもMacでもGTK+版が標準になればxwidgetが標準に成り得るかもしれんが [] [ここ壊れてます]
735 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/26(火) 07:51:46.99 .net] そんなにOLEが羨ましかったのか
736 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/26(火) 08:22:15.90 .net] oleとは全然違うでしょ あっちはもっとややこしい
737 名前:名無しさん@お腹いっぱい。 [2016/07/26(火) 20:19:11.38 .net] >>716 括弧の対応を取るのは最低限のものは標準でも入ってた。lisp.elにある キーにバインドされてないから自分で設定する必要があったり 必ず括弧の上にカーソルがないと駄目だったり使い勝手はちょっと微妙だけど標準という安心感はある
738 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/27(水) 21:23:53.85 .net] >>721 頑張ればいける i.imgur.com/y6krlHi.png
739 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/27(水) 22:17:55.16 .net] 25って今年の6月だか7月って言ってたような
740 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/28(木) 01:40:36.52 .net] 人柱が立ってから 25 入れる
741 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/28(木) 01:49:57.44 .net] RC1でたんだしもうすぐだべ、
742 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/28(木) 03:19:55.33 .net] [~/.emacs.d/init.el] ; ロードパスの設定 (setq load-path (append (list (expand-file-name "~/.emacs.d/init.el") (expand-file-name "~/.emacs.d/site-lisp" ") ) load-path))
743 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/28(木) 11:53:10.23 .net] >>733 ロードパスにファイルを指定しても意味無くないか?
744 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/28(木) 18:40:59.82 .net] そもそもなぜ貼ったんだろう
745 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/28(木) 23:24:26.63 .net] 特定の文字列を強調したいのですが、いい書き方ありませんか? (defface my1-keyword-face '((t :foreground "DeepSkyBlue2")) "face for 正誤入力") (defface my2-keyword-face '((t :foreground "OrangeRed1")) "face for 正誤入力") (defface my3-keyword-face '((t :foreground "orange1")) "face for 正誤入力") (font-lock-add-keywords 'text-mode '(("0" . 'my1-keyword-face) ("2" . 'my2-keyword-face) ("4" . 'my3-keyword-face)))
746 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/29(金) 01:46:54.94 .net] >>733 一体何がしたいのか
747 名前:名無しさん@お腹いっぱい。 [2016/07/30(土) 13:15:12.86 .net] initchart.el (https://github.com/yuttie/initchart) 試していた
748 名前:ニころ、 recentfのスタートアップ時、高々25要素のファイル名リストをload-fileで読み込むのに、 100ミリ秒近くもかかっているんですけど、これって欠陥なんでしょうか? 試しに、local-variableコメントを付加しない、バイトコンパイルあり、load-fileの代わりに requireを使うバージョンのrecentfに書き換えたら、5ミリ秒くらいになったのですが。 [] [ここ壊れてます]
749 名前:名無しさん@お腹いっぱい。 [2016/07/30(土) 14:50:13.91 .net] >>738 バイトコンパイルするしないで10倍以上違うこともあり得る あと最適化するときは一つずつやって計測しないと何で速くなったか分からんだろ
750 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/30(土) 16:12:13.54 .net] recentf は tramp とのからみだったかで死ぬほど遅くなる的な記事を昔どっかで見たことあるな
751 名前:名無しさん@お腹いっぱい。 [2016/07/30(土) 16:12:23.34 .net] >>739 おっしゃる通りです。数字ちゃんと取って貼った方が良かったですね。 25個のファイル名リストをsetqするelispを、各手段で読み込んだ実行時間 - load el (lvあり) 97.316182 ms - load el (lvなし) 3.016255 ms - require elc 2.263857 ms - load elc 0.690197 ms ※ lv = local-variableコメント ※ elcファイルはバイトコンパイルの段階でlv情報が捨てられている どうも local-variableコですメントのロードがかなり時間を食うみたい。 バイトコンパイルの効果は、1/4くらいと案外大きい。 requireは、パス探索が必要な分のロスが生じる。 問題はこのrecentf、わざわざいらないcoding情報を付加するためだけに local-variableコメントなんか使っているんですよね・・・。 バイトコンパイルまで面倒見てくれる dump-variable-to-file なる関数が 標準であると良いんだけどなあ。
752 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/07/30(土) 16:56:09.89 .net] >>719 *scratch*でmapcを使ってみたけどlexical-letとlexical-binding: tのletは同じ結果になった emacs-version "24.5.1" (require 'cl-lib) cl-lib (setq lexical-binding nil) nil (let ((count 4)) (mapc (let ((count 8)) (lambda (x) (print (incf count)))) '(a b c))) 5 6 7 (a b c) (setq lexical-binding nil) nil (let ((count 4)) (mapc (lexical-let ((count 8)) (lambda (x) (print (incf count)))) '(a b c))) 9 10 11 (a b c) (setq lexical-binding t) t (let ((count 4)) (mapc (let ((count 8)) (lambda (x) (print (incf count)))) '(a b c))) 9 10 11 (a b c)
753 名前:名無しさん@お腹いっぱい。 [2016/07/30(土) 17:14:27.17 .net] >>741 超訂正 load-fileでもキャッシュが大きく有効するらしいので影響しないように取り直し local-variableは関係なくて、load-fileの性能に問題ありなのか? - load el (lvあり) 100 ms - load el (lvなし) 98 ms - load elc 92 ms - require elc 2.4 ms