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

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

[elpa] externals/phps-mode 5e8e16516b 3/5: More debugging cache invalida


From: Christian Johansson
Subject: [elpa] externals/phps-mode 5e8e16516b 3/5: More debugging cache invalidation
Date: Fri, 18 Mar 2022 15:47:05 -0400 (EDT)

branch: externals/phps-mode
commit 5e8e16516b8955330c4b8a193702122a6be67673
Author: Christian Johansson <christian@cvj.se>
Commit: Christian Johansson <christian@cvj.se>

    More debugging cache invalidation
---
 phps-mode-lex-analyzer.el | 38 ++++++++++++++++++++++----------------
 phps-mode.el              |  4 ++--
 2 files changed, 24 insertions(+), 18 deletions(-)

diff --git a/phps-mode-lex-analyzer.el b/phps-mode-lex-analyzer.el
index 36dbba8963..40a84cf572 100644
--- a/phps-mode-lex-analyzer.el
+++ b/phps-mode-lex-analyzer.el
@@ -119,7 +119,8 @@
     (when (and
            buffer-file-name
            phps-mode-cache--use-p)
-      (phps-mode-cache-delete buffer-file-name))))
+      (phps-mode-cache-delete
+       buffer-file-name))))
 
 (defun phps-mode-lex-analyzer--set-region-syntax-color (start end properties)
   "Do syntax coloring for region START to END with PROPERTIES."
@@ -200,8 +201,8 @@
            phps-mode-lex-analyzer--lexer-index
            (cdr (cdr (car phps-mode-lexer--generated-new-tokens)))))))))
 
-(defun phps-mode-lex-analyzer--re2c-run (&optional force-synchronous)
-  "Run lexer, optionally FORCE-SYNCHRONOUS."
+(defun phps-mode-lex-analyzer--re2c-run (&optional allow-cache-read 
force-synchronous)
+  "Run lexer, optionally ALLOW-CACHE-READ and FORCE-SYNCHRONOUS mode."
   (interactive)
   (require 'phps-mode-macros)
   (phps-mode-debug-message (message "Lexer run"))
@@ -232,7 +233,8 @@
         nil
         nil
         nil
-        buffer-file-name))
+        buffer-file-name
+        allow-cache-read))
 
      (lambda(lex-result)
        (when (get-buffer buffer-name)
@@ -722,7 +724,7 @@
           (push (list 'RUN-FULL-LEXER) log)
           (phps-mode-debug-message
            (message "Running full lexer"))
-          (phps-mode-lex-analyzer--re2c-run force-synchronous))
+          (phps-mode-lex-analyzer--re2c-run nil force-synchronous))
 
         log))))
 
@@ -1087,7 +1089,7 @@
          token-start)))
     parser-tokens))
 
-(defun phps-mode-lex-analyzer--lex-string (contents &optional start end states 
state state-stack heredoc-label heredoc-label-stack nest-location-stack tokens 
filename)
+(defun phps-mode-lex-analyzer--lex-string (contents &optional start end states 
state state-stack heredoc-label heredoc-label-stack nest-location-stack tokens 
filename allow-cache-read)
   "Run lexer on CONTENTS."
   ;; Create a separate buffer, run lexer inside of it, catch errors and return 
them
   ;; to enable nice presentation
@@ -1100,19 +1102,22 @@
     (when (and
            phps-mode-cache--use-p
            filename
+           (not start)
            (not end))
       (setq
        cache-key
        filename)
-      (unless end
-        (when
-            (phps-mode-cache-test-p
-             cache-key
-             filename)
-          (setq
-           loaded-from-cache
-           (phps-mode-cache-load
-            cache-key)))))
+      (when (and
+             allow-cache-read
+             (phps-mode-cache-test-p
+              cache-key
+              filename))
+        (message
+         "Loaded from cache: %S" cache-key)
+        (setq
+         loaded-from-cache
+         (phps-mode-cache-load
+          cache-key))))
 
     (if loaded-from-cache
         loaded-from-cache
@@ -1229,10 +1234,11 @@
                imenu-index
                bookkeeping-index)))
 
-          ;; Save cache if possible
+          ;; Save cache if possible and permitted
           (when (and
                  phps-mode-cache--use-p
                  cache-key)
+            (message "Saved to cache")
             (phps-mode-cache-save
              data
              cache-key))
diff --git a/phps-mode.el b/phps-mode.el
index 6b92b4e7b2..ffdcc87a25 100644
--- a/phps-mode.el
+++ b/phps-mode.el
@@ -78,7 +78,7 @@
   "Re-scan buffer."
   (interactive)
   (phps-mode-lex-analyzer--reset-local-variables t)
-  (phps-mode-lex-analyzer--re2c-run))
+  (phps-mode-lex-analyzer--re2c-run nil))
 
 ;;;###autoload
 (defun phps-mode-flycheck-setup ()
@@ -239,7 +239,7 @@
    t)
 
   ;; Initial run of lexer
-  (phps-mode-lex-analyzer--re2c-run))
+  (phps-mode-lex-analyzer--re2c-run t))
 
 (provide 'phps-mode)
 ;;; phps-mode.el ends here



reply via email to

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