add CRASHREPORT directly to browser

add CRASHREPORT for Windows
add ^P info to report (via DUMPLOG)

new options: crash_email, crash_name, crash_urlmax
new game command: #bugreport
new config option: CRASHREPORT_EXEC_NOSTDERR
new command line option: --bidshow

deleted helper scripts:
    NetHackCrashReport.Javascript
    nhcrashreport.lua

misc:
    update CRASHREPORTURL (will need to be updated before release)
    update bitrot in winchain
    winchain for Windows
    add missing synch_wait for NetHackW --showpaths
    add PANICTRACE (and CRASHREPORT) in mdlib.c:build_opts

missing:
    packaging (Windows needs the pdb file)
    no testing with MSVC command line build

port status:
    linux: working, but glibc's backtrace doesn't show static functions
    Windows VS: working.  pdb file is large - looking into options
    MacOS: working
    msdos: not supported
    VMS: not supported
    MSVC: planned, but not attempted
    MSYS2: working, but libbacktrace not showing symbols (yet?)
This commit is contained in:
nhkeni
2024-02-06 18:33:59 -05:00
parent cf3cbcf832
commit dbe5c98dca
37 changed files with 1001 additions and 315 deletions

View File

@@ -26,6 +26,8 @@
\newcommand{\elist}{\end{list}}
\hyphenation{CRASHREPORTURL}
% this will make \tt underscores look better, but requires that
% math subscripts will never be used in this document
\catcode`\_=12
@@ -1332,6 +1334,12 @@ Show your attributes. Default key is `{\tt \^{}X}'.
\item[\tb{\#autopickup}]
Toggle the {\it autopickup\/} option. Default key is `{\tt @}'.
%.lp
\item[\tb{\#bugreport}]
Bring up a browser window to submit a report to the {\it NetHack Development
Team}.
Can be disabled at the time the program is built; when enabled,
CRASHREPORTURL must be set in the system configuration file.
%.lp
\item[\tb{\#call}]
Call (name) a monster, or an object in inventory, on the floor,
or in the discoveries list, or add an annotation for the
@@ -5420,6 +5428,31 @@ If {\it NetHack\/} can, it should wrap long lines of text if they don't fit
in the visible area of the window.
\elist
%.hn 2
\subsection*{Crash Report Options}
%.pg
Please note that NetHack does not send {\textbf any} information off your
computer unless you manually click submit on a form.
%.si
\blist{}
%.lp
\item[OPTION=crash_email:{\it email_address}]
%.lp
\item[OPTION=crash_name:{\it your_name}]
%.ei
\elist
These options are used only to save you some typing on the crash
report and \#bugreport forms.
%.si
\blist{}
%.lp
\item[OPTION=crash_urlmax:{\it bytes}]
%.ei
\elist
This option is used to limit the length of the URLs generated and is only
needed if your browser cannot handle arbitrarily long URLs.
%.hn 2
\subsection*{Platform-specific Customization options}
@@ -6616,10 +6649,11 @@ large unless it is actively maintained.
%.lp
\item[\ib{CRASHREPORTURL}]
If set to
{\tt https://www.nethack.org/common/contact.html}
{\tt https://www.nethack.org/links/cr-37BETA.html}
and support is compiled in, brings up a browser window populated with
the information needed to report a problem if the game panics or ends
up in an internally inconsistent state.
up in an internally inconsistent state, or if the \#bugreport command is
invoked.
\elist
%.hn 1