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

    元スレEmacs Part 46

    emacs覧 / PC版 /
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    951 = :

    >>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 = :

    再現できないからなー

    953 = :

    >>952
    何で再現しないんだろう?こっちでは、VMwareにインストールしただけで何も余計な設定していない2つのubuntu 14.04の間でsshして試しても起きるんだけど。

    956 = :

    引用元で
    (defsubst quickrun/use-tempfile-p (cmd-key)

    (defadvice quickrun/use-tempfile-p (after java8 activate)
    でadviceしてるけど、defsubstってインライン関数定義なのにadvice使えるものなのかな?
    このあたりまったく知らなかったからいろいろ試してみよう

    957 = :

    >>954
    !その手がありましたか。設定の上書きを試すことを忘れていました
    もちろん無事動作しました。感謝です!

    958 = :

    >>956
    既にバイトコンパイル済みのに対しては無効なんじゃね

    959 = :

    インライン展開については、他の言語同様、一部だけしか展開されなくて、
    今回のやつは、defsubst使ってるけど実際にはインライン展開されなくてadviceが使える
    というオチ
    筋の悪いコード

    960 = :

    あるファイルに、そのファイルからの別のファイルへの相対パスをお手軽に入力するコマンドもしくは elisp はあるでしょうか?

    例えば、find file コマンドのように補完入力でファイルを指定したら、そのファイルへの相対パスが入力できたら便利だな、思う事がしばしばあります。

    963 = :

    >>960
    やっつけだけどこんな感じ?

    (defun insert-relative-file-path (file)
    (interactive "ffile name:")
    (insert (file-relative-name file (buffer-file-name))))

    964 = :

    間違えた…

    (defun insert-relative-file-path (file)
    (interactive "ffile name: ")
    (insert (file-relative-name file
    (file-name-directory (buffer-file-name)))))

    965 = :

    >>963
    >
    まさにそれ!!ありがとうございます。

    あと、EmacsWiki でも、似たようなのを見つけることができた。
    http://www.emacswiki.org/emacs/InsertFileName

    967 = :

    質問です。

    helmを入れたら、M-x browse-url と M-x navi2ch が全然候補に出て来ず、
    コマンド名を全部入力しなければなりません。解決するにはどうしたら
    良いでしょう?

    968 = :

    候補に出てこない、は嘘でした。リストのすごく下の方に出てくる。
    もっと上の方に出現して欲しいのですが。

    969 = :

    >>968
    (global-set-key (kbd "M-x") 'helm-M-x)
    でいいんじゃないかな

    970 = :

    >>968
    (setq helm-mode-reverse-history nil)

    971 = :

    >>969-970
    遅レスですが、うまく行きました。ありがとうございました!

    973 = :

    小菊の後継ってなかなかでないけどみんなhelmとか使うようになって不要になっちゃったからなのかね。

    974 = :

    http://mzp.hatenablog.com/entry/2014/12/12/005344

    978 = :

    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 を使うにはどうすればよいでしょうか?

    980 = :

    いつの頃からか 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 = :

    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 = :

    >>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 = :

    >>982
    それは確か仕様だったような。
    インタラクティブに実行した場合は残るはず。
    関数として呼び出した時も履歴を残そうとする session-find-file がわざわざ用意されてるぐらいだし。

    984 = :

    >>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一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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