From 7dfa93d3c0dc17541b5b54654f2af3da8bed91f5 Mon Sep 17 00:00:00 2001 From: Simon Hafner Date: Sat, 2 May 2015 08:04:17 +0500 Subject: fixed first round of bugs --- compiler/nimsuggest/nimsuggest.nim | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'compiler') diff --git a/compiler/nimsuggest/nimsuggest.nim b/compiler/nimsuggest/nimsuggest.nim index 00b3bcbfd..c14c89e16 100644 --- a/compiler/nimsuggest/nimsuggest.nim +++ b/compiler/nimsuggest/nimsuggest.nim @@ -133,7 +133,6 @@ proc returnEPC(socket: var Socket, uid: string, s: SexpNode, return_symbol = "re let response = $convertSexp([newSSymbol(return_symbol), [uid, s]]) socket.send(toHex(len(response), 6)) socket.send(response) - socket.close() proc nextFreePort(server: Socket, host: string, start = 30000): int = result = start @@ -235,9 +234,9 @@ proc serve() = var messageBuffer = "" if client.recv(messageBuffer, size) != size: raise newException(ValueError, "didn't get all the bytes") - let message = parseSexp($messageBuffer) - let messageType = message[0].getSymbol - let body = message[1] + let + message = parseSexp($messageBuffer) + messageType = message[0].getSymbol try: case messageType: of "call": @@ -246,9 +245,9 @@ proc serve() = results.add(s) let - uid = body[0].getStr - cmd = parseIdeCmd(body[1].getStr) - args = body[2] + uid = message[1].getStr + cmd = parseIdeCmd(message[2].getStr) + args = message[3] executeEPC(cmd, args) returnEPC(client, uid, sexp(results)) of "return": @@ -259,11 +258,11 @@ proc serve() = stderr.writeln("recieved epc error: " & $messageBuffer) raise newException(IOError, "epc error") of "methods": - returnEPC(client, body[0].getStr, listEPC()) + returnEPC(client, message[1].getStr, listEPC()) else: raise newException(EUnexpectedCommand, "unexpected call: " & messageType) except: - returnEPC(client, body[0].getStr, sexp(getCurrentExceptionMsg()), "return-error") + returnEPC(client, message[1].getStr, sexp(getCurrentException().getStackTrace()), "return-error") proc mainCommand = registerPass verbosePass -- cgit 1.4.1-2-gfad0