    (list
     (and current-prefix-arg
 	 (read-buffer "Ecasound buffer: " "*ecasound*"))))
-  (when (null buffer)
-    (setq buffer "*ecasound*"))
+  (unless buffer (setq buffer "*ecasound*"))
   (if (not (comint-check-proc buffer))
       (pop-to-buffer
        (save-excursion

;;
;; Compatibility:
;;
;; This file only works with GNU Emacs 21.  I've invested some minimal efforts
;; to get it working with XEmacs, but have so far failed to succeed.
;; Motivation isn't very high to get it working with XEmacs since I personally
;; never use it.  So if you would like to use ecasound.el under XEmacs, you
;; will have ttodo
;;  M-x toggle-debug-on-error RET
;; and see what you can figure out.  I'm happy to receive useful suggestions.
;;
;; Todo:
;;

	  (ecasound-chainsetup-name "-n:eca-el-setup")
	  (const :tag "Truncate outputs" :format "%t\n%h"
		     :doc "All output objects are opened in overwrite mode.
Any existing files will be truncated." "-x")
	      (const :tag "Open outputs for updating"
		     :doc "Ecasound opens all outputs - if target format allows it - in readwrite mode."
		     "-X")
	      (repeat :tag "Others" :inline t (string :tag "Argument"))))

(defcustom ecasound-arguments '("-c" "-D" "-d:259"
				"--daemon" "--daemon-port:2868"
				"-n:eca-el-setup")
  "*Command line arguments used when starting an ecasound process."
  :group 'ecasound
  :type 'ecasound-args)

(defun ecasound-customize-startup ()
  "Customize ecasound startup arguments."
  (interactive)
  (customize-variable 'ecasound-arguments))

(defcustom ecasound-program (executable-find "ecasound")
  "*Ecasound's executable.
This program is executed when the user invokes \\[ecasound]."
  :group 'ecasound
