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

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

[nongnu] elpa/annotate de86b9b22e 341/372: - removed uses of regular exp


From: ELPA Syncer
Subject: [nongnu] elpa/annotate de86b9b22e 341/372: - removed uses of regular expressions from 'annotate-unwrap-text'.
Date: Fri, 4 Feb 2022 16:59:19 -0500 (EST)

branch: elpa/annotate
commit de86b9b22e73145a625950d6459f29ab0f773208
Author: cage <cage@invalid>
Commit: cage <cage@invalid>

    - removed uses of regular expressions from 'annotate-unwrap-text'.
---
 annotate.el | 31 +++++++++++++++++--------------
 1 file changed, 17 insertions(+), 14 deletions(-)

diff --git a/annotate.el b/annotate.el
index 431032dc3a..3c70169f14 100644
--- a/annotate.el
+++ b/annotate.el
@@ -2392,20 +2392,23 @@ pressed."
 (cl-defun annotate-wrap-text (text &optional (wrapper "\""))
   (concat wrapper text wrapper))
 
-(cl-defun annotate-unwrap-text (text &optional (wrapper "\""))
-  (let ((left-re  (concat "^" wrapper))
-        (right-re (concat wrapper "$")))
-    (save-match-data
-      (let* ((matchedp      (string-match left-re text))
-             (trimmed-left (if matchedp
-                               (replace-match "" t t text)
-                             text)))
-        (save-match-data
-          (let ((matchedp (string-match right-re trimmed-left)))
-            (if matchedp
-                (replace-match "" t t trimmed-left)
-              trimmed-left)))))))
-
+(cl-defun annotate-unwrap-text (text &optional (wrapper "\"") (left-side t))
+  (let ((results        text)
+        (wrapper-length (length wrapper)))
+    (when (>= (length text)
+              wrapper-length)
+      (if left-side
+          (let ((maybe-wrapper (substring results 0 wrapper-length)))
+            (when (string= maybe-wrapper wrapper)
+              (setf results (substring results wrapper-length))
+              (setf results (annotate-unwrap-text results wrapper nil))))
+        (let ((maybe-wrapper (substring results
+                                        (- (length results)
+                                           wrapper-length))))
+          (when (string= maybe-wrapper wrapper)
+            (setf results (substring results 0 (- (length results)
+                                                  wrapper-length)))))))
+    results))
 
 (cl-defun annotate-show-annotation-summary (&optional arg-query 
cut-above-point (save-annotations t))
  "Show a summary of all the annotations in a temp buffer, the



reply via email to

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