[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/m-buffer c2ea6f72b9 060/115: m-buffer-first-line added.
From: |
ELPA Syncer |
Subject: |
[elpa] externals/m-buffer c2ea6f72b9 060/115: m-buffer-first-line added. |
Date: |
Tue, 19 Jul 2022 15:58:48 -0400 (EDT) |
branch: externals/m-buffer
commit c2ea6f72b94192fc56de4b16fda7edd37086cade
Author: Phillip Lord <phillip.lord@newcastle.ac.uk>
Commit: Phillip Lord <phillip.lord@newcastle.ac.uk>
m-buffer-first-line added.
New method to find the first line.
---
m-buffer.el | 15 ++++++++++++++-
test/m-buffer-test.el | 16 +++++++++++++---
2 files changed, 27 insertions(+), 4 deletions(-)
diff --git a/m-buffer.el b/m-buffer.el
index e9da454f49..3d43710775 100644
--- a/m-buffer.el
+++ b/m-buffer.el
@@ -540,13 +540,17 @@ MATCH is of form BUFFER-OR-WINDOW MATCH-OPTIONS. See
'm-buffer-match match :regexp paragraph-separate
:post-match 'm-buffer-post-match-forward-line))
+(defvar m-buffer--line-regexp
+ "^.*$"
+ "Regexp to match a line.")
+
(defun m-buffer-match-line (&rest match)
"Return a list of match data to all lines.
MATCH is of the form BUFFER-OR-WINDOW MATCH-OPTIONS.
See `m-buffer-match for further details."
(m-buffer-apply-snoc
'm-buffer-match
- match :regexp "^.*$"
+ match :regexp m-buffer--line-regexp
:post-match 'm-buffer-post-match-forward-char))
(defun m-buffer-match-line-start (&rest match)
@@ -567,6 +571,15 @@ MATCH is of form BUFFER-OR-WINDOW MATCH-OPTIONS. See
match :regexp "$"
:post-match 'm-buffer-post-match-forward-char))
+(defun m-buffer-match-first-line (&rest match)
+ "Returns a match to the first line of MATCH.
+This matches more efficiently than matching all lines and taking
+the car. See `m-buffer-match' for further details of MATCH."
+ (m-buffer-apply-snoc
+ 'm-buffer-match match
+ :regexp m-buffer--line-regexp
+ :post-match (lambda () nil)))
+
(defun m-buffer-match-sentence-end (&rest match)
"Return a list of match to sentence end.
MATCH is of the form BUFFER-OR-WINDOW MATCH-OPTIONS. See
diff --git a/test/m-buffer-test.el b/test/m-buffer-test.el
index 1b4ae9aa40..a0e9ae3eea 100644
--- a/test/m-buffer-test.el
+++ b/test/m-buffer-test.el
@@ -203,9 +203,19 @@
(equal
'(1 2 4 6 9 12 13)
(m-buffer-wtb-of-file
- "line-start.txt"
- (m-buffer-marker-to-pos
- (m-buffer-match-line-end (current-buffer)))))))
+ "line-start.txt"
+ (m-buffer-marker-to-pos
+ (m-buffer-match-line-end (current-buffer)))))))
+
+(ert-deftest first-line ()
+ (should
+ (equal
+ '((1 1))
+ (m-buffer-wtb-of-file
+ "line-start.txt"
+ (m-buffer-marker-tree-to-pos
+ (m-buffer-match-first-line
+ (current-buffer)))))))
(ert-deftest sentence-end ()
(should
- [elpa] externals/m-buffer 6eb1d2535a 112/115: v0.15 Release, (continued)
- [elpa] externals/m-buffer 6eb1d2535a 112/115: v0.15 Release, ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer 042fe80d95 057/115: Checkdoc before 0.6 release., ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer c637ea3bf2 077/115: Prepare for next iteration., ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer e648a9d6ca 084/115: m-buffer-apply-snoc replaced., ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer d9682aa359 086/115: Prepare for 0.11 release., ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer 49a0c187a1 026/115: Name changes: markers to marker, ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer 45ad6de33d 041/115: Documentaion update for cask move., ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer 69750033c2 043/115: m-buffer-replace-matches has more arguments., ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer a3078a58ed 055/115: exact-subtract no longer crashes on last non-match, ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer 55eb7c058f 059/115: Prepare for next iteration., ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer c2ea6f72b9 060/115: m-buffer-first-line added.,
ELPA Syncer <=
- [elpa] externals/m-buffer 63a46e6732 063/115: m-buffer-in-match-p added., ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer 3df675024f 064/115: New functions added., ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer 69cf1fb326 066/115: Documentation updates., ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer e80fd6cdaa 068/115: Documentation updates., ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer e9f9b0819f 072/115: Prepare for next iteration!, ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer 8c7f63ee16 073/115: Removed pointless call to m-buffer-buffer-for-match., ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer 77067c0ff5 076/115: Version 0.9 Released., ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer 3136ab48a8 082/115: Docstring typo., ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer c0946dbe6c 085/115: Documentations updates., ELPA Syncer, 2022/07/19
- [elpa] externals/m-buffer ea281db21a 089/115: New function: m-buffer-partition-by-marker., ELPA Syncer, 2022/07/19