のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,503,948人
昨日: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一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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