Skip to content

Commit 211f7d2

Browse files
committed
Merge remote-tracking branch 'origin/development' into add-msp
2 parents dff64e2 + b71694a commit 211f7d2

35 files changed

Lines changed: 12193 additions & 453 deletions

.appveyor.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ branches:
66
- /^Mudlet-.+/ # build release tags (yes, the option also applies to tags)
77
init:
88
- cmd: mkdir C:\src\
9+
image: Visual Studio 2019
910
environment:
1011
signing_password:
1112
secure: gOKqBtIvfDuGkEeaHGaguMmafynYAG06iVuD6Krem7M=
@@ -18,7 +19,7 @@ environment:
1819
DBLSQD_PASS:
1920
secure: Bm5PLJjC39XmRC55RPGVP9c5CFxvWu2VorAAmu5QS38=
2021
matrix:
21-
- QT_BASE_DIR: C:\Qt\5.13.0\mingw73_32
22+
- QT_BASE_DIR: C:\Qt\5.13.2\mingw73_32
2223
MINGW_BASE_DIR: C:\Qt\Tools\mingw730_32
2324
install:
2425
- cd "%APPVEYOR_BUILD_FOLDER%\CI"

.github/CONTRIBUTING.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,14 @@ Don't:
9898

9999
# Git commit guidelines for core team
100100

