* configure.in (VERSION): Bump up to 1.4.9.
[elisp/liece.git] / lisp / liece-clfns.el
index f8031ea..baf5ace 100644 (file)
 
 ;;; Code:
 
-(require 'pym)
-
 (defun liece-clfns-subr-fboundp (symbol)
   "Return t if SYMBOL's function definition is a basic function."
   (and (fboundp symbol)
-       (or (subrp (symbol-function symbol-function))
-          (string-equal (symbol-file symbol) "subr"))))
+       (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