anchor.diff:  ;;; Config ;;;
   ;;;;;;;;;;;;;;
   (defparameter +KERNEL-IMPLEMENTATION-NAME+ "cl-jupyter")
  -(defparameter +KERNEL-IMPLEMENTATION-VERSION+ "0.6")
  +(defparameter +KERNEL-IMPLEMENTATION-VERSION+ "0.7")
   (defparameter +KERNEL-PROTOCOL-VERSION+ "5.0")
  -(defparameter +ISPAD-VERSION+ "0.9.3 :: 01-OCT-2015")
  +(defparameter +ISPAD-VERSION+ "0.9.4 :: 24-OCT-2015")
   
   
   ;;;;;;;;;;;;;
  
positive.code: (defun start-heartbeat (socket)
    (let ((thread-id (bordeaux-threads:make-thread
  		    (lambda ()
  		      (format t "[Heartbeat] thread started~%")
  		      (loop
  			 (pzmq:with-message msg
  			   (pzmq:msg-recv msg socket)
  
negative.code:        (format *error-output* "~&~A: ~%  ~S~%"
                 (class-name (class-of err)) err))))
  
  ;;; new version 3a2e8f7
  (defmacro handling-errors (&body body)
    `(handler-case
         (handler-bind ((simple-warning
  		       #'(lambda (wrn)
  			   (format *error-output* "~&~A: ~%" (class-name (class-of wrn)))
  			   (apply (function format) *error-output*
  				  (simple-condition-format-control   wrn)
  				  (simple-condition-format-arguments wrn))
  			   (format *error-output* "~&")
  			   (muffle-warning)))
  		      (warning
  		       #'(lambda (wrn)
  			   (format *error-output* "~&~A: ~%  ~S~%"
  				   (class-name (class-of wrn)) wrn)
  			   (muffle-warning))))
  	 (progn ,@body))
       (simple-condition (err)
         (format *error-output* "~&~A: ~%" (class-name (class-of err)))
         (apply (function format) *error-output*
                (simple-condition-format-control   err)
                (simple-condition-format-arguments err))
         (format *error-output* "~&"))
       (condition (err)
         (format *error-output* "~&~A: ~%  ~S~%"
                 (class-name (class-of err)) err))))
  
  
  
  ;;; update: b244f0c, 843d4db
  (defun evaluate-code (evaluator code)
    ;;(format t "[Evaluator] Code to evaluate: ~W~%" code)
    ;;(vector-push-extend code (evaluator-history-in evaluator))
    (let ((execution-count (length (evaluator-history-in evaluator))))
      (let ((code-to-eval code))
        (let* ((stdout-str (make-array 0 :element-type 'character :fill-pointer 0 :adjustable t))
  	     (stderr-str (make-array 0 :element-type 'character :fill-pointer 0 :adjustable t)))
  	 (let ((results (with-output-to-string (stdout stdout-str)
  	    (with-output-to-string (stderr stderr-str)
  	      (let ((*standard-output* stdout) (*error-output* stderr))
  		      ;(handling-errors
  		        (let ((*evaluator* evaluator))       
  			      (multiple-value-list 
  		           ;;; EVAL
                      (ispad-eval code)))
                ;) 
     ))))) 
     ;;
     (vector-push-extend code (evaluator-history-in evaluator))
     (vector-push-extend results (evaluator-history-out evaluator))
     (values execution-count results stdout-str stderr-str))))))
  
  