emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/phps-mode d27af61 327/405: Fixed bug with incremental l


From: Stefan Monnier
Subject: [elpa] externals/phps-mode d27af61 327/405: Fixed bug with incremental lexer were states are missing
Date: Sat, 13 Jul 2019 10:00:42 -0400 (EDT)

branch: externals/phps-mode
commit d27af6190843443142a33af404820c899f65bf76
Author: Christian Johansson <address@hidden>
Commit: Christian Johansson <address@hidden>

    Fixed bug with incremental lexer were states are missing
---
 phps-mode-lexer.el            | 6 +++---
 phps-mode-test-integration.el | 9 +++++++++
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/phps-mode-lexer.el b/phps-mode-lexer.el
index 992fcc3..6da9ffa 100644
--- a/phps-mode-lexer.el
+++ b/phps-mode-lexer.el
@@ -1684,7 +1684,7 @@
 (defun phps-mode-lexer-run-incremental ()
   "Run incremental lexer based on 
`(phps-mode-functions-get-buffer-changes-start)'."
   ;; (message "Running incremental lexer")
-  (when (and (phps-mode-functions-get-buffer-changes-start)
+  (when (and (> (phps-mode-functions-get-buffer-changes-start) 1)
              phps-mode-lexer-states)
     (let ((state nil)
           (state-stack nil)
@@ -1694,7 +1694,6 @@
           (previous-token-start nil)
           (previous-token-end nil)
           (tokens phps-mode-lexer-tokens))
-      ;; (message "Looking for state to rewind to for %s in stack %s" 
change-start states)
 
       ;; Find state and state stack before point of change
       ;; also determine were previous token to change starts
@@ -1744,7 +1743,8 @@
 
               ))
         ;; (display-warning "phps-mode" (format "Found no state to rewind to 
for %s in stack %s, buffer point max: %s" change-start states (point-max)))
-        (phps-mode-lexer-run))))
+        )))
+  (phps-mode-lexer-run)
   (phps-mode-functions-reset-buffer-changes-start))
 
 (define-lex phps-mode-lexer-lex
diff --git a/phps-mode-test-integration.el b/phps-mode-test-integration.el
index 2c80f8b..7d8d7ef 100644
--- a/phps-mode-test-integration.el
+++ b/phps-mode-test-integration.el
@@ -69,6 +69,15 @@
    (execute-kbd-macro (kbd "<backspace>"))
    (should (equal (phps-mode-functions-get-buffer-changes-start) 55)))
 
+  (phps-mode-test-incremental-vs-intial-buffer
+   ""
+   "Integration-test 3 for function-oriented PHP"
+
+   ;; Make changes
+   (goto-char 1)
+   (insert "<?php\nfunction myFunctionA()\n{\n    echo 'my second 
statement';\n}\n")
+   (should (equal (phps-mode-functions-get-buffer-changes-start) 1)))
+
   )
 
 (defun phps-mode-test-integration ()



reply via email to

[Prev in Thread] Current Thread [Next in Thread]