emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/subed 089d9f33db: v1.2.0: Do not modify subed-mode-hook, a


From: ELPA Syncer
Subject: [nongnu] elpa/subed 089d9f33db: v1.2.0: Do not modify subed-mode-hook, and don't call subed-setup-defaults
Date: Fri, 10 Mar 2023 14:02:59 -0500 (EST)

branch: elpa/subed
commit 089d9f33db9e34512352b1344627cdb20b967409
Author: Sacha Chua <sacha@sachachua.com>
Commit: Sacha Chua <sacha@sachachua.com>

    v1.2.0: Do not modify subed-mode-hook, and don't call subed-setup-defaults
    
    * subed/subed.el: Do not modify `subed-mode-hook', and don't call
    `subed-setup-defaults'.
    * README.org: Document recommended configuration.
---
 NEWS.org       |  9 ++++++
 README.org     | 86 ++++++++++++++++++++++++++++++++++++++++++++++++----------
 subed/subed.el |  8 ++----
 3 files changed, 83 insertions(+), 20 deletions(-)

diff --git a/NEWS.org b/NEWS.org
index c803adf285..e9586a853c 100644
--- a/NEWS.org
+++ b/NEWS.org
@@ -1,6 +1,15 @@
 #+OPTIONS: toc:nil
 
 * subed news
+** Version 1.2.0 - 2023-03-10 - Sacha Chua
+
+I changed ~subed-mode~ so that it doesn't add functions to local
+hooks, because that seems to mess up configuring hooks from your Emacs
+init file. Please see README.org for recommended code to add to your
+~subed-mode-hook~. I decided to suggest each line separately so that
+it's easier for people to disable specific behaviors instead of hiding
+it in ~subed-setup-defaults~.
+
 ** Version 1.1.0 - 2023-03-07 - Sacha Chua
 
 There are new customizable values for subed-enforce-time-boundaries
diff --git a/README.org b/README.org
index f51126b054..d129c85a48 100644
--- a/README.org
+++ b/README.org
@@ -114,7 +114,32 @@ To install it on Emacs 27 or earlier, add the following to 
your Emacs configurat
 (with-eval-after-load 'package (add-to-list 'package-archives '("nongnu" . 
"https://elpa.nongnu.org/nongnu/";)))
 #+end_src
 
