X-Git-Url: http://git.pond.sub.org/?p=eow;a=blobdiff_plain;f=empire.lisp;h=8a83ac0082f6a1806dab2c98a55cf48c9157b15d;hp=c8993e8bb8cb53899befdecc38bc9ef120681ab2;hb=534a13f805a930866db4a55e58bc86dc1608dce4;hpb=7964c4eff78de2fcca3c0b79161fa1f4cf626690 diff --git a/empire.lisp b/empire.lisp index c8993e8..8a83ac0 100644 --- a/empire.lisp +++ b/empire.lisp @@ -310,13 +310,15 @@ (with-slots (connection parser phase) m (if (xdump:parse-line parser message) ;;XXX consider something like a 'pop-mode function - (case phase + (ccase phase (:meta-meta - (setf phase :meta-table) - (send-message connection "xdump meta table" :next-mode 'xdump-mode)) + (setf phase :meta-table + parser (xdump:make-parser)) + (send-message connection "xdump meta table")) (:meta-table - (setf phase :table) - (send-message connection "xdump table *" :next-mode 'xdump-mode)) + (setf phase :table + parser (xdump:make-parser)) + (send-message connection "xdump table *")) (:table (set-new-mode (connection-mode connection) 'play-mode))))))