branch: elpa/subed
commit cea86bccd0479ae0175a5f6fe8e8dedefab7b5f6
Author: Sacha Chua <[email protected]>
Commit: Sacha Chua <[email protected]>
New hook: subed-subtitle-merged-hook
* subed/subed-config.el (subed-subtitle-merged-hook): New hook.
* subed/subed-ass.el (subed--merge-with-next): Run
subed-subtitle-merged-hook.
* subed/subed-srt.el (subed--merge-with-next): Run
subed-subtitle-merged-hook.
* subed/subed-tsv.el (subed--merge-with-next): Run
subed-subtitle-merged-hook.
* subed/subed-vtt.el (subed--merge-with-next): Run
subed-subtitle-merged-hook.
---
subed/subed-ass.el | 3 ++-
subed/subed-config.el | 3 +++
subed/subed-srt.el | 1 +
subed/subed-tsv.el | 3 ++-
subed/subed-vtt.el | 3 ++-
5 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/subed/subed-ass.el b/subed/subed-ass.el
index 9e26057e57..a662a6c8e2 100644
--- a/subed/subed-ass.el
+++ b/subed/subed-ass.el
@@ -274,7 +274,8 @@ function for MAJOR-MODE."
(delete-region pos (point))
(insert " ")
(let ((subed-enforce-time-boundaries nil))
- (subed-set-subtitle-time-stop new-end)))
+ (subed-set-subtitle-time-stop new-end))
+ (run-hooks 'subed-subtitle-merged-hook))
(error "No subtitle to merge into")))))
(cl-defmethod subed--auto-insert (&context (major-mode subed-ass-mode))
diff --git a/subed/subed-config.el b/subed/subed-config.el
index c2f210ffc5..04fbee69ef 100644
--- a/subed/subed-config.el
+++ b/subed/subed-config.el
@@ -290,6 +290,9 @@ Otherwise, adjust the stop time of the current subtitle."
"Functions to call when a subtitle's start or stop time has changed.
The functions are called with the subtitle's start time.")
+(defvar-local subed-subtitle-merged-hook nil
+ "Functions to call when a subtitle has been merged.")
+
(declare-function subed-subtitle-msecs-start "subed-common" (&optional id))
(defun subed--run-subtitle-time-adjusted-hook ()
diff --git a/subed/subed-srt.el b/subed/subed-srt.el
index 3c68624193..d0d8aab3dc 100644
--- a/subed/subed-srt.el
+++ b/subed/subed-srt.el
@@ -284,6 +284,7 @@ Use the format-specific function for MAJOR-MODE."
(insert "\n")
(let ((subed-enforce-time-boundaries nil))
(subed-set-subtitle-time-stop new-end))
+ (run-hooks 'subed-subtitle-merged-hook)
(subed-regenerate-ids-soon))
(error "No subtitle to merge into")))))
diff --git a/subed/subed-tsv.el b/subed/subed-tsv.el
index 1345798cc8..1c1784e755 100644
--- a/subed/subed-tsv.el
+++ b/subed/subed-tsv.el
@@ -431,7 +431,8 @@ Use the format-specific function for MAJOR-MODE."
(delete-region pos (point))
(insert " ")
(let ((subed-enforce-time-boundaries nil))
- (subed-set-subtitle-time-stop new-end)))
+ (subed-set-subtitle-time-stop new-end))
+ (run-hooks 'subed-subtitle-merged-hook))
(error "No subtitle to merge into")))))
diff --git a/subed/subed-vtt.el b/subed/subed-vtt.el
index 3509db6c74..7e9dcf9ae4 100644
--- a/subed/subed-vtt.el
+++ b/subed/subed-vtt.el
@@ -323,7 +323,8 @@ Use the format-specific function for MAJOR-MODE."
(delete-region pos (point))
(insert "\n")
(let ((subed-enforce-time-boundaries nil))
- (subed-set-subtitle-time-stop new-end)))
+ (subed-set-subtitle-time-stop new-end))
+ (run-hooks 'subed-subtitle-merged-hook))
(error "No subtitle to merge into")))))
;;; Maintenance