-Use ~M-x eval-buffer~ to run the code, and then use ~M-x package-install~ 
~subed~.
+Use ~M-x eval-buffer~ to run the code, use ~M-x package-refresh-contents~ to 
load the package archives, and then use ~M-x package-install~ ~subed~.
+
+Sample configuration:
+
+#+begin_src emacs-lisp
+(with-eval-after-load 'subed-mode
+       ;; Remember cursor position between sessions
+       (add-hook 'subed-mode-hook 'save-place-local-mode)
+       ;; Break lines automatically while typing
+       (add-hook 'subed-mode-hook 'turn-on-auto-fill)
+       ;; Break lines at 40 characters
+       (add-hook 'subed-mode-hook (lambda () (setq-local fill-column 40)))
+       ;; Some reasonable defaults
+       (add-hook 'subed-mode-hook 'subed-enable-pause-while-typing)
+       ;; As the player moves, update the point to show the current subtitle
+       (add-hook 'subed-mode-hook 'subed-enable-sync-point-to-player)
+       ;; As your point moves in Emacs, update the player to start at the 
current subtitle
+       (add-hook 'subed-mode-hook 'subed-enable-sync-player-to-point)
+       ;; Replay subtitles as you adjust their start or stop time with M-[, 
M-], M-{, or M-}
+       (add-hook 'subed-mode-hook 'subed-enable-replay-adjusted-subtitle)
+       ;; Loop over subtitles
+       (add-hook 'subed-mode-hook 'subed-enable-loop-over-current-subtitle)
+       ;; Show characters per second
+       (add-hook 'subed-mode-hook 'subed-enable-show-cps))
+#+end_src
+
 *** Manual installation
 
 If that doesn't work, you can install it manually. To install from the main 
branch:
@@ -142,15 +167,35 @@ emacs --quick --batch --eval "(progn (setq 
generated-autoload-file (expand-file-
 Then you can add
 the following to your Emacs configuration (typically
 =~/.config/emacs/init.el=, =~/.emacs.d/init.el=, or =~/.emacs=; you
-can create this file if it doesn't exist yet):
+can create this file if it doesn't exist yet). Here's a configuration example:
 
 #+begin_src emacs-lisp
-;; Note the reference to the subed subdirectory
+;; Note the reference to the subed subdirectory, instead of the one at the 
root of the checkout
 (add-to-list 'load-path "/path/to/subed/subed")
 (require 'subed-autoloads)
+
+(with-eval-after-load 'subed-mode
+       ;; Remember cursor position between sessions
+       (add-hook 'subed-mode-hook 'save-place-local-mode)
+       ;; Break lines automatically while typing
+       (add-hook 'subed-mode-hook 'turn-on-auto-fill)
+       ;; Break lines at 40 characters
+       (add-hook 'subed-mode-hook (lambda () (setq-local fill-column 40)))
+       ;; Some reasonable defaults
+       (add-hook 'subed-mode-hook 'subed-enable-pause-while-typing)
+       ;; As the player moves, update the point to show the current subtitle
+       (add-hook 'subed-mode-hook 'subed-enable-sync-point-to-player)
+       ;; As your point moves in Emacs, update the player to start at the 
current subtitle
+       (add-hook 'subed-mode-hook 'subed-enable-sync-player-to-point)
+       ;; Replay subtitles as you adjust their start or stop time with M-[, 
M-], M-{, or M-}
+       (add-hook 'subed-mode-hook 'subed-enable-replay-adjusted-subtitle)
+       ;; Loop over subtitles
+       (add-hook 'subed-mode-hook 'subed-enable-loop-over-current-subtitle)
+       ;; Show characters per second
+       (add-hook 'subed-mode-hook 'subed-enable-show-cps))
 #+end_src
 
-and reload your configuration with =M-x eval-buffer= or restart Emacs.
+You can reload your configuration with =M-x eval-buffer= or restart Emacs.
 
 If you want to try a branch (ex: =derived-mode=), you can use the
 following command inside the =subed= directory:
@@ -160,20 +205,31 @@ git checkout branchname
 #+end_src
 *** use-package configuration
 
-Here's an example setup if you use use-package:
+Here's an example setup if you use 
[[https://github.com/jwiegley/use-package][use-package]]:
 
 #+BEGIN_SRC emacs-lisp
 (use-package subed
-  :ensure t
-  :config
-  ;; Disable automatic movement of point by default
-  (add-hook 'subed-mode-hook 'subed-disable-sync-point-to-player)
-  ;; Remember cursor position between sessions
-  (add-hook 'subed-mode-hook 'save-place-local-mode)
-  ;; Break lines automatically while typing
-  (add-hook 'subed-mode-hook 'turn-on-auto-fill)
-   ;; Break lines at 40 characters
-  (add-hook 'subed-mode-hook (lambda () (setq-local fill-column 40))))
+       :ensure t
+       :config
+       ;; Remember cursor position between sessions
+       (add-hook 'subed-mode-hook 'save-place-local-mode)
+       ;; Break lines automatically while typing
+       (add-hook 'subed-mode-hook 'turn-on-auto-fill)
+       ;; Break lines at 40 characters
+       (add-hook 'subed-mode-hook (lambda () (setq-local fill-column 40)))
+       ;; Some reasonable defaults
+       (add-hook 'subed-mode-hook 'subed-enable-pause-while-typing)
+       ;; As the player moves, update the point to show the current subtitle
+       (add-hook 'subed-mode-hook 'subed-enable-sync-point-to-player)
+       ;; As your point moves in Emacs, update the player to start at the 
current subtitle
+       (add-hook 'subed-mode-hook 'subed-enable-sync-player-to-point)
+       ;; Replay subtitles as you adjust their start or stop time with M-[, 
M-], M-{, or M-}
+       (add-hook 'subed-mode-hook 'subed-enable-replay-adjusted-subtitle)
+       ;; Loop over subtitles
+       (add-hook 'subed-mode-hook 'subed-enable-loop-over-current-subtitle)
+       ;; Show characters per second
+       (add-hook 'subed-mode-hook 'subed-enable-show-cps)
+       )
 #+END_SRC
 
 *** straight configuration
diff --git a/subed/subed.el b/subed/subed.el
index f2acb7c6ca..4f223e92be 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.1.0
+;; Version: 1.2.0
 ;; Maintainer: Sacha Chua <sacha@sachachua.com>
 ;; Author: Random User
 ;; Keywords: convenience, files, hypermedia, multimedia
@@ -127,17 +127,15 @@ Adjust - Increase or decrease start or stop time of a 
subtitle
 Key bindings:
 \\{subed-mode-map}"
   :group 'subed
-  (add-hook 'subed-mode-hook #'subed-guess-format :local)
   (add-hook 'post-command-hook #'subed--post-command-handler :append :local)
   (add-hook 'before-save-hook #'subed-prepare-to-save :append :local)
   (add-hook 'after-save-hook #'subed-mpv-reload-subtitles :append :local)
   (add-hook 'kill-buffer-hook #'subed-mpv-kill :append :local)
   (add-hook 'kill-emacs-hook #'subed-mpv-kill :append :local)
   (when subed-trim-overlap-check-on-load
-    (add-hook 'subed-mode-hook #'subed-trim-overlap-check :append :local))
-  (add-hook 'subed-mode-hook #'subed-set-up-defaults :append :local)
+               (subed-trim-overlap-check))
   (when subed-auto-play-media
-    (add-hook 'subed-mode-hook #'subed-auto-play-media-maybe :append :local)))
+               (subed-auto-play-media-maybe)))
 
 (declare-function subed-ass-mode "subed-ass" (&optional arg))
 (declare-function subed-vtt-mode "subed-vtt" (&optional arg))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]