お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2017-08-07 14:07:13

sono1
新しいメンバ
登録日: 2017-08-07

emacsの(verify-visited-file-modtime (current-buffer)) がnilを返し、困る。

初めての投稿です。
不慣れで、無礼な振る舞いをするかもしれませんが、何卒ご容赦ください。

元の状態、やったこと、現状(問題)、試行錯誤を箇条書します。
【元の状態】
1.PC2台(サーバー、クライアント)を使っている。
2.サーバー:ubuntu14.04上でsambaサーバーを運用中。
3.クライアント:windows10上のvirtualboxでubuntu14.04を使っている。サーバーのsambaディレクトリをマウントしている。
4.この時点では、時々、emacsの(verify-visited-file-modtime (current-buffer)) がnilを返していた。
5.ネットの情報にしたがって、両方ともに、ntpを入れて、時間同期をするようにした。
6.その結果、クライアント上のemacs23(おそらく)から、sambaでマウントしたサーバー上のファイルを、普通に支障なく編集できるようになった。
【やったこと】
7.サーバー、クライアントともにubuntu16.04にアップグレード。
8.クライアンとのemacsを23から24にした。
【現状(問題)】
9.クライアント上のemacs24から、sambaでマウントしたサーバー上のファイルを編集しようとすると、emacsの(verify-visited-file-modtime (current-buffer)) 関数の返り値がnilとなり、ask-user-about-supersession-threat関数が「foo changed on disk; really edit the buffer? (y, n, r or C-h) 」という警告を出すようになり、ファイルをスムーズに編集できなくなった。
10.つまり、4.と同様の状態になっている。
【試行錯誤】
11.サーバー、クライアントの両方で、ntpを削除したり、ネットを参考にいろいろ設定ファイルを書き換えてみたが、結局、上記の問題は解決しない。

以上、下手くそな説明で恐縮ですが、ご指導賜れますと幸いです。よろしくお願いいたします。

オフライン

 

#2 2017-08-07 15:41:10

sono1
新しいメンバ
登録日: 2017-08-07

Re: emacsの(verify-visited-file-modtime (current-buffer)) がnilを返し、困る。

追加の情報を書きます。

sambaでシェアしているディレクトリで作成したの時間?を見てみたところ、

サーバーでは、
$ ls --full-time file
-rw-rw-r-- 1 sono1 sono1 2 2017-08-07 15:36:31.746778359 +0900 file
クライアントでは、
$ ls --full-time file
-rw-rw-r--+ 1 sono1 sono1 2 2017-08-07 15:36:31.746778300 +0900 file

となっています。
詳しいことはわかりませんが、、
サーバーでの更新時間?のほうが若干遅くなっている?(サーバー:15:36:31.746778359、クライアント:15:36:31.746778300)ことが原因ではないかと考えています。
これをきっちり合わせる、または、サーバーを早くするのが要点ではないかと考えています。

オフライン

 

Board footer

Powered by FluxBB