From 18fd7e987d7bf04dc69d0a4b0f5f470cef0661de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 1 Dec 2024 00:43:31 +0000 Subject: [PATCH 1/3] style: Trim trailing whitespaces --- .cppcheck-suppressions | 6 +- .../create-upload-suggestions/action.yml | 2 +- .github/workflows/macos.yml | 2 +- lib/fonts/fonts/cyrilc.hmp | 2 +- lib/fonts/fonts/fonts.table | 6 +- mswindows/GRASS-Installer.nsi.tmpl | 256 +++++++++--------- mswindows/Makefile | 2 +- mswindows/generic.manifest | 6 +- vector/v.buffer/v.buffer.html | 2 +- vector/v.class/v.class.html | 8 +- vector/v.surf.bspline/v.surf.bspline.html | 14 +- 11 files changed, 153 insertions(+), 153 deletions(-) diff --git a/.cppcheck-suppressions b/.cppcheck-suppressions index d2df344bb3a..a02a60aa5aa 100644 --- a/.cppcheck-suppressions +++ b/.cppcheck-suppressions @@ -29,7 +29,7 @@ syntaxError:display/displaydrivers.html # dist.x86_64-pc-linux-gnu syntaxError:dist.x86_64-pc-linux-gnu/* -# doc +# doc syntaxError:doc/* # docker @@ -51,7 +51,7 @@ negativeIndex:imagery/i.atcorr/computations.cpp:1025 syntaxError:include/Makefile syntaxError:include/VERSION:1 -# text files +# text files syntaxError:INSTALL.md syntaxError:install-sh syntaxError:GPL.TXT @@ -131,7 +131,7 @@ syntaxError:mswindows/* invalidFunctionArg:raster/r.sim/simlib/random.c:36 invalidFunctionArg:raster/r.sim/simlib/random.c:57 -## Different rules under different ifdef. +## Different rules under different ifdef. ctuOneDefinitionRuleViolation:raster/r.in.pdal/grassrasterwriter.h:39 syntaxError:raster/rasterintro.html syntaxError:raster/Makefile:155 diff --git a/.github/actions/create-upload-suggestions/action.yml b/.github/actions/create-upload-suggestions/action.yml index b80c08c1b46..791df86541b 100644 --- a/.github/actions/create-upload-suggestions/action.yml +++ b/.github/actions/create-upload-suggestions/action.yml @@ -225,7 +225,7 @@ runs: env: FORMATTED_URL: >- [`formatted-${{ steps.tool-name-safe.outputs.tool-name }}`](${{ - steps.upload-changes.outputs.artifact-url }}) + steps.upload-changes.outputs.artifact-url }}) - name: Fail action if some files were changed if: >- ${{ (steps.files_changed.outputs.files_changed == 'true') && diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index d966cc87dc9..821149c00b5 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -104,7 +104,7 @@ jobs: --min-success 100 --config .github/workflows/macos_gunittest.cfg env: SampleData: "https://grass.osgeo.org/sampledata/north_carolina/\ - nc_spm_full_v2alpha2.tar.gz" + nc_spm_full_v2alpha2.tar.gz" - name: Make HTML test report available if: ${{ !cancelled() }} uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 diff --git a/lib/fonts/fonts/cyrilc.hmp b/lib/fonts/fonts/cyrilc.hmp index 12b63015753..c1d5c6f5086 100644 --- a/lib/fonts/fonts/cyrilc.hmp +++ b/lib/fonts/fonts/cyrilc.hmp @@ -19,4 +19,4 @@ 2801 2802 2823 2805 2806 2821 2804 2822 2809 2810 2811 2812 2813 2814 2815 2816 2832 2817 2818 2819 2820 2807 2803 2829 -2828 2808 2825 2830 2826 2824 2827 2832 +2828 2808 2825 2830 2826 2824 2827 2832 diff --git a/lib/fonts/fonts/fonts.table b/lib/fonts/fonts/fonts.table index d4d8486b5fa..f897f10384d 100644 --- a/lib/fonts/fonts/fonts.table +++ b/lib/fonts/fonts/fonts.table @@ -1,16 +1,16 @@ # # Descriptive Names for GRASS Stroke Fonts # -# This file maps a descriptive name to each font file, for use in the +# This file maps a descriptive name to each font file, for use in the # description field in the fontcap table (generated by g.mkfontcap). # # Format: Each line contains the filename followed by the vertical bar # character | and then the descriptive name. # -# Note that this file is used purely for the purpose of specifying +# Note that this file is used purely for the purpose of specifying # descriptive names for the Stroke fonts in this directory. # $GISBASE/etc/fontcap contains the list of fonts available to the GRASS -# display drivers, and any changes must be reflected there before they are +# display drivers, and any changes must be reflected there before they are # available for use - g.mkfontcap can do this automatically. # cyrilc.hmp|Cyrillic diff --git a/mswindows/GRASS-Installer.nsi.tmpl b/mswindows/GRASS-Installer.nsi.tmpl index 2b2722a5083..ab01e133a51 100644 --- a/mswindows/GRASS-Installer.nsi.tmpl +++ b/mswindows/GRASS-Installer.nsi.tmpl @@ -4,7 +4,7 @@ ;Written by Marco Pasetti ;Updated for OSGeo4W by Colin Nielsen, Helmut Kudrnovsky, and Martin Landa ;Last Update: $Id$ -;Mail to: grass-dev@lists.osgeo.org +;Mail to: grass-dev@lists.osgeo.org ;---------------------------------------------------------------------------------------------------------------------------- @@ -102,7 +102,7 @@ ShowUnInstDetails hide ;StrReplace Function ;Replaces all occurrences of a given needle within a haystack with another string ;Written by dandaman32 - + Var STR_REPLACE_VAR_0 Var STR_REPLACE_VAR_1 Var STR_REPLACE_VAR_2 @@ -112,7 +112,7 @@ Var STR_REPLACE_VAR_5 Var STR_REPLACE_VAR_6 Var STR_REPLACE_VAR_7 Var STR_REPLACE_VAR_8 - + Function StrReplace Exch $STR_REPLACE_VAR_2 Exch 1 @@ -140,7 +140,7 @@ Function StrReplace Pop $STR_REPLACE_VAR_1 ; stack as it was before the function was called Exch $STR_REPLACE_VAR_0 FunctionEnd - + !macro _strReplaceConstructor OUT NEEDLE NEEDLE2 HAYSTACK Push "${HAYSTACK}" Push "${NEEDLE}" @@ -148,7 +148,7 @@ FunctionEnd Call StrReplace Pop "${OUT}" !macroend - + !define StrReplace '!insertmacro "_strReplaceConstructor"' ;---------------------------------------------------------------------------------------------------------------------------- @@ -184,35 +184,35 @@ Function .onInit Var /GLOBAL UNINSTALL_STRING Var /GLOBAL INSTALL_PATH - + Var /GLOBAL INSTALLED_VERSION_NUMBER Var /GLOBAL INSTALLED_GIT_REVISION Var /GLOBAL INSTALLED_BINARY_REVISION - + Var /GLOBAL INSTALLED_VERSION - + Var /GLOBAL DISPLAYED_INSTALLED_VERSION - + Var /GLOBAL MESSAGE_0_ Var /GLOBAL MESSAGE_1_ Var /GLOBAL MESSAGE_2_ Var /GLOBAL MESSAGE_3_ - + ReadRegStr $UNINSTALL_STRING HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GRASS_BASE}" "UninstallString" ReadRegStr $INSTALL_PATH HKLM "Software\${GRASS_BASE}" "InstallPath" ReadRegStr $INSTALLED_VERSION_NUMBER HKLM "Software\${GRASS_BASE}" "VersionNumber" ReadRegStr $INSTALLED_GIT_REVISION HKLM "Software\${GRASS_BASE}" "GitRevision" - + ${If} $INSTALLED_GIT_REVISION == "" ReadRegStr $INSTALLED_GIT_REVISION HKLM "Software\${GRASS_BASE}" "Revision" - ${EndIf} - + ${EndIf} + ReadRegStr $INSTALLED_BINARY_REVISION HKLM "Software\${GRASS_BASE}" "BinaryRevision" - + StrCpy $MESSAGE_0_ "${CHECK_INSTALL_NAME} is already installed on your system.$\r$\n" StrCpy $MESSAGE_0_ "$MESSAGE_0_$\r$\n" - - !if ${INSTALLER_TYPE} == "Release" + + !if ${INSTALLER_TYPE} == "Release" ${If} $INSTALLED_BINARY_REVISION == "" StrCpy $DISPLAYED_INSTALLED_VERSION "$INSTALLED_VERSION_NUMBER" ${Else} @@ -221,32 +221,32 @@ Function .onInit !else StrCpy $DISPLAYED_INSTALLED_VERSION "$INSTALLED_VERSION_NUMBER-$INSTALLED_GIT_REVISION-$INSTALLED_BINARY_REVISION" !endif - + StrCpy $MESSAGE_0_ "$MESSAGE_0_The installed release is $DISPLAYED_INSTALLED_VERSION$\r$\n" - + StrCpy $MESSAGE_1_ "$MESSAGE_0_$\r$\n" StrCpy $MESSAGE_1_ "$MESSAGE_1_You are going to install a newer release of ${CHECK_INSTALL_NAME}$\r$\n" StrCpy $MESSAGE_1_ "$MESSAGE_1_$\r$\n" StrCpy $MESSAGE_1_ "$MESSAGE_1_Press OK to uninstall GRASS $DISPLAYED_INSTALLED_VERSION" StrCpy $MESSAGE_1_ "$MESSAGE_1_ and install ${DISPLAYED_NAME} or Cancel to quit." - + StrCpy $MESSAGE_2_ "$MESSAGE_0_$\r$\n" StrCpy $MESSAGE_2_ "$MESSAGE_2_You are going to install an older release of ${CHECK_INSTALL_NAME}$\r$\n" StrCpy $MESSAGE_2_ "$MESSAGE_2_$\r$\n" StrCpy $MESSAGE_2_ "$MESSAGE_2_Press OK to uninstall GRASS $DISPLAYED_INSTALLED_VERSION" StrCpy $MESSAGE_2_ "$MESSAGE_2_ and install ${DISPLAYED_NAME} or Cancel to quit." - + StrCpy $MESSAGE_3_ "$MESSAGE_0_$\r$\n" StrCpy $MESSAGE_3_ "$MESSAGE_3_This is the latest release available.$\r$\n" StrCpy $MESSAGE_3_ "$MESSAGE_3_$\r$\n" StrCpy $MESSAGE_3_ "$MESSAGE_3_Press OK to reinstall ${DISPLAYED_NAME} or Cancel to quit." - + IntOp $INSTALLED_GIT_REVISION $INSTALLED_GIT_REVISION * 1 IntOp $INSTALLED_BINARY_REVISION $INSTALLED_BINARY_REVISION * 1 IntOp $INSTALLED_VERSION $INSTALLED_GIT_REVISION + $INSTALLED_BINARY_REVISION - + !define /math VERSION ${GIT_REVISION} + ${BINARY_REVISION} - + ${If} $INSTALLED_VERSION_NUMBER == "" ${Else} ${If} $INSTALLED_VERSION < ${VERSION} @@ -275,9 +275,9 @@ Function .onInit quit_reinstall: Abort continue_reinstall: - ${EndIf} + ${EndIf} ${EndIf} - + ${If} $INSTALLED_VERSION_NUMBER == "" ${Else} ${If} $0 = 0 @@ -295,10 +295,10 @@ FunctionEnd Function CheckUpdate - ${If} $ASK_FOR_PATH == "NO" + ${If} $ASK_FOR_PATH == "NO" Abort ${EndIf} - + FunctionEnd ;---------------------------------------------------------------------------------------------------------------------------- @@ -310,26 +310,26 @@ FunctionEnd ;Function CheckInstDir ; Var /GLOBAL INSTDIR_TEST -; Var /GLOBAL INSTDIR_LENGTH +; Var /GLOBAL INSTDIR_LENGTH ; Var /GLOBAL INSTDIR_TEST_LENGTH ; Var /GLOBAL MESSAGE_CHKINST_ -; +; ; StrCpy $MESSAGE_CHKINST_ "WARNING: you are about to install GRASS into a directory that has spaces$\r$\n" ; StrCpy $MESSAGE_CHKINST_ "$MESSAGE_CHKINST_in either its name or the path of directories leading up to it.$\r$\n" ; StrCpy $MESSAGE_CHKINST_ "$MESSAGE_CHKINST_Some functionalities of GRASS might be hampered by this. We would highly$\r$\n" ; StrCpy $MESSAGE_CHKINST_ "$MESSAGE_CHKINST_appreciate if you tried and reported any problems, so that we can fix them.$\r$\n" ; StrCpy $MESSAGE_CHKINST_ "$MESSAGE_CHKINST_However, if you want to avoid any such issues, we recommend that you$\r$\n" ; StrCpy $MESSAGE_CHKINST_ "$MESSAGE_CHKINST_choose a simple installation path without spaces, such as: C:\${GRASS_BASE}.$\r$\n" -; +; ; ${StrReplace} "$INSTDIR_TEST" " " "" "$INSTDIR" -; +; ; StrLen $INSTDIR_LENGTH "$INSTDIR" ; StrLen $INSTDIR_TEST_LENGTH "$INSTDIR_TEST" -; -; ${If} $INSTDIR_TEST_LENGTH < $INSTDIR_LENGTH +; +; ${If} $INSTDIR_TEST_LENGTH < $INSTDIR_LENGTH ; MessageBox MB_OK|MB_ICONEXCLAMATION "$MESSAGE_CHKINST_" ; ${EndIf} -; +; ;FunctionEnd ;---------------------------------------------------------------------------------------------------------------------------- @@ -351,39 +351,39 @@ Function ReplaceLineStr Push $R7 ; input string length Push $R8 ; line string length Push $R9 ; global - + StrLen $R7 $R1 - + GetTempFileName $R4 - + FileOpen $R5 $R4 w FileOpen $R3 $R2 r - + ReadLoop: ClearErrors FileRead $R3 $R6 IfErrors Done - + StrLen $R8 $R6 StrCpy $R9 $R6 $R7 -$R8 StrCmp $R9 $R1 0 +3 - + FileWrite $R5 "$R0$\r$\n" Goto ReadLoop - + FileWrite $R5 $R6 Goto ReadLoop - + Done: - + FileClose $R3 FileClose $R5 - + SetDetailsPrint none Delete $R2 Rename $R4 $R2 SetDetailsPrint both - + Pop $R9 Pop $R8 Pop $R7 @@ -491,24 +491,24 @@ Var /GLOBAL DOWNLOAD_MESSAGE_ Section "GRASS" SecGRASS SectionIn RO - + ;Set the INSTALL_DIR variable Var /GLOBAL INSTALL_DIR - - ${If} $ASK_FOR_PATH == "NO" + + ${If} $ASK_FOR_PATH == "NO" StrCpy $INSTALL_DIR "$INSTALL_PATH" ${Else} StrCpy $INSTALL_DIR "$INSTDIR" ${EndIf} - + ;Set to try to overwrite existing files - SetOverwrite try - + SetOverwrite try + ;Set the GIS_DATABASE directory SetShellVarContext current - Var /GLOBAL GIS_DATABASE + Var /GLOBAL GIS_DATABASE StrCpy $GIS_DATABASE "$DOCUMENTS\grassdata" - + ;Create the GIS_DATABASE directory CreateDirectory "$GIS_DATABASE" @@ -516,7 +516,7 @@ Section "GRASS" SecGRASS SetOutPath "$INSTALL_DIR" File .\Installer-Files\GRASS-WebSite.url File .\Installer-Files\WinGRASS-README.url - + ;add GRASS files SetOutPath "$INSTALL_DIR" File /r ${PACKAGE_FOLDER}\*.* @@ -524,12 +524,12 @@ Section "GRASS" SecGRASS ;grant $INSTDIR\etc read write accessible and show if succeeded: error if it failed AccessControl::GrantOnFile "$INSTDIR\etc" "(S-1-5-32-545)" "FullAccess" Pop $R0 - DetailPrint $R0 - ;grant modifying/overwriting fontcap file and show if succeeded: error if it failed + DetailPrint $R0 + ;grant modifying/overwriting fontcap file and show if succeeded: error if it failed AccessControl::GrantOnFile "$INSTDIR\etc\fontcap" "(S-1-5-32-545)" "FullAccess" Pop $R0 - DetailPrint $R0 - + DetailPrint $R0 + ;create run_gmkfontcap.bat ClearErrors FileOpen $0 $INSTALL_DIR\etc\run_gmkfontcap.bat w @@ -567,12 +567,12 @@ Section "GRASS" SecGRASS FileOpen $0 $INSTALL_DIR\etc\run_gmkfontcap.bat.manifest w IfErrors done_create_run_gmkfontcap.bat.manifest FileWrite $0 ' $\r$\n' - FileWrite $0 '$\r$\n' + FileWrite $0 '$\r$\n' FileWrite $0 ' $\r$\n' - FileWrite $0 ' GRASS help script:run_gmkfontcap$\r$\n' + FileWrite $0 ' type="win32"/>$\r$\n' + FileWrite $0 ' GRASS help script:run_gmkfontcap$\r$\n' FileWrite $0 ' $\r$\n' FileWrite $0 ' $\r$\n' FileWrite $0 ' $\r$\n' @@ -586,13 +586,13 @@ Section "GRASS" SecGRASS FileWrite $0 '$\r$\n' FileClose $0 done_create_run_gmkfontcap.bat.manifest: - + ;Run g.mkfontcap outside a grass session during installation to catch all fonts ExecWait '"$INSTALL_DIR\etc\run_gmkfontcap.bat"' ;set $INSTDIR\etc back to read accessible - AccessControl::SetOnFile "$INSTDIR\etc" "(S-1-5-32-545)" "GenericRead + GenericExecute" - + AccessControl::SetOnFile "$INSTDIR\etc" "(S-1-5-32-545)" "GenericRead + GenericExecute" + ;Install demolocation into the GIS_DATABASE directory SetOutPath "$GIS_DATABASE\demolocation" File /r ${DEMOLOCATION_PATH}\*.* @@ -605,9 +605,9 @@ Section "GRASS" SecGRASS ;Create the Uninstaller WriteUninstaller "$INSTALL_DIR\Uninstall-GRASS.exe" - + ;Registry Key Entries - + ;HKEY_LOCAL_MACHINE Install entries ;Set the Name, Version and Revision of GRASS + PublisherInfo + InstallPath WriteRegStr HKLM "Software\${GRASS_BASE}" "Name" "${GRASS_BASE}" @@ -617,11 +617,11 @@ Section "GRASS" SecGRASS WriteRegStr HKLM "Software\${GRASS_BASE}" "Publisher" "${PUBLISHER}" WriteRegStr HKLM "Software\${GRASS_BASE}" "WebSite" "${WEB_SITE}" WriteRegStr HKLM "Software\${GRASS_BASE}" "InstallPath" "$INSTALL_DIR" - + ;HKEY_LOCAL_MACHINE Uninstall entries WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GRASS_BASE}" "DisplayName" "GRASS GIS @GRASS_VERSION_MAJOR@.@GRASS_VERSION_MINOR@" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GRASS_BASE}" "UninstallString" "$INSTALL_DIR\Uninstall-GRASS.exe" - + !if ${INSTALLER_TYPE} == "Release" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GRASS_BASE}"\ "DisplayVersion" "${VERSION_NUMBER}-${BINARY_REVISION}" @@ -629,31 +629,31 @@ Section "GRASS" SecGRASS WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GRASS_BASE}"\ "DisplayVersion" "${VERSION_NUMBER}-${GIT_REVISION}-${BINARY_REVISION}" !endif - + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GRASS_BASE}" "DisplayIcon" "$INSTALL_DIR\gui\icons\grass.ico" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GRASS_BASE}" "EstimatedSize" 1 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GRASS_BASE}" "HelpLink" "${WIKI_PAGE}" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GRASS_BASE}" "URLInfoAbout" "${WEB_SITE}" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GRASS_BASE}" "Publisher" "${PUBLISHER}" - + ;Create the Desktop Shortcut SetShellVarContext current - + CreateShortCut "$DESKTOP\${GRASS_BASE}.lnk" "$INSTALL_DIR\${GRASS_COMMAND}.bat" "--gui"\ "$INSTALL_DIR\gui\icons\grass.ico" "" SW_SHOWNORMAL "" "Launch GRASS GIS ${VERSION_NUMBER}" - + ;Create the Windows Start Menu Shortcuts SetShellVarContext all - + CreateDirectory "$SMPROGRAMS\${GRASS_BASE}" - + CreateShortCut "$SMPROGRAMS\${GRASS_BASE}\${GRASS_BASE}.lnk" "$INSTALL_DIR\${GRASS_COMMAND}.bat" "--gui"\ "$INSTALL_DIR\gui\icons\grass.ico" "" SW_SHOWNORMAL "" "Launch GRASS GIS ${VERSION_NUMBER}" - + CreateShortCut "$SMPROGRAMS\${GRASS_BASE}\Uninstall ${GRASS_BASE}.lnk" "$INSTALL_DIR\Uninstall-GRASS.exe" ""\ "$INSTALL_DIR\Uninstall-GRASS.exe" "" SW_SHOWNORMAL "" "Uninstall GRASS GIS ${VERSION_NUMBER}" - + ;Create the grass_command.bat ClearErrors FileOpen $0 $INSTALL_DIR\${GRASS_COMMAND}.bat w @@ -680,20 +680,20 @@ Section "GRASS" SecGRASS FileWrite $0 'if %ERRORLEVEL% GEQ 1 pause' FileClose $0 done_create_grass_command.bat: - + ;Set the UNIX_LIKE GRASS Path Var /GLOBAL UNIX_LIKE_DRIVE Var /GLOBAL UNIX_LIKE_GRASS_PATH - + StrCpy $UNIX_LIKE_DRIVE "$INSTALL_DIR" 3 StrCpy $UNIX_LIKE_GRASS_PATH "$INSTALL_DIR" "" 3 - + ;replace "\" with "/" in $UNIX_LIKE_DRIVE ${StrReplace} "$UNIX_LIKE_DRIVE" "\" "/" "$UNIX_LIKE_DRIVE" - + ;replace ":" with "" in $UNIX_LIKE_DRIVE ${StrReplace} "$UNIX_LIKE_DRIVE" ":" "" "$UNIX_LIKE_DRIVE" - + ;replace "\" with "/" in $UNIX_LIKE_GRASS_PATH ${StrReplace} "$UNIX_LIKE_GRASS_PATH" "\" "/" "$UNIX_LIKE_GRASS_PATH" @@ -709,28 +709,28 @@ Section "GRASS" SecGRASS ;It first read the $PROFILE variable, to scan the OS version: ;If equal to "drive:\Users\UserName", the OS is Vista, and the $USERNAME variable set to $PROFILE - "drive:\Users\" ;If not, the OS is XP or previous, and the $USERNAME variable set to $PROFILE - "drive:\Documents and Settings\" - + ${If} $USERNAME == "" StrCpy $PROFILE_DRIVE "$PROFILE" 2 StrCpy $PROFILE_ROOT "$PROFILE" 5 -3 - ${If} $USERNAME = "Users" + ${If} $USERNAME = "Users" ${StrReplace} "$USERNAME" "$PROFILE_DRIVE\Users\" "" "$PROFILE" ${Else} ${StrReplace} "$USERNAME" "$PROFILE_DRIVE\Documents and Settings\" "" "$PROFILE" ${EndIf} ${EndIf} - + ;Get the short form of the install path (to allow for paths with spaces) VAR /GLOBAL INST_DIR_SHORT GetFullPathName /SHORT $INST_DIR_SHORT $INSTALL_DIR ;Set the Unix-Like GIS_DATABASE Path ;Var /GLOBAL UNIX_LIKE_GIS_DATABASE_PATH - + ;replace \ with / in $GIS_DATABASE ;${StrReplace} "$UNIX_LIKE_GIS_DATABASE_PATH" "\" "/" "$GIS_DATABASE" - SetShellVarContext current + SetShellVarContext current ${If} ${FileExists} "$APPDATA\GRASS@GRASS_VERSION_MAJOR@\rc" DetailPrint "File $APPDATA\GRASS@GRASS_VERSION_MAJOR@\rc already exists. Skipping." ${Else} @@ -742,7 +742,7 @@ Section "GRASS" SecGRASS FileWrite $0 'GISDBASE: $GIS_DATABASE$\r$\n' FileWrite $0 'LOCATION_NAME: demolocation$\r$\n' FileWrite $0 'MAPSET: PERMANENT$\r$\n' - FileClose $0 + FileClose $0 done_create_grass_rc: ${EndIf} @@ -751,7 +751,7 @@ Section "GRASS" SecGRASS Push 'gisbase = "/c/OSGeo4W/apps/grass/grass-@GRASS_VERSION_MAJOR@.@GRASS_VERSION_MINOR@.@GRASS_VERSION_RELEASE@"' ; string that a line must begin with *WS Sensitive* Push 'gisbase = "$INSTDIR"' ; string to replace whole line with Call ReplaceLineStr - + ;replace config_projshare Push "$INSTDIR\etc\grass@GRASS_VERSION_MAJOR@@GRASS_VERSION_MINOR@.py" ; file to modify Push 'config_projshare = "/c/OSGeo4W/share/proj"' ; string that a line must begin with *WS Sensitive* @@ -759,7 +759,7 @@ Section "GRASS" SecGRASS Call ReplaceLineStr ;replace BU with numeric group name for local users. Users S-1-5-32-545 does not work for Windows Enterprise. Try Authenticated Users S-1-5-11 - AccessControl::SetOnFile "$INSTDIR\etc\grass@GRASS_VERSION_MAJOR@@GRASS_VERSION_MINOR@.py" "(S-1-5-11)" "GenericRead + GenericExecute" + AccessControl::SetOnFile "$INSTDIR\etc\grass@GRASS_VERSION_MAJOR@@GRASS_VERSION_MINOR@.py" "(S-1-5-11)" "GenericRead + GenericExecute" SectionEnd ;-------------------------------------------------------------------------- @@ -789,30 +789,30 @@ Function DownloadInstallMSRuntime StrCpy $DOWNLOAD_MESSAGE_ "$DOWNLOAD_MESSAGE_ installation without the $EXTENDED_ARCHIVE_NAME.$\r$\n" MessageBox MB_OKCANCEL "$DOWNLOAD_MESSAGE_" IDOK download IDCANCEL cancel_download - - download: - SetShellVarContext current + + download: + SetShellVarContext current InitPluginsDir NSISdl::download "$HTTP_PATH/$ARCHIVE_NAME" "$TEMP\$ARCHIVE_NAME" Pop $0 StrCmp $0 "success" download_ok download_failed - - download_ok: + + download_ok: InitPluginsDir untgz::extract -d "$TEMP\$ORIGINAL_UNTAR_FOLDER" -zbz2 "$TEMP\$ARCHIVE_NAME" Pop $0 StrCmp $0 "success" untar_ok untar_failed - + download_failed: DetailPrint "$0" ;print error message to log MessageBox MB_OK "Download Failed.$\r$\nGRASS will be installed without the $EXTENDED_ARCHIVE_NAME." Goto end - + cancel_download: MessageBox MB_OK "Download Cancelled.$\r$\nGRASS will be installed without the $EXTENDED_ARCHIVE_NAME." Goto end - + untar_failed: DetailPrint "$0" ;print error message to log @@ -822,7 +822,7 @@ Function DownloadInstallMSRuntime CopyFiles "$TEMP\$ORIGINAL_UNTAR_FOLDER\bin\*.dll" "$INSTALL_DIR\extrabin" DetailPrint "MS runtime files installed." Goto end - + end: FunctionEnd @@ -831,15 +831,15 @@ Section "Important Microsoft Runtime DLLs" SecMSRuntime ;Set the size (in KB) of the archive file StrCpy $ARCHIVE_SIZE_KB 833 - + ;Set the size (in KB) of the unpacked archive file AddSize 13500 - + StrCpy $HTTP_PATH "http://download.osgeo.org/osgeo4w/v2/${PLATFORM}/release/msvcrt2019/" StrCpy $ARCHIVE_NAME "msvcrt2019-14.2-1.tar.bz2" StrCpy $EXTENDED_ARCHIVE_NAME "Microsoft Visual C++ Redistributable Packages" StrCpy $ORIGINAL_UNTAR_FOLDER "install_msruntime" - + Call DownloadInstallMSRuntime SectionEnd @@ -847,7 +847,7 @@ SectionEnd Function DownloadDataSet ; IntOp $ARCHIVE_SIZE_MB $ARCHIVE_SIZE_KB / 1024 - + StrCpy $DOWNLOAD_MESSAGE_ "The installer will download the $EXTENDED_ARCHIVE_NAME sample data set.$\r$\n" StrCpy $DOWNLOAD_MESSAGE_ "$DOWNLOAD_MESSAGE_$\r$\n" ; StrCpy $DOWNLOAD_MESSAGE_ "$DOWNLOAD_MESSAGE_The archive is about $ARCHIVE_SIZE_MB MB and may take" @@ -859,40 +859,40 @@ Function DownloadDataSet StrCpy $DOWNLOAD_MESSAGE_ "$DOWNLOAD_MESSAGE_$\r$\n" StrCpy $DOWNLOAD_MESSAGE_ "$DOWNLOAD_MESSAGE_Press OK to continue or Cancel to skip the download and complete the GRASS" StrCpy $DOWNLOAD_MESSAGE_ "$DOWNLOAD_MESSAGE_ installation without the $EXTENDED_ARCHIVE_NAME data set.$\r$\n" - + MessageBox MB_OKCANCEL "$DOWNLOAD_MESSAGE_" IDOK download IDCANCEL cancel_download - - download: - SetShellVarContext current + + download: + SetShellVarContext current InitPluginsDir NSISdl::download "$HTTP_PATH/$ARCHIVE_NAME" "$TEMP\$ARCHIVE_NAME" Pop $0 StrCmp $0 "success" download_ok download_failed - - download_ok: + + download_ok: InitPluginsDir untgz::extract -d "$GIS_DATABASE" "$TEMP\$ARCHIVE_NAME" Pop $0 StrCmp $0 "success" untar_ok untar_failed - - untar_ok: + + untar_ok: Rename "$GIS_DATABASE\$ORIGINAL_UNTAR_FOLDER" "$GIS_DATABASE\$CUSTOM_UNTAR_FOLDER" Delete "$TEMP\$ARCHIVE_NAME" Goto end - + download_failed: DetailPrint "$0" ;print error message to log MessageBox MB_OK "Download Failed.$\r$\nGRASS will be installed without the $EXTENDED_ARCHIVE_NAME sample data set." Goto end - + cancel_download: MessageBox MB_OK "Download Cancelled.$\r$\nGRASS will be installed without the $EXTENDED_ARCHIVE_NAME sample data set." Goto end - + untar_failed: DetailPrint "$0" ;print error message to log - + end: FunctionEnd @@ -901,34 +901,34 @@ Section /O "North Carolina (Wake County) Data Set" SecNorthCarolinaSDB ;Set the size (in KB) of the archive file StrCpy $ARCHIVE_SIZE_KB 144213 - + ;Set the size (in KB) of the unpacked archive file AddSize 254521 - + StrCpy $HTTP_PATH "https://grass.osgeo.org/sampledata/north_carolina/" StrCpy $ARCHIVE_NAME "nc_spm_08_grass7.tar.gz" StrCpy $EXTENDED_ARCHIVE_NAME "North Carolina (Wake County)" StrCpy $ORIGINAL_UNTAR_FOLDER "nc_spm_08_grass7" StrCpy $CUSTOM_UNTAR_FOLDER "North_Carolina" - - Call DownloadDataSet - + + Call DownloadDataSet + SectionEnd Section /O "South Dakota (Spearfish County) Data Set" SecSpearfishSDB ;Set the size (in KB) of the archive file StrCpy $ARCHIVE_SIZE_KB 20803 - + ;Set the size (in KB) of the unpacked archive file AddSize 42171 - + StrCpy $HTTP_PATH "https://grass.osgeo.org/sampledata" StrCpy $ARCHIVE_NAME "spearfish_grass70data-0.3.tar.gz" StrCpy $EXTENDED_ARCHIVE_NAME "South Dakota (Spearfish County)" StrCpy $ORIGINAL_UNTAR_FOLDER "spearfish60_grass7" StrCpy $CUSTOM_UNTAR_FOLDER "Spearfish60_grass7" - + Call DownloadDataSet SectionEnd @@ -940,7 +940,7 @@ Function .onInstSuccess ${If} ${SectionIsSelected} ${SecMSRuntime} Delete "$TEMP\$ARCHIVE_NAME" RMDir /r "$TEMP\$ORIGINAL_UNTAR_FOLDER" - RMDir "$TEMP\$ORIGINAL_UNTAR_FOLDER" + RMDir "$TEMP\$ORIGINAL_UNTAR_FOLDER" ${EndIf} FunctionEnd @@ -951,23 +951,23 @@ FunctionEnd Section "Uninstall" ;remove files & folders RMDir /r "$INSTDIR" - + ;remove the Desktop ShortCut SetShellVarContext current Delete "$DESKTOP\${GRASS_BASE}.lnk" - + ;remove the Programs Start ShortCuts SetShellVarContext all RMDir /r "$SMPROGRAMS\${GRASS_BASE}" - + ;remove the $APPDATA\GRASS@GRASS_VERSION_MAJOR@ folder ;disabled, don't remove user settings ; SetShellVarContext current - ;RMDir /r "$APPDATA\GRASS@GRASS_VERSION_MAJOR@" + ;RMDir /r "$APPDATA\GRASS@GRASS_VERSION_MAJOR@" ;${If} ${FileExists} "$APPDATA\GRASS@GRASS_VERSION_MAJOR@\addons\*.*" ; RMDir /r "$APPDATA\GRASS@GRASS_VERSION_MAJOR@\addons" ;${EndIf} - + ;remove the Registry Entries DeleteRegKey HKLM "Software\${GRASS_BASE}" DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${GRASS_BASE}" diff --git a/mswindows/Makefile b/mswindows/Makefile index 3a33ac70b74..de2a4c6463c 100644 --- a/mswindows/Makefile +++ b/mswindows/Makefile @@ -11,7 +11,7 @@ ifneq ($(MINGW),) default: GRASS-Packager.bat GRASS-Installer.nsi parsubdirs else default: -endif +endif GRASS-Packager.bat: GRASS-Packager.bat.tmpl sed \ diff --git a/mswindows/generic.manifest b/mswindows/generic.manifest index 0855fe9cba5..bd0ea40eea3 100644 --- a/mswindows/generic.manifest +++ b/mswindows/generic.manifest @@ -1,10 +1,10 @@ - + - GRASS modules + type="win32"/> + GRASS modules diff --git a/vector/v.buffer/v.buffer.html b/vector/v.buffer/v.buffer.html index bdb6d1f231e..8870cd335c5 100644 --- a/vector/v.buffer/v.buffer.html +++ b/vector/v.buffer/v.buffer.html @@ -66,7 +66,7 @@

