Alright, ignore the patch that I mailed here... it didn't include several
commits of history, because I had been following the old git repo. I've put
a new patch on Github as a pull request, here:
https://github.com/sabetts/stumpwm/pull/17


On Sat, Mar 9, 2013 at 1:53 AM, Adlai Chandrasekhar <munchk...@gmail.com>wrote:

> ---
>  contrib/mpd.lisp | 60
> ++++++++++++++++++++++++++++----------------------------
>  1 file changed, 30 insertions(+), 30 deletions(-)
>
> diff --git a/contrib/mpd.lisp b/contrib/mpd.lisp
> index 6360cba..68438d5 100644
> --- a/contrib/mpd.lisp
> +++ b/contrib/mpd.lisp
> @@ -47,7 +47,7 @@
>
>  ;;; CODE:
>
> -#-(or sbcl clisp) (error "unimplemented")
> +#-(or sbcl clisp ccl) (error "unimplemented")
>
>  (in-package :stumpwm)
>
> @@ -107,7 +107,7 @@
>  ;;mpd client
>  (defparameter *mpd-socket* nil)
>  (defparameter *mpd-server*
> -  #+clisp
> +  #+(or clisp ccl)
>    "localhost"
>    #+sbcl
>    #(127 0 0 1)
> @@ -124,12 +124,14 @@
>
>  (defmacro with-mpd-connection (&body body)
>    `(if *mpd-socket*
> -       (handler-case (progn ,@body)
> -                     (error (c) (progn
> -                                  (message "Error with mpd connection:
> ~a" c)
> -                                  (setf *mpd-socket* nil)
> -                                  (when *mpd-timer*
> -                                    (cancel-timer *mpd-timer*)))))
> +       (handler-case
> +           (progn ,@body)
> +         (error (c)
> +           (progn
> +             (message "Error with mpd connection: ~a" c)
> +             (setf *mpd-socket* nil)
> +             (when *mpd-timer*
> +               (cancel-timer *mpd-timer*)))))
>       (message "Error: not connected to mpd")))
>
>  (defun mpd-send (command)
> @@ -137,10 +139,12 @@
>    (with-mpd-connection
>     (#+clisp
>      ext:write-char-sequence
> -    #+sbcl
> +    #+(or sbcl ccl)
>      write-sequence
> -    (concatenate  'string command (string #\Newline))
> -    *mpd-socket*)))
> +    (concatenate 'string command (string #\Newline))
> +    *mpd-socket*))
> +  ;; This doesn't hurt, and on CCL it's necessary:
> +  (force-output *mpd-socket*))
>
>  (defun mpd-send-command (cmd)
>    (mpd-send cmd)
> @@ -181,25 +185,21 @@
>
>  (defun init-mpd-connection ()
>    "Connect to mpd server"
> -    (setf *mpd-socket*
> -          #+clisp
> -        (handler-case (socket:socket-connect *mpd-port* *mpd-server*
> -                                             :element-type 'character)
> -                      ((or system::simple-os-error error)
> -                       (err)
> -                         (format t  "Error connecting to mpd: ~a~%" err)))
> -          #+sbcl
> -          (handler-case (let ((s (make-instance
> 'sb-bsd-sockets:inet-socket
> -                                                :type :stream :protocol
> :tcp)))
> -                          (sb-bsd-sockets:socket-connect s *mpd-server*
> -                                                         *mpd-port*)
> -                          (sb-bsd-sockets:socket-make-stream s
> -                                                             :input t
> -                                                             :output t
> -                                                             :buffering
> :none))
> -                        ((or simple-error error)
> -                         (err)
> -                       (format t  "Error connecting to mpd: ~a~%" err))))
> +  (handler-case
> +      (setf *mpd-socket*
> +            #+clisp
> +            (socket:socket-connect *mpd-port* *mpd-server* :element-type
> 'character)
> +            #+sbcl
> +            (let ((s (make-instance 'sb-bsd-sockets:inet-socket
> +                                    :type :stream :protocol :tcp)))
> +              (sb-bsd-sockets:socket-connect s *mpd-server* *mpd-port*)
> +              (sb-bsd-sockets:socket-make-stream s :input t :output t
> :buffering :none))
> +            #+ccl
> +            (ccl:make-socket :remote-host *mpd-server*
> +                             :remote-port *mpd-port*
> +                             :external-format :utf-8))
> +    (error (err)
> +      (format t  "Error connecting to mpd: ~a~%" err)))
>    (when *mpd-socket*
>      (when *mpd-timeout*
>        (setf *mpd-timer*
> --
> 1.8.1.4
>
>
_______________________________________________
Stumpwm-devel mailing list
Stumpwm-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/stumpwm-devel

Reply via email to