branch: externals/objed
commit 870d1250809c92b7f807431d63e98046b6daab9f
Author: Clemens Radermacher <[email protected]>
Commit: Clemens Radermacher <[email protected]>
Update docstrings for regex objects
---
objed-objects.el | 32 +++++++++++++++++++++-----------
1 file changed, 21 insertions(+), 11 deletions(-)
diff --git a/objed-objects.el b/objed-objects.el
index 561386d..5612182 100644
--- a/objed-objects.el
+++ b/objed-objects.el
@@ -70,13 +70,18 @@
(eval-and-compile
(require 'rx)
(defun objed--get-regex-object (bregex eregex)
- "Return regex object if point is within region limited by BREGEX, EREGEX.
+ "Return regex object between BREGEX and EREGEX.
-BREGEX is the regular expression for the start of the object. Anything
-in it's first regex group is considered to be part of the inner object.
+The inner object part will be the text between the matches for
+those two expressions.
-EREGEX is the regular expression for the end of the object. Anything
-in it's first regex group is considered to be part of the inner object."
+BREGEX is the regular expression for the start of the object. If
+the regular expressions contains a group, any text which is part
+of this group will belong to the inner object part.
+
+EREGEX is the regular expression for the end of the object. If
+the regular expressions contains a group, any text which is part
+of this group will belong to the inner object part."
(let* ((obounds ())
(ibounds ())
(opos (point)))
@@ -185,20 +190,22 @@ property list where each key has an associated progn."
(push keyw wrapped)
;; allowed to move point
(cond ((memq vkeyw '(:try-next :try-prev :ref))
- (push `(let ((objed--block-p t)) ,@(nreverse forms))
+ (push `(let ((objed--block-p t))
+ ,@(nreverse forms))
wrapped))
((memq vkeyw '(:beg :end :ibeg :iend))
(if (and (not (cdr forms))
(stringp (car forms)))
(push (car forms) wrapped)
- (if (eq (caar forms) 'rx)
+ (if (and (not (cdr forms))
+ (eq (caar forms) 'rx))
(push (macroexpand-1 (car forms))
wrapped)
(push `(let ((objed--block-p t))
,@(nreverse forms))
wrapped))))
(t
- ;; objed--block-p: dont run objeds advices here...
+ ;; objed--block-p: dont run objeds advices here
(push `(let ((objed--block-p t))
(save-mark-and-excursion
,@(nreverse forms)))
@@ -244,9 +251,12 @@ there is no object at point the code should return nil.
:beg, :ibeg, :end, :iend
These keywords can be used instead of :get-obj above. The value
-for each is the code to run which should return point position
-for corresponding keyword. Point is allword to move. The code
-runs in the same order the keywords are provided.
+for each is the code to run which should return the point
+position corresponding to the keyword. Point is allword to move
+between the keyword expression. The code runs in the same order
+the keywords are provided. It is also possible to use only :beg
+and :end with regular expressions to define an object. See
+`objed--get-regex-object' for details of their format.
:try-next (optional)