Corner settings

-With a point vector map as input data, square buffers are created instead +With a point vector map as input data, square buffers are created instead of round buffers by using the -s flag.
diff --git a/vector/v.class/v.class.html b/vector/v.class/v.class.html index d833975173e..a530ca39e8e 100644 --- a/vector/v.class/v.class.html +++ b/vector/v.class/v.class.html @@ -44,10 +44,10 @@

NOTES

this new polyline is then chosen as a new node to create break up one of the two preceding segments, and so forth. -

The problem of the difference in terms of units between the two axes -is solved by rescaling both amplitudes to an interval between 0 and 1. -In the original algorithm, the process is stopped when the difference between -the slopes of the two new segments is no longer significant (alpha = 0.05). As +

The problem of the difference in terms of units between the two axes +is solved by rescaling both amplitudes to an interval between 0 and 1. +In the original algorithm, the process is stopped when the difference between +the slopes of the two new segments is no longer significant (alpha = 0.05). As the slope is the ratio between the frequency and the amplitude of the corresponding interval, i.e. its density, this effectively tests whether the frequencies of the two newly proposed classes are different from those obtained by diff --git a/vector/v.surf.bspline/v.surf.bspline.html b/vector/v.surf.bspline/v.surf.bspline.html index b2ed87a9573..ea101c9beb7 100644 --- a/vector/v.surf.bspline/v.surf.bspline.html +++ b/vector/v.surf.bspline/v.surf.bspline.html @@ -40,7 +40,7 @@

