From 8d3e1ec78973d1c7fac4121e5b65799cc95fa2a4 Mon Sep 17 00:00:00 2001
From: Sebastião Guerra <sebastiao.luiz.guerra@gmail.com>
Date: Wed, 7 Oct 2026 07:10:04 -0300
Subject: Replace zero pointer constants with nullptr
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Sebastião Guerra <sebastiao.luiz.guerra@gmail.com>
---
 designer/tqscintillaplugin.cpp        |  4 +-
 example/application.cpp               |  2 +-
 include/Accessor.h                    |  2 +-
 include/KeyWords.h                    |  4 +-
 include/Platform.h                    |  8 ++--
 include/PropSet.h                     |  4 +-
 include/SString.h                     | 10 ++--
 include/WindowAccessor.h              |  2 +-
 src/AutoComplete.cpp                  |  4 +-
 src/CallTip.cpp                       |  6 +--
 src/CellBuffer.cpp                    | 44 +++++++++---------
 src/CellBuffer.h                      |  4 +-
 src/ContractionState.cpp              | 14 +++---
 src/Document.cpp                      | 36 +++++++-------
 src/Document.h                        |  6 +--
 src/DocumentAccessor.h                |  4 +-
 src/Editor.cpp                        | 88 +++++++++++++++++------------------
 src/Editor.h                          | 10 ++--
 src/ExternalLexer.cpp                 |  2 +-
 src/ExternalLexer.h                   |  2 +-
 src/KeyMap.cpp                        |  4 +-
 src/KeyWords.cpp                      |  6 +--
 src/LexAPDL.cpp                       |  4 +-
 src/LexAU3.cpp                        |  2 +-
 src/LexAda.cpp                        |  2 +-
 src/LexAsm.cpp                        |  4 +-
 src/LexAsn1.cpp                       |  2 +-
 src/LexBash.cpp                       |  2 +-
 src/LexBasic.cpp                      |  6 +--
 src/LexBullant.cpp                    |  4 +-
 src/LexCLW.cpp                        |  2 +-
 src/LexCPP.cpp                        |  4 +-
 src/LexCSS.cpp                        |  2 +-
 src/LexCaml.cpp                       |  4 +-
 src/LexConf.cpp                       |  4 +-
 src/LexCrontab.cpp                    |  4 +-
 src/LexCsound.cpp                     |  2 +-
 src/LexEScript.cpp                    |  2 +-
 src/LexEiffel.cpp                     |  2 +-
 src/LexErlang.cpp                     |  2 +-
 src/LexFlagship.cpp                   |  2 +-
 src/LexForth.cpp                      |  2 +-
 src/LexFortran.cpp                    |  2 +-
 src/LexGui4Cli.cpp                    |  2 +-
 src/LexHTML.cpp                       | 14 +++---
 src/LexInno.cpp                       |  2 +-
 src/LexLisp.cpp                       |  2 +-
 src/LexLout.cpp                       |  2 +-
 src/LexLua.cpp                        |  2 +-
 src/LexMMIXAL.cpp                     |  4 +-
 src/LexMPT.cpp                        |  2 +-
 src/LexMSSQL.cpp                      |  2 +-
 src/LexMatlab.cpp                     |  4 +-
 src/LexMetapost.cpp                   |  4 +-
 src/LexNsis.cpp                       |  2 +-
 src/LexOpal.cpp                       |  2 +-
 src/LexOthers.cpp                     | 12 ++---
 src/LexPB.cpp                         |  2 +-
 src/LexPOV.cpp                        |  2 +-
 src/LexPS.cpp                         |  2 +-
 src/LexPascal.cpp                     |  2 +-
 src/LexPerl.cpp                       |  2 +-
 src/LexPython.cpp                     |  2 +-
 src/LexRebol.cpp                      |  2 +-
 src/LexRuby.cpp                       |  2 +-
 src/LexSQL.cpp                        |  2 +-
 src/LexSmalltalk.cpp                  |  2 +-
 src/LexSpecman.cpp                    |  2 +-
 src/LexSpice.cpp                      |  2 +-
 src/LexTADS3.cpp                      |  2 +-
 src/LexTCL.cpp                        |  4 +-
 src/LexTeX.cpp                        |  4 +-
 src/LexVB.cpp                         |  2 +-
 src/LexVHDL.cpp                       |  2 +-
 src/LexVerilog.cpp                    |  2 +-
 src/LexYAML.cpp                       |  2 +-
 src/PropSet.cpp                       | 34 +++++++-------
 src/RESearch.cpp                      |  8 ++--
 src/SVector.h                         |  8 ++--
 src/ScintillaBase.cpp                 |  8 ++--
 src/Style.cpp                         | 14 +++---
 src/Style.h                           |  2 +-
 src/ViewStyle.cpp                     |  2 +-
 tqt/PlatTQt.cpp                       | 16 +++----
 tqt/SciListBox.cpp                    |  6 +--
 tqt/ScintillaTQt.cpp                  |  8 ++--
 tqt/tqextscintilla.cpp                |  8 ++--
 tqt/tqextscintilla.h                  |  8 ++--
 tqt/tqextscintillabase.cpp            |  4 +-
 tqt/tqextscintillabase.h              |  2 +-
 tqt/tqextscintilladocument.cpp        |  4 +-
 tqt/tqextscintillalexer.cpp           | 12 ++---
 tqt/tqextscintillalexer.h             |  8 ++--
 tqt/tqextscintillalexerbash.cpp       |  2 +-
 tqt/tqextscintillalexerbash.h         |  2 +-
 tqt/tqextscintillalexerbatch.cpp      |  2 +-
 tqt/tqextscintillalexerbatch.h        |  2 +-
 tqt/tqextscintillalexercpp.cpp        |  2 +-
 tqt/tqextscintillalexercpp.h          |  8 ++--
 tqt/tqextscintillalexercsharp.cpp     |  2 +-
 tqt/tqextscintillalexercsharp.h       |  2 +-
 tqt/tqextscintillalexercss.cpp        |  2 +-
 tqt/tqextscintillalexercss.h          |  6 +--
 tqt/tqextscintillalexerdiff.h         |  2 +-
 tqt/tqextscintillalexerhtml.cpp       |  2 +-
 tqt/tqextscintillalexerhtml.h         |  2 +-
 tqt/tqextscintillalexeridl.cpp        |  2 +-
 tqt/tqextscintillalexeridl.h          |  2 +-
 tqt/tqextscintillalexerjava.cpp       |  2 +-
 tqt/tqextscintillalexerjava.h         |  2 +-
 tqt/tqextscintillalexerjavascript.cpp |  2 +-
 tqt/tqextscintillalexerjavascript.h   |  2 +-
 tqt/tqextscintillalexerlua.cpp        |  2 +-
 tqt/tqextscintillalexerlua.h          |  4 +-
 tqt/tqextscintillalexermakefile.h     |  2 +-
 tqt/tqextscintillalexerperl.cpp       |  2 +-
 tqt/tqextscintillalexerperl.h         |  2 +-
 tqt/tqextscintillalexerpov.cpp        |  2 +-
 tqt/tqextscintillalexerpov.h          |  2 +-
 tqt/tqextscintillalexerproperties.h   |  2 +-
 tqt/tqextscintillalexerpython.cpp     |  2 +-
 tqt/tqextscintillalexerpython.h       |  4 +-
 tqt/tqextscintillalexerruby.cpp       |  2 +-
 tqt/tqextscintillalexerruby.h         |  8 ++--
 tqt/tqextscintillalexersql.cpp        |  2 +-
 tqt/tqextscintillalexersql.h          |  2 +-
 tqt/tqextscintillalexertex.cpp        |  2 +-
 tqt/tqextscintillalexertex.h          |  2 +-
 tqt/tqextscintillamacro.h             |  4 +-
 129 files changed, 335 insertions(+), 335 deletions(-)

diff --git a/designer/tqscintillaplugin.cpp b/designer/tqscintillaplugin.cpp
index db0fb7e..d893f84 100644
--- a/designer/tqscintillaplugin.cpp
+++ b/designer/tqscintillaplugin.cpp
@@ -74,7 +74,7 @@ public:
 	TQScintillaPlugin() {};
 
 	TQStringList keys() const;
-	TQWidget *create(const TQString &classname, TQWidget *parent = 0, const char *name = 0);
+	TQWidget *create(const TQString &classname, TQWidget *parent = nullptr, const char *name = nullptr);
 	TQString group(const TQString &) const;
 	TQIconSet iconSet(const TQString &) const;
 	TQString includeFile(const TQString &) const;
@@ -99,7 +99,7 @@ TQWidget *TQScintillaPlugin::create(const TQString &key, TQWidget *parent, const
 	if (key == "TQextScintilla")
 		return new TQextScintilla(parent, name);
 
-	return 0;
+	return nullptr;
 }
 
 
diff --git a/example/application.cpp b/example/application.cpp
index 7666a7a..2975fdb 100644
--- a/example/application.cpp
+++ b/example/application.cpp
@@ -37,7 +37,7 @@
 #include "fileprint.xpm"
 
 ApplicationWindow::ApplicationWindow()
-    : TQMainWindow( 0, "example application main window", WDestructiveClose | WGroupLeader )
+    : TQMainWindow( nullptr, "example application main window", WDestructiveClose | WGroupLeader )
 {
     printer = new TQextScintillaPrinter( TQPrinter::HighResolution );
     TQPixmap openIcon, saveIcon, printIcon;
diff --git a/include/Accessor.h b/include/Accessor.h
index 0b2c4ba..3551b1d 100644
--- a/include/Accessor.h
+++ b/include/Accessor.h
@@ -74,5 +74,5 @@ public:
 	virtual void StartSegment(unsigned int pos)=0;
 	virtual void ColourTo(unsigned int pos, int chAttr)=0;
 	virtual void SetLevel(int line, int level)=0;
-	virtual int IndentAmount(int line, int *flags, PFNIsCommentLeader pfnIsCommentLeader = 0)=0;
+	virtual int IndentAmount(int line, int *flags, PFNIsCommentLeader pfnIsCommentLeader = nullptr)=0;
 };
diff --git a/include/KeyWords.h b/include/KeyWords.h
index 08dcca6..6765770 100644
--- a/include/KeyWords.h
+++ b/include/KeyWords.h
@@ -29,8 +29,8 @@ public:
 	const char *languageName;
 	LexerModule(int language_, 
 		LexerFunction fnLexer_, 
-		const char *languageName_=0, 
-		LexerFunction fnFolder_=0,
+		const char *languageName_=nullptr, 
+		LexerFunction fnFolder_=nullptr,
 		const char * const wordListDescriptions_[] = nullptr,
 		int styleBits_=5);
 	virtual ~LexerModule() {
diff --git a/include/Platform.h b/include/Platform.h
index 303164b..339b65c 100644
--- a/include/Platform.h
+++ b/include/Platform.h
@@ -283,7 +283,7 @@ protected:
 #endif
 	// Private so Font objects can not be copied
 	Font(const Font &) {}
-	Font &operator=(const Font &) { id=0; return *this; }
+	Font &operator=(const Font &) { id=nullptr; return *this; }
 public:
 	Font();
 	virtual ~Font();
@@ -375,7 +375,7 @@ class Window {
 protected:
 	WindowID id;
 public:
-	Window() : id(0), cursorLast(cursorInvalid) {}
+	Window() : id(nullptr), cursorLast(cursorInvalid) {}
 	Window(const Window &source) : id(source.id), cursorLast(cursorInvalid) {}
 	virtual ~Window();
 	Window &operator=(WindowID id_) {
@@ -383,7 +383,7 @@ public:
 		return *this;
 	}
 	WindowID GetID() const { return id; }
-	bool Created() const { return id != 0; }
+	bool Created() const { return id != nullptr; }
 	void Destroy();
 	bool HasFocus();
 	PRectangle GetPosition();
@@ -493,7 +493,7 @@ public:
 	static long SendScintilla(
 		WindowID w, unsigned int msg, unsigned long wParam=0, long lParam=0);
 	static long SendScintillaPointer(
-		WindowID w, unsigned int msg, unsigned long wParam=0, void *lParam=0);
+		WindowID w, unsigned int msg, unsigned long wParam=0, void *lParam=nullptr);
 	static bool IsDBCSLeadByte(int codePage, char ch);
 	static int DBCSCharLength(int codePage, const char *s);
 	static int DBCSCharMaxLength();
diff --git a/include/PropSet.h b/include/PropSet.h
index e38de7d..e67a0ee 100644
--- a/include/PropSet.h
+++ b/include/PropSet.h
@@ -18,7 +18,7 @@ struct Property {
 	char *key;
 	char *val;
 	Property *next;
-	Property() : hash(0), key(0), val(0), next(0) {}
+	Property() : hash(0), key(nullptr), val(nullptr), next(nullptr) {}
 };
 
 /**
@@ -83,7 +83,7 @@ public:
 	bool sortedNoCase;
 	int starts[256];
 	WordList(bool onlyLineEnds_ = false) :
-		words(0), wordsNoCase(0), list(0), len(0), onlyLineEnds(onlyLineEnds_),
+		words(nullptr), wordsNoCase(nullptr), list(nullptr), len(0), onlyLineEnds(onlyLineEnds_),
 		sorted(false), sortedNoCase(false) {}
 	~WordList() { Clear(); }
 	operator bool() { return len ? true : false; }
diff --git a/include/SString.h b/include/SString.h
index 38a206c..b124863 100644
--- a/include/SString.h
+++ b/include/SString.h
@@ -32,10 +32,10 @@ protected:
 	char *s;				///< The C string
 	lenpos_t sSize;			///< The size of the buffer, less 1: ie. the maximum size of the string
 
-	SContainer() : s(0), sSize(0) {}
+	SContainer() : s(nullptr), sSize(0) {}
 	~SContainer() {
 		delete []s;	// Suppose it was allocated using StringAllocate
-		s = 0;
+		s = nullptr;
 		sSize = 0;
 	}
 	/** Size of buffer. */
@@ -110,7 +110,7 @@ public:
 	}
 	/** Ownership of the buffer have been taken, so release it. */
 	void reset() {
-		s = 0;
+		s = nullptr;
 		sSize = 0;
 	}
 	/** Size of buffer. */
