Function: ebnf-merge-style
ebnf-merge-style is an autoloaded, interactive and byte-compiled
function defined in ebnf2ps.el.gz.
Signature
(ebnf-merge-style NAME &rest VALUES)
Documentation
Merge values of style NAME with style VALUES.
See ebnf-style-database documentation.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/ebnf2ps.el.gz
;;;###autoload
(defun ebnf-merge-style (name &rest values)
"Merge values of style NAME with style VALUES.
See `ebnf-style-database' documentation."
(interactive "SStyle name: \nXStyle values: ")
(let ((style (or (assoc name ebnf-style-database)
(error "Style name doesn't exist: %s" name)))
(merge (ebnf-check-style-values values))
val elt new check)
;; modify value of existing variables
(setq val (nthcdr 2 style))
(while merge
(setq check (car merge)
merge (cdr merge)
elt (assoc (car check) val))
(if elt
(setcdr elt (cdr check))
(setq new (cons check new))))
;; insert new variables
(nconc style (nreverse new))))