[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/objed c07df28 088/166: Rewrite align section getter fun
From: |
Clemens Radermacher |
Subject: |
[elpa] externals/objed c07df28 088/166: Rewrite align section getter function |
Date: |
Sun, 29 Dec 2019 08:21:06 -0500 (EST) |
branch: externals/objed
commit c07df28b6d75c44ac2fce070d6b68bfe52c03c8f
Author: Clemens Radermacher <address@hidden>
Commit: Clemens Radermacher <address@hidden>
Rewrite align section getter function
---
objed-objects.el | 35 ++++++++++++++++++----------
test/tests/emacs-lisp-mode/expansion/block_2 | 2 +-
2 files changed, 24 insertions(+), 13 deletions(-)
diff --git a/objed-objects.el b/objed-objects.el
index 683e52c..0a02ad2 100644
--- a/objed-objects.el
+++ b/objed-objects.el
@@ -1554,19 +1554,30 @@ comments."
(nth 4 sp))
begin)))
-
-(defun objed--get-align-section ()
- "Get region bounds of current align section."
+(defvar align-region-separate)
+(defvar align-mode-rules-list)
+(defvar align-rules-list)
+(defvar align-exclude-rules-list)
+(defvar align-mode-exclude-rules-list)
+(declare-function align-region "ext:align")
+(defun objed--get-align-sections ()
+ "Get region bounds of align sections."
(require 'align)
- (let ((olddef (symbol-function 'align-region)))
- (cl-letf (((symbol-function 'align-region)
- (lambda (beg end &rest args)
- (if (and beg end)
- (throw 'region (cons beg end))
- (apply olddef beg end
- args)))))
- (catch 'region
- (align nil nil)))))
+ (let ((separator
+ (or (if (and (symbolp align-region-separate)
+ (boundp align-region-separate))
+ (symbol-value align-region-separate)
+ align-region-separate)
+ 'entire))
+ (regions ()))
+ (align-region nil nil separator
+ (or align-mode-rules-list align-rules-list)
+ (or align-mode-exclude-rules-list align-exclude-rules-list)
+ (lambda (beg end mode)
+ (when (consp mode)
+ (push (cons beg end)
+ regions))))
+ regions))
;; * Object definitions
diff --git a/test/tests/emacs-lisp-mode/expansion/block_2
b/test/tests/emacs-lisp-mode/expansion/block_2
index accd044..48cb69b 100644
--- a/test/tests/emacs-lisp-mode/expansion/block_2
+++ b/test/tests/emacs-lisp-mode/expansion/block_2
@@ -17,6 +17,6 @@ h
;; More on same level
;; Some text
-<;; and |more text
+|<;; and more text
>
- [elpa] externals/objed 213f672 094/166: Use prefixed word of symbol for inner ident object, (continued)
- [elpa] externals/objed 213f672 094/166: Use prefixed word of symbol for inner ident object, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed c02f3c1 071/166: Add description for uppercase kill/delete, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed f01a171 072/166: Make objed-init suitable for advices, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed db8850a 064/166: Improve regex object, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 870d125 068/166: Update docstrings for regex objects, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 5aa473d 078/166: Reset before quit window when objed is active, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 354d5fa 079/166: Don't bind scrolling commands, use char object for scrolling, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 35feabb 085/166: Add function to get align section bounds, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 36ff680 087/166: Adjust bindings and add additional custom user map binding, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 1dc62ca 089/166: Improve block expansion, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed c07df28 088/166: Rewrite align section getter function,
Clemens Radermacher <=
- [elpa] externals/objed 107096a 092/166: Improve block expansion order in comments, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 2f3734b 095/166: Use inner word as symbol prefix, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 98a94d3 098/166: Change description for block and context objects, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 1b5b4df 096/166: Add optional subword object, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed e0dde43 097/166: Improve block expansion, avoiding text block/comment duplicates, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed f0ff569 083/166: Add org field object, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 23be1dd 090/166: Don't use sentences for context object expansion, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 37403c1 099/166: Fallback to line object for block object continuation, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 65823e0 103/166: Improve context fallback, Clemens Radermacher, 2019/12/29
- [elpa] externals/objed 2ea1ebb 101/166: Adjust default binding scheme, Clemens Radermacher, 2019/12/29