NOTES

and north-south spline step length arguments allows the user to account for some degree of anisotropy in the distribution of observation points. Short spline step lengths, especially spline step -lengths that are less than the distance between observation points, +lengths that are less than the distance between observation points, can greatly increase the processing time.

The maximum number of splines for each direction at each @@ -64,15 +64,15 @@

NOTES

v.surf.bspline can produce raster (raster_output) OR vector output but NOT simultaneously. Note that topology is not -built for output point vector layer. If required, the topology can be built +built for output point vector layer. If required, the topology can be built using v.build. -

If output is a point vector layer and sparse is not specified, +

If output is a point vector layer and sparse is not specified, the output vector layer will contain points at the same locations as observation points in the input layer but the values -of the output points will be interpolated values. If a sparse -point vector layer is specified, the output vector layer will contain points -at the same locations as the sparse vector layer points. The values will be +of the output points will be interpolated values. If a sparse +point vector layer is specified, the output vector layer will contain points +at the same locations as the sparse vector layer points. The values will be those of the interpolated raster surface at those points.

A cross validation "leave-one-out" analysis is available to help to @@ -146,7 +146,7 @@

KNOWN ISSUES

In order to avoid RAM memory problems, an auxiliary table is needed for recording some intermediate calculations. This requires -the GROUP BY SQL function is used. This function is not +the GROUP BY SQL function is used. This function is not supported by the DBF driver. For this reason, vector output (output) is not permitted with the DBF driver. There are no problems with the raster map output from the DBF driver. From 067466e2f148efef8429258fa20389df48ef79e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 1 Dec 2024 00:34:08 +0000 Subject: [PATCH 2/3] style: Trim trailing whitespaces in mswindows/osgeo4w/ config scripts --- mswindows/osgeo4w/gdal-config | 2 +- mswindows/osgeo4w/geos-config | 2 +- mswindows/osgeo4w/liblas-config | 34 ++++++++++++++++----------------- mswindows/osgeo4w/mysql_config | 22 ++++++++++----------- 4 files changed, 30 insertions(+), 30 deletions(-) diff --git a/mswindows/osgeo4w/gdal-config b/mswindows/osgeo4w/gdal-config index 1917531b73e..9ad585f47b5 100755 --- a/mswindows/osgeo4w/gdal-config +++ b/mswindows/osgeo4w/gdal-config @@ -25,7 +25,7 @@ if test $# -eq 0; then usage 1 1>&2 fi -case $1 in +case $1 in --libs) echo $CONFIG_LIBS ;; diff --git a/mswindows/osgeo4w/geos-config b/mswindows/osgeo4w/geos-config index 6b52971ee80..523059726ee 100755 --- a/mswindows/osgeo4w/geos-config +++ b/mswindows/osgeo4w/geos-config @@ -32,7 +32,7 @@ case $1 in echo $OSGEO4W_ROOT_MSYS/lib/geos_c.lib ;; --ldflags) - echo + echo ;; --includes) echo $OSGEO4W_ROOT_MSYS/include diff --git a/mswindows/osgeo4w/liblas-config b/mswindows/osgeo4w/liblas-config index 0fbef69b696..05212ae94fc 100755 --- a/mswindows/osgeo4w/liblas-config +++ b/mswindows/osgeo4w/liblas-config @@ -7,57 +7,57 @@ INCLUDES="-I${prefix}/include " LIBS="-L$libdir -llas -llas_c" GDAL_INCLUDE="" -if test -n "$GDAL_INCLUDE" ; then +if test -n "$GDAL_INCLUDE" ; then INCLUDES="$INCLUDES -I$GDAL_INCLUDE" fi GDAL_LIBRARY="" -if test -n "$GDAL_LIBRARY" ; then +if test -n "$GDAL_LIBRARY" ; then LIBS="$LIBS $GDAL_LIBRARY" fi GEOTIFF_INCLUDE="" -if test -n "$GEOTIFF_INCLUDE" ; then +if test -n "$GEOTIFF_INCLUDE" ; then INCLUDES="$INCLUDES -I$GEOTIFF_INCLUDE" fi GEOTIFF_LIBRARY="" -if test -n "$GEOTIFF_LIBRARY" ; then +if test -n "$GEOTIFF_LIBRARY" ; then LIBS="$LIBS $GEOTIFF_LIBRARY" fi ORACLE_INCLUDE="" -if test -n "$ORACLE_INCLUDE" ; then +if test -n "$ORACLE_INCLUDE" ; then INCLUDES="$INCLUDES -I$ORACLE_INCLUDE" fi ORACLE_OCI_LIBRARY="" -if test -n "$ORACLE_OCI_LIBRARY" ; then +if test -n "$ORACLE_OCI_LIBRARY" ; then LIBS="$LIBS $ORACLE_OCI_LIBRARY " fi TIFF_INCLUDE="" -if test -n "$TIFF_INCLUDE" ; then +if test -n "$TIFF_INCLUDE" ; then INCLUDES="$INCLUDES -I$TIFF_INCLUDE" fi TIFF_LIBRARY="" -if test -n "$TIFF_LIBRARY" ; then +if test -n "$TIFF_LIBRARY" ; then LIBS="$LIBS $TIFF_LIBRARY" fi LIBXML2_INCLUDE_DIR="" -if test -n "$LIBXML2_INCLUDE_DIR" ; then +if test -n "$LIBXML2_INCLUDE_DIR" ; then INCLUDES="$INCLUDES -I$LIBXML2_INCLUDE_DIR" fi LIBXML2_LIBRARIES="" -if test -n "$LIBXML2_LIBRARIES" ; then +if test -n "$LIBXML2_LIBRARIES" ; then LIBS="$LIBS $LIBXML2_LIBRARIES" fi LASZIP_INCLUDE_DIR="" -if test -n "$LASZIP_INCLUDE_DIR" ; then +if test -n "$LASZIP_INCLUDE_DIR" ; then INCLUDES="$INCLUDES -I$LASZIP_INCLUDE_DIR" fi LASZIP_LIBRARY="" -if test -n "$LASZIP_LIBRARY" ; then +if test -n "$LASZIP_LIBRARY" ; then LIBS="$LIBS $LASZIP_LIBRARY" fi @@ -80,8 +80,8 @@ if test $# -eq 0; then usage 1 1>&2 fi -case $1 in - --libs) +case $1 in + --libs) echo $OSGEO4W_ROOT_MSYS/lib/liblas_c.lib ;; @@ -94,7 +94,7 @@ case $1 in ;; --defines) - echo + echo ;; --includes) @@ -102,13 +102,13 @@ case $1 in ;; --cflags) - echo + echo ;; --cxxflags) echo -pedantic -ansi -Wall -Wpointer-arith -Wcast-align -Wcast-qual -Wfloat-equal -Wredundant-decls -Wno-long-long -std=c++98 ;; - + *) usage 1 1>&2 ;; diff --git a/mswindows/osgeo4w/mysql_config b/mswindows/osgeo4w/mysql_config index 11204eb9c72..d6b96ed2f13 100755 --- a/mswindows/osgeo4w/mysql_config +++ b/mswindows/osgeo4w/mysql_config @@ -1,15 +1,15 @@ #!/bin/sh # Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. -# +# # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; version 2 of the License. -# +# # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -# +# # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA @@ -109,7 +109,7 @@ else port=3306 fi -# Create options +# Create options # We intentionally add a space to the beginning and end of lib strings, simplifies replace later libs=" $ldflags -L$pkglibdir -lmysqlclient -lpthread -lz -lm -ldl " libs="$libs " @@ -131,19 +131,19 @@ for remove in DDBUG_OFF DSAFE_MUTEX DFORCE_INIT_OF_VARS \ do # The first option we might strip will always have a space before it because # we set -I$pkgincludedir as the first option - cflags=`echo "$cflags"|sed -e "s/ -$remove */ /g"` - cxxflags=`echo "$cxxflags"|sed -e "s/ -$remove */ /g"` + cflags=`echo "$cflags"|sed -e "s/ -$remove */ /g"` + cxxflags=`echo "$cxxflags"|sed -e "s/ -$remove */ /g"` done -cflags=`echo "$cflags"|sed -e 's/ *\$//'` -cxxflags=`echo "$cxxflags"|sed -e 's/ *\$//'` +cflags=`echo "$cflags"|sed -e 's/ *\$//'` +cxxflags=`echo "$cxxflags"|sed -e 's/ *\$//'` # Same for --libs(_r) for remove in lmtmalloc static-libcxa i-static static-intel do # We know the strings starts with a space - libs=`echo "$libs"|sed -e "s/ -$remove */ /g"` - libs_r=`echo "$libs_r"|sed -e "s/ -$remove */ /g"` - embedded_libs=`echo "$embedded_libs"|sed -e "s/ -$remove */ /g"` + libs=`echo "$libs"|sed -e "s/ -$remove */ /g"` + libs_r=`echo "$libs_r"|sed -e "s/ -$remove */ /g"` + embedded_libs=`echo "$embedded_libs"|sed -e "s/ -$remove */ /g"` done # Strip trailing and ending space if any, and '+' (FIXME why?) From f6d3d82cd7e479a989c45d5e54bc4bffcffff922 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 1 Dec 2024 01:37:57 +0000 Subject: [PATCH 3/3] style: Trim trailing whitespaces --- mswindows/osgeo4w/postinstall.bat | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mswindows/osgeo4w/postinstall.bat b/mswindows/osgeo4w/postinstall.bat index 61d2d98b7d4..10e8f727673 100644 --- a/mswindows/osgeo4w/postinstall.bat +++ b/mswindows/osgeo4w/postinstall.bat @@ -5,8 +5,8 @@ textreplace -std -t "%OSGEO4W_ROOT%\apps\grass\grass@POSTFIX@\etc\fontcap" for /F "tokens=* USEBACKQ" %%F IN (`getspecialfolder Documents`) do set DOCUMENTS=%%F -if not %OSGEO4W_MENU_LINKS%==0 xxmklink "%OSGEO4W_STARTMENU%\GRASS GIS @VERSION@.lnk" "%BATCH%" "--gui" "%DOCUMENTS%" "Launch GRASS GIS @VERSION@" 1 "%ICON%" -if not %OSGEO4W_DESKTOP_LINKS%==0 xxmklink "%OSGEO4W_DESKTOP%\GRASS GIS @VERSION@.lnk" "%BATCH%" "--gui" "%DOCUMENTS%" "Launch GRASS GIS @VERSION@" 1 "%ICON%" +if not %OSGEO4W_MENU_LINKS%==0 xxmklink "%OSGEO4W_STARTMENU%\GRASS GIS @VERSION@.lnk" "%BATCH%" "--gui" "%DOCUMENTS%" "Launch GRASS GIS @VERSION@" 1 "%ICON%" +if not %OSGEO4W_DESKTOP_LINKS%==0 xxmklink "%OSGEO4W_DESKTOP%\GRASS GIS @VERSION@.lnk" "%BATCH%" "--gui" "%DOCUMENTS%" "Launch GRASS GIS @VERSION@" 1 "%ICON%" rem run g.mkfontcap outside a GRASS session during rem an OSGeo4W installation for updating paths to fonts