branch: elpa/subed commit ecfec2b79a2f6ef4e01ad70355c24ccced71cdc6 Author: Random User <rnd...@posteo.de> Commit: Random User <rnd...@posteo.de>
Move debugging functions to subed-debug.el --- Makefile | 2 ++ subed/subed-common.el | 47 +------------------------------- subed/subed-debug.el | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++ subed/subed-mpv.el | 1 + subed/subed-srt.el | 1 + subed/subed.el | 1 + 6 files changed, 81 insertions(+), 46 deletions(-) diff --git a/Makefile b/Makefile index d3c1063..37c3dd5 100644 --- a/Makefile +++ b/Makefile @@ -23,4 +23,6 @@ test-compile: (byte-compile-file \"subed/subed-mpv.el\"))" emacs --quick --batch --eval "(progn (add-to-list 'load-path (expand-file-name \"subed\" default-directory)) \ (byte-compile-file \"subed/subed-srt.el\"))" + emacs --quick --batch --eval "(progn (add-to-list 'load-path (expand-file-name \"subed\" default-directory)) \ + (byte-compile-file \"subed/subed-debug.el\"))" make clean diff --git a/subed/subed-common.el b/subed/subed-common.el index 08f4631..9910176 100644 --- a/subed/subed-common.el +++ b/subed/subed-common.el @@ -28,54 +28,9 @@ ;;; Code: (require 'subed-config) +(require 'subed-debug) (require 'subed-mpv) -;;; Debugging - -(defun subed-enable-debugging () - "Hide debugging messages and set `debug-on-error' to nil." - (interactive) - (unless subed-debugging-enabled-p - (setq subed-debugging-enabled-p t - debug-on-error t) - (let ((debug-buffer (get-buffer-create subed-debug-buffer)) - (debug-window (or (get-buffer-window subed-debug-buffer) - (split-window-horizontally (max 40 (floor (* 0.3 (window-width)))))))) - (set-window-buffer debug-window debug-buffer) - (with-current-buffer debug-buffer - (buffer-disable-undo) - (setq-local buffer-read-only t))) - (add-hook 'kill-buffer-hook #'subed-disable-debugging :append :local))) - -(defun subed-disable-debugging () - "Display debugging messages in separate window and set `debug-on-error' to t." - (interactive) - (when subed-debugging-enabled-p - (setq subed-debugging-enabled-p nil - debug-on-error nil) - (let ((debug-window (get-buffer-window subed-debug-buffer))) - (when debug-window - (delete-window debug-window))) - (remove-hook 'kill-buffer-hook #'subed-disable-debugging :local))) - -(defun subed-toggle-debugging () - "Display or hide debugging messages in separate window and set `debug-on-error' to t or nil." - (interactive) - (if subed-debugging-enabled-p - (subed-disable-debugging) - (subed-enable-debugging))) - -(defun subed-debug (msg &rest args) - "Pass MSG and ARGS to `format' and show the result in debugging buffer if it exists." - (when (get-buffer subed-debug-buffer) - (with-current-buffer (get-buffer-create subed-debug-buffer) - (setq-local buffer-read-only nil) - (insert (apply #'format (concat msg "\n") args)) - (setq-local buffer-read-only t) - (let ((debug-window (get-buffer-window subed-debug-buffer))) - (when debug-window - (set-window-point debug-window (goto-char (point-max)))))))) - ;;; Utilities diff --git a/subed/subed-debug.el b/subed/subed-debug.el new file mode 100644 index 0000000..2826264 --- /dev/null +++ b/subed/subed-debug.el @@ -0,0 +1,75 @@ +;;; subed-debug.el --- Debugging functions -*- lexical-binding: t; -*- + +;;; License: +;; +;; This file is not part of GNU Emacs. +;; +;; This is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 3, or (at your option) +;; any later version. +;; +;; This is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. +;; +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. + +;;; Commentary: +;; +;; Debugging-related functions. + +;;; Code: + +(require 'subed-config) + +(defun subed-enable-debugging () + "Hide debugging messages and set `debug-on-error' to nil." + (interactive) + (unless subed-debugging-enabled-p + (setq subed-debugging-enabled-p t + debug-on-error t) + (let ((debug-buffer (get-buffer-create subed-debug-buffer)) + (debug-window (or (get-buffer-window subed-debug-buffer) + (split-window-horizontally (max 40 (floor (* 0.3 (window-width)))))))) + (set-window-buffer debug-window debug-buffer) + (with-current-buffer debug-buffer + (buffer-disable-undo) + (setq-local buffer-read-only t))) + (add-hook 'kill-buffer-hook #'subed-disable-debugging :append :local))) + +(defun subed-disable-debugging () + "Display debugging messages in separate window and set `debug-on-error' to t." + (interactive) + (when subed-debugging-enabled-p + (setq subed-debugging-enabled-p nil + debug-on-error nil) + (let ((debug-window (get-buffer-window subed-debug-buffer))) + (when debug-window + (delete-window debug-window))) + (remove-hook 'kill-buffer-hook #'subed-disable-debugging :local))) + +(defun subed-toggle-debugging () + "Display or hide debugging messages in separate window and set `debug-on-error' to t or nil." + (interactive) + (if subed-debugging-enabled-p + (subed-disable-debugging) + (subed-enable-debugging))) + +(defun subed-debug (msg &rest args) + "Pass MSG and ARGS to `format' and show the result in debugging buffer if it exists." + (when (get-buffer subed-debug-buffer) + (with-current-buffer (get-buffer-create subed-debug-buffer) + (setq-local buffer-read-only nil) + (insert (apply #'format (concat msg "\n") args)) + (setq-local buffer-read-only t) + (let ((debug-window (get-buffer-window subed-debug-buffer))) + (when debug-window + (set-window-point debug-window (goto-char (point-max)))))))) + +(provide 'subed-debug) +;;; subed-debug.el ends here diff --git a/subed/subed-mpv.el b/subed/subed-mpv.el index 0becaa0..5471fe0 100644 --- a/subed/subed-mpv.el +++ b/subed/subed-mpv.el @@ -27,6 +27,7 @@ ;;; Code: (require 'subed-config) +(require 'subed-debug) (require 'json) (defvar-local subed-mpv-is-playing nil diff --git a/subed/subed-srt.el b/subed/subed-srt.el index 65811e6..d738ea8 100644 --- a/subed/subed-srt.el +++ b/subed/subed-srt.el @@ -28,6 +28,7 @@ ;;; Code: (require 'subed-config) +(require 'subed-debug) (require 'subed-common) ;;; Syntax highlighting diff --git a/subed/subed.el b/subed/subed.el index 19fc12b..220f39c 100644 --- a/subed/subed.el +++ b/subed/subed.el @@ -33,6 +33,7 @@ ;;; Code: (require 'subed-config) +(require 'subed-debug) (require 'subed-common) (require 'subed-srt) (require 'subed-mpv)