summaryrefslogtreecommitdiff
path: root/lisp/generic-x.el
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2013-09-04 19:55:08 -0400
committerGlenn Morris <rgm@gnu.org>2013-09-04 19:55:08 -0400
commit1c3ac2e53e3bb7e9278b360378731e3539b8256c (patch)
tree54beeb0dd18abf536256a7d4e4894c277ac5b412 /lisp/generic-x.el
parent0c90b9eed9ce554816c9ca55d3aa30d6203d1679 (diff)
downloademacs-1c3ac2e53e3bb7e9278b360378731e3539b8256c.tar.gz
rul-generic-mode-syntax-table fix for recent cc-mode changes
* lisp/generic-x.el [rul-generic-mode]: Require cc-mode. (c++-mode-syntax-table): Declare. (rul-generic-mode-syntax-table): Init in the defvar.
Diffstat (limited to 'lisp/generic-x.el')
-rw-r--r--lisp/generic-x.el24
1 files changed, 14 insertions, 10 deletions
diff --git a/lisp/generic-x.el b/lisp/generic-x.el
index c964b53952e..e722333d49b 100644
--- a/lisp/generic-x.el
+++ b/lisp/generic-x.el
@@ -1283,18 +1283,22 @@ like an INI file. You can add this hook to `find-file-hook'."
"WIN32SMINOR")
"Function argument constants used in InstallShield 3 and 5."))
-(defvar rul-generic-mode-syntax-table nil
+;; c++-mode-syntax-table used to be autoloaded, with an initial nil value.
+;; This file did not load cc-mode, and therefore rul-generic-mode-syntax-table
+;; would have different values according to whether or not cc-mode
+;; happened to be loaded before this file was.
+(require 'cc-mode)
+(defvar c++-mode-syntax-table)
+
+(defvar rul-generic-mode-syntax-table
+ (let ((table (make-syntax-table c++-mode-syntax-table)))
+ (modify-syntax-entry ?\r "> b" table)
+ (modify-syntax-entry ?\n "> b" table)
+ (modify-syntax-entry ?/ ". 124b" table)
+ (modify-syntax-entry ?* ". 23" table)
+ table)
"Syntax table to use in `rul-generic-mode' buffers.")
-(setq rul-generic-mode-syntax-table
- (make-syntax-table c++-mode-syntax-table))
-
-(modify-syntax-entry ?\r "> b" rul-generic-mode-syntax-table)
-(modify-syntax-entry ?\n "> b" rul-generic-mode-syntax-table)
-
-(modify-syntax-entry ?/ ". 124b" rul-generic-mode-syntax-table)
-(modify-syntax-entry ?* ". 23" rul-generic-mode-syntax-table)
-
;; here manually instead
(defun generic-rul-mode-setup-function ()
(make-local-variable 'parse-sexp-ignore-comments)