             (condition-case ()
                 (while t
                   (search-forward "\"")
-                  (setq numb (1+ numb)))
+                  (unless (and (not (eq (current-column) 1))
+			       (save-excursion (forward-char -2)
+					       (looking-at "\\\\")))
+		    (setq numb (1+ numb))))
               (error (if (and (not (zerop numb))
                               (not (zerop (% numb 2))))
                          t nil)))))))))
-
+ 
 (defun sw:skip-block ()
   (let ((case-fold-search nil))
     (sw:backward-sexp)

  (modify-syntax-entry ?{       "(}"    specware-mode-syntax-table)
  (modify-syntax-entry ?}       "){"    specware-mode-syntax-table)
  (modify-syntax-entry ?\*      ". 67"  specware-mode-syntax-table)
  (modify-syntax-entry ?\"      "\""    specware-mode-syntax-table)
  (modify-syntax-entry ?        " "     specware-mode-syntax-table)
  (modify-syntax-entry ?\t      " "     specware-mode-syntax-table)
  (modify-syntax-entry ?\%      "<   "     specware-mode-syntax-table)

       ((save-excursion (sw:backward-sexp) (looking-at "end\\b"))
        (- (current-indentation) sw:indent-level))
       (t
	;; Go backward by grouped expressions until you are at the beginning of a line
        (while (/= (current-column) (current-indentation))
          (let ((ipos (point)))
	    (sw:backward-sexp)
	    (when (and (not (sw:same-line-p ipos (point)))
		       (not (sw:same-line-p ipos (save-excursion (forward-sexp)
								 (point)))))
	      (goto-char ipos)
	      (beginning-of-line)
	      (skip-chars-forward "\t "))))
        (skip-chars-forward "\t |")
        (let ((indent (current-column)))
          ;; ?? (skip-chars-forward "\t (")
          (cond
           ;; Started val/fun/structure...
           ((looking-at sw:indent-starters-reg)
            (+ (current-column) sw:indent-level))
           ;; Indent after "->" pattern, but only if its not an fn _ ->
           ;; (890726)
           ((and nil (looking-at ".*->")) ; duplication?
            (if (looking-at ".*\\bfn\\b.*->")
                indent
              (+ indent sw:indent-level)))
           ;; else keep the same indentation as previous line
           (t indent))))))))

(defun sw:same-line-p (pos1 pos2)
  "Return t if buffer positions POS1 and POS2 are on the same line."
  (save-excursion (goto-char (min pos1 pos2))
                  (<= (max pos1 pos2) (sw:line-end-position 1))))

(defun sw:line-end-position (&optional n)
  (save-excursion
    (end-of-line n)
    (point)))

(defun sw:get-paren-indent ()
  (save-excursion
