From fe6fddb9d83c099ee407bced8d59e11e351ecd58 Mon Sep 17 00:00:00 2001 From: Dominik Picheta Date: Sat, 17 Feb 2018 22:15:28 +0000 Subject: [PATCH] Fixes #4265. --- changelog.md | 2 ++ lib/pure/strtabs.nim | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/changelog.md b/changelog.md index 73d7e7d9b0..194e098a8b 100644 --- a/changelog.md +++ b/changelog.md @@ -257,6 +257,8 @@ bar() - The ``securehash`` module is now deprecated. Instead import ``std / sha1``. - ``db_mysql`` module: ``DbConn`` is now a ``distinct`` type that doesn't expose the details of the underlying ``PMySQL`` type. +- ``strtabs.getOrDefault`` now returns ``nil`` instead of ``""``. See + [#4265](https://github.com/nim-lang/Nim/issues/4265) for more info. - Standard library modules can now also be imported via the ``std`` pseudo-directory. This is useful in order to distinguish between standard library and nimble package imports: diff --git a/lib/pure/strtabs.nim b/lib/pure/strtabs.nim index 75c5e171d8..942c2eb72c 100644 --- a/lib/pure/strtabs.nim +++ b/lib/pure/strtabs.nim @@ -129,7 +129,7 @@ proc mget*(t: StringTableRef, key: string): var string {.deprecated.} = ## ``KeyError`` exception is raised. Use ```[]``` instead. get(t, key) -proc getOrDefault*(t: StringTableRef; key: string, default: string = ""): string = +proc getOrDefault*(t: StringTableRef; key: string, default: string = nil): string = var index = rawGet(t, key) if index >= 0: result = t.data[index].val else: result = default