branch: elpa/subed commit c3260799a09c1b4ecaea0f6030c2cdaade8509f3 Author: i-blis <i-b...@yandex.ru> Commit: Random User <rnd...@posteo.de>
subed-guess-video-file: Handle language name in subtitle file name --- subed/subed.el | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/subed/subed.el b/subed/subed.el index 17cfa3f..cfcd0e0 100644 --- a/subed/subed.el +++ b/subed/subed.el @@ -634,18 +634,23 @@ and therefore gets ARGS, which is ignored." (defun subed-guess-video-file () "Find video file with same base name as the opened file in the buffer. -The file extension of function `buffer-file-name' is replaced +The file extension of the function `buffer-file-name' is replaced with each item in `subed-video-extensions' and the first existing -file is returned. +file is returned. It also checks for an existing video file with +the base name stripped from an eventual language code. Return nil if function `buffer-file-name' returns nil." (when (buffer-file-name) (catch 'found-videofile - (let ((file-base (file-name-sans-extension (buffer-file-name)))) - (dolist (extension subed-video-extensions) - (let ((file-video (format "%s.%s" file-base extension))) - (when (file-exists-p file-video) - (throw 'found-videofile file-video)))))))) + (let* ((file-base (file-name-sans-extension (buffer-file-name))) + (file-stem (file-name-sans-extension file-base))) + (dolist (extension subed-video-extensions) + (let ((file-base-video (format "%s.%s" file-base extension)) + (file-stem-video (format "%s.%s" file-stem extension))) + (when (file-exists-p file-base-video) + (throw 'found-videofile file-base-video)) + (when (file-exists-p file-stem-video) + (throw 'found-videofile file-stem-video)))))))) ;;;###autoload