Archive: Crude language detracts from nsis


Crude language detracts from nsis
Thanks for making NSIS available.

I would suggest that the project leaders consider revising some of the documentation (and especially examples) to remove the foul language. Have you looked at bigtest.nsi recently?

I have been hesitant to recommend nsis because of this. NSIS is far past being a hobby of a potty mouth developer, and this detracts from the professionalism of the package.


I agree. A product of the quality of NSIS does not need

MessageBox MB_OK `And he said to me "I'll be fucked!"`
in the help documentation.

Personally I agree with this, the language should generally be professional. Let's see what other have to say.


I remember that this was already discussed on the same message some time ago and there was no real result from it.

I personally feel that it doesn't feel very professional either but I'm not bothered nor affended by it.

-Stu


Do you happen to have a link to that discussion ... perhaps in the archives? I did a little searching before posting the question, but didn't come across anything. My impression is that it would have been discussed before (perhaps several threads and at length).

I understand that nsis is from the winamp family of (mostly) freeware, and perhaps the intention is to convey something like children will be children ... or ... we're oh so cool slackers ... deal with it ... ya get what you pay for ... just something thrown together while recovering from a skateboarding accident.

"Poop" and "crap" are used pretty routinely, which is kind of jarring, but not all that unexpected or offensive. But some of the examples have language that is, IMHO, way out of line

The language used in the forums seems rather tame in comparson. Please consider revising the documentation and examples. Things change ... time moves on. Previous decisions may be overdue to be revisited.

In any case, thanks to all those who work on nsis, participate in ths forum, and otherwise contribute to it.


Maybe you can sumbit a patch with improved langauge.


<alert comment="TortoiseCvs newbie">

Ok ... here is a G rated revision of bigtest.nsi (may have missed some profanity, especially slang).


Index: Examples/bigtest.nsi
===================================================================
RCS file: /cvsroot/nsis/NSIS/Examples/bigtest.nsi,v
retrieving revision 1.10
diff -u -r1.10 bigtest.nsi
--- Examples/bigtest.nsi 14 Aug 2005 11:17:19 -0000 1.10
+++ Examples/bigtest.nsi 12 Oct 2005 21:12:42 -0000
@@ -27,8 +27,8 @@
InstallColors FF8080 000030
XPStyle on

-InstallDir "$PROGRAMFILES\NSISCrap\BigNSISTest"
-InstallDirRegKey HKLM "Software\NSISCrap\BigNSISTest" ""
+InstallDir "$PROGRAMFILES\NSISTest\BigNSISTest"
+InstallDirRegKey HKLM "Software\NSISTest\BigNSISTest" ""

CheckBitmap "${NSISDIR}\Contrib\Graphics\Checks\classic-cross.bmp"

@@ -63,10 +63,10 @@

Section "" ; empty string makes it hidden, so would starting with -

- ; write reg crap
+ ; write reg info
StrCpy $1 "POOOOOOOOOOOP"
- DetailPrint "I like to f*ck sheep $1"
- WriteRegStr HKLM SOFTWARE\NSISCrap\BigNSISTest "Install_Dir" "$INSTDIR"
+ DetailPrint "I like to be able to see what is going on (debug) $1"
+ WriteRegStr HKLM SOFTWARE\NSISTest\BigNSISTest "Install_Dir" "$INSTDIR"

; write uninstall strings
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\BigNSISTest" "DisplayName" "BigNSISTest (remove only)"
@@ -74,7 +74,7 @@

SetOutPath $INSTDIR
File /a "silent.nsi"
- CreateDirectory "$INSTDIR\shiz\crap" ; 2 recursively create a directory for fun.
+ CreateDirectory "$INSTDIR\MyProjectFamily\MyProject" ; 2 recursively create a directory for fun.
WriteUninstaller "bt-uninst.exe"

Nop ; for fun
@@ -86,13 +86,13 @@
SectionIn 1 2 3
Start: MessageBox MB_OK "Start:"

- MessageBox MB_YESNO "Goto Poop" IDYES Poop
+ MessageBox MB_YESNO "Goto MyLabel" IDYES MyLabel

- MessageBox MB_OK "Right before Poop:"
+ MessageBox MB_OK "Right before MyLabel:"

