From 49ac96188432483317bc9ecefed79a41ca18cfc6 Mon Sep 17 00:00:00 2001 From: Patric Mueller Date: Wed, 10 Jun 2026 09:45:58 +0200 Subject: [PATCH] replace NOTPARMDECL with TPARM_WORKAROUND The old logic used a negative check to emit an extern declaration for tparm(). This guarded against old platforms whose curses implementations did not declare their own functions. If there are still any platforms left that need this declaration, they can set TPARM_WORKAROUND to get the old behavior back. --- sys/unix/Install.unx | 8 ++++---- sys/unix/NetHack.xcodeproj/project.pbxproj | 8 -------- sys/unix/hints/include/compiler.500 | 4 ++-- sys/unix/hints/include/cross-pre2.500 | 4 ++-- util/mdgrep.pl | 2 +- win/tty/termcap.c | 3 +-- 6 files changed, 10 insertions(+), 19 deletions(-) diff --git a/sys/unix/Install.unx b/sys/unix/Install.unx index b257ff164..c2230a452 100644 --- a/sys/unix/Install.unx +++ b/sys/unix/Install.unx @@ -246,10 +246,10 @@ Notes: 13. If you get a compiler warning about 'get_colors()' being implicitly declared, try uncommenting NEED_GET_COLORS_DECL in unixconf.h. - If you get a compiler complaint about tparmdecl() having conflicting - declarations, add '#define NOTPARMDECL' to unixconf.h or '-DNOTPARMDECL' - to CFLAGS in src/Makefile. (The hints files for Mac OSX already do the - latter.) + If you get a compiler warning about tparm() being implicitly + declared, add '#define TPARM_WORKAROUND' to unixconf.h or + '-DTPARM_WORKAROUND' to CFLAGS. (This should not be needed + on any modern system.) # NetHack 5.0 Install.unx $NHDT-Date: 1577568915 2019/12/28 21:35:15 $ $NHDT-Branch: NetHack-5.0 $:$NHDT-Revision: 1.14 $ # Copyright (c) 2012 by Kenneth Lorber, Kensington, Maryland diff --git a/sys/unix/NetHack.xcodeproj/project.pbxproj b/sys/unix/NetHack.xcodeproj/project.pbxproj index 81a1eb1b9..21666b10e 100644 --- a/sys/unix/NetHack.xcodeproj/project.pbxproj +++ b/sys/unix/NetHack.xcodeproj/project.pbxproj @@ -2219,7 +2219,6 @@ ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = ( "-DNOMAIL", - "-DNOTPARMDECL", "-DDEFAULT_WINDOW_SYS=\\\"tty\\\"", "-DDLB", "-DGREPPATH=\\\"/usr/bin/grep\\\"", @@ -2301,7 +2300,6 @@ NH_UTIL_DIR = "$(NH_ROOT_DIR)/util"; OTHER_CFLAGS = ( "-DNOMAIL", - "-DNOTPARMDECL", "-DDEFAULT_WINDOW_SYS=\\\"tty\\\"", "-DDLB", "-DGREPPATH=\\\"/usr/bin/grep\\\"", @@ -2332,7 +2330,6 @@ OTHER_CFLAGS = ( "-Wno-ambiguous-macro", "-DNOMAIL", - "-DNOTPARMDECL", "-DDEFAULT_WINDOW_SYS=\\\"tty\\\"", "-DDLB", "-DGREPPATH=\\\"/usr/bin/grep\\\"", @@ -2366,7 +2363,6 @@ OTHER_CFLAGS = ( "-Wno-ambiguous-macro", "-DNOMAIL", - "-DNOTPARMDECL", "-DDEFAULT_WINDOW_SYS=\\\"tty\\\"", "-DDLB", "-DGREPPATH=\\\"/usr/bin/grep\\\"", @@ -2415,7 +2411,6 @@ OTHER_CFLAGS = ( "-DMINIMAL_FOR_RECOVER", "-DNOMAIL", - "-DNOTPARMDECL", "-DDEFAULT_WINDOW_SYS=\\\"tty\\\"", "-DDLB", "-DGREPPATH=\\\"/usr/bin/grep\\\"", @@ -2442,7 +2437,6 @@ OTHER_CFLAGS = ( "-DMINIMAL_FOR_RECOVER", "-DNOMAIL", - "-DNOTPARMDECL", "-DDEFAULT_WINDOW_SYS=\\\"tty\\\"", "-DDLB", "-DGREPPATH=\\\"/usr/bin/grep\\\"", @@ -2498,7 +2492,6 @@ MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)"; OTHER_CFLAGS = ( "-DNOMAIL", - "-DNOTPARMDECL", "-DDEFAULT_WINDOW_SYS=\\\"tty\\\"", "-DDLB", "-DGREPPATH=\\\"/usr/bin/grep\\\"", @@ -2535,7 +2528,6 @@ MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)"; OTHER_CFLAGS = ( "-DNOMAIL", - "-DNOTPARMDECL", "-DDEFAULT_WINDOW_SYS=\\\"tty\\\"", "-DDLB", "-DGREPPATH=\\\"/usr/bin/grep\\\"", diff --git a/sys/unix/hints/include/compiler.500 b/sys/unix/hints/include/compiler.500 index acc5662d1..aa140c413 100755 --- a/sys/unix/hints/include/compiler.500 +++ b/sys/unix/hints/include/compiler.500 @@ -49,7 +49,7 @@ endif #CC= clang #CXX=clang++ -std=gnu++11 -CFLAGS=$(CCFLAGS) -I../include -DNOTPARMDECL +CFLAGS=$(CCFLAGS) -I../include CFLAGS+=-Wall -Wextra \ -Wreturn-type -Wunused -Wformat -Wswitch -Wshadow -Wwrite-strings CFLAGS+=-pedantic @@ -133,7 +133,7 @@ endif # clang-specific ends here ifdef MAKEFILE_SRC ifdef CPLUSPLUS_NEEDED -CCXXFLAGS = -g -I../include -DNOTPARMDECL +CCXXFLAGS = -g -I../include CCXXFLAGS+=-Wall -Wextra -Wno-missing-field-initializers \ -Wreturn-type -Wunused -Wformat -Wswitch -Wshadow -Wwrite-strings CCXXFLAGS+=-pedantic diff --git a/sys/unix/hints/include/cross-pre2.500 b/sys/unix/hints/include/cross-pre2.500 index ef6f1c04f..3a69cbe9f 100644 --- a/sys/unix/hints/include/cross-pre2.500 +++ b/sys/unix/hints/include/cross-pre2.500 @@ -338,8 +338,8 @@ WASM_CFLAGS += -Wshadow # Nethack C flags WASM_CFLAGS += $(WINCFLAGS) #WINCFLAGS set from multiw-2.500 WASM_CFLAGS += -DSYSCF -DSYSCF_FILE=\"/sysconf\" -DSECURE -DNHUUID -#WASM_CFLAGS += -g -I../include -DNOTPARMDECL -WASM_CFLAGS += -I../include -DNOTPARMDECL +#WASM_CFLAGS += -g -I../include +WASM_CFLAGS += -I../include # NetHack sources control WASM_CFLAGS += -DDLB WASM_CFLAGS += -DHACKDIR=\"$(HACKDIR)\" diff --git a/util/mdgrep.pl b/util/mdgrep.pl index 24dd3d0a8..888820a4c 100644 --- a/util/mdgrep.pl +++ b/util/mdgrep.pl @@ -51,7 +51,7 @@ $specials = { # TIMED_DELAY DEF_MAILREADER DEF_PAGER NO_SIGNAL PC_LOCKING LATTICE __GO32__ # msleep NO_FILE_LINKS bsdi HPUX AMIFLUSH # SCREEN_BIOS SCREEN_DJGPPFAST SCREEN_VGA SCREEN_8514 -# EXEPATH NOTSTDC SELECTSAVED NOTPARMDECL +# EXEPATH NOTSTDC SELECTSAVE # constants @const_true = qw/1 TRUE/; diff --git a/win/tty/termcap.c b/win/tty/termcap.c index ff8c4c2bf..a44e84ca5 100644 --- a/win/tty/termcap.c +++ b/win/tty/termcap.c @@ -895,8 +895,7 @@ cl_eos(void) /* free after Robert Viduya */ #include -#if !defined(LINUX) && !defined(__FreeBSD__) && !defined(__OpenBSD__) \ - && !defined(NOTPARMDECL) +#if defined(TPARM_WORKAROUND) extern char *tparm(); #endif