summaryrefslogtreecommitdiff
path: root/scite-fedora
diff options
context:
space:
mode:
authorB. Stack <bgstack15@gmail.com>2022-04-04 17:07:01 -0400
committerB. Stack <bgstack15@gmail.com>2022-04-04 17:07:01 -0400
commite034b3b92a49fe23f9b8e19b9d41448c8e32a991 (patch)
tree82b1c1bd8d6b09b8b799dbdc89f6b91e256f32f7 /scite-fedora
parentMerge branch 'veracrypt-bump' into 'master' (diff)
downloadstackrpms-e034b3b92a49fe23f9b8e19b9d41448c8e32a991.tar.gz
stackrpms-e034b3b92a49fe23f9b8e19b9d41448c8e32a991.tar.bz2
stackrpms-e034b3b92a49fe23f9b8e19b9d41448c8e32a991.zip
scite 5.2.2 with emitunicode patch, for fedora
Diffstat (limited to 'scite-fedora')
-rw-r--r--scite-fedora/README.md20
-rw-r--r--scite-fedora/add-emitUnicode.patch16
-rw-r--r--scite-fedora/emitUnicode.lua247
-rw-r--r--scite-fedora/scite.spec107
-rw-r--r--scite-fedora/use-lua5.4.4.patch266
5 files changed, 616 insertions, 40 deletions
diff --git a/scite-fedora/README.md b/scite-fedora/README.md
index 853489a..766ff41 100644
--- a/scite-fedora/README.md
+++ b/scite-fedora/README.md
@@ -4,21 +4,27 @@ https://src.fedoraproject.org/rpms/scite/tree/f29
# Reason for being in stackrpms
Fedora and CentOS do not package scite and I have use of them. CentOS 7 relies on version 3 of the application, but CentOS 8 and Fedora relies on version 5.
+Devuan Ceres already packages [scite](https://salsa.debian.org/debian/scite) but I want to add some customizations for myself.
+
# Reverse dependency matrix
-Distro | scite version
----------- | ---------------
-CentOS 6 | 3.7.6
-CentOS 7 | 3.7.6
-CentOS 8 | 5.1.3
-Fedora 33 | 5.1.3
+Distro | scite version
+------------ | ---------------
+CentOS 6 | 3.7.6
+CentOS 7 | 3.7.6
+CentOS 8 | 5.2.2
+Fedora 34 | 5.2.2
+Devuan Ceres | 5.2.2
# References
void linux [scite](https://github.com/void-linux/void-packages/blob/master/srcpkgs/scite/template) package guided me at version 5.0.1.
# Differences
-## From upstream
+## From upstream for Fedora
See file [stackrpms-scite.spec.diff](stackrpms-scite.spec.diff)
## Between scite-fedora and scite-el
Run file [fc-el-scite-diff.sh](fc-el-scite-diff.sh).
scite-fedora/fc-el-scite-diff.sh | vi -
+
+## From upstream for Devuan
+
diff --git a/scite-fedora/add-emitUnicode.patch b/scite-fedora/add-emitUnicode.patch
new file mode 100644
index 0000000..faff06d
--- /dev/null
+++ b/scite-fedora/add-emitUnicode.patch
@@ -0,0 +1,16 @@
+--- a/scite/src/SciTEGlobal.properties 2022-03-30 20:48:24.000000000 -0400
++++ b/scite/src/SciTEGlobal.properties 2022-04-04 10:14:32.803893680 -0400
+@@ -550,6 +550,13 @@
+ # The set of imports allowed can be set with
+ #imports.include=ave
+
++ext.lua.startup.script=$(SciteDefaultHome)/emitUnicode.lua
++command.name.8.*=Emit UTF8 Unicode
++command.subsystem.8.*=3
++command.8.*=emitUtf8UnicodeIntoTheSciteEditor
++command.mode.8.*=savebefore:no
++command.shortcut.8.*=Ctrl+U
++
+ # Import all the language specific properties files in this directory
+ import *
+
diff --git a/scite-fedora/emitUnicode.lua b/scite-fedora/emitUnicode.lua
new file mode 100644
index 0000000..70d32b1
--- /dev/null
+++ b/scite-fedora/emitUnicode.lua
@@ -0,0 +1,247 @@
+-- DESCRIPTION:
+-- Unicode hexadecimal table: https://example.com/copied/unicode.html
+-- Source: http://lua-users.org/wiki/SciteUnicodeInput http://sourceforge.net/projects/emitunicodeinscite/
+-- Future reference: http://lua-users.org/wiki/SciteScripts
+--
+-- This lua script adds utf8 unicode input, to the scite text editor.
+--
+-- The scite text editor should be set to use the UTF-8 encoding
+-- , because this script adds utf8, into the text buffer of the
+-- scite editor. Select File->Encoding->UTF-8, from the
+-- menu bar of scite.
+--
+-- For example, it will be possible that you type 2200 CTRL+U
+-- , and 2200 is replaced to &#8704;; (U+2200), in the scite editor.
+--
+-- ______________________________________________________________________________
+--
+-- INSTALL:
+--
+-- To have scite running this script each time you press Ctrl+U, add next lines
+-- into your ~/SciTEUser.properties file, where ~ is your home directory.
+-- FILE ~/SciTEUser.properties:
+--[[
+ext.lua.startup.script=$(SciteUserHome)/emitUtf8UnicodeIntoTheSciteEditor.lua
+command.name.8.*=Emit UTF8 Unicode
+command.subsystem.8.*=3
+command.8.*=emitUtf8UnicodeIntoTheSciteEditor
+command.mode.8.*=savebefore:no
+command.shortcut.8.*=Ctrl+U
+--]]
+-- ______________________________________________________________________________
+-- THE LUA CODE:
+--
+-- Next is the definition of the lua function that is called by scite
+-- when CTRL+U is pressed, to replace unicode endpoint encoding, with
+-- utf8 encoding of the unicode endpoint.
+-- ______________________________________________________________________________
+
+
+-- Computes the utf8 encoding for a unicode codepoint u
+-- , when 0 <= u <= 0x7f
+--
+-- @param unicodeValue the unicode codepoint u
+--
+-- @return the utf8 encoding of the unicode codepoint u
+function case1UnicodeToUtf8(unicodeValue)
+ --print('case 1')
+ local u = unicodeValue
+ local byte0 = (u % 0x80)
+ local utf8 = string.char(byte0)
+ return utf8
+end
+
+-- ______________________________________________________________________________
+-- Computes the utf8 encoding for a unicode codepoint u
+-- , when 0x80 <= u <= 0x7ff
+--
+-- @param unicodeValue the unicode codepoint u
+--
+-- @return the utf8 encoding of the unicode codepoint u
+function case2UnicodeToUtf8(unicodeValue)
+ --print('case 2')
+ local u = unicodeValue
+ local byte1 = (0x80 + (u % 0x40) )
+ u = math.floor(u / 0x40)
+ local byte0 = (0xc0 + (u % 0x20) )
+ local utf8 = string.char(byte0, byte1)
+ return utf8
+end
+
+-- ______________________________________________________________________________
+-- Computes the utf8 encoding for a unicode codepoint u
+-- , when 0x800 <= u <= 0xffff.
+--
+-- @param unicodeValue the unicode codepoint u
+--
+-- @return the utf8 encoding of the unicode codepoint u
+function case3UnicodeToUtf8(unicodeValue)
+ local u = unicodeValue
+ local byte2 = (0x80 + (u % 0x40))
+ -- print('byte2: '..byte2)
+ u = math.floor(u / 0x40)
+ local byte1 = (0x80 + (u % 0x40))
+ -- print('byte1: '..byte1)
+ u = math.floor(u / 0x40)
+ local byte0 = (0xe0 + (u % 0x10))
+ -- print('byte0: '..byte0)
+ local utf8 = string.char(byte0, byte1, byte2)
+ return utf8
+end
+
+-- ______________________________________________________________________________
+-- Computes the utf8 encoding for a unicode codepoint u
+-- , when 0x10000 <= u <= 0x10ffff.
+--
+-- @param unicodeValue the unicode codepoint u
+--
+-- @return the utf8 encoding of the unicode codepoint u
+function case4UnicodeToUtf8(unicodeValue)
+ local u = unicodeValue
+ local byte3 = (0x80 + (u % 0x40))
+ u = math.floor(u / 0x40)
+ local byte2 = (0x80 + (u % 0x40))
+ u = math.floor(u / 0x40)
+ local byte1 = (0x80 + (u % 0x40))
+ u = math.floor(u / 0x40)
+ local byte0 = (0xf0 + (u % 0x8))
+ local utf8 = string.char(byte0, byte1, byte2, byte3)
+ return utf8
+end
+
+-- ______________________________________________________________________________
+-- Converts a unicode integer value, into a utf8 string value.
+--
+-- The unicode integer value is an integer that
+-- is greater than or equal to zero.
+--
+-- The utf8 string value is a string that is a sequence of
+-- 8 bits characters that give the utf8 encoding of the
+-- unicode codepoint given by the unicode integer value.
+--
+-- @param unicodeValue the unicode integer value;
+-- a unicode codepoint
+--
+-- @return the utf8 encoding of the unicode codepoint
+-- provided by the unicodeValue input argument
+function unicodeToUtf8(unicodeValue)
+ local u = unicodeValue
+ if ((0x800 <= u) and (0xffff >= u))
+ then
+ return case3UnicodeToUtf8(u)
+ end
+ if ((0x80 <= u) and (0x7fff >= u))
+ then
+ return case2UnicodeToUtf8(u)
+ end
+ if ((0x0 <= u) and (0x7f >= u))
+ then
+ return case1UnicodeToUtf8(u)
+ end
+ if( (0x10000 <= u) and (0x10ffff >= u) )
+ then
+ return case4UnicodeToUtf8(u)
+ end
+ return nil
+end
+
+-- ______________________________________________________________________________
+-- Peeks (reads) the character at position i, in the Scite Editor.
+-- If the character is the ascii name of a hex digit, it returns
+-- the corresponding hex digit, otherwise it returns nil.
+--
+-- @param i position in the Scite Editor
+-- @return hex digit at position i, or nil
+function peekHexdigit(i)
+ local e = editor
+ local asciiCode = e.CharAt[i]
+ if((0>asciiCode) or (0xff < asciiCode))
+ then
+ return nil
+ end
+ local charValue = string.char(asciiCode)
+ local hexDigit = tonumber(charValue,0x10)
+ return hexDigit -- may be nil
+end
+
+-- ______________________________________________________________________________
+-- Reads the sequence of maximum length at most 5, at the left of the cursor
+-- in the Scite Editor.
+-- Encodes the longest suffix of this sequence, that is a hex number, into
+-- the utf encoding of this hex number.
+-- Replaces this longest suffix, with the utf8 sequence.
+--
+-- @return true a suffix of length greater than zero, at most 5 existed
+-- and was replaced with the utf8 encoding of the number it
+-- represented
+--
+-- false , when no such suffix existed
+function emitUtf8Unicode()
+ local e = editor
+ local n = e.TextLength
+ local i = e.CurrentPos
+ local maxlen = 5
+ if ((0 == n) or (1 > i))
+ then
+ return nil -- Success. No request
+ end
+ local len = 1
+ local len2 = 0
+ local u = 0
+ local thePower = 1
+ while ( (len <= maxlen)
+ and (0 <= (i - len) )
+ )
+ do
+ local hexDigit = peekHexdigit(i-len,u)
+ if (nil == hexDigit)
+ then
+ break -- out of the while loop
+ end
+ u = ( u + (thePower * hexDigit) )
+ thePower = (0x10 * thePower )
+ len2 = len
+ --print("u: "..u)
+ len = len + 1
+ end
+ if (0 == len2)
+ then
+ return nil -- Failure. No unicode
+ end
+ utf8 = unicodeToUtf8(u)
+ if(nil == utf8)
+ then
+ return nil -- Failure. Unicode to utf8 conversion failed.
+ end
+ e:SetSel(i-len2,i)
+ e:ReplaceSel(utf8)
+ --print("utf8: "..utf8)
+ return true -- Success.
+end
+
+-- ______________________________________________________________________________
+-- Emits utf8 encoding in the place of the unicode codepoint
+-- in the editor, at the left of the cursor.
+--
+-- Writes a message to the Output pane, if no codepoint existed
+-- at the left of the cursor.
+--
+function emitUtf8UnicodeIntoTheSciteEditor()
+ local ok = emitUtf8Unicode()
+ if not ok
+ then
+ --print("Failed to encode unicode into text editor.")
+ end
+end
+
+-- ______________________________________________________________________________
+--
+-- Following web pages were useful in writing the lua scite script.
+--
+-- http://lua-users.org/wiki/UsingLuaWithScite
+-- http://www.scintilla.org/PaneAPI.html
+-- http://www.lua.org/manual/5.1/manual.html#pdf-tonumber
+-- https://en.wikipedia.org/wiki/UTF-8
+--
+-- http://lua-users.org/lists/lua-l/2007-08/msg00276.html
+-- http://keplerproject.github.io/luadoc/
diff --git a/scite-fedora/scite.spec b/scite-fedora/scite.spec
index 1b6a692..fe90350 100644
--- a/scite-fedora/scite.spec
+++ b/scite-fedora/scite.spec
@@ -1,14 +1,41 @@
-# el is on 3.x, fc is on 5.x
-%global pkgversion 5.2.1
+# Tunables
+# el7 is on 3.x, el8/fc is on 5.x
+%global pkgversion 5.2.2
+# Use lua
+%define with_lua 1
+# Use bundled lua. If 0, then use distro lua
+%define with_bundled_lua 0
+# Add my emitUnicode lua script
+%define with_emitunicode 1
+# Choose GTK=2 or GTK=3. El6 is hardcoded to 2.
+%define gtk_ 3
+
+# Calculated or derived flags. Do not mess with these.
%define tarballversion %( echo %pkgversion | tr -d '.' )
+%define luaflag NO_LUA=1
+%if 0%{with_lua}
+%define luaflag %nil
+%endif
+%define gtkflag GTK3=1
+%if 0%{gtk_} == 2
+%define gtkflag %nil
+%endif
+# Turn off lto for local builds but leave them on for copr
+%if !0%{?copr_username:1}
+%global _lto_cflags %nil
+%endif
%global __brp_check_rpaths %{nil}
-
%define scl_env %{nil}
%define scl_buildreq coreutils
%if 0%{?el6}
%define scl_env devtoolset-7
%define scl_buildreq devtoolset-7-toolchain
+ %define gtk_ 2
%endif
+%global all_build_flags '%{?_smp_mflags} LDFLAGS="%{?__global_ldflags} -shared -dynamiclib" \
+ CFLAGS="%{optflags}" CXXFLAGS="%{optflags}" %{gtkflag} DEBUG=1 %{luaflag} libdir=%{_libdir}'
+# Just for vim:
+#'
Name: scite
Version: %{pkgversion}
@@ -20,15 +47,26 @@ Url: http://www.scintilla.org/SciTE.html
Packager: B. Stack <bgstack15@gmail.com>
Source0: https://www.scintilla.org/scite%{tarballversion}.tgz
+%if 0%{with_emitunicode}
+Source1: emitUnicode.lua
+%endif
Patch0: scite-utf8.patch
+Patch1: add-emitUnicode.patch
+%if 0%{with_lua} && !0%{with_bundled_lua}
+Patch2: use-lua5.4.4.patch
+%endif
BuildRequires: desktop-file-utils
BuildRequires: gcc-c++
BuildRequires: %{scl_buildreq}
-%if !0%{?el6}
+%if 0%{gtk_} == 3
BuildRequires: gtk3-devel
-%endif
+%else
BuildRequires: gtk2-devel
+%endif
+%if 0%{with_lua} && !0%{with_bundled_lua}
+BuildRequires: lua-devel
+%endif
Provides: bundled(scintilla) = %{version}
@@ -38,41 +76,37 @@ Scintilla, it has grown to be a generally useful editor with facilities for
building and running programs.
%prep
+echo "USING gtkflag=\"%{gtkflag}\""
%setup -q -c
%patch0
+%if !0%{with_lua}
#remove bundled lua
rm -rf scite/lua
+%else
+%if !0%{with_bundled_lua}
+# Use distro lua
+rm -rf scite/lua
+%patch2 -p1
+%endif
+%endif
+%patch1 -p1
%build
-
-%if 0%{?el6}
- %if "%{?scl_env}" != ""
- scl enable %{scl_env} /bin/bash <<'EOFSCL'
- %endif
- make %{?_smp_mflags} LDFLAGS="%{?__global_ldflags} -shared -dynamiclib" \
- CFLAGS="%{optflags}" CXXFLAGS="%{optflags}" DEBUG=1 -C lexilla/src \
- libdir=%{_libdir}
- make %{?_smp_mflags} LDFLAGS="%{?__global_ldflags} -shared -dynamiclib" \
- CFLAGS="%{optflags}" CXXFLAGS="%{optflags}" DEBUG=1 -C scintilla/gtk \
- libdir=%{_libdir}
- #Build without lua support
- make %{?_smp_mflags} LDFLAGS="%{?__global_ldflags}" \
- CFLAGS="%{optflags}" CXXFLAGS="%{optflags}" DEBUG=1 NO_LUA=1 -C scite/gtk \
- libdir=%{_libdir}
- %if "%{?scl_env}" != ""
+%if "%{?scl_env}" != ""
+ scl enable %{scl_env} /bin/bash <<'EOFSCL'
+%endif
+make %{?_smp_mflags} LDFLAGS="%{?__global_ldflags} -shared -dynamiclib" \
+ CFLAGS="%{optflags}" CXXFLAGS="%{optflags}" %{gtkflag} DEBUG=1 %{luaflag} -C lexilla/src \
+ libdir=%{_libdir}
+make %{?_smp_mflags} LDFLAGS="%{?__global_ldflags} -shared -dynamiclib" \
+ CFLAGS="%{optflags}" CXXFLAGS="%{optflags}" %{gtkflag} DEBUG=1 %{luaflag} -C scintilla/gtk \
+ libdir=%{_libdir}
+#Build without lua support
+make %{?_smp_mflags} LDFLAGS="%{?__global_ldflags}" \
+ CFLAGS="%{optflags}" CXXFLAGS="%{optflags}" %{gtkflag} DEBUG=1 %{luaflag} -C scite/gtk \
+ libdir=%{_libdir}
+%if "%{?scl_env}" != ""
EOFSCL
- %endif
-%else
- make %{?_smp_mflags} LDFLAGS="%{?__global_ldflags} -shared -dynamiclib" \
- CFLAGS="%{optflags}" CXXFLAGS="%{optflags}" GTK3=1 DEBUG=1 -C lexilla/src \
- libdir=%{_libdir}
- make %{?_smp_mflags} LDFLAGS="%{?__global_ldflags} -shared -dynamiclib" \
- CFLAGS="%{optflags}" CXXFLAGS="%{optflags}" GTK3=1 DEBUG=1 -C scintilla/gtk \
- libdir=%{_libdir}
- #Build without lua support
- make %{?_smp_mflags} LDFLAGS="%{?__global_ldflags}" \
- CFLAGS="%{optflags}" CXXFLAGS="%{optflags}" GTK3=1 DEBUG=1 NO_LUA=1 -C scite/gtk \
- libdir=%{_libdir}
%endif
%install
@@ -88,6 +122,9 @@ desktop-file-install --delete-original \
--remove-key Encoding \
%{buildroot}%{_datadir}/applications/SciTE.desktop
+%if 0%{with_emitunicode}
+install -D -p -m 644 %{SOURCE1} %{buildroot}%{_datadir}/scite/emitUnicode.lua
+%endif
%if 0%{?fedora}
%posttrans
/usr/bin/update-desktop-database &> /dev/null || :
@@ -110,6 +147,10 @@ desktop-file-install --delete-original \
%{_libdir}/*
%changelog
+* Mon Apr 04 2022 B. Stack <bgstack15@gmail.com> - 5.2.2-1/3.7.6-1
+- Update version
+- Add tunables: gtk, lua, bundled lua, add emitunicode
+
* Thu Mar 24 2022 B. Stack <bgstack15@gmail.com> - 5.2.1-1/3.7.6-1
- Update version
diff --git a/scite-fedora/use-lua5.4.4.patch b/scite-fedora/use-lua5.4.4.patch
new file mode 100644
index 0000000..d4c2903
--- /dev/null
+++ b/scite-fedora/use-lua5.4.4.patch
@@ -0,0 +1,266 @@
+Name: Patch scite to use distro package of lua
+Version: 5.2.2
+Lua Version: 5.4.4
+Author: bgstack15@gmail.com
+Date: 2022-04-04
+Includes almost exactly the debian 0007-Build-with-Debian-packaged-Lua.patch
+diff -aur scite/gtk/deps.mak scite/gtk/deps.mak
+--- a/scite/gtk/deps.mak 2022-03-30 20:48:24.000000000 -0400
++++ b/scite/gtk/deps.mak 2022-04-04 14:47:39.110529717 -0400
+@@ -469,13 +469,6 @@
+ ../lua/src/luaconf.h \
+ ../lua/src/lauxlib.h \
+ ../lua/src/lualib.h
+-lbitlib.o: \
+- ../lua/src/lbitlib.c \
+- ../lua/src/lprefix.h \
+- ../lua/src/lua.h \
+- ../lua/src/luaconf.h \
+- ../lua/src/lauxlib.h \
+- ../lua/src/lualib.h
+ lcode.o: \
+ ../lua/src/lcode.c \
+ ../lua/src/lprefix.h \
+diff -aur scite/src/LuaExtension.cxx scite/src/LuaExtension.cxx
+--- a/scite/src/LuaExtension.cxx 2022-03-30 20:48:24.000000000 -0400
++++ b/scite/src/LuaExtension.cxx 2022-04-04 14:46:35.097978533 -0400
+@@ -237,7 +237,7 @@
+
+ const int paneIndex = lua_upvalueindex(1);
+ check_pane_object(L, paneIndex);
+- const int message = luaL_checkint(L, 1);
++ const int message = luaL_checkinteger(L, 1);
+
+ lua_pushvalue(L, paneIndex);
+ lua_replace(L, 1);
+@@ -276,7 +276,7 @@
+ }
+
+ static int cf_scite_constname(lua_State *L) {
+- const int message = luaL_checkint(L, 1);
++ const int message = luaL_checkinteger(L, 1);
+ const char *prefix = luaL_optstring(L, 2, nullptr);
+ const std::string constName = IFaceTable::GetConstantName(message, prefix);
+ if (constName.length() > 0) {
+@@ -307,7 +307,7 @@
+ }
+
+ static int cf_scite_menu_command(lua_State *L) {
+- const int cmdID = luaL_checkint(L, 1);
++ const int cmdID = luaL_checkinteger(L, 1);
+ if (cmdID) {
+ host->DoMenuCommand(cmdID);
+ }
+@@ -329,7 +329,7 @@
+ }
+
+ static int cf_scite_strip_set(lua_State *L) {
+- const int control = luaL_checkint(L, 1);
++ const int control = luaL_checkinteger(L, 1);
+ const char *value = luaL_checkstring(L, 2);
+ if (value) {
+ host->UserStripSet(control, value);
+@@ -338,7 +338,7 @@
+ }
+
+ static int cf_scite_strip_set_list(lua_State *L) {
+- const int control = luaL_checkint(L, 1);
++ const int control = luaL_checkinteger(L, 1);
+ const char *value = luaL_checkstring(L, 2);
+ if (value) {
+ host->UserStripSetList(control, value);
+@@ -347,7 +347,7 @@
+ }
+
+ static int cf_scite_strip_value(lua_State *L) {
+- const int control = luaL_checkint(L, 1);
++ const int control = luaL_checkinteger(L, 1);
+ std::string value = host->UserStripValue(control);
+ push_string(L, value);
+ return 1;
+@@ -437,7 +437,7 @@
+ SA::Position rangeStart = 0;
+ SA::Position rangeEnd = 0;
+
+- const int flags = (nArgs > 2) ? luaL_checkint(L, 3) : 0;
++ const int flags = (nArgs > 2) ? luaL_checkinteger(L, 3) : 0;
+ hasError = (flags == 0 && lua_gettop(L) > nArgs);
+
+ if (!hasError) {
+@@ -514,7 +514,7 @@
+
+ SA::ScintillaCall &sc = host->PaneCaller(pmo->pane);
+ sc.SetTarget(pmo->range);
+- sc.ReplaceTarget(lua_strlen(L, 2), replacement);
++ sc.ReplaceTarget(lua_rawlen(L, 2), replacement);
+ pmo->range.end = sc.TargetEnd();
+ return 0;
+ }
+@@ -600,7 +600,7 @@
+ pmo->endPosOrig = 0;
+ pmo->flags = 0;
+ if (nargs >= 3) {
+- pmo->flags = luaL_checkint(L, 3);
++ pmo->flags = luaL_checkinteger(L, 3);
+ if (nargs >= 4) {
+ pmo->range.end = pmo->endPosOrig = luaL_checkinteger(L, 4);
+ if (pmo->range.end < 0) {
+@@ -765,7 +765,7 @@
+ const int nargs = lua_gettop(L);
+ const char *code = luaL_checkstring(L, 1);
+ const char *name = luaL_optstring(L, 2, code);
+- if (0 == luaL_loadbuffer(L, code, lua_strlen(L, 1), name)) {
++ if (0 == luaL_loadbuffer(L, code, lua_rawlen(L, 1), name)) {
+ lua_call(L, 0, LUA_MULTRET);
+ return lua_gettop(L) - nargs;
+ } else {
+@@ -896,7 +896,7 @@
+ int loopParamCount = 2;
+
+ if (func.paramType[0] == iface_length && func.paramType[1] == iface_string) {
+- params[0] = lua_strlen(L, arg);
++ params[0] = lua_rawlen(L, arg);
+ params[1] = SptrFromString(params[0] ? lua_tostring(L, arg) : "");
+ loopParamCount = 0;
+ } else if ((func.paramType[1] == iface_stringresult) || (func.returnType == iface_stringresult)) {
+@@ -915,8 +915,8 @@
+ const char *s = lua_tostring(L, arg++);
+ params[i] = SptrFromString(s ? s : "");
+ } else if (func.paramType[i] == iface_keymod) {
+- const int keycode = luaL_checkint(L, arg++) & 0xFFFF;
+- const int modifiers = luaL_checkint(L, arg++) &
++ const int keycode = luaL_checkinteger(L, arg++) & 0xFFFF;
++ const int modifiers = luaL_checkinteger(L, arg++) &
+ static_cast<int>(SA::KeyMod::Shift|SA::KeyMod::Ctrl|SA::KeyMod::Alt);
+ params[i] = keycode | (modifiers<<16);
+ } else if (func.paramType[i] == iface_bool) {
+@@ -1805,7 +1805,7 @@
+ static int SetLevelAt(lua_State *L) {
+ StylingContext *context = Context(L);
+ const SA::Line line = luaL_checkinteger(L, 2);
+- const int level = luaL_checkint(L, 3);
++ const int level = luaL_checkinteger(L, 3);
+ context->styler->SetLevel(line, static_cast<SA::FoldLevel>(level));
+ return 0;
+ }
+@@ -1820,7 +1820,7 @@
+ static int SetLineState(lua_State *L) {
+ StylingContext *context = Context(L);
+ const SA::Line line = luaL_checkinteger(L, 2);
+- const int stateOfLine = luaL_checkint(L, 3);
++ const int stateOfLine = luaL_checkinteger(L, 3);
+ context->styler->SetLineState(line, stateOfLine);
+ return 0;
+ }
+@@ -1898,7 +1898,7 @@
+ StylingContext *context = Context(L);
+ const SA::Position startPosStyle = luaL_checkinteger(L, 2);
+ const SA::Position lengthStyle = luaL_checkinteger(L, 3);
+- const int initialStyle = luaL_checkint(L, 4);
++ const int initialStyle = luaL_checkinteger(L, 4);
+ context->StartStyling(startPosStyle, lengthStyle, initialStyle);
+ return 0;
+ }
+@@ -1957,7 +1957,7 @@
+ static int SetState(lua_State *L) {
+ StylingContext *context = Context(L);
+ context->Colourize();
+- context->state = luaL_checkint(L, 2);
++ context->state = luaL_checkinteger(L, 2);
+ return 0;
+ }
+
+@@ -1965,13 +1965,13 @@
+ StylingContext *context = Context(L);
+ context->Forward();
+ context->Colourize();
+- context->state = luaL_checkint(L, 2);
++ context->state = luaL_checkinteger(L, 2);
+ return 0;
+ }
+
+ static int ChangeState(lua_State *L) {
+ StylingContext *context = Context(L);
+- context->state = luaL_checkint(L, 2);
++ context->state = luaL_checkinteger(L, 2);
+ return 0;
+ }
+
+From: =?utf-8?q?Andreas_R=C3=B6nnquist?= <gusnan@debian.org>
+Date: Tue, 19 Jun 2018 15:34:57 +0200
+Subject: Build with Debian packaged Lua
+Forwarded: not-needed
+
+---
+ scite/gtk/deps.mak | 6 +-----
+ scite/gtk/makefile | 30 ++++--------------------------
+ 2 files changed, 5 insertions(+), 31 deletions(-)
+
+--- a/scite/gtk/deps.mak
++++ b/scite/gtk/deps.mak
+@@ -265,11 +265,7 @@
+ ../src/Extender.h \
+ ../src/IFaceTable.h \
+ ../src/SciTEKeys.h \
+- ../src/LuaExtension.h \
+- ../lua/src/lua.h \
+- ../lua/src/luaconf.h \
+- ../lua/src/lualib.h \
+- ../lua/src/lauxlib.h
++ ../src/LuaExtension.h
+ MatchMarker.o: \
+ ../src/MatchMarker.cxx \
+ ../../scintilla/include/ScintillaTypes.h \
+--- a/scite/gtk/makefile
++++ b/scite/gtk/makefile
+@@ -33,9 +33,9 @@
+
+ PYTHON = $(if $(windir),pyw,python3)
+
+-# For the Gnome desktop stuff to work, prefix must point to where Gnome thinks it is.
+-CONFIGFLAGS:=$(shell $(PKG_CONFIG) --cflags $(GTK_VERSION))
+-CONFIGLIB:=$(shell $(PKG_CONFIG) --libs $(GTK_VERSION) gthread-2.0 gmodule-no-export-2.0)
++# For the Lua and Gnome desktop stuff to work, prefix must point to where Lua and Gnome thinks it is.
++CONFIGFLAGS:=$(shell $(PKG_CONFIG) --cflags $(GTK_VERSION)) $(shell $(PKG_CONFIG) --cflags lua)
++CONFIGLIB:=$(shell $(PKG_CONFIG) --libs $(GTK_VERSION) gthread-2.0 gmodule-no-export-2.0) $(shell $(PKG_CONFIG) --libs lua)
+ gnomeprefix:=$(shell $(PKG_CONFIG) --variable=prefix $(GTK_VERSION) 2>/dev/null)
+ ifndef prefix
+ ifdef gnomeprefix
+@@ -72,28 +72,6 @@
+ DEFINES += -D$(if $(DEBUG),DEBUG,NDEBUG)
+ BASE_FLAGS += $(if $(DEBUG),-g,-Os)
+
+-ifndef NO_LUA
+-LUA_CORE_OBJS = lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o \
+- lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o \
+- ltable.o ltm.o lundump.o lvm.o lzio.o
+-
+-LUA_LIB_OBJS = lauxlib.o lbaselib.o lbitlib.o lcorolib.o ldblib.o liolib.o lmathlib.o ltablib.o \
+- lstrlib.o loadlib.o loslib.o linit.o lutf8lib.o
+-
+-LUA_OBJS = LuaExtension.o $(LUA_CORE_OBJS) $(LUA_LIB_OBJS)
+-
+-vpath %.c $(srcdir)/../lua/src
+-
+-INCLUDES += -I$(srcdir)/../lua/src
+-LUA_DEFINES = -DLUA_USE_POSIX -DLUA_USE_DLOPEN
+-
+-%.o: %.c
+- $(CC) $(CPPFLAGS) $(DEFINES) $(INCLUDES) $(WARNINGS) $(LUA_DEFINES) $(BASE_FLAGS) $(CFLAGS) -c $< -o $@
+-
+-else
+-DEFINES += -DNO_LUA
+-endif
+-
+ LIBS += -lm -lstdc++
+
+ UNAME:=$(shell uname -s)
+@@ -154,7 +132,7 @@
+ StyleWriter.o \
+ Utf8_16.o
+
+-$(PROG): SciTEGTK.o Strips.o GUIGTK.o Widget.o DirectorExtension.o $(SRC_OBJS) $(LUA_OBJS)
++$(PROG): SciTEGTK.o Strips.o GUIGTK.o Widget.o DirectorExtension.o $(SRC_OBJS) LuaExtension.o
+ $(CXX) $(BASE_FLAGS) $(LDFLAGS) -rdynamic -Wl,--as-needed -Wl,-rpath,'$${ORIGIN}' -Wl,--version-script $(srcdir)/lua.vers -Wl,-rpath,$(libdir) $^ -o $@ $(CONFIGLIB) $(LIBS) -L ../../scintilla/bin -lscintilla $(LDLIBS)
+
+ # Automatically generate header dependencies with "make depend"
bgstack15