- Poop: MessageBox MB_OK "Poop:"
+ MyLabel: MessageBox MB_OK "MyLabel:"

- MessageBox MB_OK "Right after Poop:"
+ MessageBox MB_OK "Right after MyLabel:"

MessageBox MB_YESNO "Goto Start:?" IDYES Start

@@ -104,34 +104,34 @@

SectionIn 1 4 3

- WriteRegStr HKLM SOFTWARE\NSISCrap\BigNSISTest "StrTest_INSTDIR" "$INSTDIR"
- WriteRegDword HKLM SOFTWARE\NSISCrap\BigNSISTest "DwordTest_0xDEADBEEF" 0xdeadbeef
- WriteRegDword HKLM SOFTWARE\NSISCrap\BigNSISTest "DwordTest_123456" 123456
- WriteRegDword HKLM SOFTWARE\NSISCrap\BigNSISTest "DwordTest_0123" 0123
- WriteRegBin HKLM SOFTWARE\NSISCrap\BigNSISTest "BinTest_deadbeef01f00dbeef" "DEADBEEF01F00DBEEF"
- StrCpy $8 "$SYSDIR\Poop"
+ WriteRegStr HKLM SOFTWARE\NSISTest\BigNSISTest "StrTest_INSTDIR" "$INSTDIR"
+ WriteRegDword HKLM SOFTWARE\NSISTest\BigNSISTest "DwordTest_0xDEADBEEF" 0xdeadbeef
+ WriteRegDword HKLM SOFTWARE\NSISTest\BigNSISTest "DwordTest_123456" 123456
+ WriteRegDword HKLM SOFTWARE\NSISTest\BigNSISTest "DwordTest_0123" 0123
+ WriteRegBin HKLM SOFTWARE\NSISTest\BigNSISTest "BinTest_deadbeef01f00dbeef" "DEADBEEF01F00DBEEF"
+ StrCpy $8 "$SYSDIR\IniTest"
WriteINIStr "$INSTDIR\test.ini" "MySection" "Value1" $8
- WriteINIStr "$INSTDIR\test.ini" "MySectionShit" "Value1" $8
- WriteINIStr "$INSTDIR\test.ini" "MySectionShit" "Value2" $8
- WriteINIStr "$INSTDIR\test.ini" "POOPon" "Value1" $8
+ WriteINIStr "$INSTDIR\test.ini" "MySectionIni" "Value1" $8
+ WriteINIStr "$INSTDIR\test.ini" "MySectionIni" "Value2" $8
+ WriteINIStr "$INSTDIR\test.ini" "IniOn" "Value1" $8

- Call poopTest
+ Call MyFunctionTest

- DeleteINIStr "$INSTDIR\test.ini" "POOPon" "Value1"
- DeleteINISec "$INSTDIR\test.ini" "MySectionShit"
+ DeleteINIStr "$INSTDIR\test.ini" "IniOn" "Value1"
+ DeleteINISec "$INSTDIR\test.ini" "MySectionIni"

- ReadINIStr $1 "$INSTDIR\test.ini" "MySectionShit" "Value1"
+ ReadINIStr $1 "$INSTDIR\test.ini" "MySectionIni" "Value1"
StrCmp $1 "" INIDelSuccess
MessageBox MB_OK "DeleteINISec failed"
INIDelSuccess:

ClearErrors
- ReadRegStr $1 HKCR "software\microsoft" shit
+ ReadRegStr $1 HKCR "software\microsoft" xyz_¢¢_does_not_exist
IfErrors 0 NoError
- MessageBox MB_OK "could not read from HKCR\software\microsoft\shit"
+ MessageBox MB_OK "could not read from HKCR\software\microsoft\xyz_¢¢_does_not_exist"
Goto ErrorYay
NoError:
- MessageBox MB_OK "read '$1' from HKCR\software\microsoft\shit"
+ MessageBox MB_OK "read '$1' from HKCR\software\microsoft\xyz_¢¢_does_not_exist"
ErrorYay:

SectionEnd
@@ -180,11 +180,11 @@

StrCpy $1 "x"

- LoopPoop:
+ LoopTest:

