[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/objed 0cb2593 017/166: Tweak sexp object
From: |
Clemens Radermacher |
Subject: |
[elpa] externals/objed 0cb2593 017/166: Tweak sexp object |
Date: |
Sun, 29 Dec 2019 08:20:53 -0500 (EST) |
branch: externals/objed
commit 0cb259346a461182a41100cf653eff0d348c9505
Author: Clemens Radermacher <address@hidden>
Commit: Clemens Radermacher <address@hidden>
Tweak sexp object
---
objed-objects.el | 55 +++++++++++++++++++++++++++----------------------------
1 file changed, 27 insertions(+), 28 deletions(-)
diff --git a/objed-objects.el b/objed-objects.el
index 756501b..db2df7d 100644
--- a/objed-objects.el
+++ b/objed-objects.el
@@ -1568,33 +1568,29 @@ comments."
(objed--prev-symbol))
-
(defun objed--at-sexp-p ()
"Return sexp object if point at strutured expression."
- (let ((opos (point))
- (real-this-command 'forward-sexp))
- (save-excursion
- (cl-flet ((zigzag
- (arg)
- (ignore-errors
- (forward-sexp arg)
- (unless (eq opos (point))
- (prog1 (point)
- (forward-sexp (- arg)))))))
- (let ((zigp nil))
- (when (or (and (not (eobp))
- (or (memq (char-syntax (char-before)) (list ?\s ?>))
- (not (eq (char-syntax (char-after)) ?\")))
- (save-excursion
- (eq (point) (progn (setq zigp (zigzag 1))
- (point)))))
- (and (not (bobp))
- (save-excursion
- (eq (point) (progn (setq zigp (zigzag -1))
- (point))))))
- (and zigp
- (cons (min (point) zigp)
- (max (point) zigp)))))))))
+ (let* ((opos (point))
+ (objed--block-p t)
+ (real-this-command 'forward-sexp)
+ (other nil)
+ (atp (or (save-excursion
+ (ignore-errors
+ (forward-sexp 1)
+ (setq other (point))
+ (forward-sexp -1)
+ (= (point) opos)))
+ (save-excursion
+ (ignore-errors
+ (forward-sexp -1)
+ (setq other (point))
+ (forward-sexp 1)
+ (= (point) opos))))))
+
+ (when atp
+ (cons (min opos other)
+ (max opos other)))))
+
(objed-define-object nil sexp
:atp
@@ -1613,9 +1609,12 @@ comments."
'identifier))
:get-obj
(let ((bounds (or (objed--at-sexp-p)
- (ignore-errors
- (forward-sexp -1)
- (objed--at-sexp-p)))))
+ (save-excursion
+ (ignore-errors
+ (forward-sexp 1)
+ (forward-sexp -1)
+ (objed--at-sexp-p))))))
+
(when bounds
(objed-make-object
:obounds bounds
- [elpa] externals/objed c9d4f12 013/166: Don't always update current object with marker positions, (continued)
- [elpa] externals/objed c9d4f12 013/166: Don't always update current object with marker positions, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 3d6f50b 012/166: Fix some indent operation issues, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 87da25e 018/166: Fix mc available test on exit, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed a2cbe3b 015/166: Create fake cursors when using insertion op for marked objects, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed cb1a6ca 019/166: Add continuation object feature, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 6a91b16 023/166: Improve mc exit behavior, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 4de1520 008/166: Improve paren insertion and wrapping in lisp modes, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 25111a3 010/166: Dont check buffer whe objed--buffer is gone, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 333b58c 014/166: Change indentation object to include leading ws, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 89e1e18 016/166: Also activate mc if only one fake cursor, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 0cb2593 017/166: Tweak sexp object,
Clemens Radermacher <=
- [elpa] externals/objed dc673b8 022/166: Fix for mc counting non fake cursor as cursor, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 252a1d3 021/166: For brackets, strings and comments switch to sexp on continuation, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 0fa1ea3 024/166: Default to sexp for continuation object, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed be2c78c 027/166: Fix word object for subword-mode, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 0956db5 029/166: Don't add additional undo bounds for numeric repeats, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 781f0ee 031/166: Make word object behave correctly with superword/subword-mode, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed a16418c 040/166: Refactor object-toggle-state, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed f9c3819 020/166: Tweak sexp object again, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 2701f73 026/166: Fix backward kill for continuation, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed bddcb432 032/166: Fix dosctring, Clemens Radermacher, 2019/12/29