branch: elpa/subed commit de7ee929613a9c5430d5f8927f3beab7af002659 Author: Sacha Chua <sa...@sachachua.com> Commit: Sacha Chua <sa...@sachachua.com>
1.2.5 Ignore MPV socket errors when closing files on remote computers * subed/subed-mpv.el (subed-mpv--socket): Add skip-create argument. (subed-mpv--server-stop): Ignore errors and don't create the socket directory if it doesn't already exist. --- NEWS.org | 4 ++++ subed/subed-mpv.el | 28 ++++++++++++++++------------ subed/subed.el | 2 +- 3 files changed, 21 insertions(+), 13 deletions(-) diff --git a/NEWS.org b/NEWS.org index 7ed064db5d..408d8fd285 100644 --- a/NEWS.org +++ b/NEWS.org @@ -1,6 +1,10 @@ #+OPTIONS: toc:nil * subed news +** Version 1.2.5 - 2023-10-15 - Sacha Chua + +Ignore MPV socket errors when closing files on remote computers. + ** Version 1.2.4 - 2023-09-11 - Sacha Chua Guess the format when the generic subed-mode is loaded. Also, require diff --git a/subed/subed-mpv.el b/subed/subed-mpv.el index 8b395af998..27319bcf57 100644 --- a/subed/subed-mpv.el +++ b/subed/subed-mpv.el @@ -74,18 +74,21 @@ ;;; Server (mpv process that provides an IPC socket) -(defun subed-mpv--socket () +(defun subed-mpv--socket (&optional skip-create) "Path to mpv's RPC socket for a particular buffer. -See also `subed-mpv-socket-dir'." - (unless (file-exists-p subed-mpv-socket-dir) +See also `subed-mpv-socket-dir'. +If SKIP-CREATE is non-nil, don't create it if it doesn't exist." + (unless (or skip-create (file-exists-p subed-mpv-socket-dir)) (condition-case err (make-directory subed-mpv-socket-dir :create-parents) (file-error - (error "%s" (mapconcat #'identity (cdr err) ": "))))) - (expand-file-name - (format "subed-%s" - (md5 (subed--buffer-file-name))) - subed-mpv-socket-dir)) + (error "%s" (mapconcat #'identity (cdr err) ": ")) + nil))) + (when (file-exists-p subed-mpv-socket-dir) + (expand-file-name + (format "subed-%s" + (md5 (subed--buffer-file-name))) + subed-mpv-socket-dir))) (defun subed-mpv--server-start (&rest args) "Run mpv in JSON IPC mode. @@ -115,10 +118,11 @@ Pass ARGS as command line arguments. \"--idle\" and (when (and subed-mpv--server-proc (process-live-p subed-mpv--server-proc)) (delete-process subed-mpv--server-proc) (subed-debug "Killed mpv process")) - (let ((socket-file (subed-mpv--socket))) - (when (file-exists-p socket-file) - (subed-debug "Removing IPC socket: %s" socket-file) - (ignore-errors (delete-file socket-file)))) + (ignore-errors + (let ((socket-file (subed-mpv--socket t))) + (when (file-exists-p socket-file) + (subed-debug "Removing IPC socket: %s" socket-file) + (ignore-errors (delete-file socket-file))))) (setq subed-mpv--server-proc nil)) (defun subed-mpv--server-started-p () diff --git a/subed/subed.el b/subed/subed.el index dfd3b24d8d..6f47cf6509 100644 --- a/subed/subed.el +++ b/subed/subed.el @@ -1,6 +1,6 @@ ;;; subed.el --- A major mode for editing subtitles -*- lexical-binding: t; -*- -;; Version: 1.2.4 +;; Version: 1.2.5 ;; Maintainer: Sacha Chua <sa...@sachachua.com> ;; Author: Random User ;; Keywords: convenience, files, hypermedia, multimedia