[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 912f3bd 335/433: Use syntax-propertize-function set in sub
From: |
Dmitry Gutov |
Subject: |
[elpa] master 912f3bd 335/433: Use syntax-propertize-function set in submodes |
Date: |
Thu, 15 Mar 2018 19:44:30 -0400 (EDT) |
branch: master
commit 912f3bd01c80f4bf5406128ebe8e96c28cd690bc
Author: Dmitry Gutov <address@hidden>
Commit: Dmitry Gutov <address@hidden>
Use syntax-propertize-function set in submodes
WIP, it visibly slows down parsing.
---
mmm-region.el | 19 ++++++++++++++++---
1 file changed, 16 insertions(+), 3 deletions(-)
diff --git a/mmm-region.el b/mmm-region.el
index 8d7c2ba..dfe720f 100644
--- a/mmm-region.el
+++ b/mmm-region.el
@@ -516,7 +516,9 @@ is non-nil, don't quit if the info is already there."
(put mode 'mmm-fontify-region-function
font-lock-fontify-region-function)
(put mode 'mmm-beginning-of-syntax-function
- font-lock-beginning-of-syntax-function))
+ font-lock-beginning-of-syntax-function)
+ (put mode 'mmm-syntax-propertize-function
+ syntax-propertize-function))
;; Get variables
(setq global-vars (mmm-get-locals 'global)
buffer-vars (mmm-get-locals 'buffer)
@@ -761,7 +763,10 @@ of the REGIONS covers START to STOP."
(save-excursion
(let (;(major-mode mode)
(func (get mode 'mmm-fontify-region-function))
- font-lock-extend-region-functions)
+ (font-lock-dont-widen t)
+ font-lock-extend-region-functions
+ syntax-propertize-extend-region-functions
+ (syntax-propertize-function (get mode
'mmm-syntax-propertize-function)))
(mapc #'(lambda (reg)
(goto-char (car reg))
;; Here we do the same sort of thing that
@@ -770,7 +775,15 @@ of the REGIONS covers START to STOP."
;; fontify, or change the mode line.
(mmm-set-current-pair mode (mmm-submode-overlay-at mode))
(mmm-set-local-variables mode mmm-current-overlay)
- (funcall func (car reg) (cadr reg) nil)
+ ;; (message "beg %s end %s spd %s" (car reg) (cadr reg)
+ ;; syntax-propertize--done)
+ (save-restriction
+ (if mmm-current-overlay
+ (narrow-to-region (overlay-start mmm-current-overlay)
+ (overlay-end mmm-current-overlay))
+ (narrow-to-region (car reg) (cadr reg)))
+ (let ((syntax-propertize--done (car reg))) ;; tis slow :(
+ (funcall func (car reg) (cadr reg) nil)))
;; Catch changes in font-lock cache.
(mmm-save-changed-local-variables
mmm-current-submode mmm-current-overlay))
- [elpa] master aea8495 433/433: Add the agreed-upon copyright exceptions, (continued)
- [elpa] master aea8495 433/433: Add the agreed-upon copyright exceptions, Dmitry Gutov, 2018/03/15
- [elpa] master a897a41 360/433: * mmm-erb.el: Update comments, Dmitry Gutov, 2018/03/15
- [elpa] master 1bcb406 379/433: Add magic comment for autoload to mmm-add-classes, Dmitry Gutov, 2018/03/15
- [elpa] master 3ac63b8 336/433: Define mmm-syntax-propertize-function, Dmitry Gutov, 2018/03/15
- [elpa] master 1e655f7 395/433: mmm-save-local-variables: Add forward-sexp-function and SMIE-related vars, Dmitry Gutov, 2018/03/15
- [elpa] master c23be30 384/433: Limit html-php to .php files, Dmitry Gutov, 2018/03/15
- [elpa] master 70f115e 348/433: Update the TODO, Dmitry Gutov, 2018/03/15
- [elpa] master 02a3248 394/433: Merge pull request #49 from namikister/css-mode, Dmitry Gutov, 2018/03/15
- [elpa] master 2995771 420/433: Update copyright dates again, Dmitry Gutov, 2018/03/15
- [elpa] master 3f771f7 419/433: Use cl-lib instead of cl, Dmitry Gutov, 2018/03/15
- [elpa] master 912f3bd 335/433: Use syntax-propertize-function set in submodes,
Dmitry Gutov <=
- [elpa] master c9dea38 363/433: Update the FAQ, Dmitry Gutov, 2018/03/15
- [elpa] master 628e1dc 380/433: Merge pull request #31 from tom-tan/add-autoloads, Dmitry Gutov, 2018/03/15
- [elpa] master 01b5cd9 338/433: * mmm-apply-all: flush syntax cache, Dmitry Gutov, 2018/03/15
- [elpa] master e257808 413/433: Copy mmm-indent-line body into mmm-indent-narrowed, Dmitry Gutov, 2018/03/15
- [elpa] master 3895201 294/433: Merge pull request #3 from dgutov/shortcuts-fix, Dmitry Gutov, 2018/03/15
- [elpa] master de643c9 409/433: Mode transition hooks, Dmitry Gutov, 2018/03/15
- [elpa] master 395317c 332/433: * mmm-make-region: Don't call mmm-save-changed-local-variables, or set the, Dmitry Gutov, 2018/03/15
- [elpa] master 38439a4 301/433: Reparse mmm-mode buffer when Emacs is idle, Dmitry Gutov, 2018/03/15
- [elpa] master c76b13e 418/433: Add some NEWS entries, Dmitry Gutov, 2018/03/15
- [elpa] master a4deb1b 432/433: Merge commit 'cb905bdc728fb3b5f9fdff8836d71b62bd717eab' from mmm-mode, Dmitry Gutov, 2018/03/15