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

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

[nongnu] elpa/better-jumper 8d2b5f4c3a 11/48: Re-implement buffer contex


From: ELPA Syncer
Subject: [nongnu] elpa/better-jumper 8d2b5f4c3a 11/48: Re-implement buffer context support using locals
Date: Sun, 9 Jan 2022 22:58:09 -0500 (EST)

branch: elpa/better-jumper
commit 8d2b5f4c3a6e059ffb2519b1503df372d7ae9c2a
Author: Bryan Gilbert <gilbertw1@gmail.com>
Commit: Bryan Gilbert <gilbertw1@gmail.com>

    Re-implement buffer context support using locals
---
 better-jumper.el | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/better-jumper.el b/better-jumper.el
index f96323956b..e9bc94b779 100644
--- a/better-jumper.el
+++ b/better-jumper.el
@@ -57,6 +57,9 @@
 (defvar better-jumper--buffer-targets "\\*\\(new\\|scratch\\)\\*"
   "Regexp to match against `buffer-name' to determine whether it's a valid 
jump target.")
 
+(defvar-local better-jumper--jump-struct nil
+  "Jump struct for current buffer.")
+
 (cl-defstruct better-jumper-jump-list-struct
   ring
   (idx -1))
@@ -74,8 +77,8 @@
    (set-window-parameter window 'better-jumper-struct struct))
 
 (defun better-jumper--set-buffer-struct (buffer struct)
-  "TODO: Set jump struct for BUFFER to STRUCT."
-    nil)
+  "Set jump struct for BUFFER to STRUCT."
+   (setf (buffer-local-value 'better-jumper--jump-struct buffer) struct))
 
 (defun better-jumper--set-struct (context struct)
   "Set jump struct for CONTEXT to STRUCT."
@@ -92,11 +95,15 @@
          (frame-selected-window))))
 
 (defun better-jumper--get-buffer-struct (&optional buffer)
-  "TODO: Get current jump struct for BUFFER.
+  "Get current jump struct for BUFFER.
 Creates and adds jump struct if one does not exist. buffer if BUFFER parameter
 is missing."
-  (let* ((buffer (or buffer (current-buffer))))
-    nil))
+  (let* ((buffer (or buffer (current-buffer)))
+         (jump-struct (buffer-local-value 'better-jumper--jump-struct buffer)))
+    (unless jump-struct
+      (setq jump-struct (make-better-jumper-jump-list-struct))
+      (better-jumper--set-buffer-struct buffer jump-struct))
+    jump-struct))
 
 (defun better-jumper--get-window-struct (&optional window)
   "Get current jump struct for WINDOW.



reply via email to

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