summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--lib/pure/terminal.nim2
-rw-r--r--tests/stdlib/tterminal_12759.nim10
2 files changed, 11 insertions, 1 deletions
diff --git a/lib/pure/terminal.nim b/lib/pure/terminal.nim
index e798bbaf1..99a333cc6 100644
--- a/lib/pure/terminal.nim
+++ b/lib/pure/terminal.nim
@@ -37,7 +37,7 @@ type
 
 var gTerm {.threadvar.}: owned(PTerminal)
 
-proc newTerminal(): owned(PTerminal) {.gcsafe.}
+proc newTerminal(): owned(PTerminal) {.gcsafe, raises: [].}
 
 proc getTerminal(): PTerminal {.inline.} =
   if isNil(gTerm):
diff --git a/tests/stdlib/tterminal_12759.nim b/tests/stdlib/tterminal_12759.nim
new file mode 100644
index 000000000..d6034ab57
--- /dev/null
+++ b/tests/stdlib/tterminal_12759.nim
@@ -0,0 +1,10 @@
+discard """
+  action: "compile"
+"""
+
+import terminal
+
+proc test() {.raises:[IOError, ValueError].} =
+  setBackgroundColor(stdout, bgRed)
+
+test()