From fb718f2d04f10c63562e14c40da28b8da34d9714 Mon Sep 17 00:00:00 2001 From: def Date: Sat, 14 Feb 2015 19:00:11 +0100 Subject: [PATCH 1/5] nimrod -> nim in some filenames --- compiler/installer.ini | 8 +- compiler/nim.nim | 4 +- config/nimrod.cfg | 136 ------------------------- icons/{nimrod.ico => nim.ico} | Bin icons/nim.rc | 3 + icons/{nimrod.res => nim.res} | Bin icons/{nimrod_icon.o => nim_icon.o} | Bin icons/nimrod.rc | 3 - tests/rodfiles/{nimrod.cfg => nim.cfg} | 0 tools/niminst/nsis.tmpl | 4 +- 10 files changed, 11 insertions(+), 147 deletions(-) delete mode 100644 config/nimrod.cfg rename icons/{nimrod.ico => nim.ico} (100%) create mode 100644 icons/nim.rc rename icons/{nimrod.res => nim.res} (100%) rename icons/{nimrod_icon.o => nim_icon.o} (100%) delete mode 100644 icons/nimrod.rc rename tests/rodfiles/{nimrod.cfg => nim.cfg} (100%) diff --git a/compiler/installer.ini b/compiler/installer.ini index dcf9aa52f..48cd0b3b9 100644 --- a/compiler/installer.ini +++ b/compiler/installer.ini @@ -51,10 +51,10 @@ Files: "configure;makefile" Files: "*.ini" Files: "koch.nim" -Files: "icons/nimrod.ico" -Files: "icons/nimrod.rc" -Files: "icons/nimrod.res" -Files: "icons/nimrod_icon.o" +Files: "icons/nim.ico" +Files: "icons/nim.rc" +Files: "icons/nim.res" +Files: "icons/nim_icon.o" Files: "icons/koch.ico" Files: "icons/koch.rc" Files: "icons/koch.res" diff --git a/compiler/nim.nim b/compiler/nim.nim index 617758b2d..215f1986e 100644 --- a/compiler/nim.nim +++ b/compiler/nim.nim @@ -9,9 +9,9 @@ when defined(gcc) and defined(windows): when defined(x86): - {.link: "icons/nimrod.res".} + {.link: "icons/nim.res".} else: - {.link: "icons/nimrod_icon.o".} + {.link: "icons/nim_icon.o".} import commands, lexer, condsyms, options, msgs, nversion, nimconf, ropes, diff --git a/config/nimrod.cfg b/config/nimrod.cfg deleted file mode 100644 index 62a7b16cc..000000000 --- a/config/nimrod.cfg +++ /dev/null @@ -1,136 +0,0 @@ -# Configuration file for the Nim Compiler. -# (c) 2015 Andreas Rumpf - -# Feel free to edit the default values as you need. - -# You may set environment variables with -# @putenv "key" "val" -# Environment variables cannot be used in the options, however! - -cc = gcc - -# example of how to setup a cross-compiler: -arm.linux.gcc.exe = "arm-linux-gcc" -arm.linux.gcc.linkerexe = "arm-linux-gcc" - -cs:partial - -path="$lib/core" -path="$lib/pure" -path="$lib/pure/collections" -path="$lib/pure/concurrency" -path="$lib/impure" -path="$lib/wrappers" -# path="$lib/wrappers/cairo" -# path="$lib/wrappers/gtk" -# path="$lib/wrappers/lua" -# path="$lib/wrappers/opengl" -path="$lib/wrappers/pcre" -path="$lib/wrappers/readline" -path="$lib/wrappers/sdl" -# path="$lib/wrappers/x11" -path="$lib/wrappers/zip" -path="$lib/wrappers/libffi" -path="$lib/windows" -path="$lib/posix" -path="$lib/js" -path="$lib/pure/unidecode" - -@if nimbabel: - babelpath="$home/.babel/pkgs/" -@end - -@if release or quick: - obj_checks:off - field_checks:off - range_checks:off - bound_checks:off - overflow_checks:off - assertions:off - stacktrace:off - linetrace:off - debugger:off - line_dir:off - dead_code_elim:on -@end - -@if release: - opt:speed -@end - -# additional options always passed to the compiler: ---parallel_build: "0" # 0 to auto-detect number of processors - -hint[LineTooLong]=off -#hint[XDeclaredButNotUsed]=off - -@if unix: - @if not bsd: - # -fopenmp - gcc.options.linker = "-ldl" - gpp.options.linker = "-ldl" - clang.options.linker = "-ldl" - tcc.options.linker = "-ldl" - @end - @if bsd or haiku: - # BSD got posix_spawn only recently, so we deactivate it for osproc: - define:useFork - # at least NetBSD has problems with thread local storage: - tlsEmulation:on - @end -@end - -# Configuration for the Intel C/C++ compiler: -@if windows: - icl.options.speed = "/Ox /arch:SSE2" - icl.options.always = "/nologo" -@end - -# Configuration for the GNU C/C++ compiler: -@if windows: - #gcc.path = r"$nimrod\dist\mingw\bin" - @if gcc: - tlsEmulation:on - @end -@end - -@if macosx: - cc = clang - tlsEmulation:on - gcc.options.always = "-w -fasm-blocks" - gpp.options.always = "-w -fasm-blocks -fpermissive" -@else: - gcc.options.always = "-w" - gpp.options.always = "-w -fpermissive" -@end - -gcc.options.speed = "-O3 -fno-strict-aliasing" -gcc.options.size = "-Os" -gcc.options.debug = "-g3 -O0" - -gpp.options.speed = "-O3 -fno-strict-aliasing" -gpp.options.size = "-Os" -gpp.options.debug = "-g3 -O0" -#passl = "-pg" - -# Configuration for the LLVM GCC compiler: -llvm_gcc.options.debug = "-g" -llvm_gcc.options.always = "-w" -llvm_gcc.options.speed = "-O2" -llvm_gcc.options.size = "-Os" - -# Configuration for the LLVM CLang compiler: -clang.options.debug = "-g" -clang.options.always = "-w" -clang.options.speed = "-O3" -clang.options.size = "-Os" - -# Configuration for the Visual C/C++ compiler: -vcc.options.linker = "/DEBUG /Zi /Fd\"$projectName.pdb\" /F33554432" # set the stack size to 8 MB -vcc.options.debug = "/Zi /Fd\"$projectName.pdb\"" -vcc.options.always = "/nologo" -vcc.options.speed = "/Ox /arch:SSE2" -vcc.options.size = "/O1" - -# Configuration for the Tiny C Compiler: -tcc.options.always = "-w" diff --git a/icons/nimrod.ico b/icons/nim.ico similarity index 100% rename from icons/nimrod.ico rename to icons/nim.ico diff --git a/icons/nim.rc b/icons/nim.rc new file mode 100644 index 000000000..c053e08e9 --- /dev/null +++ b/icons/nim.rc @@ -0,0 +1,3 @@ +nimicon ICON "nim.ico" + + diff --git a/icons/nimrod.res b/icons/nim.res similarity index 100% rename from icons/nimrod.res rename to icons/nim.res diff --git a/icons/nimrod_icon.o b/icons/nim_icon.o similarity index 100% rename from icons/nimrod_icon.o rename to icons/nim_icon.o diff --git a/icons/nimrod.rc b/icons/nimrod.rc deleted file mode 100644 index 6f36b8145..000000000 --- a/icons/nimrod.rc +++ /dev/null @@ -1,3 +0,0 @@ -nimrodicon ICON "nimrod.ico" - - diff --git a/tests/rodfiles/nimrod.cfg b/tests/rodfiles/nim.cfg similarity index 100% rename from tests/rodfiles/nimrod.cfg rename to tests/rodfiles/nim.cfg diff --git a/tools/niminst/nsis.tmpl b/tools/niminst/nsis.tmpl index 23bbf3ac9..aba1e581f 100644 --- a/tools/niminst/nsis.tmpl +++ b/tools/niminst/nsis.tmpl @@ -50,8 +50,8 @@ SetCompressor /SOLID /FINAL lzma ; Installer and Uninstaller Icons - ; Icon "nimrod.ico" - ; UninstallIcon "nimrod.ico" + ; Icon "nim.ico" + ; UninstallIcon "nim.ico" ; Set installation details to be shown by default ShowInstDetails show From 512db9aea6ac77234e2ea6a48b1cc20e6b24a687 Mon Sep 17 00:00:00 2001 From: def Date: Sat, 14 Feb 2015 19:57:32 +0100 Subject: [PATCH 2/5] Fix documentation a bit in unicode --- lib/pure/unicode.nim | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/pure/unicode.nim b/lib/pure/unicode.nim index b892ec8b4..42e6a3195 100644 --- a/lib/pure/unicode.nim +++ b/lib/pure/unicode.nim @@ -1235,11 +1235,12 @@ proc reversed*(s: string): string = ## returns the reverse of `s`, interpreting it as unicode characters. Unicode ## combining characters are correctly interpreted as well: ## - ## .. code-block: + ## .. code-block:: nim + ## ## assert reversed("Reverse this!") == "!siht esreveR" ## assert reversed("先秦兩漢") == "漢兩秦先" ## assert reversed("as⃝df̅") == "f̅ds⃝a" - ## assert reversed("a⃞b⃞c⃞") == "c⃞b⃞a⃞" + ## assert reversed("a⃞b⃞c⃞") == "c⃞b⃞a⃞" var i = 0 lastI = 0 From 6244cc2e4fb7aaabd14352a21add5236220a8198 Mon Sep 17 00:00:00 2001 From: def Date: Sat, 14 Feb 2015 23:43:31 +0100 Subject: [PATCH 3/5] Fix cross_calculator example --- .../{nimrod_backend => nim_backend}/backend.nim | 0 .../nimrod.cfg => nim_commandline/nim.cfg} | 2 +- .../nimcalculator.nim | 6 +++--- .../{nimrod_commandline => nim_commandline}/readme.txt | 6 +++--- 4 files changed, 7 insertions(+), 7 deletions(-) rename examples/cross_calculator/{nimrod_backend => nim_backend}/backend.nim (100%) rename examples/cross_calculator/{nimrod_commandline/nimrod.cfg => nim_commandline/nim.cfg} (81%) rename examples/cross_calculator/{nimrod_commandline => nim_commandline}/nimcalculator.nim (97%) rename examples/cross_calculator/{nimrod_commandline => nim_commandline}/readme.txt (60%) diff --git a/examples/cross_calculator/nimrod_backend/backend.nim b/examples/cross_calculator/nim_backend/backend.nim similarity index 100% rename from examples/cross_calculator/nimrod_backend/backend.nim rename to examples/cross_calculator/nim_backend/backend.nim diff --git a/examples/cross_calculator/nimrod_commandline/nimrod.cfg b/examples/cross_calculator/nim_commandline/nim.cfg similarity index 81% rename from examples/cross_calculator/nimrod_commandline/nimrod.cfg rename to examples/cross_calculator/nim_commandline/nim.cfg index c1aedcf6a..41c034430 100644 --- a/examples/cross_calculator/nimrod_commandline/nimrod.cfg +++ b/examples/cross_calculator/nim_commandline/nim.cfg @@ -1,4 +1,4 @@ # Nimrod configuration file. # The file is used only to add the path of the backend to the compiler options. -path="../nimrod_backend" +path="../nim_backend" diff --git a/examples/cross_calculator/nimrod_commandline/nimcalculator.nim b/examples/cross_calculator/nim_commandline/nimcalculator.nim similarity index 97% rename from examples/cross_calculator/nimrod_commandline/nimcalculator.nim rename to examples/cross_calculator/nim_commandline/nimcalculator.nim index 440834ca8..69d62a90c 100644 --- a/examples/cross_calculator/nimrod_commandline/nimcalculator.nim +++ b/examples/cross_calculator/nim_commandline/nimcalculator.nim @@ -21,7 +21,7 @@ type cmdParams, # Two valid parameters were provided cmdInteractive # No parameters were provided, run interactive mode - TParamConfig = object of TObject + TParamConfig = object of RootObj action: TCommand # store the type of operation paramA, paramB: int # possibly store the valid parameters @@ -63,7 +63,7 @@ proc parseCmdLine(): TParamConfig = stdout.write USAGE quit "Unexpected option: " & key, 2 of cmdEnd: break - except EInvalidValue: + except ValueError: stdout.write USAGE quit "Invalid value " & val & " for parameter " & key, 3 @@ -85,7 +85,7 @@ proc parseUserInput(question: string): int = try: result = input.parseInt break - except EInvalidValue: + except ValueError: if input.len < 1: quit "Blank line detected, quitting.", 0 echo "Sorry, `$1' doesn't seem to be a valid integer" % input diff --git a/examples/cross_calculator/nimrod_commandline/readme.txt b/examples/cross_calculator/nim_commandline/readme.txt similarity index 60% rename from examples/cross_calculator/nimrod_commandline/readme.txt rename to examples/cross_calculator/nim_commandline/readme.txt index 5430e7b47..f95bd962e 100644 --- a/examples/cross_calculator/nimrod_commandline/readme.txt +++ b/examples/cross_calculator/nim_commandline/readme.txt @@ -1,10 +1,10 @@ -In this directory you will find the nimrod commandline version of the +In this directory you will find the nim commandline version of the cross-calculator sample. The commandline interface can be used non interactively through switches, or interactively when running the command without parameters. Compilation is fairly easy despite having the source split in different -directories. Thanks to the nimrod.cfg file, which adds the ../nimrod_backend +directories. Thanks to the nim.cfg file, which adds the ../nim_backend directory as a search path, you can compile and run the example just fine from -the command line with 'nimrod c -r nimcalculator.nim'. +the command line with 'nim c -r nimcalculator.nim'. From d19a4ca827ab04edc5b497b73132e3f40369e1a8 Mon Sep 17 00:00:00 2001 From: def Date: Sun, 15 Feb 2015 00:05:16 +0100 Subject: [PATCH 4/5] Fix cross_todo example --- .../{nimrod_backend => nim_backend}/backend.nim | 14 +++++++------- .../{nimrod_backend => nim_backend}/readme.txt | 4 ++-- .../testbackend.nim | 0 .../nimrod.cfg => nim_commandline/nim.cfg} | 2 +- .../nimtodo.nim | 10 +++++----- .../readme.txt | 0 6 files changed, 15 insertions(+), 15 deletions(-) rename examples/cross_todo/{nimrod_backend => nim_backend}/backend.nim (95%) rename examples/cross_todo/{nimrod_backend => nim_backend}/readme.txt (78%) rename examples/cross_todo/{nimrod_backend => nim_backend}/testbackend.nim (100%) rename examples/cross_todo/{nimrod_commandline/nimrod.cfg => nim_commandline/nim.cfg} (81%) rename examples/cross_todo/{nimrod_commandline => nim_commandline}/nimtodo.nim (98%) rename examples/cross_todo/{nimrod_commandline => nim_commandline}/readme.txt (100%) diff --git a/examples/cross_todo/nimrod_backend/backend.nim b/examples/cross_todo/nim_backend/backend.nim similarity index 95% rename from examples/cross_todo/nimrod_backend/backend.nim rename to examples/cross_todo/nim_backend/backend.nim index 89e7d0b7e..9c7d2bafa 100644 --- a/examples/cross_todo/nimrod_backend/backend.nim +++ b/examples/cross_todo/nim_backend/backend.nim @@ -13,7 +13,7 @@ type text*: string ## Description of the task to do. priority*: int ## The priority can be any user defined integer. isDone*: bool ## Done todos are still kept marked. - modificationDate: TTime ## The modification time can't be modified from + modificationDate: Time ## The modification time can't be modified from ## outside of this module, use the ## getModificationDate accessor. @@ -64,7 +64,7 @@ proc openDatabase*(path: string): TDbConn = # - Procs related to TTodo objects # proc initFromDB(id: int64; text: string; priority: int, isDone: bool; - modificationDate: TTime): TTodo = + modificationDate: Time): TTodo = ## Returns an initialized TTodo object created from database parameters. ## ## The proc assumes all values are right. Note this proc is NOT exported. @@ -81,7 +81,7 @@ proc getId*(todo: TTodo): int64 = return todo.id -proc getModificationDate*(todo: TTodo): TTime = +proc getModificationDate*(todo: TTodo): Time = ## Returns the last modification date of a TTodo entry. return todo.modificationDate @@ -99,14 +99,14 @@ proc update*(todo: var TTodo; conn: TDbConn): bool = FROM Todos WHERE id = ?""" try: - let rows = conn.GetAllRows(query, $todo.id) + let rows = conn.getAllRows(query, $todo.id) if len(rows) < 1: return assert(1 == len(rows), "Woah, didn't expect so many rows") todo.text = rows[0][0] todo.priority = rows[0][1].parseInt todo.isDone = rows[0][2].parseBool - todo.modificationDate = TTime(rows[0][3].parseInt) + todo.modificationDate = Time(rows[0][3].parseInt) result = true except: echo("Something went wrong selecting for id " & $todo.id) @@ -202,12 +202,12 @@ proc getPagedTodos*(conn: TDbConn; params: TPagedParams; #echo("Query " & string(query)) #echo("args: " & args.join(", ")) - var newId: biggestInt + var newId: BiggestInt for row in conn.fastRows(query, args): let numChars = row[0].parseBiggestInt(newId) assert(numChars > 0, "Huh, couldn't parse identifier from database?") result.add(initFromDB(int64(newId), row[1], row[2].parseInt, - row[3].parseBool, TTime(row[4].parseInt))) + row[3].parseBool, Time(row[4].parseInt))) proc getTodo*(conn: TDbConn; todoId: int64): ref TTodo = diff --git a/examples/cross_todo/nimrod_backend/readme.txt b/examples/cross_todo/nim_backend/readme.txt similarity index 78% rename from examples/cross_todo/nimrod_backend/readme.txt rename to examples/cross_todo/nim_backend/readme.txt index 6529f2e67..16cb592fc 100644 --- a/examples/cross_todo/nimrod_backend/readme.txt +++ b/examples/cross_todo/nim_backend/readme.txt @@ -1,4 +1,4 @@ -This directory contains the nimrod backend code for the todo cross platform +This directory contains the nim backend code for the todo cross platform example. Unlike the cross platform calculator example, this backend features more code, @@ -8,7 +8,7 @@ The test is not embedded directly in the backend.nim file to avoid being able to access internal data types and procs not exported and replicate the environment of client code. -In a bigger project with several people you could run `nimrod doc backend.nim` +In a bigger project with several people you could run `nim doc backend.nim` (or use the doc2 command for a whole project) and provide the generated html documentation to another programer for her to implement an interface without having to look at the source code. diff --git a/examples/cross_todo/nimrod_backend/testbackend.nim b/examples/cross_todo/nim_backend/testbackend.nim similarity index 100% rename from examples/cross_todo/nimrod_backend/testbackend.nim rename to examples/cross_todo/nim_backend/testbackend.nim diff --git a/examples/cross_todo/nimrod_commandline/nimrod.cfg b/examples/cross_todo/nim_commandline/nim.cfg similarity index 81% rename from examples/cross_todo/nimrod_commandline/nimrod.cfg rename to examples/cross_todo/nim_commandline/nim.cfg index c1aedcf6a..41c034430 100644 --- a/examples/cross_todo/nimrod_commandline/nimrod.cfg +++ b/examples/cross_todo/nim_commandline/nim.cfg @@ -1,4 +1,4 @@ # Nimrod configuration file. # The file is used only to add the path of the backend to the compiler options. -path="../nimrod_backend" +path="../nim_backend" diff --git a/examples/cross_todo/nimrod_commandline/nimtodo.nim b/examples/cross_todo/nim_commandline/nimtodo.nim similarity index 98% rename from examples/cross_todo/nimrod_commandline/nimtodo.nim rename to examples/cross_todo/nim_commandline/nimtodo.nim index 1067177c3..4ab17e7a2 100644 --- a/examples/cross_todo/nimrod_commandline/nimtodo.nim +++ b/examples/cross_todo/nim_commandline/nimtodo.nim @@ -69,11 +69,11 @@ template parseTodoIdAndSetCommand(newCommand: TCommand): stmt = ## Helper to parse a big todo identifier into todoId and set command. try: let numChars = val.parseBiggestInt(newId) - if numChars < 1: raise newException(EInvalidValue, "Empty string?") + if numChars < 1: raise newException(ValueError, "Empty string?") result.command = newCommand result.todoId = newId - except EOverflow: - raise newException(EInvalidValue, "Value $1 too big" % val) + except OverflowError: + raise newException(ValueError, "Value $1 too big" % val) template verifySingleCommand(actions: stmt): stmt = @@ -111,7 +111,7 @@ proc parseCmdLine(): TParamConfig = usesListParams = false p = initOptParser() key, val: TaintedString - newId: biggestInt + newId: BiggestInt result.initDefaults @@ -178,7 +178,7 @@ proc parseCmdLine(): TParamConfig = abort("Unexpected option '$1'." % [key], 6) of cmdEnd: break - except EInvalidValue: + except ValueError: abort("Invalid integer value '$1' for parameter '$2'." % [val, key], 7) if not specifiedCommand: diff --git a/examples/cross_todo/nimrod_commandline/readme.txt b/examples/cross_todo/nim_commandline/readme.txt similarity index 100% rename from examples/cross_todo/nimrod_commandline/readme.txt rename to examples/cross_todo/nim_commandline/readme.txt From 0a01b9143f892f60b9477e8995f2a11a2ee7734a Mon Sep 17 00:00:00 2001 From: def Date: Sun, 15 Feb 2015 00:07:34 +0100 Subject: [PATCH 5/5] nimrod.cfg isn't working anymore, rename to nim.cfg --- tests/manyloc/keineschweine/enet_server/{nimrod.cfg => nim.cfg} | 0 tests/manyloc/keineschweine/server/{nimrod.cfg => nim.cfg} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename tests/manyloc/keineschweine/enet_server/{nimrod.cfg => nim.cfg} (100%) rename tests/manyloc/keineschweine/server/{nimrod.cfg => nim.cfg} (100%) diff --git a/tests/manyloc/keineschweine/enet_server/nimrod.cfg b/tests/manyloc/keineschweine/enet_server/nim.cfg similarity index 100% rename from tests/manyloc/keineschweine/enet_server/nimrod.cfg rename to tests/manyloc/keineschweine/enet_server/nim.cfg diff --git a/tests/manyloc/keineschweine/server/nimrod.cfg b/tests/manyloc/keineschweine/server/nim.cfg similarity index 100% rename from tests/manyloc/keineschweine/server/nimrod.cfg rename to tests/manyloc/keineschweine/server/nim.cfg