Hi, these days I'm working on Bug#9617, which asks for non-blocking (asynchronous) insertion or saving of buffers. This makes sense for large remote files, because Emacs would be blocked for a while during these operations.
The implementation for `insert-file-contents' works pretty well meanwhile (technically, an asynchronous process copies the remote file into a local temporary file in the background, and a corresponding process sentinel inserts this local file into the buffer once the process has finished). However, this is not sufficient. File name handlers, like Tramp, know only primitive operations. In the environment where these primitive operations are called, further actions will be applied, assuming that the primitive operation has finished once it returns. In case of `insert-file-contents', further operations will be applied, which fail in the asynchronous case due to the missing buffer contents. Examples: - Call of `after-find-file', which expands for example tar files - Operations from vc-*, which check a status (like reading and parsing dirstate in vc-bzr) Obviously, we need some design how to handle asynchronous file operations. Any proposals? Best regards, Michael. _______________________________________________ Tramp-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/tramp-devel
