 
 (eval-when-compile (require 'cl))
 (declaim  (optimize  (safety 0) (speed 3)))
-;(require 'emacspeak-preamble)
-
-
-
+                                        ;(require 'emacspeak-preamble)
 (require 'comint)
 (require 'derived)
 


;;}}}
;;{{{ Setup:
(defvar emacspeak-maths--init
  (concat
    "var mjx = require('mathjax-node');"
    "var sre = require('speech-rule-engine');"
    "sre.setupEngine({markup: 'acss'});"
    "var runWithCounter = function(counter, callback, args) {"
    "  var result = callback.apply(sre, args);"
    "  console.log('BEGINOUTPUT' + counter + ': ' + result + ' :ENDOUTPUT');"
    "};\n")
  "Initialization code we send the node process on startup.")

(defun emacspeak-maths-start ()

(defun emacspeak-maths-parse-output ()
  "Parse and return one complete chunk of output."
   ;;; return first sexp and move point
  (read (current-buffer)))

(defun emacspeak-maths-process-filter (proc string)
  "Handle process output from Node.
All complete chunks of output are consumed. Partial output is left for next run."
  (declare (special emacspeak-maths))
  (with-current-buffer (process-buffer proc)
    (let ((moving (= (point) (process-mark proc))))
      (save-excursion
