diff options
author | Simon Hafner <hafnersimon@gmail.com> | 2015-05-02 08:04:17 +0500 |
---|---|---|
committer | Simon Hafner <hafnersimon@gmail.com> | 2015-05-02 08:04:17 +0500 |
commit | 7dfa93d3c0dc17541b5b54654f2af3da8bed91f5 (patch) | |
tree | 0f96dbfaf9ac9a64b29ae1143495eea102f8661c /compiler | |
parent | a1ee169d09b8d8c001e868d889c517fad4d1efaa (diff) | |
download | Nim-7dfa93d3c0dc17541b5b54654f2af3da8bed91f5.tar.gz |
fixed first round of bugs
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/nimsuggest/nimsuggest.nim | 17 |
1 files changed, 8 insertions, 9 deletions
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 |