Call myfunc
StrCpy $1 "x$1"
- StrCmp $1 "xxxxxx" 0 LoopPoop
+ StrCmp $1 "xxxxxx" 0 LoopTest

NoRecurse:

@@ -205,7 +205,7 @@

SectionGroupEnd

-Section "Test Exec functions" CRAPIDX
+Section "Test Exec functions" TESTIDX

SectionIn 1 2 3

@@ -245,14 +245,14 @@

Function myfunc

- StrCpy $2 "poop=$1"
+ StrCpy $2 "MyTestVar=$1"
MessageBox MB_OK "myfunc: $2"

FunctionEnd

-Function poopTest
+Function MyFunctionTest

- ReadINIStr $1 "$INSTDIR\test.ini" "MySectionShit" "Value1"
+ ReadINIStr $1 "$INSTDIR\test.ini" "MySectionIni" "Value1"
StrCmp $1 $8 NoFailedMsg
MessageBox MB_OK "WriteINIStr failed"

@@ -262,12 +262,12 @@

Function .onSelChange

- SectionGetText ${CRAPIDX} $0
+ SectionGetText ${TESTIDX} $0
StrCmp $0 "" e
- SectionSetText ${CRAPIDX} ""
+ SectionSetText ${TESTIDX} ""
Goto e2
e:
- SectionSetText ${CRAPIDX} "Doop"
+ SectionSetText ${TESTIDX} "TextInSection"
e2:

FunctionEnd
@@ -282,7 +282,7 @@
Section "Uninstall"

DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\BigNSISTest"
- DeleteRegKey HKLM "SOFTWARE\NSISCrap\BigNSISTest"
+ DeleteRegKey HKLM "SOFTWARE\NSISTest\BigNSISTest"
Delete "$INSTDIR\silent.nsi"
Delete "$INSTDIR\LogicLib.nsi"
Delete "$INSTDIR\bt-uninst.exe"
@@ -295,8 +295,8 @@
RMDir "$INSTDIR\cpdest" ; skipped if no
NoDelete:

- RMDir "$INSTDIR\shiz\crap"
- RMDir "$INSTDIR\shiz"
+ RMDir "$INSTDIR\MyProjectFamily\MyProject"
+ RMDir "$INSTDIR\MyProjectFamily"
RMDir "$INSTDIR"

IfFileExists "$INSTDIR" 0 NoErrorMsg


</alert>

Ooops ... missed one (at least)


- ; write reg crap
- StrCpy $1 "POOOOOOOOOOOP"
- DetailPrint "I like to f*ck sheep $1"
- WriteRegStr HKLM SOFTWARE\NSISCrap\BigNSISTest "Install_Dir" "$INSTDIR"
+ ; write reg info
+ StrCpy $1 "Helloooooooooo"
+ DetailPrint "I like to be able to see what is going on (debug) $1"
+ WriteRegStr HKLM SOFTWARE\NSISTest\BigNSISTest "Install_Dir" "$INSTDIR"

This script was written by Justin Frankel aka 0xDEADBEEF, the creator of NSIS.


:( Guess I have a dirty mind. I liked all the foul language. Frankly the patch amounts to silly censorship IMHO.


Frankly, no. There is no great free speech thing happening here. This is a professional quality product and potty mouth language is out of place. The poops, shits and craps in the code and documentation are not making any kind of statement about anything.


Originally posted by iceman_k
Frankly, no. There is no great free speech thing happening here. This is a professional quality product and potty mouth language is out of place. The poops, shits and craps in the code and documentation are not making any kind of statement about anything.
OMG - where can I buy a sense of humour... anybody? anybody?

Heres a nickel: $0.05.
Knock yourself out.
Surely there are funnier things that bathroom humour?


If I remember correctly there was also some bad language used in the documentation too.

[Checked]

And yes, under 4.1 Script File Format.
MessageBox MB_OK `And he said to me "I'll be fucked!"` ; this one puts both ' and "s inside a string

-Stu


You can take a close look at examples\makensis.nsi
This was one of several cases where bigtest.nsi would have been a better example to point the person to for their question, but the language in bigtest.nsi is crude enough to make me reluctant to do that.

All patches have been applied. Thanks for your contribution.