- Copying command-line pattern before substituting argument in order

not to destroy original +command-arg-rules+ constant alist (makes
  multiple -load, -eval etc. work again).
This commit is contained in:
japhie 2005-09-04 01:18:37 +00:00
parent abd0969041
commit 8464729a14

View file

@ -95,13 +95,15 @@ Usage: ecl [-? | --help]
((null rule)
(command-arg-error "Unknown command line option ~A.~%" option))
(t
(let ((pattern (third rule)))
(let ((pattern (copy-tree (third rule))))
(unless (zerop (second rule))
(when (null option-list)
(command-arg-error
"Missing argument after command line option ~A.~%"
option))
(print pattern)
(nsubst (pop option-list) 1 pattern))
(print pattern)
(push pattern commands)))))))
(defun process-command-args (&optional (args (rest (command-args))))