Commit graph

41 commits

Author SHA1 Message Date
anders_k
3c3d929aad Optimize known conditions
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@7330 212acab6-be3b-0410-9dea-997c60f758d6
2021-09-19 21:10:16 +00:00
anders_k
2fa5cd37b8 Added RegKeyIsEmpty LogicLib operator
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@7165 212acab6-be3b-0410-9dea-997c60f758d6
2020-04-06 18:04:10 +00:00
anders_k
1f355d992c Added IfRtlLanguage and GetRegView
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@7153 212acab6-be3b-0410-9dea-997c60f758d6
2020-03-10 18:16:39 +00:00
anders_k
5887d6c60d Added IfShellVarContextAll and refactored flag instructions generation
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@7152 212acab6-be3b-0410-9dea-997c60f758d6
2020-03-10 01:44:23 +00:00
anders_k
916f1e4863 Optimize away LL jump when possible
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@7015 212acab6-be3b-0410-9dea-997c60f758d6
2018-10-08 13:04:55 +00:00
anders_k
e7e58a9814 Added LogicLib & operator
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6754 212acab6-be3b-0410-9dea-997c60f758d6
2016-06-07 18:51:09 +00:00
anders_k
6bd89cc4c7 Hopefully fixed reported issue where the LogicLib EndSelectLabel is not found when using ${Case2} in nested ${Select}s
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6752 212acab6-be3b-0410-9dea-997c60f758d6
2016-05-23 23:52:30 +00:00
anders_k
4a21c7113d ${Int64CmpU} in Util.nsh cannot use LogicLib because the LogicLib Z operators calls ${Int64CmpU} on 64-bit systems
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6717 212acab6-be3b-0410-9dea-997c60f758d6
2016-03-09 19:26:48 +00:00
anders_k
d74c5acdcd Incomplete support for Z (size_t) logiclib integer tests and other minor fixes
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6713 212acab6-be3b-0410-9dea-997c60f758d6
2016-03-07 14:34:21 +00:00
anders_k
5e4e293df7 Be more forgiving when avoiding bug #1126
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6663 212acab6-be3b-0410-9dea-997c60f758d6
2015-12-08 01:56:13 +00:00
anders_k
efc4cfccea LogicLib: Don't add a EndSelect label when only one Case is used to avoid a unused label warning (bug #1126)
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6650 212acab6-be3b-0410-9dea-997c60f758d6
2015-12-01 21:02:56 +00:00
anders_k
7ae2e8f84f * Added IsWow64 to x64.nsh and fixed RunningX64 for 64-bit installers.
* NSIS_AMD64 and NSIS_IX86 defines added for CPU target detection



git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6538 212acab6-be3b-0410-9dea-997c60f758d6
2014-08-15 20:25:18 +00:00
anders_k
ac873f36cb Added P<, P<=, P=, P<>, P>= and P> LogicLib ptrdiff_t tests
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6445 212acab6-be3b-0410-9dea-997c60f758d6
2014-03-04 19:00:09 +00:00
wizou
cdf7735a77 Jim Park's Unicode NSIS merging - Step 2 : merge TCHARs changes into trunk
Compiler output is identical before & after this step

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6037 212acab6-be3b-0410-9dea-997c60f758d6
2010-03-26 17:18:17 +00:00
wizou
752d7d239a Jim Park's Unicode NSIS merging - Step 1 : switch to TCHARs where relevant.
Compiler output is identical before & after this step

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/branches/wizou@6036 212acab6-be3b-0410-9dea-997c60f758d6
2010-03-24 17:22:56 +00:00
kichik
cde0aea770 fixed bug #2849872 - LogicLib Do..Loop warning
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6005 212acab6-be3b-0410-9dea-997c60f758d6
2009-12-05 21:52:39 +00:00
kichik
c8bed407f8 applied patch #1990761 - ${IfNotThen} macro for LogicLib
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5648 212acab6-be3b-0410-9dea-997c60f758d6
2008-06-13 16:42:15 +00:00
kichik
3a836f1f60 more comments for IfNot from patch #1846785
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5458 212acab6-be3b-0410-9dea-997c60f758d6
2007-12-29 14:09:32 +00:00
kichik
b6522a61a3 applied patch #1846785 - IfNot support for LogicLib
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5393 212acab6-be3b-0410-9dea-997c60f758d6
2007-12-08 13:13:18 +00:00
kichik
1ba91cb11f using __LINE__ for special labels can result in duplicate labels across files (two includes in the same function)
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5130 212acab6-be3b-0410-9dea-997c60f758d6
2007-04-27 15:15:12 +00:00
kichik
b3310a3170 not using System.dll for case-sensitive comparison anymore
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5003 212acab6-be3b-0410-9dea-997c60f758d6
2007-03-20 19:38:19 +00:00
kichik
307dd13446 LOGICLIB_SECTIONCMP is no longer required
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4988 212acab6-be3b-0410-9dea-997c60f758d6
2007-03-10 12:55:33 +00:00
kichik
83e60e3136 partial fix for bug #1537976 - vague LogicLib syntax error messages
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4736 212acab6-be3b-0410-9dea-997c60f758d6
2006-08-19 10:56:16 +00:00
kichik
78c4ca6427 no more need for _StrCmp
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4470 212acab6-be3b-0410-9dea-997c60f758d6
2006-01-06 17:28:14 +00:00
kichik
e0e602b97c use StrCmpS instead of System plug-in
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4469 212acab6-be3b-0410-9dea-997c60f758d6
2006-01-06 16:05:53 +00:00
kichik
8414047fd9 fixed bug #1320297 - LogicLib.nsh portability issues
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4323 212acab6-be3b-0410-9dea-997c60f758d6
2005-10-12 14:26:25 +00:00
kichik
698deb823f use Var /GLOBAL to avoid annoying warning
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4213 212acab6-be3b-0410-9dea-997c60f758d6
2005-08-06 16:22:02 +00:00
kichik
bdbec46023 del /q doesn't work on Windows 98 and on XP it only means not to ask on global wildcard deletion, which LogicLib doesn't do anyway
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4110 212acab6-be3b-0410-9dea-997c60f758d6
2005-06-20 20:13:16 +00:00
kichik
f2cba8c2cb renamed SubSection to SectionGroup
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3852 212acab6-be3b-0410-9dea-997c60f758d6
2005-01-10 12:43:52 +00:00
eccles
3d4f901e5b LogicLib 2.5
- AndIf, AndUnless, OrIf, OrUnless added.
- Avoids unused variable warnings by requiring !defines before using certain features.


