     (setq ecasound-daemon-timer
 	  (run-with-timer
 	   0 ecasound-timer-interval
-	   'ecasound-update-mode-line
-	   (current-buffer)))))
+	   'ecasound-update-mode-line (current-buffer)))))
 
 (make-variable-buffer-local
  (defvar eci-int-output-mode-wellformed-flag nil

      (error "Return type '%s' not defined in `ecasound-type-alist'" type))
    (setq eci-return-value value
	  eci-return-type type
	  eci-result
	  (if lcode
	      (eval (cdar lcode))
	    value))))

(make-variable-buffer-local
 (defvar eci-return-type nil
   "The return type of the last received return value as a string."))

(make-variable-buffer-local
 (defvar eci-return-value nil
   "The last received return value as a string."))

(make-variable-buffer-local
 (defvar eci-result nil
   "The last received return value as a Lisp Object."))

(defun ecasound-output-filter (string)
  "Parse ecasound process output.

	 (ecasound-iam-mode)
	 ;; Flush process output
	 (while (accept-process-output
		 (get-buffer-process (current-buffer)) 1))
	 (if (consp ecasound-program)
	     ;; If we're connecting via tcp/ip, we're most probably connecting
	     ;; to a daemon-mode ecasound session.
	     (setq comint-input-sender 'ecasound-network-send
		   eci-int-output-mode-wellformed-flag t)
	   (let ((eci-hide-output t))
	     (if (not (eq (eci-command "int-output-mode-wellformed") t))
		 (message "Failed to initialize properly"))))
	 (when (member "--daemon" ecasound-arguments)
	   (let ((elem (member* "^--daemon-port:\\(.*\\)" ecasound-arguments
				:test #'string-match)))
	     (when elem
	       (setq ecasound-daemon-port (match-string 1 (car elem)))
	       (ecasound-setup-daemon))))
	 (current-buffer)))
    (pop-to-buffer buffer)))

