summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorStefan Kangas <stefankangas@gmail.com>2022-11-04 15:00:02 +0100
committerStefan Kangas <stefankangas@gmail.com>2022-11-04 15:04:45 +0100
commitf0f960050b1d3931331bf0ce42d2e106f8c7832b (patch)
tree9774114fe9dbdb9357880445faf8486e88476111 /lisp
parent0dcdc60dded3d74f17bf6536e39bc199b47261ef (diff)
downloademacs-f0f960050b1d3931331bf0ce42d2e106f8c7832b.tar.gz
emacs-f0f960050b1d3931331bf0ce42d2e106f8c7832b.tar.bz2
emacs-f0f960050b1d3931331bf0ce42d2e106f8c7832b.zip
Normalize some syntax table definitions
* lisp/nxml/rng-cmpct.el (rng-c-syntax-table): * lisp/progmodes/cperl-mode.el (cperl-mode-syntax-table) (cperl-string-syntax-table2): * lisp/progmodes/dcl-mode.el (dcl-mode-syntax-table): Normalize definitions to better follow modern ELisp conventions.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/nxml/rng-cmpct.el22
-rw-r--r--lisp/progmodes/cperl-mode.el66
-rw-r--r--lisp/progmodes/dcl-mode.el18
3 files changed, 50 insertions, 56 deletions
diff --git a/lisp/nxml/rng-cmpct.el b/lisp/nxml/rng-cmpct.el
index 453c2b736dd..85db33b9a9b 100644
--- a/lisp/nxml/rng-cmpct.el
+++ b/lisp/nxml/rng-cmpct.el
@@ -1,6 +1,6 @@
;;; rng-cmpct.el --- parsing of RELAX NG Compact Syntax schemas -*- lexical-binding:t -*-
-;; Copyright (C) 2003, 2007-2022 Free Software Foundation, Inc.
+;; Copyright (C) 2003-2022 Free Software Foundation, Inc.
;; Author: James Clark
;; Keywords: wp, hypermedia, languages, XML, RelaxNG
@@ -82,19 +82,17 @@ Return a pattern."
(concat "\\`\\(" (regexp-opt rng-c-keywords) "\\)\\'")
"Regular expression to match a keyword in the compact syntax.")
-(defvar rng-c-syntax-table nil
+(defvar rng-c-syntax-table
+ (let ((st (make-syntax-table)))
+ (modify-syntax-entry ?# "<" st)
+ (modify-syntax-entry ?\n ">" st)
+ (modify-syntax-entry ?- "w" st)
+ (modify-syntax-entry ?. "w" st)
+ (modify-syntax-entry ?_ "w" st)
+ (modify-syntax-entry ?: "_" st)
+ st)
"Syntax table for parsing the compact syntax.")
-(if rng-c-syntax-table
- ()
- (setq rng-c-syntax-table (make-syntax-table))
- (modify-syntax-entry ?# "<" rng-c-syntax-table)
- (modify-syntax-entry ?\n ">" rng-c-syntax-table)
- (modify-syntax-entry ?- "w" rng-c-syntax-table)
- (modify-syntax-entry ?. "w" rng-c-syntax-table)
- (modify-syntax-entry ?_ "w" rng-c-syntax-table)
- (modify-syntax-entry ?: "_" rng-c-syntax-table))
-
(defconst rng-c-literal-1-re
"'\\(''\\([^']\\|'[^']\\|''[^']\\)*''\\|[^'\n]*\\)'"
"Regular expression to match a single-quoted literal.")
diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el
index 539b2771490..b36896ae7ce 100644
--- a/lisp/progmodes/cperl-mode.el
+++ b/lisp/progmodes/cperl-mode.el
@@ -1429,10 +1429,40 @@ the last)."
(rx (sequence line-start (0+ blank) (eval cperl--imenu-entries-rx)))
"The regular expression used for `outline-minor-mode'.")
-(defvar cperl-mode-syntax-table nil
+(defvar cperl-mode-syntax-table
+ (let ((st (make-syntax-table)))
+ (modify-syntax-entry ?\\ "\\" st)
+ (modify-syntax-entry ?/ "." st)
+ (modify-syntax-entry ?* "." st)
+ (modify-syntax-entry ?+ "." st)
+ (modify-syntax-entry ?- "." st)
+ (modify-syntax-entry ?= "." st)
+ (modify-syntax-entry ?% "." st)
+ (modify-syntax-entry ?< "." st)
+ (modify-syntax-entry ?> "." st)
+ (modify-syntax-entry ?& "." st)
+ (modify-syntax-entry ?$ "\\" st)
+ (modify-syntax-entry ?\n ">" st)
+ (modify-syntax-entry ?# "<" st)
+ (modify-syntax-entry ?' "\"" st)
+ (modify-syntax-entry ?` "\"" st)
+ (if cperl-under-as-char
+ (modify-syntax-entry ?_ "w" st))
+ (modify-syntax-entry ?: "_" st)
+ (modify-syntax-entry ?| "." st)
+ st)
"Syntax table in use in CPerl mode buffers.")
-(defvar cperl-string-syntax-table nil
+(defvar cperl-string-syntax-table
+ (let ((st (copy-syntax-table cperl-mode-syntax-table)))
+ (modify-syntax-entry ?$ "." st)
+ (modify-syntax-entry ?\{ "." st)
+ (modify-syntax-entry ?\} "." st)
+ (modify-syntax-entry ?\" "." st)
+ (modify-syntax-entry ?' "." st)
+ (modify-syntax-entry ?` "." st)
+ (modify-syntax-entry ?# "." st) ; (?# comment )
+ st)
"Syntax table in use in CPerl mode string-like chunks.")
(defsubst cperl-1- (p)
@@ -1441,38 +1471,6 @@ the last)."
(defsubst cperl-1+ (p)
(min (point-max) (1+ p)))
-(if cperl-mode-syntax-table
- ()
- (setq cperl-mode-syntax-table (make-syntax-table))
- (modify-syntax-entry ?\\ "\\" cperl-mode-syntax-table)
- (modify-syntax-entry ?/ "." cperl-mode-syntax-table)
- (modify-syntax-entry ?* "." cperl-mode-syntax-table)
- (modify-syntax-entry ?+ "." cperl-mode-syntax-table)
- (modify-syntax-entry ?- "." cperl-mode-syntax-table)
- (modify-syntax-entry ?= "." cperl-mode-syntax-table)
- (modify-syntax-entry ?% "." cperl-mode-syntax-table)
- (modify-syntax-entry ?< "." cperl-mode-syntax-table)
- (modify-syntax-entry ?> "." cperl-mode-syntax-table)
- (modify-syntax-entry ?& "." cperl-mode-syntax-table)
- (modify-syntax-entry ?$ "\\" cperl-mode-syntax-table)
- (modify-syntax-entry ?\n ">" cperl-mode-syntax-table)
- (modify-syntax-entry ?# "<" cperl-mode-syntax-table)
- (modify-syntax-entry ?' "\"" cperl-mode-syntax-table)
- (modify-syntax-entry ?` "\"" cperl-mode-syntax-table)
- (if cperl-under-as-char
- (modify-syntax-entry ?_ "w" cperl-mode-syntax-table))
- (modify-syntax-entry ?: "_" cperl-mode-syntax-table)
- (modify-syntax-entry ?| "." cperl-mode-syntax-table)
- (setq cperl-string-syntax-table (copy-syntax-table cperl-mode-syntax-table))
- (modify-syntax-entry ?$ "." cperl-string-syntax-table)
- (modify-syntax-entry ?\{ "." cperl-string-syntax-table)
- (modify-syntax-entry ?\} "." cperl-string-syntax-table)
- (modify-syntax-entry ?\" "." cperl-string-syntax-table)
- (modify-syntax-entry ?' "." cperl-string-syntax-table)
- (modify-syntax-entry ?` "." cperl-string-syntax-table)
- (modify-syntax-entry ?# "." cperl-string-syntax-table)) ; (?# comment )
-
-
(defvar cperl-faces-init nil)
;; Fix for msb.el
diff --git a/lisp/progmodes/dcl-mode.el b/lisp/progmodes/dcl-mode.el
index 1f363931b3c..f1d7f236b9b 100644
--- a/lisp/progmodes/dcl-mode.el
+++ b/lisp/progmodes/dcl-mode.el
@@ -258,17 +258,15 @@ See `imenu-generic-expression' for details."
;;; *** Global variables ****************************************************
-(defvar dcl-mode-syntax-table nil
+(defvar dcl-mode-syntax-table
+ (let ((st (make-syntax-table)))
+ (modify-syntax-entry ?! "<" st) ; comment start
+ (modify-syntax-entry ?\n ">" st) ; comment end
+ (modify-syntax-entry ?< "(>" st) ; < and ...
+ (modify-syntax-entry ?> ")<" st) ; > is a matching pair
+ (modify-syntax-entry ?\\ "_" st) ; not an escape
+ st)
"Syntax table used in DCL-buffers.")
-(unless dcl-mode-syntax-table
- (setq dcl-mode-syntax-table (make-syntax-table))
- (modify-syntax-entry ?! "<" dcl-mode-syntax-table) ; comment start
- (modify-syntax-entry ?\n ">" dcl-mode-syntax-table) ; comment end
- (modify-syntax-entry ?< "(>" dcl-mode-syntax-table) ; < and ...
- (modify-syntax-entry ?> ")<" dcl-mode-syntax-table) ; > is a matching pair
- (modify-syntax-entry ?\\ "_" dcl-mode-syntax-table) ; not an escape
-)
-
(defvar-keymap dcl-mode-map
:doc "Keymap used in DCL-mode buffers."