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

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

[elpa] externals/org 9843670: org-element--cache-sync: Another take on f


From: ELPA Syncer
Subject: [elpa] externals/org 9843670: org-element--cache-sync: Another take on false positive warnings
Date: Sat, 4 Dec 2021 00:57:25 -0500 (EST)

branch: externals/org
commit 9843670d117876e92bd51b8155c269247f8b48bc
Author: Ihor Radchenko <yantar92@gmail.com>
Commit: Ihor Radchenko <yantar92@gmail.com>

    org-element--cache-sync: Another take on false positive warnings
    
    * lisp/org-element.el (org-element--cache-sync): Suppress silent edit
    warnings for Emacs <28.  In older Emacs, Emacs internal functions can
    modify `buffer-chars-modified-tick' and cannot be distinguished from
    dangerous edits under `inhibit-modification-hooks'.  Some of the
    functions even have the same footprint with the edits we want to
    avoid.
---
 lisp/org-element.el | 22 +++++++++-------------
 1 file changed, 9 insertions(+), 13 deletions(-)

diff --git a/lisp/org-element.el b/lisp/org-element.el
index e757890..7385733 100644
--- a/lisp/org-element.el
+++ b/lisp/org-element.el
@@ -5868,19 +5868,15 @@ updated before current modification are actually 
submitted."
                   (buffer-modified-tick)))
           (progn
             (when (or (and org-element--cache-diagnostics-modifications
-                           ;; FIXME: Some more special cases when
-                           ;; non-latin input in Emacs <28 triggers
-                           ;; changes in `buffer-chars-modified-tick'
-                           ;; even though the buffer text remains
-                           ;; unchanged.  We still reset the cache as
-                           ;; safety precaution, but do not show the
-                           ;; warning.
-                           (not (memq (- (buffer-modified-tick)
-                                       (buffer-chars-modified-tick))
-                                    ;; Note: 4 is a footprint for
-                                    ;; (let ((inhibit-modification-hooks t))
-                                    ;; (insert "blah"))
-                                    '(1 3 6 7 8 9))))
+                           ;; A number of Emacs internal operations in
+                           ;; Emacs 26 and 27 alter
+                           ;; `buffer-chars-modified-tick' (see
+                           ;; 
https://list.orgmode.org/87ee7jdv70.fsf@localhost/T/#t).
+                           ;; We have no way to distinguish them from
+                           ;; dangerious silent edits.  So, we can
+                           ;; only reset the cache, but do not show
+                           ;; warning to not irritate the users.)
+                           (not (version< emacs-version "28")))
                       (and (boundp 'org-batch-test) org-batch-test))
               (org-element--cache-warn "Unregistered buffer modifications 
detected. Resetting.
 If this warning appears regularly, please report it to Org mode mailing list 
(M-x org-submit-bug-report).



reply via email to

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