;;; Code:
-(require 'pym)
-
-(defmacro liece-clfns-subr-fboundp (symbol)
+(defun liece-clfns-subr-fboundp (symbol)
"Return t if SYMBOL's function definition is a basic function."
- (or (subr-fboundp symbol)
- (string-equal (symbol-file symbol) "subr")))
+ (and (fboundp symbol)
+ (or (subrp (symbol-function symbol))
+ (and (fboundp 'symbol-file)
+ (string-equal (symbol-file symbol) "subr")))))
(if (featurep 'xemacs)
nil
(pop x))
x))))
+ (define-compiler-macro remq (&whole form elt list)
+ (if (liece-clfns-subr-fboundp 'remq)
+ form
+ `(let ((elt ,elt)
+ (list ,list))
+ (if (memq elt list)
+ (delq elt (copy-sequence list))
+ list))))
+
(define-compiler-macro member-if (&whole form pred list)
(if (liece-clfns-subr-fboundp 'member-if)
form