anchor.diff:           (message (make-message :from from :content content :time time)))
       (formated-message message)))
   
  +(defun call-command-by-name (string)
  +  (funcall (find-symbol (string-upcase string) :lisp-chat-server)))
  +
   ;; user commands prefixed with /
   (defun /users ()
     (command-message (format nil "~{~a~^, ~}" (mapcar #'client-name *clients*))))
  
positive.code: 
  (defun message-broadcast ()
    (loop when (sb-thread:wait-on-semaphore *message-semaphore*)
            do (sb-thread:with-mutex (*message-mutex*)
                 (let ((message (formated-message (pop *messages-stack*))))
                   (push message *messages-log*)
                   (loop for client in *clients*
                      do (handler-case (send-message client message)
                           (sb-int:simple-stream-error () (client-delete client))
                           (sb-bsd-sockets:not-connected-error () (client-delete client))))))))
  
  (defun connection-handler (socket-server)
    (loop for connection = (socket-accept socket-server)
          do (sb-thread:make-thread #'create-client
                                    :arguments (list connection)
                                    :name "create client")))
  
  (defun server-loop (socket-server)
    (format t "Running server... ~%")
  
negative.code: (defun client-reader-routine (client)
    (loop for message = (read-line (client-stream client))
          while (not (equal message "/quit"))
          when (member message *commands-names* :test #'equal)
            do (send-message client (call-command-by-name message))
          when (and (> (length message) 0)
                    (not (member message *commands-names* :test #'equal)))
            do (push-message (client-name client)
  