]> git.eshelyaron.com Git - emacs.git/commitdiff
(easy-mmode-define-syntax): Use plist-get and allow :inherit.
authorStefan Monnier <monnier@iro.umontreal.ca>
Sun, 15 Oct 2000 05:25:57 +0000 (05:25 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Sun, 15 Oct 2000 05:25:57 +0000 (05:25 +0000)
lisp/emacs-lisp/easy-mmode.el

index 60c613022e1f24e90be2fcb4e4da6dc973ed76aa..c2ff0701eb17b6ff464a6daba63af3608e104be5 100644 (file)
@@ -335,17 +335,23 @@ ARGS is a list of additional arguments."
 ;;;
 
 (defun easy-mmode-define-syntax (css args)
-  (let ((st (make-syntax-table (cadr (memq :copy args)))))
+  (let ((st (make-syntax-table (plist-get args :copy)))
+       (parent (plist-get args :inherit)))
     (dolist (cs css)
       (let ((char (car cs))
            (syntax (cdr cs)))
        (if (sequencep char)
            (mapcar (lambda (c) (modify-syntax-entry c syntax st)) char)
          (modify-syntax-entry char syntax st))))
+    (if parent (set-char-table-parent
+               st (if (symbolp parent) (symbol-value parent) parent)))
     st))
 
 ;;;###autoload
 (defmacro easy-mmode-defsyntax (st css doc &rest args)
+  "Define variable ST as a syntax-table.
+CSS contains a list of syntax specifications of the form (CHAR . SYNTAX).
+"
   `(progn
      (autoload 'easy-mmode-define-syntax "easy-mmode")
      (defconst ,st (easy-mmode-define-syntax ,css ,(cons 'list args)) doc)))