diff options
| author | Stefan Monnier | 2000-10-15 05:25:57 +0000 |
|---|---|---|
| committer | Stefan Monnier | 2000-10-15 05:25:57 +0000 |
| commit | e4fe3460db9da857360fdc94cab70e904df2a582 (patch) | |
| tree | 14c6433dc7bec714efbde6245a917008ba6b6332 | |
| parent | a2d379fb258f190be346977328dc231bbb2a49f5 (diff) | |
| download | emacs-e4fe3460db9da857360fdc94cab70e904df2a582.tar.gz emacs-e4fe3460db9da857360fdc94cab70e904df2a582.zip | |
(easy-mmode-define-syntax): Use plist-get and allow :inherit.
| -rw-r--r-- | lisp/emacs-lisp/easy-mmode.el | 8 |
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. | ||
| 353 | CSS 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))) |