aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier2000-10-15 05:25:57 +0000
committerStefan Monnier2000-10-15 05:25:57 +0000
commite4fe3460db9da857360fdc94cab70e904df2a582 (patch)
tree14c6433dc7bec714efbde6245a917008ba6b6332
parenta2d379fb258f190be346977328dc231bbb2a49f5 (diff)
downloademacs-e4fe3460db9da857360fdc94cab70e904df2a582.tar.gz
emacs-e4fe3460db9da857360fdc94cab70e904df2a582.zip
(easy-mmode-define-syntax): Use plist-get and allow :inherit.
-rw-r--r--lisp/emacs-lisp/easy-mmode.el8
1 files changed, 7 insertions, 1 deletions
diff --git a/lisp/emacs-lisp/easy-mmode.el b/lisp/emacs-lisp/easy-mmode.el
index 60c613022e1..c2ff0701eb1 100644
--- a/lisp/emacs-lisp/easy-mmode.el
+++ b/lisp/emacs-lisp/easy-mmode.el
@@ -335,17 +335,23 @@ ARGS is a list of additional arguments."
335;;; 335;;;
336 336
337(defun easy-mmode-define-syntax (css args) 337(defun easy-mmode-define-syntax (css args)
338 (let ((st (make-syntax-table (cadr (memq :copy args))))) 338 (let ((st (make-syntax-table (plist-get args :copy)))
339 (parent (plist-get args :inherit)))
339 (dolist (cs css) 340 (dolist (cs css)
340 (let ((char (car cs)) 341 (let ((char (car cs))
341 (syntax (cdr cs))) 342 (syntax (cdr cs)))
342 (if (sequencep char) 343 (if (sequencep char)
343 (mapcar (lambda (c) (modify-syntax-entry c syntax st)) char) 344 (mapcar (lambda (c) (modify-syntax-entry c syntax st)) char)
344 (modify-syntax-entry char syntax st)))) 345 (modify-syntax-entry char syntax st))))
346 (if parent (set-char-table-parent
347 st (if (symbolp parent) (symbol-value parent) parent)))
345 st)) 348 st))
346 349
347;;;###autoload 350;;;###autoload
348(defmacro easy-mmode-defsyntax (st css doc &rest args) 351(defmacro easy-mmode-defsyntax (st css doc &rest args)
352 "Define variable ST as a syntax-table.
353CSS contains a list of syntax specifications of the form (CHAR . SYNTAX).
354"
349 `(progn 355 `(progn
350 (autoload 'easy-mmode-define-syntax "easy-mmode") 356 (autoload 'easy-mmode-define-syntax "easy-mmode")
351 (defconst ,st (easy-mmode-define-syntax ,css ,(cons 'list args)) doc))) 357 (defconst ,st (easy-mmode-define-syntax ,css ,(cons 'list args)) doc)))