This makes indentation and debugging work properly. Surprising, no?
(defmacro mdw-regexps (&rest list)
"Turn a LIST of strings into a single regular expression at compile-time."
(defmacro mdw-regexps (&rest list)
"Turn a LIST of strings into a single regular expression at compile-time."
+ (declare (indent nil)
+ (debug 0))
`',(make-regexp list))
;; Some error trapping.
`',(make-regexp list))
;; Some error trapping.
(defmacro trap (&rest forms)
"Execute FORMS without allowing errors to propagate outside."
(defmacro trap (&rest forms)
"Execute FORMS without allowing errors to propagate outside."
+ (declare (indent 0)
+ (debug t))
`(condition-case err
,(if (cdr forms) (cons 'progn forms) (car forms))
(error (message "Error (trapped): %s in %s"
`(condition-case err
,(if (cdr forms) (cons 'progn forms) (car forms))
(error (message "Error (trapped): %s in %s"