From 391e100d386f7b24c340dc724dc5b4f16e3782e5 Mon Sep 17 00:00:00 2001 From: nhmall Date: Sun, 26 Jan 2020 10:03:15 -0500 Subject: [PATCH 1/3] doc/Guidebook.txt update from daily cron --- doc/Guidebook.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/Guidebook.txt b/doc/Guidebook.txt index d1927889d..562f8ac05 100644 --- a/doc/Guidebook.txt +++ b/doc/Guidebook.txt @@ -6041,8 +6041,8 @@ NetHack 3.6.4 was released on December 18, 2019 containing a security fix and a few bug fixes. - NetHack 3.6.5 was released in January, 2020 containing some - security fixes and a small number of bug fixes. + NetHack 3.6.5 was released on January 27, 2020 containing + some security fixes and a small number of bug fixes. The official NetHack web site is maintained by Ken Lorber at https://www.nethack.org/. From eb61690f3492f2cc6ecc409cb3f7403224d619ae Mon Sep 17 00:00:00 2001 From: PatR Date: Mon, 27 Jan 2020 02:20:47 -0800 Subject: [PATCH 2/3] Install.vms update --- sys/vms/Install.vms | 45 +++++++++++++++++++++++++++++---------------- 1 file changed, 29 insertions(+), 16 deletions(-) diff --git a/sys/vms/Install.vms b/sys/vms/Install.vms index a7eb51bf1..989df8a67 100644 --- a/sys/vms/Install.vms +++ b/sys/vms/Install.vms @@ -37,11 +37,12 @@ [.sys .os2] -- OS/2 [.sys .share .sounds] -- AIFF format audio files [.sys .unix] -- guess :-) - [.sys .unit .hints] -- configuration data for setup.sh + [.sys .unix .hints] -- configuration data for setup.sh [.sys .wince] -- Windows CE [.sys .wince .ceinc] -- more WinCE [.sys .wince .ceinc .sys] -- ditto [.sys .winnt] -- Windows NT + [.win .curses] - window routines for curses interface [.win .gem] -- window routines for Atari/GEM [.win .gnome] -- window routines for Unix/GNOME [.win .Qt] -- window routines for Qt @@ -150,7 +151,18 @@ Notes: through 3.6.4 should work. The scoreboard file (RECORD) from 3.6.x or 3.4.x or 3.3.x will work. -2. To specify user-preference options in your environment, define the +2. If pline.c fails to compile, edit vmsconf.h and uncomment + #define NO_VSNPRINTF + to avoid calling a C library routine that wasn't available on older + versions of VMS. (Note: in the distributed sources, this has already + been uncommented.) + +3. vmsbuild.com includes commands to try to build the 'curses' interface + but they won't work. That interface requires 'ncurses' or 'PDcurses', + not the older 'curses' (neither the VMS-specific variation nor the + BSD-derived one) included with the C run-time library. + +4. To specify user-preference options in your environment, define the logical name NETHACKOPTIONS to have the value of a quoted string containing a comma separated list of option values. The option names are case-insensitive. @@ -183,7 +195,7 @@ Notes: placed in the playground directory by install.com. Also, an example configuration file can be found in [.win.X11]nethack.rc.) -3. [As mentioned above, the set of Makefiles is out of date so disregard +5. [As mentioned above, the set of Makefiles is out of date so disregard this note....] Instead of using vmsbuild.com to compile and link everything, you can use the set of Makefiles found in the vms subdirectory, provided you @@ -224,7 +236,7 @@ Notes: [Note: Makefile.* have been updated occasionally but not exercised for a long time, so might not be in working order.] -4. termcap is an ASCII data file containing descriptions of terminal +6. termcap is an ASCII data file containing descriptions of terminal capabilities and the escape sequences that software must use to take advantage of them. If you do not already have a termcap file in use on your system there is a small one in file [.SYS.SHARE]TERMCAP. It @@ -252,11 +264,11 @@ Notes: termcap file, otherwise a message about "Unknown terminal type" will be printed and NetHack will exit. -5. Both vmsbuild.com and Makefile.src have provisions to build nethack's +7. Both vmsbuild.com and Makefile.src have provisions to build nethack's 'curses' interface, but the source code for it won't compile using the implementation of curses which is supplied with VMS. -6. NetHack contains code which attempts to make it secure in case it's +8. NetHack contains code which attempts to make it secure in case it's installed with privileges (to allow the playground to be protected against world write access). This has only undergone limited testing, so install NetHack with privileges at your own risk. If you discover @@ -309,7 +321,7 @@ Notes: built NetHack, you can relink with tracebacks disabled by doing $ @[.SYS.VMS]VMSBUILD "LINK" "" "" "/noTrace/noDebug" -7. If you can't or won't install nethack.exe with privileges and if you +9. If you can't or won't install nethack.exe with privileges and if you don't have access to a privileged account yourself, then if you intend to allow other users to access your copy of NetHack you should probably place an ACL on the playground directory and its save subdirectory. @@ -342,7 +354,7 @@ Notes: you to run recover.exe on behalf of other users, because you won't be able to create files owned by them unless you have elevated privileges. -8. Many NetHack commands can be aborted by sending it the +10. Many NetHack commands can be aborted by sending it the character when it wants input. This is displayed as ESC inside the game. Digital VK201 keyboards (used by VT2xx and VT3xx and older VAXstations) and VK401 keyboards (used by VT4xx, newer VAXstations, @@ -382,7 +394,7 @@ Notes: be sure to remember to eventually reattach to the NetHack subprocess; otherwise the game in progress won't get saved when you logout. -9. NetHack optionally maintains a logfile which receives one line appended +11. NetHack optionally maintains a logfile which receives one line appended to it whenever a game ends. This can be disabled entirely by adding an "#undef LOGFILE" directive to vmsconf.h prior to building the program, or it can be disabled later by removing the file(s) LOGFILE.;* @@ -393,7 +405,7 @@ Notes: more elaborate log file named XLOGFILE containing more information is handled similarly. -10. Some attempt at support for VMS versions earlier than V4.6 has been +12. Some attempt at support for VMS versions earlier than V4.6 has been included, but no such obsolete system was available for testing it. vmsbuild.com detects the need for the extra support routines and arranges automatically for them to be compiled. The reason that @@ -404,7 +416,7 @@ Notes: [That was written many years ago and the chance of it still working is very small.] -11. vmsbuild.com collects almost all of the object files (xxx.OBJ) into +13. vmsbuild.com collects almost all of the object files (xxx.OBJ) into an object library (NETHACK.OLB) as it compiles the source files. This should prevent the quota-exceeded problems from the linker that some sites have reported for prior versions. Note that if you @@ -416,7 +428,7 @@ Notes: If you forget to replace the library entry, your newly compiled code will not be included in the new executable image. -12. To access "wizard mode"--intended for debugging purposes, not to +14. To access "wizard mode"--intended for debugging purposes, not to spoil the game with unlimited wishes--you must be running from the username compiled into the game via Local_WIZARD in vmsconf.h, and you must specify "-D" on the command line when invoking NetHack. @@ -427,10 +439,10 @@ Notes: Any character name you specify will be ignored in favor of "wizard". [More out of date information. Rather than compile-time Local_WIZARD, - uses(s) allowed to entre wizard mode are now controlled by the entry + users(s) allowed to entre wizard mode are now controlled by the entry WIZARDS in the file SYSCONF.] -13. At program startup time, NetHack uses the empty file PERM to prevent +15. At program startup time, NetHack uses the empty file PERM to prevent two different processes from using the same character name (under the same UIC ownership) at the same time. It does this by temporarily giving that file a second directory entry named PERM.LOCK, then @@ -472,7 +484,7 @@ Notes: is accomplished using temporary entry RECORD.LOCK and LOGFILE using entry LOGFILE.LOCK. -14. Unless you have both Motif and the Athena Widget set from MIT, you +16. Unless you have both Motif and the Athena Widget set from MIT, you will not be able to use the X11 interface on VMS. Even if you do have both those things, such a configuration has not been tested and there are no provisions for it in vmsbuild.com. Makefile.src does @@ -498,7 +510,7 @@ Notes: window manager in order for any changes to take effect; it's easiest to just make the session manager quit and then log in again. -15. If necessary, send problem reports via e-mail to +17. If necessary, send problem reports via e-mail to Always include version information for NetHack, the operating system, and the C compiler used. @@ -506,6 +518,7 @@ Notes: 20-OCT-2003 minimally updated 9-NOV-2015... and again 5-MAY-2019... +and yet again 26-JAN-2020... # NetHack 3.6 Install.vms $NHDT-Date: 1575245132 2019/12/02 00:05:32 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.16 $ # Copyright (c) 2003 by Robert Patrick Rankin From 0305d0ae41e14d9a42d1abd30a0dbb0d893b6d2e Mon Sep 17 00:00:00 2001 From: nhmall Date: Mon, 27 Jan 2020 08:23:56 -0500 Subject: [PATCH 3/3] avoid link error with gcc 10 which enables -fno-common by default --- src/windows.c | 1 - win/X11/winX.c | 3 --- win/gnome/gnbind.c | 3 --- win/tty/wintty.c | 3 --- 4 files changed, 10 deletions(-) diff --git a/src/windows.c b/src/windows.c index 01ef4ccb9..94ac40f3e 100644 --- a/src/windows.c +++ b/src/windows.c @@ -878,7 +878,6 @@ const char *status_fieldnm[MAXBLSTATS]; const char *status_fieldfmt[MAXBLSTATS]; char *status_vals[MAXBLSTATS]; boolean status_activefields[MAXBLSTATS]; -NEARDATA winid WIN_STATUS; void genl_status_init() diff --git a/win/X11/winX.c b/win/X11/winX.c index d5b7d263c..463c03026 100644 --- a/win/X11/winX.c +++ b/win/X11/winX.c @@ -95,9 +95,6 @@ static XtSignalId X11_sig_id; #endif #endif -/* this is only needed until X11_status_* routines are written */ -extern NEARDATA winid WIN_STATUS; - /* Interface definition, for windows.c */ struct window_procs X11_procs = { "X11", diff --git a/win/gnome/gnbind.c b/win/gnome/gnbind.c index d23018cd8..53dee7232 100644 --- a/win/gnome/gnbind.c +++ b/win/gnome/gnbind.c @@ -19,9 +19,6 @@ winid WIN_WORN = WIN_ERR; extern void tty_raw_print(const char *); extern void tty_raw_print_bold(const char *); -/* this is only needed until gnome_status_* routines are written */ -extern NEARDATA winid WIN_STATUS; - /* Interface definition, for windows.c */ struct window_procs Gnome_procs = { "Gnome", WC_COLOR | WC_HILITE_PET | WC_INVERSE, 0L, diff --git a/win/tty/wintty.c b/win/tty/wintty.c index ea02b631e..d7ffec68e 100644 --- a/win/tty/wintty.c +++ b/win/tty/wintty.c @@ -74,9 +74,6 @@ extern short glyph2tile[]; extern char mapped_menu_cmds[]; /* from options.c */ -/* this is only needed until tty_status_* routines are written */ -extern NEARDATA winid WIN_STATUS; - /* Interface definition, for windows.c */ struct window_procs tty_procs = { "tty",