branch: master
commit c563b859507e149f8525350867ef8713688635dd
Author: Dmitry Gutov <[email protected]>
Commit: Dmitry Gutov <[email protected]>
mmm-beginning-of-syntax: Don't consider overlays ending at point
---
mmm-region.el | 2 +-
tests/region.el | 12 ++++++++++++
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/mmm-region.el b/mmm-region.el
index 4239f9b..35bad1e 100644
--- a/mmm-region.el
+++ b/mmm-region.el
@@ -796,7 +796,7 @@ of the REGIONS covers START to STOP."
(defun mmm-beginning-of-syntax ()
(goto-char
- (let ((ovl (mmm-overlay-at (point)))
+ (let ((ovl (mmm-overlay-at (point) 'beg))
(func (get (or mmm-current-submode mmm-primary-mode)
'mmm-beginning-of-syntax-function)))
(max (if ovl (overlay-start ovl) (point-min))
diff --git a/tests/region.el b/tests/region.el
new file mode 100644
index 0000000..50e2810
--- /dev/null
+++ b/tests/region.el
@@ -0,0 +1,12 @@
+(ert-deftest mmm-beginning-of-syntax-goes-to-outer-beginning ()
+ (ert-with-test-buffer nil
+ (let (mmm-mode-ext-classes-alist
+ mmm-parse-when-idle)
+ (insert "aaa [zz {x} zz] bbb")
+ (fundamental-mode)
+ (mmm-mode-on)
+ (mmm-ify-by-regexp 'text-mode "\\[" 0 "\\]" 0 nil)
+ (mmm-ify-by-regexp 'prog-mode "{" 0 "}" 0 nil)
+ (search-backward "}")
+ (mmm-beginning-of-syntax)
+ (should (looking-back "\\[" (1- (point)))))))