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

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

[elpa] externals/org 24ed8b204e: org-mode-tags-syntax-table: Make the va


From: ELPA Syncer
Subject: [elpa] externals/org 24ed8b204e: org-mode-tags-syntax-table: Make the value available outside Org buffers
Date: Mon, 29 May 2023 06:58:49 -0400 (EDT)

branch: externals/org
commit 24ed8b204e8f1ba58c822cc3a37f9acc66a5dcfa
Author: Ihor Radchenko <yantar92@posteo.net>
Commit: Ihor Radchenko <yantar92@posteo.net>

    org-mode-tags-syntax-table: Make the value available outside Org buffers
    
    * lisp/org.el (org-mode-syntax-table): New explicitly defined variable
    for Org mode syntax table.
    (org-mode-tags-syntax-table): Define value in advance, available even
    before Org mode is loaded.
    (org-mode): Use the new `org-mode-syntax-table' variable.
    
    Reported-by: Daniel Clemente <n142857@gmail.com>
    Link: 
https://orgmode.org/list/CAJKAhPCcMwZS6aYK9MRKsjds9uTivOdfC9nzMok70Df8vR3tPA@mail.gmail.com
---
 lisp/org.el | 31 ++++++++++++++++++-------------
 1 file changed, 18 insertions(+), 13 deletions(-)

diff --git a/lisp/org.el b/lisp/org.el
index 04a7ffd8ff..996e434391 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -4788,7 +4788,21 @@ This is for getting out of special buffers like 
capture.")
 (defvar org-agenda-file-menu-enabled t
   "When non-nil, refresh Agenda files in Org menu when loading Org.")
 
+(defvar org-mode-syntax-table
+  (let ((st (make-syntax-table outline-mode-syntax-table)))
+    (modify-syntax-entry ?\" "\"" st)
+    (modify-syntax-entry ?\\ "_" st)
+    (modify-syntax-entry ?~ "_" st)
+    (modify-syntax-entry ?< "(>" st)
+    (modify-syntax-entry ?> ")<" st)
+    st)
+  "Standard syntax table for Org mode buffers.")
+
 (defvar org-mode-tags-syntax-table
+  (let ((st (make-syntax-table org-mode-syntax-table)))
+    (modify-syntax-entry ?@ "w" st)
+    (modify-syntax-entry ?_ "w" st)
+    st)
   "Syntax table including \"@\" and \"_\" as word constituents.")
 
 ;;;###autoload
@@ -4818,7 +4832,7 @@ The following commands are available:
              (eq org-fold-core-style 'overlays))
     (add-to-invisibility-spec '(org-link)))
   (org-fold-initialize (or (and (stringp org-ellipsis) (not (equal "" 
org-ellipsis)) org-ellipsis)
-                        "..."))
+                           "..."))
   (make-local-variable 'org-link-descriptive)
   (when (eq org-fold-core-style 'overlays) (add-to-invisibility-spec 
'(org-hide-block . t)))
   (if org-link-descriptive
@@ -4841,18 +4855,9 @@ The following commands are available:
     (org-set-tag-faces 'org-tag-faces org-tag-faces))
   ;; Calc embedded
   (setq-local calc-embedded-open-mode "# ")
-  ;; Modify a few syntax entries
-  (modify-syntax-entry ?\" "\"")
-  (modify-syntax-entry ?\\ "_")
-  (modify-syntax-entry ?~ "_")
-  (modify-syntax-entry ?< "(>")
-  (modify-syntax-entry ?> ")<")
-  ;; Set tags syntax table.
-  (setq org-mode-tags-syntax-table
-        (make-syntax-table org-mode-syntax-table))
-  ;; @ and _ are allowed as word-components in tags.
-  (modify-syntax-entry ?@ "w" org-mode-tags-syntax-table)
-  (modify-syntax-entry ?_ "w" org-mode-tags-syntax-table)
+  ;; Set syntax table.  Ensure that buffer-local changes to the syntax
+  ;; table do not affect other Org buffers.
+  (set-syntax-table (make-syntax-table org-mode-syntax-table))
   (setq-local font-lock-unfontify-region-function 'org-unfontify-region)
   ;; Activate before-change-function
   (setq-local org-table-may-need-update t)



reply via email to

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