101+
## Mega PRs
102+
103+
Pull Requests that overhaul large pieces of functionality at once will not be accepted: through experience, they bring more pain than they are worth. Being really difficult to discuss, test, and reason about, they are banned.
104+
105+
That does not mean we don't welcome large overhauls: we do. Just make sure to send it in as separate, logically broken-down improvements that implement the functionality you'd like to have in a step process.
106+
107+
Of course, before embarking on such a journey, [discuss with the core team](https://discord.gg/kuYvMQ9) your ideas first so we can guide you on the best design!
108+
101109
## Merging Pull Requests (PRs)
102110

103111
The preferred order of [merging PRs](https://help.github.com/articles/about-pull-request-merges/) is: prefer rebase, else squash if you'd like to clean up the history before merging. Avoid doing a merge commit.

.travis.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
language: cpp
2+
version: ~> 1.0
23
if: branch = development OR branch =~ ^release OR tag IS present
34
cache:
45
timeout: 600
56
ccache: true
67
directories:
78
- $HOME/Library/Caches/Homebrew
9+
os: linux # this gets overwritten in the jobs definition below.
810
dist: xenial
9-
sudo: false
1011
addons:
1112
apt:
1213
sources: &add-sources
@@ -48,7 +49,7 @@ env:
4849
- secure: YB0wWZIslcOqCZBzP6KSjRwOhmji0LbyYPhNZ55MXv/SqUhYNxKRJUTuUokY5CNOSlHT4qKtam+pV7ydSUqWqCQvgTq6Gc57Qn9eDwYBwa/3As65AtDnfNSTrhKDOE4Ml3RkALlKiRIN3w8zpyuBnsovNWaTm1LdduyING3en4A=
4950
git:
5051
submodules: false # We selectively pull in the wanted submodules ourselves now
51-
matrix:
52+
jobs:
5253
include:
5354
- os: osx
5455
osx_image: xcode10.1
@@ -158,4 +159,4 @@ notifications:
158159
- https://webhooks.gitter.im/e/4ed233d9013d611a1568
159160
on_success: always # options: [always|never|change] default: always
160161
on_failure: always # options: [always|never|change] default: always
161-
on_start: false # default: false
162+
on_start: never # default: never

CI/appveyor.functions.ps1

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ function SetQtBaseDir([string] $logFile) {
2222
}
2323
catch
2424
{
25-
$Env:QT_BASE_DIR = "C:\Qt\5.13.0\mingw73_32"
25+
$Env:QT_BASE_DIR = "C:\Qt\5.13.2\mingw73_32"
2626
}
2727
}
2828
Write-Output "Using $Env:QT_BASE_DIR as QT base directory." | Tee-Object -File "$logFile" -Append
@@ -490,4 +490,4 @@ function CheckAndInstallLuarocks(){
490490

491491
function CheckAndInstallPugixml(){
492492
CheckAndInstall "pugixml" "$Env:MINGW_BASE_DIR\lib\libpugixml.a" { InstallPugixml }
493-
}
493+
}

CI/qt-silent-install.qs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ Controller.prototype.ComponentSelectionPageCallback = function() {
2727
var widget = gui.currentPageWidget();
2828

2929
widget.deselectAll();
30-
widget.selectComponent("qt.qt5.5130.win32_mingw73");
30+
widget.selectComponent("qt.qt5.5132.win32_mingw73");
3131
widget.selectComponent("qt.tools.win32_mingw730");
3232

3333
gui.clickButton(buttons.NextButton);

CI/travis.osx.install.sh

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,15 @@ shopt -s expand_aliases
99
#Removed boost as first item as a temporary workaroud to prevent trying to
1010
#upgrade to boost version 1.68.0 which has not been bottled yet...
1111
BREWS="cmake hunspell libzip libzzip lua51 pcre pkg-config qt5 yajl ccache pugixml luarocks"
12+
OUTDATED_BREWS=$(brew outdated)
13+
1214
for i in $BREWS; do
1315
for RETRIES in $(seq 1 3); do
14-
echo "Upgrading ${i}"
15-
brew outdated | grep -q $i
16+
echo " "
17+
echo "Considering whether to upgrade: ${i}"
18+
#Added the -w (whole-word) option so that the grep will NOT match for pcre2
19+
#when we are considering pcre:
20+
echo "${OUTDATED_BREWS}" | grep -w -q $i
1621
STATUS="$?"
1722
if [ "${STATUS}" -ne 0 ]; then
1823
echo "Already up to date or not installed."
@@ -35,8 +40,11 @@ for i in $BREWS; do
3540
done
3641
for i in $BREWS; do
3742
for RETRIES in $(seq 1 3); do
43+
echo " "
3844
echo "Installing ${i}"
39-
brew list | grep -q $i || brew install $i
45+
#Added the -w (whole-word) option so that the grep will NOT match for pcre2
46+
#when we are considering pcre:
47+
brew list | grep -w -q $i || brew install $i
4048
STATUS="$?"
4149
if [ "${STATUS}" -eq 0 ]; then
4250
break

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ endif()
7979
# To insure consistency please ensure the SAME of the first two values are also
8080
# assigned to the "VERSION" and "BUILD" variables in the native qmake project
8181
# file, which is NOW called: ./src/mudlet.pro
82-
set(APP_VERSION 4.1.2)
82+
set(APP_VERSION 4.3.0)
8383
if(DEFINED ENV{MUDLET_VERSION_BUILD} AND NOT $ENV{MUDLET_VERSION_BUILD} STREQUAL "")
8484
set(APP_BUILD $ENV{MUDLET_VERSION_BUILD})
8585
else()

src/AliasUnit.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,16 @@ void AliasUnit::removeAliasRootNode(TAlias* pT)
138138
mAliasRootNodeList.remove(pT);
139139
}
140140

141+
void AliasUnit::removeAllTempAliases()
142+
{
143+
for (auto alias : mAliasRootNodeList) {
144+
if (alias->isTemporary()) {
145+
alias->setIsActive(false);
146+
markCleanup(alias);
147+
}
148+
}
149+
}
150+
141151
TAlias* AliasUnit::getAlias(int id)
142152
{
143153
QMutexLocker locker(&mAliasUnitLock);

src/AliasUnit.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ class AliasUnit
4949
bool enableAlias(const QString&);
5050
bool disableAlias(const QString&);
5151
bool killAlias(const QString& name);
52+
void removeAllTempAliases();
5253
bool registerAlias(TAlias* pT);
5354
void unregisterAlias(TAlias* pT);
5455
void uninstall(const QString&);

src/Host.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,7 @@ Host::Host(int port, const QString& hostname, const QString& login, const QStrin
192192
, mAllowToSendCommand(true)
193193
, mAutoClearCommandLineAfterSend(false)
194194
, mBlockScriptCompile(true)
195+
, mBlockStopWatchCreation(true)
195196
, mEchoLuaErrors(false)
196197
, mBorderBottomHeight(0)
197198
, mBorderLeftWidth(0)
@@ -531,6 +532,7 @@ void Host::reloadModule(const QString& reloadModuleName)
531532

532533
void Host::resetProfile_phase1()
533534
{
535+
mAliasUnit.stopAllTriggers();
534536
mTriggerUnit.stopAllTriggers();
535537
mTimerUnit.stopAllTriggers();
536538
mKeyUnit.stopAllTriggers();
@@ -543,11 +545,13 @@ void Host::resetProfile_phase1()
543545

544546
void Host::resetProfile_phase2()
545547
{
548+
getAliasUnit()->removeAllTempAliases();
546549
getTimerUnit()->removeAllTempTimers();
547550
getTriggerUnit()->removeAllTempTriggers();
548551
getKeyUnit()->removeAllTempKeys();
549552
removeAllNonPersistentStopWatches();
550553

554+
mAliasUnit.doCleanup();
551555
mTimerUnit.doCleanup();
552556
mTriggerUnit.doCleanup();
553557
mKeyUnit.doCleanup();
@@ -566,6 +570,7 @@ void Host::resetProfile_phase2()
566570
// All the Timers are NOT compiled here;
567571
mResetProfile = false;
568572

573+
mAliasUnit.reenableAllTriggers();
569574
mTimerUnit.reenableAllTriggers();
570575
mTriggerUnit.reenableAllTriggers();
571576
mKeyUnit.reenableAllTriggers();
@@ -890,17 +895,12 @@ void Host::send(QString cmd, bool wantPrint, bool dontExpandAliases)
890895

891896
QPair<int, QString> Host::createStopWatch(const QString& name)
892897
{
893-
if (mResetProfile || mIsProfileLoadingSequence) {
898+
if (mResetProfile || mBlockStopWatchCreation) {
894899
// Don't create stopwatches when test loading scripts or during a profile reset:
895900
return qMakePair(0, QStringLiteral("unable to create a stopwatch at this time"));
896901
}
897902

898903
if (!mStopWatchMap.isEmpty() && !name.isEmpty()) {
899-
// As we need to check the names we will need a different algorithm
900-
// than just looking for the first gap in the integer sequence
901-
// 1,2,3,...n if we want to avoid going through the list twice,
902-
// the first time to check the name is not in use and a second time
903-
// to find the lower positive unused integer id:
904904
QMapIterator<int, stopWatch*> itStopWatch(mStopWatchMap);
905905
while (itStopWatch.hasNext()) {
906906
itStopWatch.next();
@@ -1881,7 +1881,7 @@ void Host::setWideAmbiguousEAsianGlyphs(const Qt::CheckState state)
18811881
mWideAmbigousWidthGlyphs = (state == Qt::Checked);
18821882
localState = (state == Qt::Checked);
18831883
needToEmit = true;
1884-
};
1884+
}
18851885

18861886
}
18871887

0 commit comments

Comments
 (0)