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.")

Reply via email to