branch: externals/greader
commit f4d2a691df4d1d122c60f19512d654480312a32d
Author: Michelangelo Rodriguez <[email protected]>
Commit: Michelangelo Rodriguez <[email protected]>
Refactor: Improve greader-dict and greader interaction
To prevent byte-compiler warnings, remove the "(require 'greader)"
from "greader-dict.el" and introduce a "defvar" for
"greader--current-buffer" instead.
In "greader.el", add forward declarations for variables and functions
used from "greader-dict.el". This ensures the byte-compiler is aware
of them even if "greader-dict.el" is loaded later.
Additionally, reorder the "greader-study-set-position" function for
better code organization.
---
greader-dict.el | 3 +--
greader.el | 43 ++++++++++++++++++++++++++-----------------
2 files changed, 27 insertions(+), 19 deletions(-)
diff --git a/greader-dict.el b/greader-dict.el
index 42511c8bd1..b618b7c111 100644
--- a/greader-dict.el
+++ b/greader-dict.el
@@ -140,8 +140,7 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;;; Code:
-
-(require 'greader)
+(defvar greader--current-buffer)
(defgroup greader-dict nil
"String substitution module for greader."
diff --git a/greader.el b/greader.el
index 7b6fe6b6eb..3b38fd08b0 100644
--- a/greader.el
+++ b/greader.el
@@ -44,6 +44,11 @@
;;; Code:
(require 'seq)
(require 'view)
+(defvar greader-dict-prefix-map)
+(defvar greader-dict-mode)
+(defvar greader-dict-toggle-filters)
+(declare-function greader-dict--update nil)
+
(defvar-local greader-timer-flag nil)
(require 'find-func)
(defvar greader-auto-tired-timer nil)
@@ -300,7 +305,8 @@ if set to t, when you call function `greader-read', that
function sets a
(greader-queue-mode -1))
(greader-load-backends))))
(defvar greader--current-buffer nil
- "This variable is used by `greader-reading-mode' to know which buffer is
currently being read.")
+ "This variable is used by `greader-reading-mode'
+to know which buffer is currently being read.")
(defun greader-current-buffer-p (&optional buffer)
"Return t if BUFFER is the current reading buffer, nil otherwise."
@@ -662,7 +668,10 @@ function, point jumps at the last position you called
command `greader-read'."
(defun greader-stop ()
"Stop reading of document.
-If `greader-dict-mode' and/or `greader-dict-toggle-filters' are active, the
dictionary of pronunciation rules will be updated after calling all the hooks."
+If `greader-dict-mode' and/or `greader-dict-toggle-filters' are
+active, the dictionary of pronunciation rules will be updated after
+calling all the hooks."
+
(interactive)
(cond
((and (> greader-elapsed-time 0) greader-timer-flag)
@@ -1751,21 +1760,6 @@ this major mode to the variable
`greader-continuous-modes'")))
(defvar-local greader-study-start-position 1
"The buffer position in which restart of reading will happen.")
-;;;###autoload
-(defun greader-study-set-position (pos)
- "Set the position in which reading will restart.
-When called interactively, use the current position in the buffer.
-If `greader-study-mode' is not enabled, enable it first."
- (interactive "d")
- (unless greader-study-mode
- (greader-study-mode 1))
- (cond
- ((not pos)
- (user-error "Position must be a positive integer"))
- ((< pos 1)
- (user-error "position is not valid")))
- (setq greader-study-start-position pos))
-
;; greader-study-restart is the function that will be added to the hook
;; `greader-before-finish-functions'.
;; The function simply returns to the beginning of the buffer or the
@@ -1790,6 +1784,21 @@ If `greader-region-mode' is enabled, restart will behave
accordingly."
(remove-hook 'greader-before-finish-functions
#'greader-study-restart t)))
+;;;###autoload
+(defun greader-study-set-position (pos)
+ "Set the position in which reading will restart.
+When called interactively, use the current position in the buffer.
+If `greader-study-mode' is not enabled, enable it first."
+ (interactive "d")
+ (unless greader-study-mode
+ (greader-study-mode 1))
+ (cond
+ ((not pos)
+ (user-error "Position must be a positive integer"))
+ ((< pos 1)
+ (user-error "position is not valid")))
+ (setq greader-study-start-position pos))
+
;; Estimated reading time calculation.
(defvar-local greader--buffer-words nil
"Total buffer words.")