234 |
("\\(Error\\|Warning:\\) in '\\(.+\\)', line \\([0-9]+\\)" 2 3) |
("\\(Error\\|Warning:\\) in '\\(.+\\)', line \\([0-9]+\\)" 2 3) |
235 |
;; Moscow ML |
;; Moscow ML |
236 |
("File \"\\([^\"]+\\)\", line \\([0-9]+\\)\\(-\\([0-9]+\\)\\)?, characters \\([0-9]+\\)-\\([0-9]+\\):" 1 2 5) |
("File \"\\([^\"]+\\)\", line \\([0-9]+\\)\\(-\\([0-9]+\\)\\)?, characters \\([0-9]+\\)-\\([0-9]+\\):" 1 2 5) |
237 |
;; SML/NJ: the file-pattern is restricted to no-spaces to avoid |
;; SML/NJ: the file-pattern is anchored to avoid |
238 |
;; pathological behavior with very long lines. |
;; pathological behavior with very long lines. |
239 |
("^[-= ]*\\([^ ]+\\):\\([0-9]+\\)\\.\\([0-9]+\\)\\(-\\([0-9]+\\)\\.\\([0-9]+\\)\\)? \\(Error\\|Warning\\): .*" 1 sml-make-error 2 3 5 6) |
("^[-= ]*\\(.+\\):\\([0-9]+\\)\\.\\([0-9]+\\)\\(-\\([0-9]+\\)\\.\\([0-9]+\\)\\)? \\(Error\\|Warning\\): .*" 1 sml-make-error 2 3 5 6) |
240 |
;; SML/NJ's exceptions: see above. |
;; SML/NJ's exceptions: see above. |
241 |
("^ +\\(raised at: \\)?\\([^ ]+\\):\\([0-9]+\\)\\.\\([0-9]+\\)\\(-\\([0-9]+\\)\\.\\([0-9]+\\)\\)" 2 sml-make-error 3 4 6 7))) |
("^ +\\(raised at: \\)?\\(.+\\):\\([0-9]+\\)\\.\\([0-9]+\\)\\(-\\([0-9]+\\)\\.\\([0-9]+\\)\\)" 2 sml-make-error 3 4 6 7))) |
242 |
|
|
243 |
(defvar sml-error-regexp nil |
(defvar sml-error-regexp nil |
244 |
"*Regexp for matching \(the start of\) an error message.") |
"*Regexp for matching \(the start of\) an error message.") |
283 |
;; buffer-local |
;; buffer-local |
284 |
|
|
285 |
(defvar sml-temp-file nil) |
(defvar sml-temp-file nil) |
286 |
(defvar sml-error-file nil) ; file from which the last error came |
;;(defvar sml-error-file nil) ; file from which the last error came |
287 |
(defvar sml-error-cursor nil) ; ditto |
(defvar sml-error-cursor nil) ; ditto |
288 |
|
|
289 |
(defun sml-proc-buffer () |
(defun sml-proc-buffer () |
678 |
(set-marker sml-error-cursor (1- (process-mark (sml-proc)))) |
(set-marker sml-error-cursor (1- (process-mark (sml-proc)))) |
679 |
(setq sml-endof-error-alist nil) |
(setq sml-endof-error-alist nil) |
680 |
(compilation-forget-errors) |
(compilation-forget-errors) |
681 |
(setq compilation-parsing-end sml-error-cursor)) |
(if (markerp compilation-parsing-end) |
682 |
|
(set-marker compilation-parsing-end sml-error-cursor) |
683 |
|
(setq compilation-parsing-end sml-error-cursor))) |
684 |
|
|
685 |
(defun sml-make-error (f c) |
(defun sml-make-error (f c) |
686 |
(let ((err (point-marker)) |
(let ((err (point-marker)) |