+ (` (static-unless (broken-p '(, facility))
+ (,@ body))))
+
+(defmacro check-broken-facility (facility)
+ "Check FACILITY is broken or not. If the status is different on
+compile(macro expansion) time and run time, warn it."
+ (` (if-broken (, facility)
+ (unless (broken-p '(, facility))
+ (message "COMPILE TIME ONLY BROKEN FACILITY DETECTED: %s"
+ (or
+ '(, (broken-facility-description facility))
+ (broken-facility-description '(, facility)))))
+ (when (broken-p '(, facility))
+ (message "RUN TIME ONLY BROKEN FACILITY DETECTED: %s"
+ (or
+ (broken-facility-description '(, facility))
+ '(, (broken-facility-description facility))))))))