(frame-background-mode): New variable.
[elisp/apel.git] / poe-18.el
index 88ae916..73403d1 100644 (file)
--- a/poe-18.el
+++ b/poe-18.el
@@ -63,15 +63,16 @@ it is simply using a different list.
 Therefore, write `(setq foo (delete element foo))'
 to be sure of changing the value of `foo'.
 \[poe-18.el; EMACS 19 emulating function]"
-  (if (equal elt (car list))
-      (cdr list)
-    (let ((rest list)
-         (rrest (cdr list)))
-      (while (and rrest (not (equal elt (car rrest))))
-       (setq rest rrest
-             rrest (cdr rrest)))
-      (setcdr rest (cdr rrest))
-      list)))
+  (if list
+      (if (equal elt (car list))
+         (cdr list)
+       (let ((rest list)
+             (rrest (cdr list)))
+         (while (and rrest (not (equal elt (car rrest))))
+           (setq rest rrest
+                 rrest (cdr rrest)))
+         (setcdr rest (cdr rrest))
+         list))))
 
 (defun member (elt list)
   "Return non-nil if ELT is an element of LIST.  Comparison done with EQUAL.
@@ -141,7 +142,13 @@ Associates the function with the current load file, if any."
 ;;;  macros; they are "nuked" by rms in FSF version.)
 
 (put 'inline 'lisp-indent-hook 0)
-(defalias-maybe 'inline 'progn)
+(defmacro inline (&rest body)
+  "Eval BODY forms sequentially and return value of last one.
+
+This emulating macro does not support function inlining because old \(v18\)
+compiler does not support inlining feature.
+\[poe-18.el; EMACS 19 emulating macro]"
+  (` (progn (,@ body))))
 
 (put 'defsubst 'lisp-indent-hook 'defun)
 (put 'defsubst 'edebug-form-spec 'defun)