(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))))))