X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=poe-18.el;h=73403d15ffdd885e9c4aeb0fb3108e124e43a5b8;hb=ccad5292504294b389d84fe678b5881e2cab6e94;hp=88ae91689e54eac3c0dfec76f1176b6c61b56975;hpb=a603ff0cf04f7c76302e6655f2e3d0513d22fe28;p=elisp%2Fapel.git diff --git a/poe-18.el b/poe-18.el index 88ae916..73403d1 100644 --- 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)