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

    私的良スレ書庫

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

    元スレEmacs Part 46

    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
    951 : 名無しさん@お腹 - 2014/12/06(土) 12:49:34.21 .net (+4,-30,+0)
    >>950
    いや、terminal起動ならscreenとか使わなくても問題ないんだけど、できればXで使いたいので...

    $ nohup emacs --daemon </dev/null >/dev/null 2>&1 &

    で起動すると、確かにC-cでssh接続を終了してもdaemon起動したemacsは終了しなくなるんだけど、次に接続しようとすると、

    $ emacsclient -n -c
    emacsclient: connect: Connection refused
    emacsclient: No socket or alternate editor. Please use:

    --socket-name
    --server-file (or environment variable EMACS_SERVER_FILE)
    --alternate-editor (or environment variable ALTERNATE_EDITOR)

    となる。--socket-nameで/tmpにあるsocketを指定すればいいのかなと思ったんだけど、

    $ emacsclient -n -c --socket-name="/tmp/emacs1000/server"
    emacsclient: connect: Connection refused
    emacsclient: error accessing socket "/tmp/emacs1000/server"

    でダメだった。
    952 : 名無しさん@お腹 - 2014/12/06(土) 14:51:17.66 .net (+52,+25,-1)
    再現できないからなー
    953 : 名無しさん@お腹 - 2014/12/06(土) 15:08:58.87 .net (+5,-29,-51)
    >>952
    何で再現しないんだろう?こっちでは、VMwareにインストールしただけで何も余計な設定していない2つのubuntu 14.04の間でsshして試しても起きるんだけど。
    954 : 名無しさん@お腹 - 2014/12/06(土) 16:05:58.02 .net (+38,-30,-187)
    >>948
    gcj環境作るの億劫だったので試してないけど、advice使うまでもなく、
    (quickrun-add-command "java"
    '((:command . "java")
    (:compile-only . "gcj hogehoge %s")
    (:exec . ("gcj fugafuga %s" "%c %N %a"))
    (:remove . ("%n.class"))
    (:description . "Compile Java file and execute"))
    :mode 'java-mode)
    のようにjava用の設定を上書きすればいいんじゃないかなhogehogeとかhugahugaとかはgcjのコマンド
    に合わせて変更してください。
    955 : 名無しさん@お腹 - 2014/12/06(土) 16:15:40.18 .net (+0,-28,-18)
    こないだの whitespace のもそうだけど安直に advice 使うとハマるよね
    956 : 名無しさん@お腹 - 2014/12/06(土) 16:44:13.52 .net (+35,-30,-122)
    引用元で
    (defsubst quickrun/use-tempfile-p (cmd-key)

    (defadvice quickrun/use-tempfile-p (after java8 activate)
    でadviceしてるけど、defsubstってインライン関数定義なのにadvice使えるものなのかな?
    このあたりまったく知らなかったからいろいろ試してみよう
    957 : 名無しさん@お腹 - 2014/12/06(土) 19:19:58.22 .net (+63,+29,-23)
    >>954
    !その手がありましたか。設定の上書きを試すことを忘れていました
    もちろん無事動作しました。感謝です!
    958 : 名無しさん@お腹 - 2014/12/06(土) 20:49:14.11 .net (+60,+27,-1)
    >>956
    既にバイトコンパイル済みのに対しては無効なんじゃね
    959 : 名無しさん@お腹 - 2014/12/07(日) 06:16:07.81 .net (+56,+28,-18)
    インライン展開については、他の言語同様、一部だけしか展開されなくて、
    今回のやつは、defsubst使ってるけど実際にはインライン展開されなくてadviceが使える
    というオチ
    筋の悪いコード
    960 : 名無しさん@お腹 - 2014/12/08(月) 21:02:10.27 .net (+69,+29,-56)
    あるファイルに、そのファイルからの別のファイルへの相対パスをお手軽に入力するコマンドもしくは elisp はあるでしょうか?

    例えば、find file コマンドのように補完入力でファイルを指定したら、そのファイルへの相対パスが入力できたら便利だな、思う事がしばしばあります。
    961 : 名無しさん@お腹 - 2014/12/08(月) 21:09:40.29 .net (-1,-29,-4)
    file-relative-name っていう関数がある
    962 : 名無しさん@お腹 - 2014/12/08(月) 21:12:17.71 .net (-1,-29,-19)
    find-fileって相対パスで指定してるし、何をしたいのかわからん
    963 : 名無しさん@お腹 - 2014/12/08(月) 21:56:00.04 .net (+46,-30,-56)
    >>960
    やっつけだけどこんな感じ?

    (defun insert-relative-file-path (file)
    (interactive "ffile name:")
    (insert (file-relative-name file (buffer-file-name))))
    964 : 名無しさん@お腹 - 2014/12/08(月) 22:00:36.63 .net (+3,-30,-65)
    間違えた…

    (defun insert-relative-file-path (file)
    (interactive "ffile name: ")
    (insert (file-relative-name file
    (file-name-directory (buffer-file-name)))))
    965 : 名無しさん@お腹 - 2014/12/08(月) 22:01:42.81 .net (+64,+29,-3)
    >>963
    >
    まさにそれ!!ありがとうございます。

    あと、EmacsWiki でも、似たようなのを見つけることができた。
    http://www.emacswiki.org/emacs/InsertFileName
    966 : 名無しさん@お腹 - 2014/12/10(水) 00:51:00.89 .net (+0,-28,-50)
    しかしemacs-diffsがgitに移行してから滅茶苦茶見づらくなった…
    bzrに移行した時も少し見づらくなったがそれでも許容範囲だったが今回はアカン
    967 : 名無しさん@お腹 - 2014/12/10(水) 11:15:15.60 .net (+18,-30,-36)
    質問です。

    helmを入れたら、M-x browse-url と M-x navi2ch が全然候補に出て来ず、
    コマンド名を全部入力しなければなりません。解決するにはどうしたら
    良いでしょう?
    968 : 967 - 2014/12/10(水) 11:19:43.91 .net (+65,+29,-10)
    候補に出てこない、は嘘でした。リストのすごく下の方に出てくる。
    もっと上の方に出現して欲しいのですが。
    969 : 名無しさん@お腹 - 2014/12/10(水) 11:34:45.73 .net (+38,-30,-15)
    >>968
    (global-set-key (kbd "M-x") 'helm-M-x)
    でいいんじゃないかな
    970 : 名無しさん@お腹 - 2014/12/10(水) 11:42:30.71 .net (+6,-30,-23)
    >>968
    (setq helm-mode-reverse-history nil)
    971 : 967 - 2014/12/10(水) 22:52:59.51 .net (+60,+27,-1)
    >>969-970
    遅レスですが、うまく行きました。ありがとうございました!
    972 : 名無しさん@お腹 - 2014/12/11(木) 04:01:22.66 .net (-6,-29,+0)
    つ M-x nav TAB
    973 : 名無しさん@お腹 - 2014/12/12(金) 02:30:12.44 .net (+57,+29,-4)
    小菊の後継ってなかなかでないけどみんなhelmとか使うようになって不要になっちゃったからなのかね。
    974 : 名無しさん@そう - 2014/12/13(土) 19:39:49.68 .net (+48,+30,+0)
    975 : 名無しさん@お腹 - 2014/12/15(月) 15:47:30.61 .net (+3,-30,-61)
    formatの質問です
    common lispで
    (loop for i from 1 to 10
    do (format t "[~A]~%" i))
    とする場合の~%にあたるものは
    emacs lispの方のformatにはないのでしょうか?
    976 : 名無しさん@お腹 - 2014/12/15(月) 16:25:05.95 .net (-1,-29,-10)
    どっちかっていうと C の sprintf 由来な感じだからないと思う。
    おとなしく \n で改行出力でしょうね。
    977 : 名無しさん@お腹 - 2014/12/15(月) 16:29:44.42 .net (-1,-29,-1)
    978 : 名無しさん@お腹 - 2014/12/17(水) 03:14:30.77 .net (+3,-30,-67)
    calc の HMS について質問させてください。

    スタック1番の内容が
     1@ 2' 3"
    となっている時に n を押すと
     -1@ 2' 3"
    になりますが、
     0@ 2' 3"
    のように時間が 0 の時に n を押すと
    C-g でキャンセルするまで何もできなくなります。

    calc-change-sign の advice で無理やり -0@ 2' 3" 入れても
    t n で出した日時に + も出来ず、やはり C-g するまで戻ってきません。

    時間部分が 0 な負の HMS を使うにはどうすればよいでしょうか?
    979 : 名無しさん@お腹 - 2014/12/17(水) 03:47:02.68 .net (-1,-29,-10)
    すみません、最後の t n は t N の間違いです。
    980 : 名無しさん@お腹 - 2014/12/18(木) 12:17:00.40 .net (+3,-30,-258)
    いつの頃からか session.el の session-set-file-name-exclude-regexp が機能してないような気がするんですが
    皆様の環境ではいかがでしょうか?

    emacs -q の環境で session.el をロード、session-initialize 後に
    session-set-file-name-exclude-regexp に元々設定されてる .overview を開いて終了、
    その後同じく emacs -q で session-initialize したところ .overview が file-name-history に普通に残っちゃっています。

    コード見た感じだと find-file-hook に session-set-file-name-history が設定されており、
    除外対象じゃなければ file-name-history にファイル名を追加するってコードになっているんですが、
    どうも最初から file-name-history にファイル名が追加済みになっちゃってるみたいなんですよね。

    試した環境は emacs-24.3 と emacs-24.4 です。
    session.el は melpa にある 2.3a を使いました。
    981 : 名無しさん@お腹 - 2014/12/18(木) 13:40:34.04 .net (+9,-30,-168)
    Emacs 25.0.50、session 2.3a(melpa) で試してみたけど .overview は
    file-name-history に残らないな。

    session.el:
    ===========
    (defun session-set-file-name-history ()
    :
    (unless (and session-set-file-name-exclude-regexp
    (string-match session-set-file-name-exclude-regexp name))
    (push name file-name-history))

    一旦、file-name-history をクリア(nil に設定)して session-save-session
    してみたら?
    982 : 名無しさん@お腹 - 2014/12/18(木) 14:12:46.80 .net (+10,-30,-271)
    >>981
    うーん、残りませんか。
    emacs -Q で以下を実行したところ、確かに file-name-history には ~/test.txt しか入りませんでした。
    (progn
    (load "~/.emacs.d/elpa/session-20120510.1700/session.el")
    (session-initialize)
    (setq file-name-history nil)
    (find-file "~/.overview")
    (find-file "~/test.txt")
    file-name-history)

    ですが、M-x find-file で ~/.overview を開いた後に file-name-history を評価すると
    やっぱり ~/.overview が追加されてしまいます。
    session-save-file してもやっぱりその時の file-name-history が保存されてしまいますね。
    -Q で起動してるから差はないような気もするんですけど何が原因なんだろう・・・
    983 : 名無しさん@お腹 - 2014/12/18(木) 15:06:12.17 .net (+10,-29,-71)
    >>982
    それは確か仕様だったような。
    インタラクティブに実行した場合は残るはず。
    関数として呼び出した時も履歴を残そうとする session-find-file がわざわざ用意されてるぐらいだし。
    984 : 名無しさん@お腹 - 2014/12/18(木) 15:31:01.95 .net (+4,-30,-157)
    >>983
    ありがとうございます。パッケージとかが勝手に開くファイルを履歴に残さないための設定ってわけなんですね。

    元々の発端は magit の COMMIT_EDITMSG が session-set-file-name-exclude-regexp に設定してるにもかかわらず
    session に残されてしまうってのだったんですが、
    どうやら magit が emacsclient 経由でコミットメッセージ書くようになったのが原因っぽいですね。
    magit-emacsclient-executable を nil にして内部呼び出しだけで完結させたら file-name-history に残らなくなりました。
    とりあえず emacsclient 使いつつの履歴に残らないような何かうまい解決方法考えてみます。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / emacs スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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