git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3641 212acab6-be3b-0410-9dea-997c60f758d6
2004-08-23 13:35:47 +00:00
eccles
a022ebcfc1 Command.com does not like command lines beginning with an '@' symbol.
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3294 212acab6-be3b-0410-9dea-997c60f758d6
2003-12-21 20:33:35 +00:00
eccles
bbfd02e585 ${Unless} ${Cmd} ... was not working.
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3293 212acab6-be3b-0410-9dea-997c60f758d6
2003-12-20 15:01:36 +00:00
eccles
2d8918e586 Some tidying and documentation.
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3280 212acab6-be3b-0410-9dea-997c60f758d6
2003-12-14 01:13:32 +00:00
eccles
009e409276 2.4:
- Added Switch..Case*/Default..EndSwitch: similar to Select but behaves just like the C version (thanks to kichik).
- Added unsigned integer comparisons.
- Added 64-bit integer comparisons.
- Added case-sensitive string tests.
- Added other string relational comparisons.
- Added section flag tests.


git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3279 212acab6-be3b-0410-9dea-997c60f758d6
2003-12-14 00:31:25 +00:00
eccles
8a66228b7c 2.3:
- Much reworking and refactoring.
- Added built-in support for the rest of NSIS's conditional tests.
- Added ability to use any NSIS conditional command in a normal If type statement.
- Optimised the code produced by If (fewer Goto's).
- Added statement similar to If that works in reverse: "Unless".
- Fixed bug where using Continue in a Do..LoopUntil loop went to the top of the loop and not the loop condition.
- Added DoWhile..Loop and Do..LoopWhile loop varieties.
- Optimised the code prodiced by Select (fewer Goto's).
- Renamed Case_Else to CaseElse.
- CaseElse can also be called Default (for the C-minded).


git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3278 212acab6-be3b-0410-9dea-997c60f758d6
2003-12-14 00:29:15 +00:00
eccles
a641ca3621 2.2:
- Simplified IfThen by utilising If and EndIf.
- Simplified For by utilising ForEach.
- Fixed ForEach missing the final iteration.
- Fixed a couple of Break/Continue bugs.


git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3277 212acab6-be3b-0410-9dea-997c60f758d6
2003-12-14 00:26:54 +00:00
eccles
d794979b2f 2.1:
- Added continue and break labels to repeat type statements.


git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3276 212acab6-be3b-0410-9dea-997c60f758d6
2003-12-14 00:25:22 +00:00
eccles
46297fa6cd NSIS Logic Library - dselkirk's logiclib 2.0:
- Complete rewrite using new push/pop system.


git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3275 212acab6-be3b-0410-9dea-997c60f758d6
2003-12-14 00:23:56 +00:00
eccles
2c892dde45 NSIS Logic Library - dselkirk's logiclib 1.3 (1.2 seems to have gone walkabout):
- Changed library name to Lib.
- Allow for 5 statements deep without use of name variable.
- Added If..ElseIf..Else..Endif statements.
- Fixed maximum allow statements.
- Now allows 10 statement depth.
- Condensed code.


git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3274 212acab6-be3b-0410-9dea-997c60f758d6
2003-12-14 00:22:02 +00:00
eccles
a453e3281e NSIS Logic Library - dselkirk's selectlib 1.1:
- Added simplified macros and removed NAME requirement


git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3273 212acab6-be3b-0410-9dea-997c60f758d6
2003-12-14 00:19:48 +00:00
eccles
0530c41b6d NSIS Logic Library - dselkirk's original selectlib 1.0
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3272 212acab6-be3b-0410-9dea-997c60f758d6
2003-12-14 00:18:16 +00:00