@@ -198,7 +198,7 @@ public:
 		return !operator==(sOther);
 	}
 	bool contains(char ch) const {
-		return (s && *s) ? strchr(s, ch) != 0 : false;
+		return (s && *s) ? strchr(s, ch) != nullptr : false;
 	}
 	void setsizegrowth(lenpos_t sizeGrowth_) {
 		sizeGrowth = sizeGrowth_;
@@ -209,7 +209,7 @@ public:
 	/** Give ownership of buffer to caller which must use delete[] to free buffer. */
 	char *detach() {
 		char *sRet = s;
-		s = 0;
+		s = nullptr;
 		sSize = 0;
 		sLen = 0;
 		return sRet;
diff --git a/include/WindowAccessor.h b/include/WindowAccessor.h
index 6c16b15..0497cdf 100644
--- a/include/WindowAccessor.h
+++ b/include/WindowAccessor.h
@@ -53,5 +53,5 @@ public:
 	void StartSegment(unsigned int pos);
 	void ColourTo(unsigned int pos, int chAttr);
 	void SetLevel(int line, int level);
-	int IndentAmount(int line, int *flags, PFNIsCommentLeader pfnIsCommentLeader = 0);
+	int IndentAmount(int line, int *flags, PFNIsCommentLeader pfnIsCommentLeader = nullptr);
 };
diff --git a/src/AutoComplete.cpp b/src/AutoComplete.cpp
index 753adca..82f379e 100644
--- a/src/AutoComplete.cpp
+++ b/src/AutoComplete.cpp
@@ -20,7 +20,7 @@ AutoComplete::AutoComplete() :
 	typesep('?'),
 	ignoreCase(false),
 	chooseSingle(false),
-	lb(0),
+	lb(nullptr),
 	posStart(0),
 	startLen(0),
 	cancelAtStartPos(true),
@@ -35,7 +35,7 @@ AutoComplete::~AutoComplete() {
 	if (lb) {
 		lb->Destroy();
 		delete lb;
-		lb = 0;
+		lb = nullptr;
 	}
 }
 
diff --git a/src/CallTip.cpp b/src/CallTip.cpp
index 1012e46..da18284 100644
--- a/src/CallTip.cpp
+++ b/src/CallTip.cpp
@@ -17,10 +17,10 @@ static const int insetX = 5;    // text inset in x from calltip border
 static const int widthArrow = 14;
 
 CallTip::CallTip() {
-	wCallTip = 0;
+	wCallTip = nullptr;
 	inCallTipMode = false;
 	posStartCallTip = 0;
-	val = 0;
+	val = nullptr;
 	rectUp = PRectangle(0,0,0,0);
 	rectDown = PRectangle(0,0,0,0);
 	lineHeight = 1;
@@ -40,7 +40,7 @@ CallTip::~CallTip() {
 	font.Release();
 	wCallTip.Destroy();
 	delete []val;
-	val = 0;
+	val = nullptr;
 }
 
 void CallTip::RefreshColourPalette(Palette &pal, bool want) {
diff --git a/src/CellBuffer.cpp b/src/CellBuffer.cpp
index 1fbbdf8..46c6dc6 100644
--- a/src/CellBuffer.cpp
+++ b/src/CellBuffer.cpp
@@ -17,7 +17,7 @@
 #include "CellBuffer.h"
 
 MarkerHandleSet::MarkerHandleSet() {
-	root = 0;
+	root = nullptr;
 }
 
 MarkerHandleSet::~MarkerHandleSet() {
@@ -27,7 +27,7 @@ MarkerHandleSet::~MarkerHandleSet() {
 		mhn = mhn->next;
 		delete mhnToFree;
 	}
-	root = 0;
+	root = nullptr;
 }
 
 int MarkerHandleSet::Length() {
@@ -118,14 +118,14 @@ void MarkerHandleSet::CombineWith(MarkerHandleSet *other) {
 		pmhn = &((*pmhn)->next);
 	}
 	*pmhn = other->root;
-	other->root = 0;
+	other->root = nullptr;
 }
 
 LineVector::LineVector() {
-	linesData = 0;
+	linesData = nullptr;
 	lines = 0;
 	size = 0;
-	levels = 0;
+	levels = nullptr;
 	sizeLevels = 0;
 	handleCurrent = 1;
 	growSize = 1000;
@@ -136,25 +136,25 @@ LineVector::LineVector() {
 LineVector::~LineVector() {
 	for (int line = 0; line < lines; line++) {
 		delete linesData[line].handleSet;
-		linesData[line].handleSet = 0;
+		linesData[line].handleSet = nullptr;
 	}
 	delete []linesData;
-	linesData = 0;
+	linesData = nullptr;
 	delete []levels;
-	levels = 0;
+	levels = nullptr;
 }
 
 void LineVector::Init() {
 	for (int line = 0; line < lines; line++) {
 		delete linesData[line].handleSet;
-		linesData[line].handleSet = 0;
+		linesData[line].handleSet = nullptr;
 	}
 	delete []linesData;
 	linesData = new LineData[static_cast<int>(growSize)];
 	size = growSize;
 	lines = 1;
 	delete []levels;
-	levels = 0;
+	levels = nullptr;
 	sizeLevels = 0;
 }
 
@@ -196,7 +196,7 @@ void LineVector::ExpandLevels(int sizeNew) {
 
 void LineVector::ClearLevels() {
 	delete []levels;
-	levels = 0;
+	levels = nullptr;
 	sizeLevels = 0;
 }
 
@@ -215,7 +215,7 @@ void LineVector::InsertValue(int pos, int value) {
 		linesData[i] = linesData[i - 1];
 	}
 	linesData[pos].startPosition = value;
-	linesData[pos].handleSet = 0;
+	linesData[pos].handleSet = nullptr;
 	if (levels) {
 		for (int j = lines; j > pos; j--) {
 			levels[j] = levels[j - 1];
@@ -314,7 +314,7 @@ void LineVector::DeleteMark(int line, int markerNum, bool all) {
 	if (linesData[line].handleSet) {
 		if (markerNum == -1) {
 			delete linesData[line].handleSet;
-			linesData[line].handleSet = 0;
+			linesData[line].handleSet = nullptr;
 		} else {
 			bool performedDeletion = 
 				linesData[line].handleSet->RemoveNumber(markerNum);
@@ -324,7 +324,7 @@ void LineVector::DeleteMark(int line, int markerNum, bool all) {
 			}
 			if (linesData[line].handleSet->Length() == 0) {
 				delete linesData[line].handleSet;
-				linesData[line].handleSet = 0;
+				linesData[line].handleSet = nullptr;
 			}
 		}
 	}
@@ -336,7 +336,7 @@ void LineVector::DeleteMarkFromHandle(int markerHandle) {
 		linesData[line].handleSet->RemoveHandle(markerHandle);
 		if (linesData[line].handleSet->Length() == 0) {
 			delete linesData[line].handleSet;
-			linesData[line].handleSet = 0;
+			linesData[line].handleSet = nullptr;
 		}
 	}
 }
@@ -355,7 +355,7 @@ int LineVector::LineFromHandle(int markerHandle) {
 Action::Action() {
 	at = startAction;
 	position = 0;
-	data = 0;
+	data = nullptr;
 	lenData = 0;
 }
 
@@ -374,7 +374,7 @@ void Action::Create(actionType at_, int position_, char *data_, int lenData_, bo
 
 void Action::Destroy() {
 	delete []data;
-	data = 0;
+	data = nullptr;
 }
 
 void Action::Grab(Action *source) {
@@ -389,7 +389,7 @@ void Action::Grab(Action *source) {
 	// Ownership of source data transferred to this
 	source->position = 0;
 	source->at = startAction;
-	source->data = 0;
+	source->data = nullptr;
 	source->lenData = 0;
 	source->mayCoalesce = true;
 }
@@ -426,7 +426,7 @@ UndoHistory::UndoHistory() {
 
 UndoHistory::~UndoHistory() {
 	delete []actions;
-	actions = 0;
+	actions = nullptr;
 }
 
 void UndoHistory::EnsureUndoRoom() {
@@ -614,7 +614,7 @@ CellBuffer::CellBuffer(int initialLength) {
 
 CellBuffer::~CellBuffer() {
 	delete []body;
-	body = 0;
+	body = nullptr;
 }
 
 void CellBuffer::GapTo(int position) {
@@ -715,7 +715,7 @@ char CellBuffer::StyleAt(int position) {
 }
 
 const char *CellBuffer::InsertString(int position, char *s, int insertLength) {
-	char *data = 0;
+	char *data = nullptr;
 	// InsertString and DeleteChars are the bottleneck though which all changes occur
 	if (!readOnly) {
 		if (collectingUndo) {
@@ -763,7 +763,7 @@ bool CellBuffer::SetStyleFor(int position, int lengthStyle, char style, char mas
 const char *CellBuffer::DeleteChars(int position, int deleteLength) {
 	// InsertString and DeleteChars are the bottleneck though which all changes occur
 	PLATFORM_ASSERT(deleteLength > 0);
-	char *data = 0;
+	char *data = nullptr;
 	if (!readOnly) {
 		if (collectingUndo) {
 			// Save into the undo/redo stack, but only the characters - not the formatting
diff --git a/src/CellBuffer.h b/src/CellBuffer.h
index bb81fd5..3cd0e94 100644
--- a/src/CellBuffer.h
+++ b/src/CellBuffer.h
@@ -44,7 +44,7 @@ public:
 struct LineData {
 	int startPosition;
 	MarkerHandleSet *handleSet;
-	LineData() : startPosition(0), handleSet(0) {
+	LineData() : startPosition(0), handleSet(nullptr) {
 	}
 };
 
@@ -97,7 +97,7 @@ public:
 
 	Action();
 	~Action();
-	void Create(actionType at_, int position_=0, char *data_=0, int lenData_=0, bool mayCoalesce_=true);
+	void Create(actionType at_, int position_=0, char *data_=nullptr, int lenData_=0, bool mayCoalesce_=true);
 	void Destroy();
 	void Grab(Action *source);
 };
diff --git a/src/ContractionState.cpp b/src/ContractionState.cpp
index 3d021b0..9c9799a 100644
--- a/src/ContractionState.cpp
+++ b/src/ContractionState.cpp
@@ -18,12 +18,12 @@ OneLine::OneLine() {
 }
 
 ContractionState::ContractionState() {
-	lines = 0;
+	lines = nullptr;
 	size = 0;
 	linesInDoc = 1;
 	linesInDisplay = 1;
 	valid = false;
-	docLines = 0;
+	docLines = nullptr;
 	sizeDocLines = 0;
 }
 
@@ -46,7 +46,7 @@ void ContractionState::MakeValid() const {
 			delete []docLines;
 			int *docLinesNew = new int[linesInDisplay + growSize];
 			if (!docLinesNew) {
-				docLines = 0;
+				docLines = nullptr;
 				sizeDocLines = 0;
 				return;
 			}
@@ -69,12 +69,12 @@ void ContractionState::MakeValid() const {
 
 void ContractionState::Clear() {
 	delete []lines;
-	lines = 0;
+	lines = nullptr;
 	size = 0;
 	linesInDoc = 1;
 	linesInDisplay = 1;
 	delete []docLines;
-	docLines = 0;
+	docLines = nullptr;
 	sizeDocLines = 0;
 }
 
@@ -278,11 +278,11 @@ bool ContractionState::SetHeight(int lineDoc, int height) {
 
 void ContractionState::ShowAll() {
 	delete []lines;
-	lines = 0;
+	lines = nullptr;
 	size = 0;
 
 	delete []docLines;
-	docLines = 0;
+	docLines = nullptr;
 	sizeDocLines = 0;
 
 	linesInDisplay = linesInDoc;
diff --git a/src/Document.cpp b/src/Document.cpp
index 92be926..5649faf 100644
--- a/src/Document.cpp
+++ b/src/Document.cpp
@@ -61,12 +61,12 @@ Document::Document() {
 	useTabs = true;
 	tabIndents = true;
 	backspaceUnindents = false;
-	watchers = 0;
+	watchers = nullptr;
 	lenWatchers = 0;
 
 	matchesValid = false;
-	pre = 0;
-	substituted = 0;
+	pre = nullptr;
+	substituted = nullptr;
 }
 
 Document::~Document() {
@@ -74,12 +74,12 @@ Document::~Document() {
 		watchers[i].watcher->NotifyDeleted(this, watchers[i].userData);
 	}
 	delete []watchers;
-	watchers = 0;
+	watchers = nullptr;
 	lenWatchers = 0;
 	delete pre;
-	pre = 0;
+	pre = nullptr;
 	delete []substituted;
-	substituted = 0;
+	substituted = nullptr;
 }
 
 // Increase reference count and return its previous value.
@@ -103,7 +103,7 @@ void Document::SetSavePoint() {
 
 int Document::AddMark(int line, int markerNum) {
 	int prev = cb.AddMark(line, markerNum);
-	DocModification mh(SC_MOD_CHANGEMARKER, LineStart(line), 0, 0, 0, line);
+	DocModification mh(SC_MOD_CHANGEMARKER, LineStart(line), 0, 0, nullptr, line);
 	mh.line = line;
 	NotifyModified(mh);
 	return prev;
@@ -114,28 +114,28 @@ void Document::AddMarkSet(int line, int valueSet) {
 	for (int i = 0; m; i++, m >>= 1)
 		if (m & 1)
 			cb.AddMark(line, i);
-	DocModification mh(SC_MOD_CHANGEMARKER, LineStart(line), 0, 0, 0, line);
+	DocModification mh(SC_MOD_CHANGEMARKER, LineStart(line), 0, 0, nullptr, line);
 	mh.line = line;
 	NotifyModified(mh);
 }
 
 void Document::DeleteMark(int line, int markerNum) {
 	cb.DeleteMark(line, markerNum);
-	DocModification mh(SC_MOD_CHANGEMARKER, LineStart(line), 0, 0, 0, line);
+	DocModification mh(SC_MOD_CHANGEMARKER, LineStart(line), 0, 0, nullptr, line);
 	mh.line = line;
 	NotifyModified(mh);
 }
 
 void Document::DeleteMarkFromHandle(int markerHandle) {
 	cb.DeleteMarkFromHandle(markerHandle);
-	DocModification mh(SC_MOD_CHANGEMARKER, 0, 0, 0, 0);
+	DocModification mh(SC_MOD_CHANGEMARKER, 0, 0, 0, nullptr);
 	mh.line = -1;
 	NotifyModified(mh);
 }
 
 void Document::DeleteAllMarks(int markerNum) {
 	cb.DeleteAllMarks(markerNum);
-	DocModification mh(SC_MOD_CHANGEMARKER, 0, 0, 0, 0);
+	DocModification mh(SC_MOD_CHANGEMARKER, 0, 0, 0, nullptr);
 	mh.line = -1;
 	NotifyModified(mh);
 }
@@ -182,7 +182,7 @@ int Document::SetLevel(int line, int level) {
 	int prev = cb.SetLevel(line, level);
 	if (prev != level) {
 		DocModification mh(SC_MOD_CHANGEFOLD | SC_MOD_CHANGEMARKER,
-		                   LineStart(line), 0, 0, 0);
+		                   LineStart(line), 0, 0, nullptr);
 		mh.line = line;
 		mh.foldLevelNow = level;
 		mh.foldLevelPrev = prev;
@@ -377,7 +377,7 @@ bool Document::DeleteChars(int pos, int len) {
 			    DocModification(
 			        SC_MOD_BEFOREDELETE | SC_PERFORMED_USER,
 			        pos, len,
-			        0, 0));
+			        0, nullptr));
 			int prevLinesTotal = LinesTotal();
 			bool startSavePoint = cb.IsSavePoint();
 			const char *text = cb.DeleteChars(pos * 2, len * 2);
@@ -1161,12 +1161,12 @@ long Document::FindText(int minPos, int maxPos, const char *s,
 
 const char *Document::SubstituteByPosition(const char *text, int *length) {
 	if (!pre)
-		return 0;
+		return nullptr;
 	delete []substituted;
-	substituted = 0;
+	substituted = nullptr;
 	DocumentIndexer di(this, Length());
 	if (!pre->GrabMatches(di))
-		return 0;
+		return nullptr;
 	unsigned int lenResult = 0;
 	for (int i = 0; i < *length; i++) {
 		if (text[i] == '\\') {
@@ -1193,7 +1193,7 @@ const char *Document::SubstituteByPosition(const char *text, int *length) {
 	}
 	substituted = new char[lenResult + 1];
 	if (!substituted)
-		return 0;
+		return nullptr;
 	char *o = substituted;
 	for (int j = 0; j < *length; j++) {
 		if (text[j] == '\\') {
@@ -1376,7 +1376,7 @@ bool Document::RemoveWatcher(DocWatcher *watcher, void *userData) {
 		        (watchers[i].userData == userData)) {
 			if (lenWatchers == 1) {
 				delete []watchers;
-				watchers = 0;
+				watchers = nullptr;
 				lenWatchers = 0;
 			} else {
 				WatcherWithUserData *pwNew = new WatcherWithUserData[lenWatchers];
diff --git a/src/Document.h b/src/Document.h
index d774d56..c326161 100644
--- a/src/Document.h
+++ b/src/Document.h
@@ -83,8 +83,8 @@ public:
 		DocWatcher *watcher;
 		void *userData;
 		WatcherWithUserData() {
-			watcher = 0;
-			userData = 0;
+			watcher = nullptr;
+			userData = nullptr;
 		}
 	};
 
@@ -266,7 +266,7 @@ public:
 	int foldLevelPrev;
 
 	DocModification(int modificationType_, int position_=0, int length_=0,
-		int linesAdded_=0, const char *text_=0, int line_=0) :
+		int linesAdded_=0, const char *text_=nullptr, int line_=0) :
 		modificationType(modificationType_),
 		position(position_),
 		length(length_),
diff --git a/src/DocumentAccessor.h b/src/DocumentAccessor.h
index 7406520..faafb3b 100644
--- a/src/DocumentAccessor.h
+++ b/src/DocumentAccessor.h
@@ -33,7 +33,7 @@ protected:
 	void Fill(int position);
 
 public:
-	DocumentAccessor(Document *pdoc_, PropSet &props_, WindowID id_=0) : 
+	DocumentAccessor(Document *pdoc_, PropSet &props_, WindowID id_=nullptr) : 
 		Accessor(), pdoc(pdoc_), props(props_), id(id_),
 		lenDoc(-1), validLen(0), chFlags(0), chWhile(0), 
 		startSeg(0), startPosStyling(0),
@@ -63,5 +63,5 @@ public:
 	void StartSegment(unsigned int pos);
 	void ColourTo(unsigned int pos, int chAttr);
 	void SetLevel(int line, int level);
-	int IndentAmount(int line, int *flags, PFNIsCommentLeader pfnIsCommentLeader = 0);
+	int IndentAmount(int line, int *flags, PFNIsCommentLeader pfnIsCommentLeader = nullptr);
 };
diff --git a/src/Editor.cpp b/src/Editor.cpp
index 1b577bb..eb81037 100644
--- a/src/Editor.cpp
+++ b/src/Editor.cpp
@@ -65,13 +65,13 @@ Caret::Caret() :
 active(false), on(false), period(500) {}
 
 Timer::Timer() :
-ticking(false), ticksToWait(0), tickerID(0) {}
+ticking(false), ticksToWait(0), tickerID(nullptr) {}
 
 Idler::Idler() :
-state(false), idlerID(0) {}
+state(false), idlerID(nullptr) {}
 
 LineLayout::LineLayout(int maxLineLength_) :
-	lineStarts(0),
+	lineStarts(nullptr),
 	lenLineStarts(0),
 	lineNumber(-1),
 	inCache(false),
@@ -84,11 +84,11 @@ LineLayout::LineLayout(int maxLineLength_) :
 	selEnd(0),
 	containsCaret(false),
 	edgeColumn(0),
-	chars(0),
-	styles(0),
+	chars(nullptr),
+	styles(nullptr),
 	styleBitsSet(0),
-	indicators(0),
-	positions(0),
+	indicators(nullptr),
+	positions(nullptr),
 	hsStart(0),
 	hsEnd(0),
 	widthLine(wrapWidthInfinite),
@@ -115,15 +115,15 @@ void LineLayout::Resize(int maxLineLength_) {
 
 void LineLayout::Free() {
 	delete []chars;
-	chars = 0;
+	chars = nullptr;
 	delete []styles;
-	styles = 0;
+	styles = nullptr;
 	delete []indicators;
-	indicators = 0;
+	indicators = nullptr;
 	delete []positions;
-	positions = 0;
+	positions = nullptr;
 	delete []lineStarts;
-	lineStarts = 0;
+	lineStarts = nullptr;
 }
 
 void LineLayout::Invalidate(validLevel validity_) {
@@ -189,7 +189,7 @@ void LineLayout::RestoreBracesHighlight(Range rangeLine, Position braces[]) {
 }
 
 LineLayoutCache::LineLayoutCache() :
-	level(0), length(0), size(0), cache(0),
+	level(0), length(0), size(0), cache(nullptr),
 	allInvalidated(false), styleClock(-1), useCount(0) {
 	Allocate(0);
 }
@@ -210,7 +210,7 @@ void LineLayoutCache::Allocate(int length_) {
 		cache = new LineLayout * [size];
 	}
 	for (int i = 0; i < size; i++)
-		cache[i] = 0;
+		cache[i] = nullptr;
 }
 
 void LineLayoutCache::AllocateForLevel(int linesOnScreen, int linesInDoc) {
@@ -230,7 +230,7 @@ void LineLayoutCache::AllocateForLevel(int linesOnScreen, int linesInDoc) {
 		if (lengthForLevel < length) {
 			for (int i = lengthForLevel; i < length; i++) {
 				delete cache[i];
-				cache[i] = 0;
+				cache[i] = nullptr;
 			}
 		}
 		length = lengthForLevel;
@@ -244,7 +244,7 @@ void LineLayoutCache::Deallocate() {
 	for (int i = 0; i < length; i++)
 		delete cache[i];
 	delete []cache;
-	cache = 0;
+	cache = nullptr;
 	length = 0;
 	size = 0;
 }
@@ -279,7 +279,7 @@ LineLayout *LineLayoutCache::Retrieve(int lineNumber, int lineCaret, int maxChar
 	}
 	allInvalidated = false;
 	int pos = -1;
-	LineLayout *ret = 0;
+	LineLayout *ret = nullptr;
 	if (level == llcCaret) {
 		pos = 0;
 	} else if (level == llcPage) {
@@ -298,7 +298,7 @@ LineLayout *LineLayoutCache::Retrieve(int lineNumber, int lineCaret, int maxChar
 				if ((cache[pos]->lineNumber != lineNumber) ||
 				        (cache[pos]->maxLineLength < maxChars)) {
 					delete cache[pos];
-					cache[pos] = 0;
+					cache[pos] = nullptr;
 				}
 			}
 			if (!cache[pos]) {
@@ -422,7 +422,7 @@ Editor::Editor() {
 
 	pdoc = new Document();
 	pdoc->AddRef();
-	pdoc->AddWatcher(this, 0);
+	pdoc->AddWatcher(this, nullptr);
 
 	recordingMacro = false;
 	foldFlags = 0;
@@ -445,9 +445,9 @@ Editor::Editor() {
 }
 
 Editor::~Editor() {
-	pdoc->RemoveWatcher(this, 0);
+	pdoc->RemoveWatcher(this, nullptr);
 	pdoc->Release();
-	pdoc = 0;
+	pdoc = nullptr;
 	DropGraphics();
 	delete pixmapLine;
 	delete pixmapSelMargin;
@@ -576,7 +576,7 @@ public:
 	AutoLineLayout(LineLayoutCache &llc_, LineLayout *ll_) : llc(llc_), ll(ll_) {}
 	~AutoLineLayout() {
 		llc.Dispose(ll);
-		ll = 0;
+		ll = nullptr;
 	}
 	LineLayout *operator->() const {
 		return ll;
@@ -2877,7 +2877,7 @@ void Editor::Paint(Surface *surfaceWindow, PRectangle rcArea) {
 		//double durCopy = 0.0;
 		//ElapsedTime etWhole;
 		int lineDocPrevious = -1;	// Used to avoid laying out one document line multiple times
-		AutoLineLayout ll(llc, 0);
+		AutoLineLayout ll(llc, nullptr);
 		SelectionLineIterator lineIterator(this);
 		while (visibleLine < cs.LinesDisplayed() && yposScreen < rcArea.bottom) {
 
@@ -2891,7 +2891,7 @@ void Editor::Paint(Surface *surfaceWindow, PRectangle rcArea) {
 			// and determine the x position at which each character starts.
 			//ElapsedTime et;
 			if (lineDoc != lineDocPrevious) {
-				ll.Set(0);
+				ll.Set(nullptr);
 				// For rectangular selection this accesses the layout cache so should be after layout returned.
 				lineIterator.SetAt(lineDoc);
 				ll.Set(RetrieveLineLayout(lineDoc));
@@ -3053,7 +3053,7 @@ void Editor::Paint(Surface *surfaceWindow, PRectangle rcArea) {
 			visibleLine++;
 			//gdk_flush();
 		}
-		ll.Set(0);
+		ll.Set(nullptr);
 		//if (durPaint < 0.00000001)
 		//	durPaint = 0.00000001;
 
@@ -3573,7 +3573,7 @@ void Editor::DelCharBack(bool allowLineStartDeletion) {
 void Editor::NotifyFocus(bool) {}
 
 void Editor::NotifyStyleToNeeded(int endStyleNeeded) {
-	SCNotification scn = {0};
+	SCNotification scn = {nullptr};
 	scn.nmhdr.code = SCN_STYLENEEDED;
 	scn.position = endStyleNeeded;
 	NotifyParent(scn);
@@ -3584,7 +3584,7 @@ void Editor::NotifyStyleNeeded(Document*, void *, int endStyleNeeded) {
 }
 
 void Editor::NotifyChar(int ch) {
-	SCNotification scn = {0};
+	SCNotification scn = {nullptr};
 	scn.nmhdr.code = SCN_CHARADDED;
 	scn.ch = ch;
 	NotifyParent(scn);
@@ -3597,7 +3597,7 @@ void Editor::NotifyChar(int ch) {
 }
 
 void Editor::NotifySavePoint(bool isSavePoint) {
-	SCNotification scn = {0};
+	SCNotification scn = {nullptr};
 	if (isSavePoint) {
 		scn.nmhdr.code = SCN_SAVEPOINTREACHED;
 	} else {
@@ -3607,13 +3607,13 @@ void Editor::NotifySavePoint(bool isSavePoint) {
 }
 
 void Editor::NotifyModifyAttempt() {
-	SCNotification scn = {0};
+	SCNotification scn = {nullptr};
 	scn.nmhdr.code = SCN_MODIFYATTEMPTRO;
 	NotifyParent(scn);
 }
 
 void Editor::NotifyDoubleClick(Point pt, bool) {
-	SCNotification scn = {0};
+	SCNotification scn = {nullptr};
 	scn.nmhdr.code = SCN_DOUBLECLICK;
 	scn.line = LineFromLocation(pt);
 	scn.position = PositionFromLocationClose(pt);
@@ -3621,7 +3621,7 @@ void Editor::NotifyDoubleClick(Point pt, bool) {
 }
 
 void Editor::NotifyHotSpotDoubleClicked(int position, bool shift, bool ctrl, bool alt) {
-	SCNotification scn = {0};
+	SCNotification scn = {nullptr};
 	scn.nmhdr.code = SCN_HOTSPOTDOUBLECLICK;
 	scn.position = position;
 	scn.modifiers = (shift ? SCI_SHIFT : 0) | (ctrl ? SCI_CTRL : 0) |
@@ -3630,7 +3630,7 @@ void Editor::NotifyHotSpotDoubleClicked(int position, bool shift, bool ctrl, boo
 }
 
 void Editor::NotifyHotSpotClicked(int position, bool shift, bool ctrl, bool alt) {
-	SCNotification scn = {0};
+	SCNotification scn = {nullptr};
 	scn.nmhdr.code = SCN_HOTSPOTCLICK;
 	scn.position = position;
 	scn.modifiers = (shift ? SCI_SHIFT : 0) | (ctrl ? SCI_CTRL : 0) |
@@ -3639,13 +3639,13 @@ void Editor::NotifyHotSpotClicked(int position, bool shift, bool ctrl, bool alt)
 }
 
 void Editor::NotifyUpdateUI() {
-	SCNotification scn = {0};
+	SCNotification scn = {nullptr};
 	scn.nmhdr.code = SCN_UPDATEUI;
 	NotifyParent(scn);
 }
 
 void Editor::NotifyPainted() {
-	SCNotification scn = {0};
+	SCNotification scn = {nullptr};
 	scn.nmhdr.code = SCN_PAINTED;
 	NotifyParent(scn);
 }
@@ -3659,7 +3659,7 @@ bool Editor::NotifyMarginClick(Point pt, bool shift, bool ctrl, bool alt) {
 		x += vs.ms[margin].width;
 	}
 	if ((marginClicked >= 0) && vs.ms[marginClicked].sensitive) {
-		SCNotification scn = {0};
+		SCNotification scn = {nullptr};
 		scn.nmhdr.code = SCN_MARGINCLICK;
 		scn.modifiers = (shift ? SCI_SHIFT : 0) | (ctrl ? SCI_CTRL : 0) |
 		                (alt ? SCI_ALT : 0);
@@ -3673,7 +3673,7 @@ bool Editor::NotifyMarginClick(Point pt, bool shift, bool ctrl, bool alt) {
 }
 
 void Editor::NotifyNeedShown(int pos, int len) {
-	SCNotification scn = {0};
+	SCNotification scn = {nullptr};
 	scn.nmhdr.code = SCN_NEEDSHOWN;
 	scn.position = pos;
 	scn.length = len;
@@ -3681,7 +3681,7 @@ void Editor::NotifyNeedShown(int pos, int len) {
 }
 
 void Editor::NotifyDwelling(Point pt, bool state) {
-	SCNotification scn = {0};
+	SCNotification scn = {nullptr};
 	scn.nmhdr.code = state ? SCN_DWELLSTART : SCN_DWELLEND;
 	scn.position = PositionFromLocationClose(pt);
 	scn.x = pt.x;
@@ -3690,7 +3690,7 @@ void Editor::NotifyDwelling(Point pt, bool state) {
 }
 
 void Editor::NotifyZoom() {
-	SCNotification scn = {0};
+	SCNotification scn = {nullptr};
 	scn.nmhdr.code = SCN_ZOOM;
 	NotifyParent(scn);
 }
@@ -3851,7 +3851,7 @@ void Editor::NotifyModified(Document*, DocModification mh, void *) {
 			NotifyChange();	// Send EN_CHANGE
 		}
 
-		SCNotification scn = {0};
+		SCNotification scn = {nullptr};
 		scn.nmhdr.code = SCN_MODIFIED;
 		scn.position = mh.position;
 		scn.modificationType = mh.modificationType;
@@ -3982,7 +3982,7 @@ void Editor::NotifyMacroRecord(unsigned int iMessage, uptr_t wParam, sptr_t lPar
 	}
 
 	// Send notification
-	SCNotification scn = {0};
+	SCNotification scn = {nullptr};
 	scn.nmhdr.code = SCN_MACRORECORD;
 	scn.message = iMessage;
 	scn.wParam = wParam;
@@ -4823,7 +4823,7 @@ static bool Close(Point pt1, Point pt2) {
 }
 
 char *Editor::CopyRange(int start, int end) {
-	char *text = 0;
+	char *text = nullptr;
 	if (start < end) {
 		int len = end - start;
 		text = new char[len + 1];
@@ -4846,7 +4846,7 @@ void Editor::CopySelectionRange(SelectionText *ss) {
 	if (selType == selStream) {
 		CopySelectionFromRange(ss, SelectionStart(), SelectionEnd());
 	} else {
-		char *text = 0;
+		char *text = nullptr;
 		int size = 0;
 		SelectionLineIterator lineIterator(this);
 		while (lineIterator.Iterate()) {
@@ -5508,7 +5508,7 @@ void Editor::SetBraceHighlight(Position pos0, Position pos1, int matchStyle) {
 
 void Editor::SetDocPointer(Document *document) {
 	//Platform::DebugPrintf("** %x setdoc to %x\n", pdoc, document);
-	pdoc->RemoveWatcher(this, 0);
+	pdoc->RemoveWatcher(this, nullptr);
 	pdoc->Release();
 	if (!document) {
 		pdoc = new Document();
@@ -5533,7 +5533,7 @@ void Editor::SetDocPointer(Document *document) {
 	llc.Deallocate();
 	NeedWrapping();
 
-	pdoc->AddWatcher(this, 0);
+	pdoc->AddWatcher(this, nullptr);
 	SetScrollBars();
 	Redraw();
 }
diff --git a/src/Editor.h b/src/Editor.h
index fe7be26..ed43876 100644
--- a/src/Editor.h
+++ b/src/Editor.h
@@ -138,12 +138,12 @@ public:
 	bool rectangular;
 	int codePage;
 	int characterSet;
-	SelectionText() : s(0), len(0), rectangular(false), codePage(0), characterSet(0) {}
+	SelectionText() : s(nullptr), len(0), rectangular(false), codePage(0), characterSet(0) {}
 	~SelectionText() {
 		Free();
 	}
 	void Free() {
-		Set(0, 0, 0, 0, false);
+		Set(nullptr, 0, 0, 0, false);
 	}
 	void Set(char *s_, int len_, int codePage_, int characterSet_, bool rectangular_) {
 		delete []s;
@@ -465,7 +465,7 @@ protected:	// ScintillaBase subclass needs access to much of Editor
 	int StartEndDisplayLine(int pos, bool start);
 	virtual int KeyCommand(unsigned int iMessage);
 	virtual int KeyDefault(int /* key */, int /*modifiers*/);
-	int KeyDown(int key, bool shift, bool ctrl, bool alt, bool *consumed=0);
+	int KeyDown(int key, bool shift, bool ctrl, bool alt, bool *consumed=nullptr);
 
 	int GetWhitespaceVisible();
 	void SetWhitespaceVisible(int view);
@@ -548,7 +548,7 @@ class AutoSurface {
 private:
 	Surface *surf;
 public:
-	AutoSurface(Editor *ed) : surf(0) {
+	AutoSurface(Editor *ed) : surf(nullptr) {
 		if (ed->wMain.GetID()) {
 			surf = Surface::Allocate();
 			if (surf) {
@@ -558,7 +558,7 @@ public:
 			}
 		}
 	}
-	AutoSurface(SurfaceID sid, Editor *ed) : surf(0) {
+	AutoSurface(SurfaceID sid, Editor *ed) : surf(nullptr) {
 		if (ed->wMain.GetID()) {
 			surf = Surface::Allocate();
 			if (surf) {
diff --git a/src/ExternalLexer.cpp b/src/ExternalLexer.cpp
index 27846c8..792732e 100644
--- a/src/ExternalLexer.cpp
+++ b/src/ExternalLexer.cpp
@@ -45,7 +45,7 @@ char **WordListsToStrings(WordList *val[]) {
 		wls[i] = new char[words.length() + 1];
 		strcpy(wls[i], words.c_str());
 	}
-	wls[dim] = 0;
+	wls[dim] = nullptr;
 	return wls;
 }
 
diff --git a/src/ExternalLexer.h b/src/ExternalLexer.h
index f18bc31..2c8275b 100644
--- a/src/ExternalLexer.h
+++ b/src/ExternalLexer.h
@@ -41,7 +41,7 @@ protected:
 	char name[100];
 public:
 	ExternalLexerModule(int language_, LexerFunction fnLexer_, 
-		const char *languageName_=0, LexerFunction fnFolder_=0) : LexerModule(language_, fnLexer_, 0, fnFolder_){
+		const char *languageName_=nullptr, LexerFunction fnFolder_=nullptr) : LexerModule(language_, fnLexer_, nullptr, fnFolder_){
 		strncpy(name, languageName_, sizeof(name));
 		languageName = name;
 	};
diff --git a/src/KeyMap.cpp b/src/KeyMap.cpp
index bfa6e2d..0232450 100644
--- a/src/KeyMap.cpp
+++ b/src/KeyMap.cpp
@@ -11,7 +11,7 @@
 
 #include "KeyMap.h"
 
-KeyMap::KeyMap() : kmap(0), len(0), alloc(0) {
+KeyMap::KeyMap() : kmap(nullptr), len(0), alloc(0) {
 	for (int i = 0; MapDefault[i].key; i++) {
 		AssignCmdKey(MapDefault[i].key,
 			MapDefault[i].modifiers,
@@ -25,7 +25,7 @@ KeyMap::~KeyMap() {
 
 void KeyMap::Clear() {
 	delete []kmap;
-	kmap = 0;
+	kmap = nullptr;
 	len = 0;
 	alloc = 0;
 }
diff --git a/src/KeyWords.cpp b/src/KeyWords.cpp
index d82942e..ccc6825 100644
--- a/src/KeyWords.cpp
+++ b/src/KeyWords.cpp
@@ -19,7 +19,7 @@
 #include "Scintilla.h"
 #include "SciLexer.h"
 
-const LexerModule *LexerModule::base = 0;
+const LexerModule *LexerModule::base = nullptr;
 int LexerModule::nextLanguage = SCLEX_AUTOMATIC+1;
 
 LexerModule::LexerModule(int language_,
@@ -79,7 +79,7 @@ const LexerModule *LexerModule::Find(int language) {
 		}
 		lm = lm->next;
 	}
-	return 0;
+	return nullptr;
 }
 
 const LexerModule *LexerModule::Find(const char *languageName) {
@@ -92,7 +92,7 @@ const LexerModule *LexerModule::Find(const char *languageName) {
 			lm = lm->next;
 		}
 	}
-	return 0;
+	return nullptr;
 }
 
 void LexerModule::Lex(unsigned int startPos, int lengthDoc, int initStyle,
diff --git a/src/LexAPDL.cpp b/src/LexAPDL.cpp
index 1cf263e..4ff8ee0 100644
--- a/src/LexAPDL.cpp
+++ b/src/LexAPDL.cpp
@@ -130,7 +130,7 @@ static const char * const apdlWordListDesc[] = {
     "starcommands",
     "arguments",
     "functions",
-    0
+    nullptr
 };
 
-LexerModule lmAPDL(SCLEX_APDL, ColouriseAPDLDoc, "apdl", 0, apdlWordListDesc);
+LexerModule lmAPDL(SCLEX_APDL, ColouriseAPDLDoc, "apdl", nullptr, apdlWordListDesc);
diff --git a/src/LexAU3.cpp b/src/LexAU3.cpp
index 2bc2e0f..849c9c4 100644
--- a/src/LexAU3.cpp
+++ b/src/LexAU3.cpp
@@ -886,6 +886,6 @@ static const char * const AU3WordLists[] = {
     "#autoit Special",
     "#autoit Expand",
     "#autoit UDF",
-    0
+    nullptr
 };
 LexerModule lmAU3(SCLEX_AU3, ColouriseAU3Doc, "au3", FoldAU3Doc , AU3WordLists);
diff --git a/src/LexAda.cpp b/src/LexAda.cpp
index 5f279b6..192e114 100644
--- a/src/LexAda.cpp
+++ b/src/LexAda.cpp
@@ -32,7 +32,7 @@ static void ColouriseDocument(
 
 static const char * const adaWordListDesc[] = {
 	"Keywords",
-	0
+	nullptr
 };
 
 LexerModule lmAda(SCLEX_ADA, ColouriseDocument, "ada", nullptr, adaWordListDesc);
diff --git a/src/LexAsm.cpp b/src/LexAsm.cpp
index 93e0b37..f6213d5 100644
--- a/src/LexAsm.cpp
+++ b/src/LexAsm.cpp
@@ -170,8 +170,8 @@ static const char * const asmWordListDesc[] = {
 	"Directives",
 	"Directive operands",
 	"Extended instructions",
-	0
+	nullptr
 };
 
-LexerModule lmAsm(SCLEX_ASM, ColouriseAsmDoc, "asm", 0, asmWordListDesc);
+LexerModule lmAsm(SCLEX_ASM, ColouriseAsmDoc, "asm", nullptr, asmWordListDesc);
 
diff --git a/src/LexAsn1.cpp b/src/LexAsn1.cpp
index 1600e63..03f203e 100644
--- a/src/LexAsn1.cpp
+++ b/src/LexAsn1.cpp
@@ -175,7 +175,7 @@ static const char * const asn1WordLists[] = {
 	"Attributes",
 	"Descriptors",
 	"Types",
-	0, };
+	nullptr, };
 
 
 LexerModule lmAns1(SCLEX_ASN1, ColouriseAsn1Doc, "asn1", FoldAsn1Doc, asn1WordLists);
diff --git a/src/LexBash.cpp b/src/LexBash.cpp
index efce9ee..6c23ac8 100644
--- a/src/LexBash.cpp
+++ b/src/LexBash.cpp
@@ -657,7 +657,7 @@ static void FoldBashDoc(unsigned int startPos, int length, int, WordList *[],
 
 static const char * const bashWordListDesc[] = {
 	"Keywords",
-	0
+	nullptr
 };
 
 LexerModule lmBash(SCLEX_BASH, ColouriseBashDoc, "bash", FoldBashDoc, bashWordListDesc);
diff --git a/src/LexBasic.cpp b/src/LexBasic.cpp
index 79ca185..bd74a40 100644
--- a/src/LexBasic.cpp
+++ b/src/LexBasic.cpp
@@ -339,7 +339,7 @@ static const char * const blitzbasicWordListDesc[] = {
 	"user1",
 	"user2",
 	"user3",
-	0
+	nullptr
 };
 
 static const char * const purebasicWordListDesc[] = {
@@ -347,7 +347,7 @@ static const char * const purebasicWordListDesc[] = {
 	"PureBasic PreProcessor Keywords",
 	"user defined 1",
 	"user defined 2",
-	0
+	nullptr
 };
 
 static const char * const freebasicWordListDesc[] = {
@@ -355,7 +355,7 @@ static const char * const freebasicWordListDesc[] = {
 	"FreeBasic PreProcessor Keywords",
 	"user defined 1",
 	"user defined 2",
-	0
+	nullptr
 };
 
 LexerModule lmBlitzBasic(SCLEX_BLITZBASIC, ColouriseBlitzBasicDoc, "blitzbasic",
diff --git a/src/LexBullant.cpp b/src/LexBullant.cpp
index 902f89c..4b298f0 100644
--- a/src/LexBullant.cpp
+++ b/src/LexBullant.cpp
@@ -219,7 +219,7 @@ static void ColouriseBullantDoc(unsigned int startPos, int length, int initStyle
 
 static const char * const bullantWordListDesc[] = {
 	"Keywords",
-	0
+	nullptr
 };
 
-LexerModule lmBullant(SCLEX_BULLANT, ColouriseBullantDoc, "bullant", 0, bullantWordListDesc);
+LexerModule lmBullant(SCLEX_BULLANT, ColouriseBullantDoc, "bullant", nullptr, bullantWordListDesc);
diff --git a/src/LexCLW.cpp b/src/LexCLW.cpp
index a6bd909..caabec9 100644
--- a/src/LexCLW.cpp
+++ b/src/LexCLW.cpp
@@ -665,7 +665,7 @@ static const char * const rgWordListDescriptions[] = {
 	"Standard Equates",
 	"Reserved Words (Labels)",
 	"Reserved Words (Procedure Labels)",
-	0,
+	nullptr,
 };
 
 // Case Sensitive Clarion Language Lexer
diff --git a/src/LexCPP.cpp b/src/LexCPP.cpp
index 474acf0..89eef89 100644
--- a/src/LexCPP.cpp
+++ b/src/LexCPP.cpp
@@ -45,7 +45,7 @@ public:
 	}
 	~SetOfCharacters() {
 		delete []bset;
-		bset = 0;
+		bset = nullptr;
 		size = 0;
 	}
 	void Add(int val) {
@@ -472,7 +472,7 @@ static const char * const cppWordLists[] = {
             "Documentation comment keywords",
             "Unused",
             "Global classes and typedefs",
-            0,
+            nullptr,
         };
 
 static void ColouriseCppDocSensitive(unsigned int startPos, int length, int initStyle, WordList *keywordlists[],
diff --git a/src/LexCSS.cpp b/src/LexCSS.cpp
index 963a7b3..6e2361d 100644
--- a/src/LexCSS.cpp
+++ b/src/LexCSS.cpp
@@ -297,7 +297,7 @@ static const char * const cssWordListDesc[] = {
 	"CSS1 Keywords",
 	"Pseudo classes",
 	"CSS2 Keywords",
-	0
+	nullptr
 };
 
 LexerModule lmCss(SCLEX_CSS, ColouriseCssDoc, "css", FoldCSSDoc, cssWordListDesc);
diff --git a/src/LexCaml.cpp b/src/LexCaml.cpp
index 5f4fad5..3a24b7a 100644
--- a/src/LexCaml.cpp
+++ b/src/LexCaml.cpp
@@ -268,7 +268,7 @@ void ColouriseCamlDoc(
 
 		case SCE_CAML_OPERATOR: {
 			// [try to] interpret as [additional] operator char
-			const char* o = 0;
+			const char* o = nullptr;
 			if (iscaml(sc.ch) || isspace(sc.ch)		   /* ident or whitespace */
 				|| (o = strchr(")]};,\'\"`#", sc.ch),o)/* "termination" chars */
 				|| !strchr("!$%&*+-./:<=>?@^|~", sc.ch)/* "operator" chars */) {
@@ -391,7 +391,7 @@ static const char * const camlWordListDesc[] = {
 	"Keywords",		// primary Objective Caml keywords
 	"Keywords2",	// "optional" keywords (typically from Pervasives)
 	"Keywords3",	// "optional" keywords (typically typenames)
-	0
+	nullptr
 };
 
 #ifndef BUILD_AS_EXTERNAL_LEXER
diff --git a/src/LexConf.cpp b/src/LexConf.cpp
index c33cdb5..5fc00ad 100644
--- a/src/LexConf.cpp
+++ b/src/LexConf.cpp
@@ -178,7 +178,7 @@ static void ColouriseConfDoc(unsigned int startPos, int length, int, WordList *k
 static const char * const confWordListDesc[] = {
 	"Directives",
 	"Parameters",
-	0
+	nullptr
 };
 
-LexerModule lmConf(SCLEX_CONF, ColouriseConfDoc, "conf", 0, confWordListDesc);
+LexerModule lmConf(SCLEX_CONF, ColouriseConfDoc, "conf", nullptr, confWordListDesc);
diff --git a/src/LexCrontab.cpp b/src/LexCrontab.cpp
index d139bb4..7cf7943 100644
--- a/src/LexCrontab.cpp
+++ b/src/LexCrontab.cpp
@@ -212,7 +212,7 @@ static const char * const cronWordListDesc[] = {
 	"Section keywords and Forth words",
 	"nnCrontab keywords",
 	"Modifiers",
-	0
+	nullptr
 };
 
-LexerModule lmNncrontab(SCLEX_NNCRONTAB, ColouriseNncrontabDoc, "nncrontab", 0, cronWordListDesc);
+LexerModule lmNncrontab(SCLEX_NNCRONTAB, ColouriseNncrontabDoc, "nncrontab", nullptr, cronWordListDesc);
diff --git a/src/LexCsound.cpp b/src/LexCsound.cpp
index 27f7b99..f7d182b 100644
--- a/src/LexCsound.cpp
+++ b/src/LexCsound.cpp
@@ -201,7 +201,7 @@ static const char * const csoundWordListDesc[] = {
 	"Opcodes",
 	"Header Statements",
 	"User keywords",
-	0
+	nullptr
 };
 
 LexerModule lmCsound(SCLEX_CSOUND, ColouriseCsoundDoc, "csound", FoldCsoundInstruments, csoundWordListDesc);
diff --git a/src/LexEScript.cpp b/src/LexEScript.cpp
index 4941158..7372ac7 100644
--- a/src/LexEScript.cpp
+++ b/src/LexEScript.cpp
@@ -264,7 +264,7 @@ static const char * const ESCRIPTWordLists[] = {
 	"Primary keywords and identifiers",
 	"Intrinsic functions",
 	"Extended and user defined functions",
-	0,
+	nullptr,
 };
 
 LexerModule lmESCRIPT(SCLEX_ESCRIPT, ColouriseESCRIPTDoc, "escript", FoldESCRIPTDoc, ESCRIPTWordLists);
diff --git a/src/LexEiffel.cpp b/src/LexEiffel.cpp
index 4aed7c6..68f6915 100644
--- a/src/LexEiffel.cpp
+++ b/src/LexEiffel.cpp
@@ -227,7 +227,7 @@ static void FoldEiffelDocKeyWords(unsigned int startPos, int length, int /* init
 
 static const char * const eiffelWordListDesc[] = {
 	"Keywords",
-	0
+	nullptr
 };
 
 LexerModule lmEiffel(SCLEX_EIFFEL, ColouriseEiffelDoc, "eiffel", FoldEiffelDocIndent, eiffelWordListDesc);
diff --git a/src/LexErlang.cpp b/src/LexErlang.cpp
index 9444eb9..c5d9205 100644
--- a/src/LexErlang.cpp
+++ b/src/LexErlang.cpp
@@ -510,7 +510,7 @@ static void FoldErlangDoc(
 
 static const char * const erlangWordListDesc[] = {
 	"Keywords",
-	0
+	nullptr
 };
 
 LexerModule lmErlang(
diff --git a/src/LexFlagship.cpp b/src/LexFlagship.cpp
index db0314e..83c8fb9 100644
--- a/src/LexFlagship.cpp
+++ b/src/LexFlagship.cpp
@@ -217,7 +217,7 @@ static const char * const FSWordListDesc[] = {
 	"functions",
 	"user2",
 	"user3",
-	0
+	nullptr
 };
 
 LexerModule lmFlagShip(SCLEX_FLAGSHIP, ColouriseFlagShipDoc, "flagship", FoldFlagShipDoc, FSWordListDesc);
diff --git a/src/LexForth.cpp b/src/LexForth.cpp
index 3f12815..c32e94c 100644
--- a/src/LexForth.cpp
+++ b/src/LexForth.cpp
@@ -342,7 +342,7 @@ static const char * const forthWordLists[] = {
             "prewords with one argument",
             "prewords with two arguments",
             "string definition keywords",
-            0,
+            nullptr,
         };
 
 LexerModule lmForth(SCLEX_FORTH, ColouriseForthDoc, "forth",FoldForthDoc,forthWordLists);
diff --git a/src/LexFortran.cpp b/src/LexFortran.cpp
index 3ab1116..1f8bec2 100644
--- a/src/LexFortran.cpp
+++ b/src/LexFortran.cpp
@@ -425,7 +425,7 @@ static const char * const FortranWordLists[] = {
 	"Primary keywords and identifiers",
 	"Intrinsic functions",
 	"Extended and user defined functions",
-	0,
+	nullptr,
 };
 /***************************************/
 static void ColouriseFortranDocFreeFormat(unsigned int startPos, int length, int initStyle, WordList *keywordlists[],
diff --git a/src/LexGui4Cli.cpp b/src/LexGui4Cli.cpp
index f76fff6..5c5cd38 100644
--- a/src/LexGui4Cli.cpp
+++ b/src/LexGui4Cli.cpp
@@ -299,7 +299,7 @@ static void FoldGui4Cli(unsigned int startPos, int length, int,
 // I have no idea what these are for.. probably accessible by some message.
 static const char * const gui4cliWordListDesc[] = {
 	"Globals", "Events", "Attributes", "Control", "Commands",
-	0
+	nullptr
 };
 
 // Declare language & pass our function pointers to Scintilla
diff --git a/src/LexHTML.cpp b/src/LexHTML.cpp
index 1070db3..0ebe1d6 100644
--- a/src/LexHTML.cpp
+++ b/src/LexHTML.cpp
@@ -2021,7 +2021,7 @@ static const char * const htmlWordListDesc[] = {
 	"Python keywords",
 	"PHP keywords",
 	"SGML and DTD keywords",
-	0,
+	nullptr,
 };
 
 static const char * const phpscriptWordListDesc[] = {
@@ -2031,12 +2031,12 @@ static const char * const phpscriptWordListDesc[] = {
 	"", //Unused
 	"PHP keywords",
 	"", //Unused
-	0,
+	nullptr,
 };
 
-LexerModule lmHTML(SCLEX_HTML, ColouriseHyperTextDoc, "hypertext", 0, htmlWordListDesc, 7);
-LexerModule lmXML(SCLEX_XML, ColouriseHyperTextDoc, "xml", 0, htmlWordListDesc, 7);
+LexerModule lmHTML(SCLEX_HTML, ColouriseHyperTextDoc, "hypertext", nullptr, htmlWordListDesc, 7);
+LexerModule lmXML(SCLEX_XML, ColouriseHyperTextDoc, "xml", nullptr, htmlWordListDesc, 7);
 // SCLEX_ASP and SCLEX_PHP should not be used in new code: use SCLEX_HTML instead.
-LexerModule lmASP(SCLEX_ASP, ColouriseASPDoc, "asp", 0, htmlWordListDesc, 7);
-LexerModule lmPHP(SCLEX_PHP, ColourisePHPDoc, "php", 0, htmlWordListDesc, 7);
-LexerModule lmPHPSCRIPT(SCLEX_PHPSCRIPT, ColourisePHPScriptDoc, "phpscript", 0, phpscriptWordListDesc, 7);
+LexerModule lmASP(SCLEX_ASP, ColouriseASPDoc, "asp", nullptr, htmlWordListDesc, 7);
+LexerModule lmPHP(SCLEX_PHP, ColourisePHPDoc, "php", nullptr, htmlWordListDesc, 7);
+LexerModule lmPHPSCRIPT(SCLEX_PHPSCRIPT, ColourisePHPScriptDoc, "phpscript", nullptr, phpscriptWordListDesc, 7);
diff --git a/src/LexInno.cpp b/src/LexInno.cpp
index ff99da7..1e57125 100644
--- a/src/LexInno.cpp
+++ b/src/LexInno.cpp
@@ -215,7 +215,7 @@ static const char * const innoWordListDesc[] = {
 	"Preprocessor directives",
 	"Pascal keywords",
 	"User defined keywords",
-	0
+	nullptr
 };
 
 static void FoldInnoDoc(unsigned int startPos, int length, int, WordList *[], Accessor &styler) {
diff --git a/src/LexLisp.cpp b/src/LexLisp.cpp
index 91385f0..1cc579a 100644
--- a/src/LexLisp.cpp
+++ b/src/LexLisp.cpp
@@ -269,7 +269,7 @@ static void FoldLispDoc(unsigned int startPos, int length, int /* initStyle */,
 static const char * const lispWordListDesc[] = {
 	"Functions and special operators",
 	"Keywords",
-	0
+	nullptr
 };
 
 LexerModule lmLISP(SCLEX_LISP, ColouriseLispDoc, "lisp", FoldLispDoc, lispWordListDesc);
diff --git a/src/LexLout.cpp b/src/LexLout.cpp
index 9d1a45a..dc841f4 100644
--- a/src/LexLout.cpp
+++ b/src/LexLout.cpp
@@ -202,7 +202,7 @@ static const char * const loutWordLists[] = {
             "Predefined identifiers",
             "Predefined delimiters",
             "Predefined keywords",
-            0,
+            nullptr,
         };
 
 LexerModule lmLout(SCLEX_LOUT, ColouriseLoutDoc, "lout", FoldLoutDoc, loutWordLists);
diff --git a/src/LexLua.cpp b/src/LexLua.cpp
index b3a46ad..33aa934 100644
--- a/src/LexLua.cpp
+++ b/src/LexLua.cpp
@@ -351,7 +351,7 @@ static const char * const luaWordListDesc[] = {
 	"user2",
 	"user3",
 	"user4",
-	0
+	nullptr
 };
 
 LexerModule lmLua(SCLEX_LUA, ColouriseLuaDoc, "lua", FoldLuaDoc, luaWordListDesc);
diff --git a/src/LexMMIXAL.cpp b/src/LexMMIXAL.cpp
index f447899..7bae1f9 100644
--- a/src/LexMMIXAL.cpp
+++ b/src/LexMMIXAL.cpp
@@ -176,8 +176,8 @@ static const char * const MMIXALWordListDesc[] = {
 	"Operation Codes",
 	"Special Register",
 	"Predefined Symbols",
-	0
+	nullptr
 };
 
-LexerModule lmMMIXAL(SCLEX_MMIXAL, ColouriseMMIXALDoc, "mmixal", 0, MMIXALWordListDesc);
+LexerModule lmMMIXAL(SCLEX_MMIXAL, ColouriseMMIXALDoc, "mmixal", nullptr, MMIXALWordListDesc);
 
diff --git a/src/LexMPT.cpp b/src/LexMPT.cpp
index 1058b9b..df58d33 100644
--- a/src/LexMPT.cpp
+++ b/src/LexMPT.cpp
@@ -176,7 +176,7 @@ static void FoldLotDoc(unsigned int startPos, int length, int, WordList *[], Acc
 }
 
 static const char * const emptyWordListDesc[] = {
-	0
+	nullptr
 };
 
 LexerModule lmLot(SCLEX_LOT, ColourizeLotDoc, "lot", FoldLotDoc, emptyWordListDesc);
diff --git a/src/LexMSSQL.cpp b/src/LexMSSQL.cpp
index a946668..680c428 100644
--- a/src/LexMSSQL.cpp
+++ b/src/LexMSSQL.cpp
@@ -353,7 +353,7 @@ static const char * const sqlWordListDesc[] = {
     "Functions",
     "System Stored Procedures",
     "Operators",
-	0,
+	nullptr,
 };
 
 LexerModule lmMSSQL(SCLEX_MSSQL, ColouriseMSSQLDoc, "mssql", FoldMSSQLDoc, sqlWordListDesc);
diff --git a/src/LexMatlab.cpp b/src/LexMatlab.cpp
index 249fa67..44ca71d 100644
--- a/src/LexMatlab.cpp
+++ b/src/LexMatlab.cpp
@@ -212,12 +212,12 @@ static void FoldOctaveDoc(unsigned int startPos, int length, int initStyle,
 
 static const char * const matlabWordListDesc[] = {
 	"Keywords",
-	0
+	nullptr
 };
 
 static const char * const octaveWordListDesc[] = {
 	"Keywords",
-	0
+	nullptr
 };
 
 LexerModule lmMatlab(SCLEX_MATLAB, ColouriseMatlabDoc, "matlab", FoldMatlabDoc, matlabWordListDesc);
diff --git a/src/LexMetapost.cpp b/src/LexMetapost.cpp
index b7d482c..f7979a4 100644
--- a/src/LexMetapost.cpp
+++ b/src/LexMetapost.cpp
@@ -314,7 +314,7 @@ static void ColouriseMETAPOSTDoc(
 static const char * const metapostWordListDesc[] = {
 	"MetaPost",
 	"MetaFun",
-	0
+	nullptr
 } ;
 
-LexerModule lmMETAPOST(SCLEX_METAPOST, ColouriseMETAPOSTDoc, "metapost", 0, metapostWordListDesc);
+LexerModule lmMETAPOST(SCLEX_METAPOST, ColouriseMETAPOSTDoc, "metapost", nullptr, metapostWordListDesc);
diff --git a/src/LexNsis.cpp b/src/LexNsis.cpp
index 6a7274e..f83e8ef 100644
--- a/src/LexNsis.cpp
+++ b/src/LexNsis.cpp
@@ -640,7 +640,7 @@ static const char * const nsisWordLists[] = {
 	"Variables",
 	"Lables",
 	"UserDefined",
-	0, };
+	nullptr, };
 
 
 LexerModule lmNsis(SCLEX_NSIS, ColouriseNsisDoc, "nsis", FoldNsisDoc, nsisWordLists);
diff --git a/src/LexOpal.cpp b/src/LexOpal.cpp
index b2ccfb7..0c9ce26 100644
--- a/src/LexOpal.cpp
+++ b/src/LexOpal.cpp
@@ -512,7 +512,7 @@ static void ColouriseOpalDoc( unsigned int startPos, int length, int initStyle,
 static const char * const opalWordListDesc[] = {
 	"Keywords",
 	"Sorts",
-	0
+	nullptr
 };
 
 LexerModule lmOpal(SCLEX_OPAL, ColouriseOpalDoc, "opal", nullptr, opalWordListDesc);
diff --git a/src/LexOthers.cpp b/src/LexOthers.cpp
index 5f6e7e4..5fba0a0 100644
--- a/src/LexOthers.cpp
+++ b/src/LexOthers.cpp
@@ -1114,11 +1114,11 @@ static void ColouriseLatexDoc(unsigned int startPos, int length, int initStyle,
 static const char * const batchWordListDesc[] = {
 	"Internal Commands",
 	"External Commands",
-	0
+	nullptr
 };
 
 static const char * const emptyWordListDesc[] = {
-	0
+	nullptr
 };
 
 static void ColouriseNullDoc(unsigned int startPos, int length, int, WordList *[],
@@ -1131,10 +1131,10 @@ static void ColouriseNullDoc(unsigned int startPos, int length, int, WordList *[
 	}
 }
 
-LexerModule lmBatch(SCLEX_BATCH, ColouriseBatchDoc, "batch", 0, batchWordListDesc);
+LexerModule lmBatch(SCLEX_BATCH, ColouriseBatchDoc, "batch", nullptr, batchWordListDesc);
 LexerModule lmDiff(SCLEX_DIFF, ColouriseDiffDoc, "diff", FoldDiffDoc, emptyWordListDesc);
 LexerModule lmProps(SCLEX_PROPERTIES, ColourisePropsDoc, "props", FoldPropsDoc, emptyWordListDesc);
-LexerModule lmMake(SCLEX_MAKEFILE, ColouriseMakeDoc, "makefile", 0, emptyWordListDesc);
-LexerModule lmErrorList(SCLEX_ERRORLIST, ColouriseErrorListDoc, "errorlist", 0, emptyWordListDesc);
-LexerModule lmLatex(SCLEX_LATEX, ColouriseLatexDoc, "latex", 0, emptyWordListDesc);
+LexerModule lmMake(SCLEX_MAKEFILE, ColouriseMakeDoc, "makefile", nullptr, emptyWordListDesc);
+LexerModule lmErrorList(SCLEX_ERRORLIST, ColouriseErrorListDoc, "errorlist", nullptr, emptyWordListDesc);
+LexerModule lmLatex(SCLEX_LATEX, ColouriseLatexDoc, "latex", nullptr, emptyWordListDesc);
 LexerModule lmNull(SCLEX_NULL, ColouriseNullDoc, "null");
diff --git a/src/LexPB.cpp b/src/LexPB.cpp
index 7878a6b..5cc201e 100644
--- a/src/LexPB.cpp
+++ b/src/LexPB.cpp
@@ -352,7 +352,7 @@ static void FoldPBDoc(unsigned int startPos, int length, int, WordList *[], Acce
 
 static const char * const pbWordListDesc[] = {
     "Keywords",
-    0
+    nullptr
 };
 
 LexerModule lmPB(SCLEX_POWERBASIC, ColourisePBDoc, "powerbasic", FoldPBDoc, pbWordListDesc);
diff --git a/src/LexPOV.cpp b/src/LexPOV.cpp
index 5cc05ce..848abce 100644
--- a/src/LexPOV.cpp
+++ b/src/LexPOV.cpp
@@ -306,7 +306,7 @@ static const char * const povWordLists[] = {
 	"User defined 1",
 	"User defined 2",
 	"User defined 3",
-	0,
+	nullptr,
 };
 
 LexerModule lmPOV(SCLEX_POV, ColourisePovDoc, "pov", FoldPovDoc, povWordLists);
diff --git a/src/LexPS.cpp b/src/LexPS.cpp
index 3c75ae5..7bcddd1 100644
--- a/src/LexPS.cpp
+++ b/src/LexPS.cpp
@@ -337,7 +337,7 @@ static const char * const psWordListDesc[] = {
     "PS Level 3 operators",
     "RIP-specific operators",
     "User-defined operators",
-    0
+    nullptr
 };
 
 LexerModule lmPS(SCLEX_PS, ColourisePSDoc, "ps", FoldPSDoc, psWordListDesc);
diff --git a/src/LexPascal.cpp b/src/LexPascal.cpp
index 434f88d..a0ec615 100644
--- a/src/LexPascal.cpp
+++ b/src/LexPascal.cpp
@@ -363,7 +363,7 @@ static void FoldPascalDoc(unsigned int startPos, int length, int initStyle, Word
 static const char * const pascalWordListDesc[] = {
 	"Keywords",
 	"Classwords",
-	0
+	nullptr
 };
 
 LexerModule lmPascal(SCLEX_PASCAL, ColourisePascalDoc, "pascal", FoldPascalDoc, pascalWordListDesc);
diff --git a/src/LexPerl.cpp b/src/LexPerl.cpp
index 6e2bd57..9135ad0 100644
--- a/src/LexPerl.cpp
+++ b/src/LexPerl.cpp
@@ -1249,7 +1249,7 @@ static void FoldPerlDoc(unsigned int startPos, int length, int, WordList *[],
 
 static const char * const perlWordListDesc[] = {
 	"Keywords",
-	0
+	nullptr
 };
 
 LexerModule lmPerl(SCLEX_PERL, ColourisePerlDoc, "perl", FoldPerlDoc, perlWordListDesc);
diff --git a/src/LexPython.cpp b/src/LexPython.cpp
index ace15a7..de1ecb7 100644
--- a/src/LexPython.cpp
+++ b/src/LexPython.cpp
@@ -442,7 +442,7 @@ static void FoldPyDoc(unsigned int startPos, int length, int /*initStyle - unuse
 static const char * const pythonWordListDesc[] = {
 	"Keywords",
 	"Highlighted identifiers",
-	0
+	nullptr
 };
 
 LexerModule lmPython(SCLEX_PYTHON, ColourisePyDoc, "python", FoldPyDoc,
diff --git a/src/LexRebol.cpp b/src/LexRebol.cpp
index f829c1e..c5a0ad3 100644
--- a/src/LexRebol.cpp
+++ b/src/LexRebol.cpp
@@ -312,7 +312,7 @@ static void FoldRebolDoc(unsigned int startPos, int length, int /* initStyle */,
 
 static const char * const rebolWordListDesc[] = {
 	"Keywords",
-	0
+	nullptr
 };
 
 LexerModule lmREBOL(SCLEX_REBOL, ColouriseRebolDoc, "rebol", FoldRebolDoc, rebolWordListDesc);
diff --git a/src/LexRuby.cpp b/src/LexRuby.cpp
index bca2a88..0642331 100644
--- a/src/LexRuby.cpp
+++ b/src/LexRuby.cpp
@@ -1536,7 +1536,7 @@ static void FoldRbDoc(unsigned int startPos, int length, int initStyle,
 
 static const char * const rubyWordListDesc[] = {
 	"Keywords",
-	0
+	nullptr
 };
 
 LexerModule lmRuby(SCLEX_RUBY, ColouriseRbDoc, "ruby", FoldRbDoc, rubyWordListDesc);
diff --git a/src/LexSQL.cpp b/src/LexSQL.cpp
index d8e14b9..8633aa3 100644
--- a/src/LexSQL.cpp
+++ b/src/LexSQL.cpp
@@ -336,7 +336,7 @@ static const char * const sqlWordListDesc[] = {
 	"User Keywords 2",
 	"User Keywords 3",
 	"User Keywords 4",
-	0
+	nullptr
 };
 
 LexerModule lmSQL(SCLEX_SQL, ColouriseSQLDoc, "sql", FoldSQLDoc, sqlWordListDesc);
diff --git a/src/LexSmalltalk.cpp b/src/LexSmalltalk.cpp
index 8434edc..f6f5b57 100644
--- a/src/LexSmalltalk.cpp
+++ b/src/LexSmalltalk.cpp
@@ -311,7 +311,7 @@ static void colorizeSmalltalkDoc(unsigned int startPos, int length, int initStyl
 
 static const char* const smalltalkWordListDesc[] = {
     "Special selectors",
-    0
+    nullptr
 };
 
 LexerModule lmSmalltalk(SCLEX_SMALLTALK, colorizeSmalltalkDoc, "smalltalk", nullptr, smalltalkWordListDesc);
diff --git a/src/LexSpecman.cpp b/src/LexSpecman.cpp
index bf5d639..5e9b958 100644
--- a/src/LexSpecman.cpp
+++ b/src/LexSpecman.cpp
@@ -274,7 +274,7 @@ static const char * const specmanWordLists[] = {
             "Sequence keywords and identifiers",
             "User defined keywords and identifiers",
             "Unused",
-            0,
+            nullptr,
         };
 
 static void ColouriseSpecmanDocSensitive(unsigned int startPos, int length, int initStyle, WordList *keywordlists[],
diff --git a/src/LexSpice.cpp b/src/LexSpice.cpp
index 6db68e9..e6d91c8 100644
--- a/src/LexSpice.cpp
+++ b/src/LexSpice.cpp
@@ -34,7 +34,7 @@ static const char * const spiceWordListDesc[] = {
     "Keywords",        // SPICE command
     "Keywords2",    // SPICE functions
     "Keywords3",    // SPICE params
-    0
+    nullptr
 };
 
 LexerModule lmSpice(SCLEX_SPICE, ColouriseDocument, "spice", nullptr, spiceWordListDesc);
diff --git a/src/LexTADS3.cpp b/src/LexTADS3.cpp
index 9938f63..7634216 100644
--- a/src/LexTADS3.cpp
+++ b/src/LexTADS3.cpp
@@ -831,7 +831,7 @@ static const char * const tads3WordList[] = {
 	"User defined 1",
 	"User defined 2",
 	"User defined 3",
-	0
+	nullptr
 };
 
 LexerModule lmTADS3(SCLEX_TADS3, ColouriseTADS3Doc, "tads3", FoldTADS3Doc, tads3WordList);
diff --git a/src/LexTCL.cpp b/src/LexTCL.cpp
index c782141..f3c09ce 100644
--- a/src/LexTCL.cpp
+++ b/src/LexTCL.cpp
@@ -355,8 +355,8 @@ static const char * const tclWordListDesc[] = {
             "user2",
             "user3",
             "user4",
-            0
+            nullptr
         };
 
 // this code supports folding in the colourizer
-LexerModule lmTCL(SCLEX_TCL, ColouriseTCLDoc, "tcl", 0, tclWordListDesc);
+LexerModule lmTCL(SCLEX_TCL, ColouriseTCLDoc, "tcl", nullptr, tclWordListDesc);
diff --git a/src/LexTeX.cpp b/src/LexTeX.cpp
index 65e530a..acc88cc 100644
--- a/src/LexTeX.cpp
+++ b/src/LexTeX.cpp
@@ -282,7 +282,7 @@ static const char * const texWordListDesc[] = {
     "ConTeXt Czech",
     "ConTeXt Italian",
     "ConTeXt Romanian",
-	0,
+	nullptr,
 } ;
 
-LexerModule lmTeX(SCLEX_TEX, ColouriseTeXDoc, "tex", 0, texWordListDesc);
+LexerModule lmTeX(SCLEX_TEX, ColouriseTeXDoc, "tex", nullptr, texWordListDesc);
diff --git a/src/LexVB.cpp b/src/LexVB.cpp
index 0a6a5e4..ad95506 100644
--- a/src/LexVB.cpp
+++ b/src/LexVB.cpp
@@ -270,7 +270,7 @@ static const char * const vbWordListDesc[] = {
 	"user1",
 	"user2",
 	"user3",
-	0
+	nullptr
 };
 
 LexerModule lmVB(SCLEX_VB, ColouriseVBNetDoc, "vb", FoldVBDoc, vbWordListDesc);
diff --git a/src/LexVHDL.cpp b/src/LexVHDL.cpp
index 0feef95..aa95cd8 100644
--- a/src/LexVHDL.cpp
+++ b/src/LexVHDL.cpp
@@ -432,7 +432,7 @@ static const char * const VHDLWordLists[] = {
             "Standard Packages",
             "Standard Types",
             "User Words",
-            0,
+            nullptr,
         };
 
 
diff --git a/src/LexVerilog.cpp b/src/LexVerilog.cpp
index 43ef7eb..a7cafb9 100644
--- a/src/LexVerilog.cpp
+++ b/src/LexVerilog.cpp
@@ -292,7 +292,7 @@ static const char * const verilogWordLists[] = {
             "System Tasks",
             "User defined tasks and identifiers",
             "Unused",
-            0,
+            nullptr,
         };
 
 
diff --git a/src/LexYAML.cpp b/src/LexYAML.cpp
index 7b37cc2..5e65213 100644
--- a/src/LexYAML.cpp
+++ b/src/LexYAML.cpp
@@ -22,7 +22,7 @@
 
 static const char * const yamlWordListDesc[] = {
 	"Keywords",
-	0
+	nullptr
 };
 
 static inline bool AtEOL(Accessor &styler, unsigned int i) {
diff --git a/src/PropSet.cpp b/src/PropSet.cpp
index 3c1e25d..f8b8dfc 100644
--- a/src/PropSet.cpp
+++ b/src/PropSet.cpp
@@ -104,7 +104,7 @@ bool SString::grow(lenpos_t lenNew) {
 		s[sLen] = '\0';
 		sSize = lenNew + sizeGrowth;
 	}
-	return sNew != 0;
+	return sNew != nullptr;
 }
 
 SString &SString::assign(const char *sOther, lenpos_t sSize_) {
@@ -308,13 +308,13 @@ char *SContainer::StringAllocate(lenpos_t len) {
 	if (len != measure_length) {
 		return new char[len + 1];
 	} else {
-		return 0;
+		return nullptr;
 	}
 }
 
 char *SContainer::StringAllocate(const char *s, lenpos_t len) {
-	if (s == 0) {
-		return 0;
+	if (!s) {
+		return nullptr;
 	}
 	if (len == measure_length) {
 		len = strlen(s);
@@ -332,13 +332,13 @@ char *SContainer::StringAllocate(const char *s, lenpos_t len) {
 bool PropSet::caseSensitiveFilenames = false;
 
 PropSet::PropSet() {
-	superPS = 0;
+	superPS = nullptr;
 	for (int root = 0; root < hashRoots; root++)
-		props[root] = 0;
+		props[root] = nullptr;
 }
 
 PropSet::~PropSet() {
-	superPS = 0;
+	superPS = nullptr;
 	Clear();
 }
 
@@ -657,13 +657,13 @@ void PropSet::Clear() {
 			Property *pNext = p->next;
 			p->hash = 0;
 			delete []p->key;
-			p->key = 0;
+			p->key = nullptr;
 			delete []p->val;
-			p->val = 0;
+			p->val = nullptr;
 			delete p;
 			p = pNext;
 		}
-		props[root] = 0;
+		props[root] = nullptr;
 	}
 }
 
@@ -794,9 +794,9 @@ void WordList::Clear() {
 		delete []words;
 		delete []wordsNoCase;
 	}
-	words = 0;
-	wordsNoCase = 0;
-	list = 0;
+	words = nullptr;
+	wordsNoCase = nullptr;
+	list = nullptr;
 	len = 0;
 	sorted = false;
 	sortedNoCase = false;
@@ -846,7 +846,7 @@ static void SortWordListNoCase(char **wordsNoCase, unsigned int len) {
 }
 
 bool WordList::InList(const char *s) {
-	if (0 == words)
+	if (!words)
 		return false;
 	if (!sorted) {
 		sorted = true;
@@ -898,7 +898,7 @@ bool WordList::InList(const char *s) {
  * The marker is ~ in this case.
  */
 bool WordList::InListAbbreviated(const char *s, const char marker) {
-	if (0 == words)
+	if (!words)
 		return false;
 	if (!sorted) {
 		sorted = true;
@@ -967,7 +967,7 @@ const char *WordList::GetNearestWord(const char *wordStart, int searchLen, bool
 	int cond; // comparison result (in the sense of strcmp() result)
 	const char *word; // api array element just being compared
 
-	if (0 == words)
+	if (!words)
 		return nullptr;
 	if (ignoreCase) {
 		if (!sortedNoCase) {
@@ -1099,7 +1099,7 @@ char *WordList::GetNearestWords(
 	int pivot; // index of api array element just being compared
 	int cond; // comparison result (in the sense of strcmp() result)
 
-	if (0 == words)
+	if (!words)
 		return nullptr;
 	if (ignoreCase) {
 		if (!sortedNoCase) {
diff --git a/src/RESearch.cpp b/src/RESearch.cpp
index 00e1830..2d43fda 100644
--- a/src/RESearch.cpp
+++ b/src/RESearch.cpp
@@ -228,7 +228,7 @@ void RESearch::Init() {
 	sta = NOP;                  /* status of lastpat */
 	bol = 0;
 	for (int i=0; i<MAXTAG; i++)
-		pat[i] = 0;
+		pat[i] = nullptr;
 	for (int j=0; j<BITBLK; j++)
 		bittab[j] = 0;
 }
@@ -236,7 +236,7 @@ void RESearch::Init() {
 void RESearch::Clear() {
 	for (int i=0; i<MAXTAG; i++) {
 		delete []pat[i];
-		pat[i] = 0;
+		pat[i] = nullptr;
 		bopat[i] = NOTFOUND;
 		eopat[i] = NOTFOUND;
 	}
@@ -308,7 +308,7 @@ const char *RESearch::Compile(const char *pat, int length, bool caseSensitive, b
 
 	if (!pat || !length)
 		if (sta)
-			return 0;
+			return nullptr;
 		else
 			return badpat("No previous regular expression");
 	sta = NOP;
@@ -529,7 +529,7 @@ const char *RESearch::Compile(const char *pat, int length, bool caseSensitive, b
 		return badpat((posix ? "Unmatched (" : "Unmatched \\("));
 	*mp = END;
 	sta = OKP;
-	return 0;
+	return nullptr;
 }
 
 /*
diff --git a/src/SVector.h b/src/SVector.h
index c8edb51..23ee577 100644
--- a/src/SVector.h
+++ b/src/SVector.h
@@ -48,7 +48,7 @@ class SVector {
 public:
 	SVector() {
 		allocFailure = false;
-		v = 0;
+		v = nullptr;
 		len = 0;
 		size = 0;
 	}
@@ -58,7 +58,7 @@ public:
 	/// Constructor from another vector.
 	SVector(const SVector &other) {
 		allocFailure = false;
-		v = 0;
+		v = nullptr;
 		len = 0;
 		size = 0;
 		if (other.Length() > 0) {
@@ -75,7 +75,7 @@ public:
 		if (this != &other) {
 			delete []v;
 			allocFailure = false;
-			v = 0;
+			v = nullptr;
 			len = 0;
 			size = 0;
 			if (other.Length() > 0) {
@@ -104,7 +104,7 @@ public:
 	/// Reset vector.
 	void Free() {
 		delete []v;
-		v = 0;
+		v = nullptr;
 		size = 0;
 		len = 0;
 	}
diff --git a/src/ScintillaBase.cpp b/src/ScintillaBase.cpp
index bcb0a77..7a1176f 100644
--- a/src/ScintillaBase.cpp
+++ b/src/ScintillaBase.cpp
@@ -43,10 +43,10 @@ ScintillaBase::ScintillaBase() {
 #ifdef SCI_LEXER
 	lexLanguage = SCLEX_CONTAINER;
 	performingStyle = false;
-	lexCurrent = 0;
+	lexCurrent = nullptr;
 	for (int wl = 0;wl < numWordLists;wl++)
 		keyWordLists[wl] = new WordList;
-	keyWordLists[numWordLists] = 0;
+	keyWordLists[numWordLists] = nullptr;
 #endif
 }
 
@@ -327,7 +327,7 @@ void ScintillaBase::AutoCompleteCompleted() {
 	ac.Show(false);
 
 	listSelected = selected;
-	SCNotification scn = {0};
+	SCNotification scn = {nullptr};
 	scn.nmhdr.code = listType > 0 ? SCN_USERLISTSELECTION : SCN_AUTOCSELECTION;
 	scn.message = 0;
 	scn.wParam = listType;
@@ -398,7 +398,7 @@ void ScintillaBase::CallTipShow(Point pt, const char *defn) {
 }
 
 void ScintillaBase::CallTipClick() {
-	SCNotification scn = {0};
+	SCNotification scn = {nullptr};
 	scn.nmhdr.code = SCN_CALLTIPCLICK;
 	scn.position = ct.clickPlace;
 	NotifyParent(scn);
diff --git a/src/Style.cpp b/src/Style.cpp
index f01aee0..ef5cbaf 100644
--- a/src/Style.cpp
+++ b/src/Style.cpp
@@ -15,13 +15,13 @@
 Style::Style() {
 	aliasOfDefaultFont = true;
 	Clear(ColourDesired(0, 0, 0), ColourDesired(0xff, 0xff, 0xff),
-	      Platform::DefaultFontSize(), 0, SC_CHARSET_DEFAULT,
+	      Platform::DefaultFontSize(), nullptr, SC_CHARSET_DEFAULT,
 	      false, false, false, false, caseMixed, true, true, false);
 }
 
 Style::Style(const Style &source) {
 	Clear(ColourDesired(0, 0, 0), ColourDesired(0xff, 0xff, 0xff),
-	      0, 0, 0,
+	      0, nullptr, 0,
 	      false, false, false, false, caseMixed, true, true, false);
 	fore.desired = source.fore.desired;
 	back.desired = source.back.desired;
@@ -39,7 +39,7 @@ Style::Style(const Style &source) {
 
 Style::~Style() {
 	if (aliasOfDefaultFont)
-		font.SetID(0);
+		font.SetID(nullptr);
 	else
 		font.Release();
 	aliasOfDefaultFont = false;
@@ -49,7 +49,7 @@ Style &Style::operator=(const Style &source) {
 	if (this == &source)
 		return * this;
 	Clear(ColourDesired(0, 0, 0), ColourDesired(0xff, 0xff, 0xff),
-	      0, 0, SC_CHARSET_DEFAULT,
+	      0, nullptr, SC_CHARSET_DEFAULT,
 	      false, false, false, false, caseMixed, true, true, false);
 	fore.desired = source.fore.desired;
 	back.desired = source.back.desired;
@@ -84,7 +84,7 @@ void Style::Clear(ColourDesired fore_, ColourDesired back_, int size_,
 	changeable = changeable_;
 	hotspot = hotspot_;
 	if (aliasOfDefaultFont)
-		font.SetID(0);
+		font.SetID(nullptr);
 	else
 		font.Release();
 	aliasOfDefaultFont = false;
@@ -128,7 +128,7 @@ void Style::Realise(Surface &surface, int zoomLevel, Style *defaultStyle, bool e
 		sizeZoomed = 2;
 
 	if (aliasOfDefaultFont)
-		font.SetID(0);
+		font.SetID(nullptr);
 	else
 		font.Release();
 	int deviceHeight = surface.DeviceHeightFont(sizeZoomed);
@@ -139,7 +139,7 @@ void Style::Realise(Surface &surface, int zoomLevel, Style *defaultStyle, bool e
 	} else if (fontName) {
 		font.Create(fontName, characterSet, deviceHeight, bold, italic, extraFontFlag);
 	} else {
-		font.SetID(0);
+		font.SetID(nullptr);
 	}
 
 	ascent = surface.Ascent(font);
diff --git a/src/Style.h b/src/Style.h
index c0f7eca..b4e3f2c 100644
--- a/src/Style.h
+++ b/src/Style.h
@@ -49,7 +49,7 @@ public:
 		   bool visible_, bool changeable_, bool hotspot_);
 	void ClearTo(const Style &source);
 	bool EquivalentFontTo(const Style *other) const;
-	void Realise(Surface &surface, int zoomLevel, Style *defaultStyle = 0, bool extraFontFlag = false);
+	void Realise(Surface &surface, int zoomLevel, Style *defaultStyle = nullptr, bool extraFontFlag = false);
 	bool IsProtected() const { return !(changeable && visible);};
 };
 
diff --git a/src/ViewStyle.cpp b/src/ViewStyle.cpp
index 1861a30..cc65706 100644
--- a/src/ViewStyle.cpp
+++ b/src/ViewStyle.cpp
@@ -38,7 +38,7 @@ void FontNames::Clear() {
 
 const char *FontNames::Save(const char *name) {
 	if (!name)
-		return 0;
+		return nullptr;
 	for (int i=0;i<max;i++) {
 		if (strcmp(names[i], name) == 0) {
 			return names[i];
diff --git a/tqt/PlatTQt.cpp b/tqt/PlatTQt.cpp
index 00c013b..00bd611 100644
--- a/tqt/PlatTQt.cpp
+++ b/tqt/PlatTQt.cpp
@@ -106,7 +106,7 @@ void Palette::Allocate(Window &)
 
 
 // Font management.
-Font::Font() : id(0)
+Font::Font() : id(nullptr)
 {
 }
 
@@ -139,7 +139,7 @@ void Font::Release()
 	if (id)
 	{
 		delete PFont(id);
-		id = 0;
+		id = nullptr;
 	}
 }
 
@@ -220,7 +220,7 @@ Surface *Surface::Allocate()
 	return new SurfaceImpl;
 }
 
-SurfaceImpl::SurfaceImpl() : unicodeMode(false), mypainter(false), painter(0)
+SurfaceImpl::SurfaceImpl() : unicodeMode(false), mypainter(false), painter(nullptr)
 {
 }
 
@@ -263,7 +263,7 @@ void SurfaceImpl::Release()
 		delete pd;
 	}
 
-	painter = 0;
+	painter = nullptr;
 }
 
 void SurfaceImpl::PenColour(ColourAllocated fore)
@@ -579,7 +579,7 @@ void Window::Destroy()
 	if (w)
 	{
 		delete w;
-		id = 0;
+		id = nullptr;
 	}
 }
 
@@ -706,7 +706,7 @@ void Window::SetTitle(const char *s)
 
 
 // Menu management.
-Menu::Menu() : id(0)
+Menu::Menu() : id(nullptr)
 {
 }
 
@@ -723,7 +723,7 @@ void Menu::Destroy()
 	if (m)
 	{
 		delete m;
-		id = 0;
+		id = nullptr;
 	}
 }
 
@@ -753,7 +753,7 @@ public:
 		if (m)
 			return m -> resolve(name);
 
-		return 0;
+		return nullptr;
 	}
 
 	virtual bool IsValid()
diff --git a/tqt/SciListBox.cpp b/tqt/SciListBox.cpp
index 3910235..6553021 100644
--- a/tqt/SciListBox.cpp
+++ b/tqt/SciListBox.cpp
@@ -73,7 +73,7 @@ private:
 };
 
 
-ListBoxX::ListBoxX() : cb_action(0), cb_data(0), slb(0)
+ListBoxX::ListBoxX() : cb_action(nullptr), cb_data(nullptr), slb(nullptr)
 {
 }
 
@@ -301,7 +301,7 @@ ListBox *ListBox::Allocate()
 
 
 SciListBox::SciListBox(TQWidget *parent,ListBoxX *lbx_)
-	: TQListBox(parent,0,WType_Popup|WStyle_Customize|WStyle_NoBorder|WStaticContents), lbx(lbx_)
+	: TQListBox(parent,nullptr,WType_Popup|WStyle_Customize|WStyle_NoBorder|WStaticContents), lbx(lbx_)
 {
 	setFocusProxy(parent);
 
@@ -321,7 +321,7 @@ SciListBox::~SciListBox()
 {
 	// Ensure that the main widget doesn't get a focus out event when this
 	// is destroyed.
-	setFocusProxy(0);
+	setFocusProxy(nullptr);
 }
 
 
diff --git a/tqt/ScintillaTQt.cpp b/tqt/ScintillaTQt.cpp
index 756a77a..5945d02 100644
--- a/tqt/ScintillaTQt.cpp
+++ b/tqt/ScintillaTQt.cpp
@@ -527,7 +527,7 @@ private:
 
 // Create a call tip.
 TQtCallTip::TQtCallTip(TQWidget *parent,ScintillaTQt *sci_) :
-		TQWidget(parent,0,WType_Popup|WStyle_Customize|WStyle_NoBorder), sci(sci_)
+		TQWidget(parent,nullptr,WType_Popup|WStyle_Customize|WStyle_NoBorder), sci(sci_)
 {
 	// Ensure that the main window keeps the focus (and the caret flashing)
 	// when this is displayed.
@@ -540,7 +540,7 @@ TQtCallTip::~TQtCallTip()
 {
 	// Ensure that the main window doesn't receive a focus out event when
 	// this is destroyed.
-	setFocusProxy(0);
+	setFocusProxy(nullptr);
 }
 
 
@@ -553,7 +553,7 @@ void TQtCallTip::paintEvent(TQPaintEvent *)
 	{
 		TQPainter p(this);
 
-		surfaceWindow -> Init(&p,0);
+		surfaceWindow -> Init(&p,nullptr);
 		sci -> ct.PaintCT(surfaceWindow);
 		surfaceWindow -> Release();
 
@@ -679,7 +679,7 @@ void ScintillaTQt::paintEvent(TQPaintEvent *pe)
 	{
 		TQPainter painter(PWindow(wMain));
 
-		sw -> Init(&painter,0);
+		sw -> Init(&painter,nullptr);
 		sw -> SetUnicodeMode(isUnicodeMode);
 		Paint(sw,rcPaint);
 		sw -> Release();
diff --git a/tqt/tqextscintilla.cpp b/tqt/tqextscintilla.cpp
index b1be29a..2c47112 100644
--- a/tqt/tqextscintilla.cpp
+++ b/tqt/tqextscintilla.cpp
@@ -53,7 +53,7 @@ TQextScintilla::TQextScintilla(TQWidget *parent,const char *name,WFlags f)
     : TQextScintillaBase(parent,name,f), allocatedMarkers(0), oldPos(-1),
       selText(false), fold(NoFoldStyle), autoInd(false),
       braceMode(NoBraceMatch), acSource(AcsDocument), acThresh(-1),
-      acStart(""), acAPIs(0), ctAPIs(0), maxCallTips(-1),
+      acStart(""), acAPIs(nullptr), ctAPIs(nullptr), maxCallTips(-1),
       showSingle(false), modified(false), explicit_fillups(false),
       fillups_enabled(false), saved_fillups("")
 {
@@ -113,7 +113,7 @@ TQextScintilla::TQextScintilla(TQWidget *parent,const char *name,WFlags f)
     // Create the standard command set.
     stdCmds = new TQextScintillaCommandSet(this);
 
-    doc.display(this,0);
+    doc.display(this,nullptr);
 }
 
 
@@ -506,7 +506,7 @@ void TQextScintilla::startAutoCompletion(AutoCompletionSource acs,
 // Check if a character is an auto-completion start character.
 bool TQextScintilla::isAutoCStartChar(char ch) const
 {
-    const char *start_chars = 0;
+    const char *start_chars = nullptr;
 
     if (!lex.isNull())
         start_chars = lex->autoCompletionStartCharacters();
@@ -2834,7 +2834,7 @@ bool TQextScintilla::currentCharInWord()
 // Check if a character can be in a word.
 bool TQextScintilla::isWordChar(char ch) const
 {
-    const char *word_chars = 0;
+    const char *word_chars = nullptr;
 
     if (!lex.isNull())
         word_chars = lex->wordCharacters();
diff --git a/tqt/tqextscintilla.h b/tqt/tqextscintilla.h
index 1ab0daa..099cb8c 100644
--- a/tqt/tqextscintilla.h
+++ b/tqt/tqextscintilla.h
@@ -278,7 +278,7 @@ public:
 
 	//! Construct an empty TQextScintilla with parent \a parent, name \a
 	//! name, and widget flags \a f.
-	TQextScintilla(TQWidget *parent = 0,const char *name = 0,WFlags f = 0);
+	TQextScintilla(TQWidget *parent = nullptr,const char *name = nullptr,WFlags f = 0);
 
 	//! Destroys the TQextScintilla instance.
 	virtual ~TQextScintilla();
@@ -687,7 +687,7 @@ public:
 	//! then any existing APIs are removed.
 	//!
 	//! \sa autoCompleteFromAPIs(), setCallTipsAPIs()
-	void setAutoCompletionAPIs(TQextScintillaAPIs *apis = 0);
+	void setAutoCompletionAPIs(TQextScintillaAPIs *apis = nullptr);
 
 	//! A fill-up character is one that, when entered while an
 	//! auto-completion list is being displayed, causes the currently
@@ -718,7 +718,7 @@ public:
 	//! then call tips are disabled.
 	//!
 	//! \sa setAutoCompletionAPIs()
-	void setCallTipsAPIs(TQextScintillaAPIs *apis = 0);
+	void setCallTipsAPIs(TQextScintillaAPIs *apis = nullptr);
 
 	//! Set the background colour of call tips to \a col.  The default is
 	//! white.
@@ -1121,7 +1121,7 @@ public slots:
 	//! \a lexer is 0 then syntax styling is disabled.
 	//!
 	//! \sa lexer()
-	virtual void setLexer(TQextScintillaLexer *lexer = 0);
+	virtual void setLexer(TQextScintillaLexer *lexer = nullptr);
 
 	//! Set the background colour of all margins to \a col.  The default is
 	//! a gray.
diff --git a/tqt/tqextscintillabase.cpp b/tqt/tqextscintillabase.cpp
index 01afc67..dcb7645 100644
--- a/tqt/tqextscintillabase.cpp
+++ b/tqt/tqextscintillabase.cpp
@@ -72,11 +72,11 @@ static TQPtrList<TQextScintillaBase> poolList;
 TQextScintillaBase::TQextScintillaBase(TQWidget *parent,const char *name,WFlags f)
 	: TQWidget(parent,name,f)
 {
-	sci = 0;
+	sci = nullptr;
 
 	TQGridLayout *layout = new TQGridLayout(this,2,2);
 
-	txtarea = new TQWidget(this,0,WRepaintNoErase|WResizeNoErase);
+	txtarea = new TQWidget(this,nullptr,WRepaintNoErase|WResizeNoErase);
 	txtarea -> setSizePolicy(TQSizePolicy(TQSizePolicy::Expanding,TQSizePolicy::Expanding));
 	txtarea -> setMouseTracking(true);
 	txtarea -> setAcceptDrops(true);
diff --git a/tqt/tqextscintillabase.h b/tqt/tqextscintillabase.h
index 79cb5c8..3930161 100644
--- a/tqt/tqextscintillabase.h
+++ b/tqt/tqextscintillabase.h
@@ -2172,7 +2172,7 @@ public:
 
 	//! Construct an empty TQextScintillaBase with parent \a parent, name
 	//! \a name, and widget flags \a f.
-	TQextScintillaBase(TQWidget *parent = 0,const char *name = 0,
+	TQextScintillaBase(TQWidget *parent = nullptr,const char *name = nullptr,
 			  WFlags f = 0);
 
 	//! Destroys the TQextScintillaBase instance.
diff --git a/tqt/tqextscintilladocument.cpp b/tqt/tqextscintilladocument.cpp
index a8394b6..2b0bb27 100644
--- a/tqt/tqextscintilladocument.cpp
+++ b/tqt/tqextscintilladocument.cpp
@@ -104,7 +104,7 @@ void TQextScintillaDocument::detach()
 		delete pdoc;
 	}
 
-	pdoc = 0;
+	pdoc = nullptr;
 }
 
 
@@ -120,7 +120,7 @@ void TQextScintillaDocument::undisplay(TQextScintillaBase *tqsb)
 		tqsb -> SendScintilla(TQextScintillaBase::SCI_ADDREFDOCUMENT,0,pdoc -> doc);
 	}
 
-	pdoc = 0;
+	pdoc = nullptr;
 }
 
 
diff --git a/tqt/tqextscintillalexer.cpp b/tqt/tqextscintillalexer.cpp
index aa6dd0e..2f1dd23 100644
--- a/tqt/tqextscintillalexer.cpp
+++ b/tqt/tqextscintillalexer.cpp
@@ -68,7 +68,7 @@ const char *TQextScintillaLexer::autoCompletionFillups() const
 // auto-completion.
 const char *TQextScintillaLexer::autoCompletionStartCharacters() const
 {
-    return 0;
+    return nullptr;
 }
 
 
@@ -76,7 +76,7 @@ const char *TQextScintillaLexer::autoCompletionStartCharacters() const
 // block.
 const char *TQextScintillaLexer::blockStartKeyword(int *) const
 {
-    return 0;
+    return nullptr;
 }
 
 
@@ -84,7 +84,7 @@ const char *TQextScintillaLexer::blockStartKeyword(int *) const
 // block.
 const char *TQextScintillaLexer::blockStart(int *) const
 {
-    return 0;
+    return nullptr;
 }
 
 
@@ -92,7 +92,7 @@ const char *TQextScintillaLexer::blockStart(int *) const
 // block.
 const char *TQextScintillaLexer::blockEnd(int *) const
 {
-    return 0;
+    return nullptr;
 }
 
 
@@ -114,7 +114,7 @@ int TQextScintillaLexer::blockLookback() const
 // Default implementation to return the characters that make up a word.
 const char *TQextScintillaLexer::wordCharacters() const
 {
-    return 0;
+    return nullptr;
 }
 
 
@@ -149,7 +149,7 @@ TQFont TQextScintillaLexer::font(int) const
 // Returns the set of keywords.
 const char *TQextScintillaLexer::keywords(int) const
 {
-    return 0;
+    return nullptr;
 }
 
 
diff --git a/tqt/tqextscintillalexer.h b/tqt/tqextscintillalexer.h
index b3bbb5b..d119aa9 100644
--- a/tqt/tqextscintillalexer.h
+++ b/tqt/tqextscintillalexer.h
@@ -60,7 +60,7 @@ class TQEXTSCINTILLA_EXPORT TQextScintillaLexer : public TQObject
 public:
     //! Construct a TQextScintillaLexer with parent \a parent and name
     //! \a name.  \a parent is typically the TQextScintilla instance.
-    TQextScintillaLexer(TQObject *parent = 0,const char *name = 0);
+    TQextScintillaLexer(TQObject *parent = nullptr,const char *name = nullptr);
 
     //! Destroys the TQextScintillaLexer instance.
     virtual ~TQextScintillaLexer();
@@ -91,7 +91,7 @@ public:
     //! \internal Returns a space separated list of words or characters in
     //! a particular style that define the end of a block for
     //! auto-indentation.  The style is returned via \a style.
-    virtual const char *blockEnd(int *style = 0) const;
+    virtual const char *blockEnd(int *style = nullptr) const;
 
     //! \internal Returns the number of lines prior to the current one when
     //! determining the scope of a block when auto-indenting.
@@ -100,12 +100,12 @@ public:
     //! \internal Returns a space separated list of words or characters in
     //! a particular style that define the start of a block for
     //! auto-indentation.  The style is returned via \a style.
-    virtual const char *blockStart(int *style = 0) const;
+    virtual const char *blockStart(int *style = nullptr) const;
 
     //! \internal Returns a space separated list of keywords in a
     //! particular style that define the start of a block for
     //! auto-indentation.  The style is returned via \a style.
-    virtual const char *blockStartKeyword(int *style = 0) const;
+    virtual const char *blockStartKeyword(int *style = nullptr) const;
 
     //! \internal Returns the style used for braces for brace matching.
     virtual int braceStyle() const;
diff --git a/tqt/tqextscintillalexerbash.cpp b/tqt/tqextscintillalexerbash.cpp
index 95727b7..e5fdefc 100644
--- a/tqt/tqextscintillalexerbash.cpp
+++ b/tqt/tqextscintillalexerbash.cpp
@@ -193,7 +193,7 @@ const char *TQextScintillaLexerBash::keywords(int set) const
 			"printenv ptx readlink seq sha1sum shred stat su tac "
 			"unlink users vdir whoami yes";
 
-	return 0;
+	return nullptr;
 }
 
 
diff --git a/tqt/tqextscintillalexerbash.h b/tqt/tqextscintillalexerbash.h
index b04c835..be5f252 100644
--- a/tqt/tqextscintillalexerbash.h
+++ b/tqt/tqextscintillalexerbash.h
@@ -89,7 +89,7 @@ public:
 
 	//! Construct a TQextScintillaLexerBash with parent \a parent and name
 	//! \a name.  \a parent is typically the TQextScintilla instance.
-	TQextScintillaLexerBash(TQObject *parent = 0,const char *name = 0);
+	TQextScintillaLexerBash(TQObject *parent = nullptr,const char *name = nullptr);
 
 	//! Destroys the TQextScintillaLexerBash instance.
 	virtual ~TQextScintillaLexerBash();
diff --git a/tqt/tqextscintillalexerbatch.cpp b/tqt/tqextscintillalexerbatch.cpp
index 3ce40b5..9071a79 100644
--- a/tqt/tqextscintillalexerbatch.cpp
+++ b/tqt/tqextscintillalexerbatch.cpp
@@ -150,7 +150,7 @@ const char *TQextScintillaLexerBatch::keywords(int set) const
 			"move path pause prompt rename ren rmdir rd shift "
 			"time type ver verify vol com con lpt nul";
 
-	return 0;
+	return nullptr;
 }
 
 
diff --git a/tqt/tqextscintillalexerbatch.h b/tqt/tqextscintillalexerbatch.h
index ae1e679..cdd2b2d 100644
--- a/tqt/tqextscintillalexerbatch.h
+++ b/tqt/tqextscintillalexerbatch.h
@@ -68,7 +68,7 @@ public:
 
 	//! Construct a TQextScintillaLexerBatch with parent \a parent and name
 	//! \a name.  \a parent is typically the TQextScintilla instance.
-	TQextScintillaLexerBatch(TQObject *parent = 0,const char *name = 0);
+	TQextScintillaLexerBatch(TQObject *parent = nullptr,const char *name = nullptr);
 
 	//! Destroys the TQextScintillaLexerBatch instance.
 	virtual ~TQextScintillaLexerBatch();
diff --git a/tqt/tqextscintillalexercpp.cpp b/tqt/tqextscintillalexercpp.cpp
index 1de27e3..7a57fef 100644
--- a/tqt/tqextscintillalexercpp.cpp
+++ b/tqt/tqextscintillalexercpp.cpp
@@ -238,7 +238,7 @@ const char *TQextScintillaLexerCPP::keywords(int set) const
 			"union until var verbatim verbinclude version warning "
 			"weakgroup $ @ \\ & < > # { }";
 
-	return 0;
+	return nullptr;
 }
 
 
diff --git a/tqt/tqextscintillalexercpp.h b/tqt/tqextscintillalexercpp.h
index cf09372..dce74f8 100644
--- a/tqt/tqextscintillalexercpp.h
+++ b/tqt/tqextscintillalexercpp.h
@@ -113,7 +113,7 @@ public:
 	//! \a name.  \a parent is typically the TQextScintilla instance.
 	//! \a caseInsensitiveKeywords is true if the lexer ignores the case of
 	//! keywords.
-	TQextScintillaLexerCPP(TQObject *parent = 0,const char *name = 0,
+	TQextScintillaLexerCPP(TQObject *parent = nullptr,const char *name = nullptr,
 			      bool caseInsensitiveKeywords = false);
 
 	//! Destroys the TQextScintillaLexerCPP instance.
@@ -129,17 +129,17 @@ public:
 	//! \internal Returns a space separated list of words or characters in
 	//! a particular style that define the end of a block for
 	//! auto-indentation.  The styles is returned via \a style.
-	const char *blockEnd(int *style = 0) const;
+	const char *blockEnd(int *style = nullptr) const;
 
 	//! \internal Returns a space separated list of words or characters in
 	//! a particular style that define the start of a block for
 	//! auto-indentation.  The styles is returned via \a style.
-	const char *blockStart(int *style = 0) const;
+	const char *blockStart(int *style = nullptr) const;
 
 	//! \internal Returns a space separated list of keywords in a
 	//! particular style that define the start of a block for
 	//! auto-indentation.  The styles is returned via \a style.
-	const char *blockStartKeyword(int *style = 0) const;
+	const char *blockStartKeyword(int *style = nullptr) const;
 
 	//! \internal Returns the style used for braces for brace matching.
 	int braceStyle() const;
diff --git a/tqt/tqextscintillalexercsharp.cpp b/tqt/tqextscintillalexercsharp.cpp
index 5795a3b..075ef3c 100644
--- a/tqt/tqextscintillalexercsharp.cpp
+++ b/tqt/tqextscintillalexercsharp.cpp
@@ -87,7 +87,7 @@ TQFont TQextScintillaLexerCSharp::font(int style) const
 const char *TQextScintillaLexerCSharp::keywords(int set) const
 {
 	if (set != 1)
-		return 0;
+		return nullptr;
 
 	return "abstract as base bool break byte case catch char checked "
 	       "class const continue decimal default delegate do double else "
diff --git a/tqt/tqextscintillalexercsharp.h b/tqt/tqextscintillalexercsharp.h
index e838265..c6c1db2 100644
--- a/tqt/tqextscintillalexercsharp.h
+++ b/tqt/tqextscintillalexercsharp.h
@@ -40,7 +40,7 @@ class TQEXTSCINTILLA_EXPORT TQextScintillaLexerCSharp : public TQextScintillaLex
 public:
 	//! Construct a TQextScintillaLexerCSharp with parent \a parent and name
 	//! \a name.  \a parent is typically the TQextScintilla instance.
-	TQextScintillaLexerCSharp(TQObject *parent = 0,const char *name = 0);
+	TQextScintillaLexerCSharp(TQObject *parent = nullptr,const char *name = nullptr);
 
 	//! Destroys the TQextScintillaLexerCSharp instance.
 	virtual ~TQextScintillaLexerCSharp();
diff --git a/tqt/tqextscintillalexercss.cpp b/tqt/tqextscintillalexercss.cpp
index 0cb475f..6279f17 100644
--- a/tqt/tqextscintillalexercss.cpp
+++ b/tqt/tqextscintillalexercss.cpp
@@ -220,7 +220,7 @@ const char *TQextScintillaLexerCSS::keywords(int set) const
 			"pitch-range stress richness speak-punctuation "
 			"speak-numeral";
 
-	return 0;
+	return nullptr;
 }
 
 
diff --git a/tqt/tqextscintillalexercss.h b/tqt/tqextscintillalexercss.h
index ae97180..bd625f3 100644
--- a/tqt/tqextscintillalexercss.h
+++ b/tqt/tqextscintillalexercss.h
@@ -95,7 +95,7 @@ public:
 
 	//! Construct a TQextScintillaLexerCSS with parent \a parent and name
 	//! \a name.  \a parent is typically the TQextScintilla instance.
-	TQextScintillaLexerCSS(TQObject *parent = 0,const char *name = 0);
+	TQextScintillaLexerCSS(TQObject *parent = nullptr,const char *name = nullptr);
 
 	//! Destroys the TQextScintillaLexerCSS instance.
 	virtual ~TQextScintillaLexerCSS();
@@ -110,12 +110,12 @@ public:
 	//! \internal Returns a space separated list of words or characters in
 	//! a particular style that define the end of a block for
 	//! auto-indentation.  The styles is returned via \a style.
-	const char *blockEnd(int *style = 0) const;
+	const char *blockEnd(int *style = nullptr) const;
 
 	//! \internal Returns a space separated list of words or characters in
 	//! a particular style that define the start of a block for
 	//! auto-indentation.  The styles is returned via \a style.
-	const char *blockStart(int *style = 0) const;
+	const char *blockStart(int *style = nullptr) const;
 
 	//! \internal Returns the string of characters that comprise a word.
 	const char *wordCharacters() const;
diff --git a/tqt/tqextscintillalexerdiff.h b/tqt/tqextscintillalexerdiff.h
index 487afca..4a2ea2c 100644
--- a/tqt/tqextscintillalexerdiff.h
+++ b/tqt/tqextscintillalexerdiff.h
@@ -65,7 +65,7 @@ public:
 
 	//! Construct a TQextScintillaLexerDiff with parent \a parent and name
 	//! \a name.  \a parent is typically the TQextScintilla instance.
-	TQextScintillaLexerDiff(TQObject *parent = 0,const char *name = 0);
+	TQextScintillaLexerDiff(TQObject *parent = nullptr,const char *name = nullptr);
 
 	//! Destroys the TQextScintillaLexerDiff instance.
 	virtual ~TQextScintillaLexerDiff();
diff --git a/tqt/tqextscintillalexerhtml.cpp b/tqt/tqextscintillalexerhtml.cpp
index 0941b47..3586453 100644
--- a/tqt/tqextscintillalexerhtml.cpp
+++ b/tqt/tqextscintillalexerhtml.cpp
@@ -530,7 +530,7 @@ const char *TQextScintillaLexerHTML::keywords(int set) const
 	if (set == 6)
 		return "ELEMENT DOCTYPE ATTLIST ENTITY NOTATION";
 
-	return 0;
+	return nullptr;
 }
 
 
diff --git a/tqt/tqextscintillalexerhtml.h b/tqt/tqextscintillalexerhtml.h
index 0089fce..bc8f123 100644
--- a/tqt/tqextscintillalexerhtml.h
+++ b/tqt/tqextscintillalexerhtml.h
@@ -376,7 +376,7 @@ public:
 
 	//! Construct a TQextScintillaLexerHTML with parent \a parent and name
 	//! \a name.  \a parent is typically the TQextScintilla instance.
-	TQextScintillaLexerHTML(TQObject *parent = 0,const char *name = 0);
+	TQextScintillaLexerHTML(TQObject *parent = nullptr,const char *name = nullptr);
 
 	//! Destroys the TQextScintillaLexerHTML instance.
 	virtual ~TQextScintillaLexerHTML();
diff --git a/tqt/tqextscintillalexeridl.cpp b/tqt/tqextscintillalexeridl.cpp
index 49cc650..9a36278 100644
--- a/tqt/tqextscintillalexeridl.cpp
+++ b/tqt/tqextscintillalexeridl.cpp
@@ -63,7 +63,7 @@ TQColor TQextScintillaLexerIDL::color(int style) const
 const char *TQextScintillaLexerIDL::keywords(int set) const
 {
 	if (set != 1)
-		return 0;
+		return nullptr;
 
 	return "aggregatable allocate appobject arrays async async_uuid "
 	       "auto_handle bindable boolean broadcast byte byte_count "
diff --git a/tqt/tqextscintillalexeridl.h b/tqt/tqextscintillalexeridl.h
index d566fca..0270f7b 100644
--- a/tqt/tqextscintillalexeridl.h
+++ b/tqt/tqextscintillalexeridl.h
@@ -40,7 +40,7 @@ class TQEXTSCINTILLA_EXPORT TQextScintillaLexerIDL : public TQextScintillaLexerC
 public:
 	//! Construct a TQextScintillaLexerIDL with parent \a parent and name
 	//! \a name.  \a parent is typically the TQextScintilla instance.
-	TQextScintillaLexerIDL(TQObject *parent = 0,const char *name = 0);
+	TQextScintillaLexerIDL(TQObject *parent = nullptr,const char *name = nullptr);
 
 	//! Destroys the TQextScintillaLexerIDL instance.
 	virtual ~TQextScintillaLexerIDL();
diff --git a/tqt/tqextscintillalexerjava.cpp b/tqt/tqextscintillalexerjava.cpp
index 4203a8f..9bc4bc0 100644
--- a/tqt/tqextscintillalexerjava.cpp
+++ b/tqt/tqextscintillalexerjava.cpp
@@ -50,7 +50,7 @@ const char *TQextScintillaLexerJava::language() const
 const char *TQextScintillaLexerJava::keywords(int set) const
 {
 	if (set != 1)
-		return 0;
+		return nullptr;
 
 	return "abstract assert boolean break byte case catch char class "
 	       "const continue default do double else extends final finally "
diff --git a/tqt/tqextscintillalexerjava.h b/tqt/tqextscintillalexerjava.h
index 589fe6b..135016f 100644
--- a/tqt/tqextscintillalexerjava.h
+++ b/tqt/tqextscintillalexerjava.h
@@ -40,7 +40,7 @@ class TQEXTSCINTILLA_EXPORT TQextScintillaLexerJava : public TQextScintillaLexer
 public:
 	//! Construct a TQextScintillaLexerJava with parent \a parent and name
 	//! \a name.  \a parent is typically the TQextScintilla instance.
-	TQextScintillaLexerJava(TQObject *parent = 0,const char *name = 0);
+	TQextScintillaLexerJava(TQObject *parent = nullptr,const char *name = nullptr);
 
 	//! Destroys the TQextScintillaLexerJava instance.
 	virtual ~TQextScintillaLexerJava();
diff --git a/tqt/tqextscintillalexerjavascript.cpp b/tqt/tqextscintillalexerjavascript.cpp
index f8510c7..d45cfd7 100644
--- a/tqt/tqextscintillalexerjavascript.cpp
+++ b/tqt/tqextscintillalexerjavascript.cpp
@@ -97,7 +97,7 @@ TQFont TQextScintillaLexerJavaScript::font(int style) const
 const char *TQextScintillaLexerJavaScript::keywords(int set) const
 {
 	if (set != 1)
-		return 0;
+		return nullptr;
 
 	return keywordClass;
 }
diff --git a/tqt/tqextscintillalexerjavascript.h b/tqt/tqextscintillalexerjavascript.h
index bc63c9a..248523b 100644
--- a/tqt/tqextscintillalexerjavascript.h
+++ b/tqt/tqextscintillalexerjavascript.h
@@ -40,7 +40,7 @@ class TQEXTSCINTILLA_EXPORT TQextScintillaLexerJavaScript : public TQextScintill
 public:
 	//! Construct a TQextScintillaLexerJavaScript with parent \a parent and
 	//! name \a name.  \a parent is typically the TQextScintilla instance.
-	TQextScintillaLexerJavaScript(TQObject *parent = 0,const char *name = 0);
+	TQextScintillaLexerJavaScript(TQObject *parent = nullptr,const char *name = nullptr);
 
 	//! Destroys the TQextScintillaLexerJavaScript instance.
 	virtual ~TQextScintillaLexerJavaScript();
diff --git a/tqt/tqextscintillalexerlua.cpp b/tqt/tqextscintillalexerlua.cpp
index 1b627bb..3704ea0 100644
--- a/tqt/tqextscintillalexerlua.cpp
+++ b/tqt/tqextscintillalexerlua.cpp
@@ -201,7 +201,7 @@ const char *TQextScintillaLexerLua::keywords(int set) const
 			"os.exit os.getenv os.remove os.rename os.setlocale "
 			"os.time os.tmpname";
 
-	return 0;
+	return nullptr;
 }
 
 
diff --git a/tqt/tqextscintillalexerlua.h b/tqt/tqextscintillalexerlua.h
index 62e00c9..a2ebfda 100644
--- a/tqt/tqextscintillalexerlua.h
+++ b/tqt/tqextscintillalexerlua.h
@@ -89,7 +89,7 @@ public:
 
 	//! Construct a TQextScintillaLexerLua with parent \a parent and name
 	//! \a name.  \a parent is typically the TQextScintilla instance.
-	TQextScintillaLexerLua(TQObject *parent = 0,const char *name = 0);
+	TQextScintillaLexerLua(TQObject *parent = nullptr,const char *name = nullptr);
 
 	//! Destroys the TQextScintillaLexerLua instance.
 	virtual ~TQextScintillaLexerLua();
@@ -104,7 +104,7 @@ public:
 	//! \internal Returns a space separated list of words or characters in
 	//! a particular style that define the start of a block for
 	//! auto-indentation.  The styles is returned via \a style.
-	const char *blockStart(int *style = 0) const;
+	const char *blockStart(int *style = nullptr) const;
 
 	//! \internal Returns the style used for braces for brace matching.
 	int braceStyle() const;
diff --git a/tqt/tqextscintillalexermakefile.h b/tqt/tqextscintillalexermakefile.h
index 99a4907..5a8b8c2 100644
--- a/tqt/tqextscintillalexermakefile.h
+++ b/tqt/tqextscintillalexermakefile.h
@@ -65,7 +65,7 @@ public:
 
 	//! Construct a TQextScintillaLexerMakefile with parent \a parent and
 	//! name \a name.  \a parent is typically the TQextScintilla instance.
-	TQextScintillaLexerMakefile(TQObject *parent = 0,const char *name = 0);
+	TQextScintillaLexerMakefile(TQObject *parent = nullptr,const char *name = nullptr);
 
 	//! Destroys the TQextScintillaLexerMakefile instance.
 	virtual ~TQextScintillaLexerMakefile();
diff --git a/tqt/tqextscintillalexerperl.cpp b/tqt/tqextscintillalexerperl.cpp
index 1c294e1..48d018e 100644
--- a/tqt/tqextscintillalexerperl.cpp
+++ b/tqt/tqextscintillalexerperl.cpp
@@ -241,7 +241,7 @@ const char *TQextScintillaLexerPerl::keywords(int set) const
 			"unshift untie until use utime values vec wait "
 			"waitpid wantarray warn while write x xor y";
 
-	return 0;
+	return nullptr;
 }
 
 
diff --git a/tqt/tqextscintillalexerperl.h b/tqt/tqextscintillalexerperl.h
index 0778501..1fc1406 100644
--- a/tqt/tqextscintillalexerperl.h
+++ b/tqt/tqextscintillalexerperl.h
@@ -131,7 +131,7 @@ public:
 
 	//! Construct a TQextScintillaLexerPerl with parent \a parent and name
 	//! \a name.  \a parent is typically the TQextScintilla instance.
-	TQextScintillaLexerPerl(TQObject *parent = 0,const char *name = 0);
+	TQextScintillaLexerPerl(TQObject *parent = nullptr,const char *name = nullptr);
 
 	//! Destroys the TQextScintillaLexerPerl instance.
 	virtual ~TQextScintillaLexerPerl();
diff --git a/tqt/tqextscintillalexerpov.cpp b/tqt/tqextscintillalexerpov.cpp
index 763caf0..faae213 100644
--- a/tqt/tqextscintillalexerpov.cpp
+++ b/tqt/tqextscintillalexerpov.cpp
@@ -262,7 +262,7 @@ const char *TQextScintillaLexerPOV::keywords(int set) const
 			"vrotate vnormalize vturbulence chr concat str "
 			"strlwr strupr substr vstr sqr cube reciprocal pwr";
 
-	return 0;
+	return nullptr;
 }
 
 
diff --git a/tqt/tqextscintillalexerpov.h b/tqt/tqextscintillalexerpov.h
index 7d524cd..798b185 100644
--- a/tqt/tqextscintillalexerpov.h
+++ b/tqt/tqextscintillalexerpov.h
@@ -101,7 +101,7 @@ public:
 
 	//! Construct a TQextScintillaLexerPOV with parent \a parent and name
 	//! \a name.  \a parent is typically the TQextScintilla instance.
-	TQextScintillaLexerPOV(TQObject *parent = 0,const char *name = 0);
+	TQextScintillaLexerPOV(TQObject *parent = nullptr,const char *name = nullptr);
 
 	//! Destroys the TQextScintillaLexerPOV instance.
 	virtual ~TQextScintillaLexerPOV();
diff --git a/tqt/tqextscintillalexerproperties.h b/tqt/tqextscintillalexerproperties.h
index a6cad64..defc761 100644
--- a/tqt/tqextscintillalexerproperties.h
+++ b/tqt/tqextscintillalexerproperties.h
@@ -59,7 +59,7 @@ public:
 
 	//! Construct a TQextScintillaLexerProperties with parent \a parent and
 	//! name \a name.  \a parent is typically the TQextScintilla instance.
-	TQextScintillaLexerProperties(TQObject *parent = 0,const char *name = 0);
+	TQextScintillaLexerProperties(TQObject *parent = nullptr,const char *name = nullptr);
 
 	//! Destroys the TQextScintillaLexerProperties instance.
 	virtual ~TQextScintillaLexerProperties();
diff --git a/tqt/tqextscintillalexerpython.cpp b/tqt/tqextscintillalexerpython.cpp
index 46fa85e..9003fcb 100644
--- a/tqt/tqextscintillalexerpython.cpp
+++ b/tqt/tqextscintillalexerpython.cpp
@@ -203,7 +203,7 @@ TQFont TQextScintillaLexerPython::font(int style) const
 const char *TQextScintillaLexerPython::keywords(int set) const
 {
 	if (set != 1)
-		return 0;
+		return nullptr;
 
 	return keywordClass;
 }
diff --git a/tqt/tqextscintillalexerpython.h b/tqt/tqextscintillalexerpython.h
index 285f2bb..dfc4f97 100644
--- a/tqt/tqextscintillalexerpython.h
+++ b/tqt/tqextscintillalexerpython.h
@@ -117,7 +117,7 @@ public:
 
 	//! Construct a TQextScintillaLexerPython with parent \a parent and name
 	//! \a name.  \a parent is typically the TQextScintilla instance.
-	TQextScintillaLexerPython(TQObject *parent = 0,const char *name = 0);
+	TQextScintillaLexerPython(TQObject *parent = nullptr,const char *name = nullptr);
 
 	//! Destroys the TQextScintillaLexerPython instance.
 	virtual ~TQextScintillaLexerPython();
@@ -139,7 +139,7 @@ public:
 	//! \internal Returns a space separated list of words or characters in
 	//! a particular style that define the start of a block for
 	//! auto-indentation.  The styles is returned via \a style.
-	const char *blockStart(int *style = 0) const;
+	const char *blockStart(int *style = nullptr) const;
 
 	//! \internal Returns the style used for braces for brace matching.
 	int braceStyle() const;
diff --git a/tqt/tqextscintillalexerruby.cpp b/tqt/tqextscintillalexerruby.cpp
index 9834332..23daba6 100644
--- a/tqt/tqextscintillalexerruby.cpp
+++ b/tqt/tqextscintillalexerruby.cpp
@@ -237,7 +237,7 @@ const char *TQextScintillaLexerRuby::keywords(int set) const
 			"for nil require retry true while alias class elsif "
 			"if not return undef yield";
 
-	return 0;
+	return nullptr;
 }
 
 
diff --git a/tqt/tqextscintillalexerruby.h b/tqt/tqextscintillalexerruby.h
index c4a427a..07399dd 100644
--- a/tqt/tqextscintillalexerruby.h
+++ b/tqt/tqextscintillalexerruby.h
@@ -137,7 +137,7 @@ public:
 
 	//! Construct a TQextScintillaLexerRuby with parent \a parent and name
 	//! \a name.  \a parent is typically the TQextScintilla instance.
-	TQextScintillaLexerRuby(TQObject *parent = 0,const char *name = 0);
+	TQextScintillaLexerRuby(TQObject *parent = nullptr,const char *name = nullptr);
 
 	//! Destroys the TQextScintillaLexerRuby instance.
 	virtual ~TQextScintillaLexerRuby();
@@ -152,17 +152,17 @@ public:
 	//! \internal Returns a space separated list of words or characters in
 	//! a particular style that define the end of a block for
 	//! auto-indentation.  The style is returned via \a style.
-	const char *blockEnd(int *style = 0) const;
+	const char *blockEnd(int *style = nullptr) const;
 
 	//! \internal Returns a space separated list of words or characters in
 	//! a particular style that define the start of a block for
 	//! auto-indentation.  The styles is returned via \a style.
-	const char *blockStart(int *style = 0) const;
+	const char *blockStart(int *style = nullptr) const;
 
 	//! \internal Returns a space separated list of keywords in a
 	//! particular style that define the start of a block for
 	//! auto-indentation.  The style is returned via \a style.
-	const char *blockStartKeyword(int *style = 0) const;
+	const char *blockStartKeyword(int *style = nullptr) const;
 
 	//! \internal Returns the style used for braces for brace matching.
 	int braceStyle() const;
diff --git a/tqt/tqextscintillalexersql.cpp b/tqt/tqextscintillalexersql.cpp
index 454e69a..c65ce3e 100644
--- a/tqt/tqextscintillalexersql.cpp
+++ b/tqt/tqextscintillalexersql.cpp
@@ -238,7 +238,7 @@ const char *TQextScintillaLexerSQL::keywords(int set) const
 			"undef~ine var~iable whenever oserror whenever "
 			"sqlerror";
 
-	return 0;
+	return nullptr;
 }
 
 
diff --git a/tqt/tqextscintillalexersql.h b/tqt/tqextscintillalexersql.h
index fb2e881..4caba7d 100644
--- a/tqt/tqextscintillalexersql.h
+++ b/tqt/tqextscintillalexersql.h
@@ -115,7 +115,7 @@ public:
 
 	//! Construct a TQextScintillaLexerSQL with parent \a parent and name
 	//! \a name.  \a parent is typically the TQextScintilla instance.
-	TQextScintillaLexerSQL(TQObject *parent = 0,const char *name = 0);
+	TQextScintillaLexerSQL(TQObject *parent = nullptr,const char *name = nullptr);
 
 	//! Destroys the TQextScintillaLexerSQL instance.
 	virtual ~TQextScintillaLexerSQL();
diff --git a/tqt/tqextscintillalexertex.cpp b/tqt/tqextscintillalexertex.cpp
index aa9804d..cd830b0 100644
--- a/tqt/tqextscintillalexertex.cpp
+++ b/tqt/tqextscintillalexertex.cpp
@@ -177,7 +177,7 @@ const char *TQextScintillaLexerTeX::keywords(int set) const
 			"tracingall showhyphens fmtname fmtversion hphantom "
 			"vphantom phantom smash";
 
-	return 0;
+	return nullptr;
 }
 
 
diff --git a/tqt/tqextscintillalexertex.h b/tqt/tqextscintillalexertex.h
index 39619f8..9809b01 100644
--- a/tqt/tqextscintillalexertex.h
+++ b/tqt/tqextscintillalexertex.h
@@ -62,7 +62,7 @@ public:
 
 	//! Construct a TQextScintillaLexerTeX with parent \a parent and name
 	//! \a name.  \a parent is typically the TQextScintilla instance.
-	TQextScintillaLexerTeX(TQObject *parent = 0,const char *name = 0);
+	TQextScintillaLexerTeX(TQObject *parent = nullptr,const char *name = nullptr);
 
 	//! Destroys the TQextScintillaLexerTeX instance.
 	virtual ~TQextScintillaLexerTeX();
diff --git a/tqt/tqextscintillamacro.h b/tqt/tqextscintillamacro.h
index 67a3885..ec21238 100644
--- a/tqt/tqextscintillamacro.h
+++ b/tqt/tqextscintillamacro.h
@@ -49,12 +49,12 @@ class TQEXTSCINTILLA_EXPORT TQextScintillaMacro : public TQObject
 public:
 	//! Construct a TQextScintillaMacro with parent \a parent and name
 	//! \a name.
-	TQextScintillaMacro(TQextScintilla *parent,const char *name = 0);
+	TQextScintillaMacro(TQextScintilla *parent,const char *name = nullptr);
 
 	//! Construct a TQextScintillaMacro from the printable ASCII
 	//! representation \a asc, with parent \a parent and name \a name.
 	TQextScintillaMacro(const TQCString &asc,TQextScintilla *parent,
-			   const char *name = 0);
+			   const char *name = nullptr);
 
 	//! Destroy the TQextScintillaMacro instance.
 	virtual ~TQextScintillaMacro();
-- 
cgit v1.2.3

