Peter,
Thanks for that. I've applied it to SVN so unless someone objects that
it has messed up their error message parsing it will be in the next release.
Regards,
David
On 14/03/2015 20:39, Peter Gammie wrote:
David,
On 14 Dec 2014, at 9:23, David Matthews <[email protected]> wrote:
I seem to recall that the current format of error messages was designed to be
parsed by emacs but probably as long ago as the 1980s. I have no objection at
all to changing the format to something more appropriate. It probably needs no
more than a change to the bit of code around line 443 in basis/FinalPolyML.sml
that assembles a text error message from the location information. If you want
to experiment and send me a patch that works for you I’m happy to look at it.
Here’s a very minor patch to generate Emacs-compatible errors and warnings. See
below. It’s an SVN diff - hope that works for you.
cheers,
peter
Index: basis/FinalPolyML.sml
===================================================================
--- basis/FinalPolyML.sml (revision 1980)
+++ basis/FinalPolyML.sml (working copy)
@@ -441,10 +441,14 @@
else (* Plain text form. *)
(
printString(concat
- ( (if hard then ["Error-"] else ["Warning-"]) @
+ ( (if file = "" then ["poly: "] else [file, ":"]) @
+ (if startLine = 0 then [] else [Int.toString startLine]) @
+ (if startPosition = 0 then [": "] else [".", Int.toString startPosition,
"-", Int.toString endPosition, ": "]) @
+ (if hard then ["error: "] else ["warning: "]) ));
+(* ( (if hard then ["Error-"] else ["Warning-"]) @
(if file = "" then [] else [" in '", file, "',"]) @
(if startLine = 0 then [] else [" line ", Int.toString
startLine]) @
- (if startLine = 0 andalso file = "" then [] else
[".\n"])));
+ (if startLine = 0 andalso file = "" then [] else
[".\n"]))); *)
PolyML.prettyPrint(printString, !lineLength) fullMessage
)
end
_______________________________________________
polyml mailing list
[email protected]
http://lists.inf.ed.ac.uk/mailman/listinfo/polyml
_______________________________________________
polyml mailing list
[email protected]
http://lists.inf.ed.ac.uk/mailman/listinfo/polyml