diff --git a/build/packages/win32-nsis/build-installer.bat b/build/packages/win32-nsis/build-installer.bat index b3af2d80e8..5e03f34d00 100755 --- a/build/packages/win32-nsis/build-installer.bat +++ b/build/packages/win32-nsis/build-installer.bat @@ -1,9 +1,5 @@ @echo off -if exist "opendylan.chm" goto sources -echo opendylan.chm not found -goto end - :SOURCES if exist "%OPEN_DYLAN_RELEASE_SOURCES%" goto license echo "cannot find release sources" diff --git a/build/packages/win32-nsis/opendylan.nsi b/build/packages/win32-nsis/opendylan.nsi index a0822d1097..9c42bdbbec 100755 --- a/build/packages/win32-nsis/opendylan.nsi +++ b/build/packages/win32-nsis/opendylan.nsi @@ -169,17 +169,6 @@ Section "${APPNAME} Core" SecOpendylanCore WriteUninstaller "uninstall.exe" SectionEnd -Section "Install Documentation" SecDoc - SectionIn 1 2 - - CreateDirectory "$INSTDIR\Documentation" - SetOutPath "$INSTDIR\Documentation\" - File "opendylan.chm" - - WriteRegStr HKLM "${REGISTRY_KEY}\1.0\OnlineHelp" "DocPath" "$INSTDIR\Documentation\opendylan.chm" - WriteRegStr HKLM "${REGISTRY_KEY}\1.0\OnlineHelp" "DocType" "HTMLHelp" -SectionEnd - Section "Associate .ddb files" SecAssocDDB SectionIn 1 2 @@ -310,8 +299,6 @@ SectionEnd !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN !insertmacro MUI_DESCRIPTION_TEXT ${SecOpendylanCore} \ "${APPNAME} core files (required)" - !insertmacro MUI_DESCRIPTION_TEXT ${SecDoc} \ - "Install the documentation.." !insertmacro MUI_DESCRIPTION_TEXT ${SecRedistributable} \ "Copy redistributable files to separate folder. It is possible to run make-redistributable.bat later to do this." !insertmacro MUI_DESCRIPTION_TEXT ${SecModifyPath} \ diff --git a/documentation/source/release-notes/2026.2.rst b/documentation/source/release-notes/2026.2.rst index ede407ff71..aa59de6ae4 100644 --- a/documentation/source/release-notes/2026.2.rst +++ b/documentation/source/release-notes/2026.2.rst @@ -36,6 +36,14 @@ Compiler IDE has been removed, and the compiler will no longer attempt to assign a base address automatically when projects are saved. +IDE +=== + +* The :menuselection:`Help --> Contents and Index` and + :menuselection:`Help --> Help on Selection` menu items now open the + https://opendylan.org web site in the default browser rather than + starting an outdated HTML Help file. + Tools ===== diff --git a/sources/environment/tools/help.dylan b/sources/environment/tools/help.dylan index 72cb3fbfad..270a8d47d7 100644 --- a/sources/environment/tools/help.dylan +++ b/sources/environment/tools/help.dylan @@ -121,9 +121,8 @@ define method do-execute-command frame-show-about-box(frame) end method do-execute-command; -/// NB This filename is agreed with the doc team and will be found in the OS Help directory. define help-source open-dylan - as(, release-help-location()) + release-help-web-address() end help-source; define method frame-help-source @@ -183,8 +182,6 @@ end method help-credits; /// Web site command tables -define constant $download-doc-page = release-web-address(); - define function frame-open-dylan-web-page (frame :: , #key page = release-web-address()) => () let location = as(, page); @@ -194,66 +191,18 @@ end function frame-open-dylan-web-page; /// Help command table -define settings () - key-name "OnlineHelp"; - slot doctype :: = #"None"; - slot docpath :: = ""; -end settings ; - -define constant $documentation-settings = make(); - -define function online-doc-installed? - () => (installed? :: ) - $documentation-settings.doctype == #"HTMLHelp" -end function online-doc-installed?; - -define function online-doc-location - () => (location :: false-or()) - let path = $documentation-settings.docpath; - $documentation-settings.doctype ~= #"None" - & path - & ~empty?(path) - & as(, path) -end function online-doc-location; - define sideways method frame-help-contents-and-index (frame :: ) => () - do-frame-help(frame, ) + let location = as(, release-help-web-address()); + frame-open-object(frame, location); end method frame-help-contents-and-index; define sideways method frame-help-on-keyword (frame :: , keyword) => () - do-frame-help(frame, , keyword: keyword) + let location = as(, release-help-web-address()); + frame-open-object(frame, make(, file: location, cgi-string: keyword)); end method frame-help-on-keyword; -//--- Hack because HTMLHelp doesn't seem to like multiple threads chattering away to it -define method do-frame-help - (frame :: , class :: subclass(), #rest initargs) => () - let location = online-doc-location(); - case - online-doc-installed?() => - let primary = environment-primary-frame(); - // Make sure the primary frame is in front, to make sure the Help window - // doesn't appear behind other windows because it is owned by the primary frame. - call-in-frame(primary, deiconify-frame, primary); - call-in-frame(primary, raise-frame, primary); - let command = apply(make, class, server: primary, initargs); - call-in-frame(primary, execute-command, command); - location & file-exists?(location) => - frame-open-object(frame, location); - otherwise => - if (environment-question - (format-to-string - ("%s online documentation is not installed. " - "Download it from the web?", - release-product-name()), - owner: frame, - exit-style: #"yes-no")) - frame-open-dylan-web-page(frame, page: $download-doc-page) - end; - end -end method do-frame-help; - // "Service" function, mainly for use by environment-manager library. define sideways method show-documentation (name :: , diff --git a/sources/environment/tools/primary-frame.dylan b/sources/environment/tools/primary-frame.dylan index f534425e0f..8be55cd9bc 100644 --- a/sources/environment/tools/primary-frame.dylan +++ b/sources/environment/tools/primary-frame.dylan @@ -178,13 +178,6 @@ define method make-help-tool-bar-buttons command: frame-open-playground, activate-callback: method (sheet) frame-open-playground(sheet-frame(sheet)) - end), - make(