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

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

[elpa] externals/vlf 5dd9e2c 281/310: Adjust address parts of hexlified


From: Stefan Monnier
Subject: [elpa] externals/vlf 5dd9e2c 281/310: Adjust address parts of hexlified buffer according to vlf-start-pos.
Date: Sat, 28 Nov 2020 00:33:32 -0500 (EST)

branch: externals/vlf
commit 5dd9e2cd02d56118c7cb28aa2fa43fcc512fc79d
Author: Andrey Kotlarski <m00naticus@gmail.com>
Commit: Andrey Kotlarski <m00naticus@gmail.com>

    Adjust address parts of hexlified buffer according to vlf-start-pos.
---
 vlf-tune.el | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/vlf-tune.el b/vlf-tune.el
index a098461..6498ef7 100644
--- a/vlf-tune.el
+++ b/vlf-tune.el
@@ -171,13 +171,27 @@ FILE-NAME if given is to be used instead of 
`buffer-file-name'."
     (or (file-remote-p file) ;writing to remote files can include network 
copying
         (vlf-tune-add-measurement vlf-tune-write-bps size time))))
 
+(defun vlf-hexl-adjust-addresses ()
+  "Adjust hexl address indicators according to `vlf-start-pos'."
+  (let ((pos (point))
+        (address vlf-start-pos))
+    (goto-char (point-min))
+    (while (re-search-forward "^[0-9a-f]+" nil t)
+      (replace-match (format "%08x" address))
+      (setq address (+ address hexl-bits)))
+    (goto-char pos)))
+
 (defun vlf-tune-hexlify ()
   "Activate `hexl-mode' and save time it takes."
-  (let ((time (car (vlf-time (hexlify-buffer)))))
+  (let* ((no-adjust (zerop vlf-start-pos))
+         (time (car (vlf-time (hexlify-buffer)
+                              (or no-adjust
+                                  (vlf-hexl-adjust-addresses))))))
     (setq hexl-max-address (+ (* (/ (1- (buffer-size))
                                     (hexl-line-displen)) 16) 15))
-    (vlf-tune-add-measurement vlf-tune-hexl-bps
-                              hexl-max-address time)))
+    (or no-adjust
+        (vlf-tune-add-measurement vlf-tune-hexl-bps
+                                  hexl-max-address time))))
 
 (defun vlf-tune-dehexlify ()
   "Exit `hexl-mode' and save time it takes."



reply via email to

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