rhaberkorn / sciteco Goto Github PK
View Code? Open in Web Editor NEWAdvanced TECO dialect and interactive screen editor based on Scintilla
License: GNU General Public License v3.0
Advanced TECO dialect and interactive screen editor based on Scintilla
License: GNU General Public License v3.0
Everything goes well - until the make
step:
/bin/sh ../libtool --tag=CXX --mode=link g++ -std=c++17 -g -O2 -I/opt/pkg/include/glib-2.0 -I/opt/pkg/lib/glib-2.0/include -I/opt/pkg/include -D_DARWIN_C_SOURCE -I/opt/pkg/include/ncurses -I/opt/pkg/include -o sciteco-minimal libsciteco-base.la /Users/tux0r/github/sciteco/contrib/scintilla/bin/scintilla.a /Users/tux0r/github/sciteco/contrib/lexilla/bin/liblexilla.a -L/opt/pkg/lib -lglib-2.0 -lintl -L/opt/pkg/lib -Wl,-search_paths_first -lncurses
libtool: link: g++ -std=c++17 -g -O2 -I/opt/pkg/include/glib-2.0 -I/opt/pkg/lib/glib-2.0/include -I/opt/pkg/include -D_DARWIN_C_SOURCE -I/opt/pkg/include/ncurses -I/opt/pkg/include -o sciteco-minimal -Wl,-search_paths_first -Wl,-bind_at_load ./.libs/libsciteco-base.a -L/opt/pkg/lib -L../lib /Users/tux0r/github/sciteco/contrib/scintilla/bin/scintilla.a /Users/tux0r/github/sciteco/contrib/lexilla/bin/liblexilla.a -lglib-2.0 /opt/pkg/lib/libintl.dylib /opt/pkg/lib/libiconv.dylib /opt/pkg/lib/libncurses.dylib
Undefined symbols for architecture x86_64:
"operator delete[](void*)", referenced from:
ListBoxImpl::SetList(char const*, char, char) in scintilla.a(ScintillaCurses.o)
Scintilla::Internal::Action::~Action() in scintilla.a(CellBuffer.o)
Scintilla::Internal::Action::~Action() in scintilla.a(CellBuffer.o)
Scintilla::Internal::Action::Create(Scintilla::Internal::ActionType, long, char const*, long, bool) in scintilla.a(CellBuffer.o)
Scintilla::Internal::Action::Clear() in scintilla.a(CellBuffer.o)
Scintilla::Internal::UndoHistory::UndoHistory() in scintilla.a(CellBuffer.o)
std::__1::vector<Scintilla::Internal::Action, std::__1::allocator<Scintilla::Internal::Action> >::resize(unsigned long) in scintilla.a(CellBuffer.o)
...
"operator delete(void*)", referenced from:
Scintilla::Internal::Window::~Window() in scintilla.a(ScintillaCurses.o)
Scintilla::Internal::ListBox::Allocate() in scintilla.a(ScintillaCurses.o)
_scintilla_new in scintilla.a(ScintillaCurses.o)
ScintillaCurses::ScintillaCurses(void (*)(void*, int, SCNotification*, void*), void*) in scintilla.a(ScintillaCurses.o)
Scintilla::Internal::SelectionText::~SelectionText() in scintilla.a(ScintillaCurses.o)
ScintillaCurses::~ScintillaCurses() in scintilla.a(ScintillaCurses.o)
ScintillaCurses::KeyDefault(Scintilla::Keys, Scintilla::KeyMod) in scintilla.a(ScintillaCurses.o)
...
"operator delete(void*, std::align_val_t)", referenced from:
void std::__1::_DeallocateCaller::__do_call<std::align_val_t>(void*, std::align_val_t) in liblexilla.a(Lexilla.o)
void std::__1::_DeallocateCaller::__do_call<std::align_val_t>(void*, std::align_val_t) in liblexilla.a(LexAsm.o)
void std::__1::_DeallocateCaller::__do_call<std::align_val_t>(void*, std::align_val_t) in liblexilla.a(LexBaan.o)
void std::__1::_DeallocateCaller::__do_call<std::align_val_t>(void*, std::align_val_t) in liblexilla.a(LexBash.o)
void std::__1::_DeallocateCaller::__do_call<std::align_val_t>(void*, std::align_val_t) in liblexilla.a(LexBasic.o)
void std::__1::_DeallocateCaller::__do_call<std::align_val_t>(void*, std::align_val_t) in liblexilla.a(LexCIL.o)
void std::__1::_DeallocateCaller::__do_call<std::align_val_t>(void*, std::align_val_t) in liblexilla.a(LexCPP.o)
...
"operator new[](unsigned long)", referenced from:
ScintillaCurses::GetClipboard(int*) in scintilla.a(ScintillaCurses.o)
ListBoxImpl::SetList(char const*, char, char) in scintilla.a(ScintillaCurses.o)
Scintilla::Internal::Action::Create(Scintilla::Internal::ActionType, long, char const*, long, bool) in scintilla.a(CellBuffer.o)
Scintilla::Internal::LineLayout::Resize(int) in scintilla.a(PositionCache.o)
Scintilla::Internal::LineLayout::SetLineStart(int, int) in scintilla.a(PositionCache.o)
Scintilla::Internal::PositionCacheEntry::PositionCacheEntry(Scintilla::Internal::PositionCacheEntry const&) in scintilla.a(PositionCache.o)
Scintilla::Internal::PositionCacheEntry::Set(unsigned int, std::__1::basic_string_view<char, std::__1::char_traits<char> >, double const*, unsigned short) in scintilla.a(PositionCache.o)
...
"operator new(unsigned long)", referenced from:
Scintilla::Internal::Font::Allocate(Scintilla::Internal::FontParameters const&) in scintilla.a(ScintillaCurses.o)
Scintilla::Internal::Surface::Allocate(Scintilla::Technology) in scintilla.a(ScintillaCurses.o)
Scintilla::Internal::ListBox::Allocate() in scintilla.a(ScintillaCurses.o)
_scintilla_new in scintilla.a(ScintillaCurses.o)
ScintillaCurses::ScintillaCurses(void (*)(void*, int, SCNotification*, void*), void*) in scintilla.a(ScintillaCurses.o)
ScintillaCurses::KeyDefault(Scintilla::Keys, Scintilla::KeyMod) in scintilla.a(ScintillaCurses.o)
ScintillaCurses::UTF8FromEncoded(std::__1::basic_string_view<char, std::__1::char_traits<char> >) const in scintilla.a(ScintillaCurses.o)
...
"operator new(unsigned long, std::align_val_t)", referenced from:
std::__1::__libcpp_allocate(unsigned long, unsigned long) in liblexilla.a(Lexilla.o)
std::__1::__libcpp_allocate(unsigned long, unsigned long) in liblexilla.a(LexAsm.o)
std::__1::__libcpp_allocate(unsigned long, unsigned long) in liblexilla.a(LexBaan.o)
std::__1::__libcpp_allocate(unsigned long, unsigned long) in liblexilla.a(LexBash.o)
std::__1::__libcpp_allocate(unsigned long, unsigned long) in liblexilla.a(LexBasic.o)
std::__1::__libcpp_allocate(unsigned long, unsigned long) in liblexilla.a(LexCIL.o)
std::__1::__libcpp_allocate(unsigned long, unsigned long) in liblexilla.a(LexCPP.o)
...
"___cxa_allocate_exception", referenced from:
std::__1::__throw_length_error(char const*) in scintilla.a(ScintillaCurses.o)
std::__1::__throw_length_error(char const*) in liblexilla.a(Lexilla.o)
Scintilla::Internal::UTF16FromUTF8(std::__1::basic_string_view<char, std::__1::char_traits<char> >, wchar_t*, unsigned long) in scintilla.a(UniConversion.o)
Scintilla::Internal::UTF32FromUTF8(std::__1::basic_string_view<char, std::__1::char_traits<char> >, unsigned int*, unsigned long) in scintilla.a(UniConversion.o)
std::__1::__throw_length_error(char const*) in scintilla.a(Editor.o)
std::__1::__throw_out_of_range(char const*) in scintilla.a(CallTip.o)
std::__1::__throw_length_error(char const*) in scintilla.a(CallTip.o)
...
"___cxa_begin_catch", referenced from:
___clang_call_terminate in scintilla.a(ScintillaCurses.o)
ScintillaCurses::WndProc(Scintilla::Message, unsigned long, long) in scintilla.a(ScintillaCurses.o)
___clang_call_terminate in liblexilla.a(Lexilla.o)
___clang_call_terminate in scintilla.a(ScintillaBase.o)
___clang_call_terminate in scintilla.a(UniConversion.o)
Scintilla::Internal::Editor::FindText(unsigned long, long) in scintilla.a(Editor.o)
Scintilla::Internal::Editor::SearchText(Scintilla::Message, unsigned long, long) in scintilla.a(Editor.o)
...
"___cxa_end_catch", referenced from:
ScintillaCurses::WndProc(Scintilla::Message, unsigned long, long) in scintilla.a(ScintillaCurses.o)
Scintilla::Internal::Editor::FindText(unsigned long, long) in scintilla.a(Editor.o)
Scintilla::Internal::Editor::SearchText(Scintilla::Message, unsigned long, long) in scintilla.a(Editor.o)
Scintilla::Internal::Editor::SearchInTarget(char const*, long) in scintilla.a(Editor.o)
std::__1::vector<long, std::__1::allocator<long> >::shrink_to_fit() in scintilla.a(CellBuffer.o)
std::__1::vector<int, std::__1::allocator<int> >::shrink_to_fit() in scintilla.a(CellBuffer.o)
std::__1::vector<char, std::__1::allocator<char> >::shrink_to_fit() in scintilla.a(CellBuffer.o)
...
"___cxa_free_exception", referenced from:
std::__1::__throw_length_error(char const*) in scintilla.a(ScintillaCurses.o)
std::__1::__throw_length_error(char const*) in liblexilla.a(Lexilla.o)
Scintilla::Internal::UTF16FromUTF8(std::__1::basic_string_view<char, std::__1::char_traits<char> >, wchar_t*, unsigned long) in scintilla.a(UniConversion.o)
Scintilla::Internal::UTF32FromUTF8(std::__1::basic_string_view<char, std::__1::char_traits<char> >, unsigned int*, unsigned long) in scintilla.a(UniConversion.o)
std::__1::__throw_length_error(char const*) in scintilla.a(Editor.o)
std::__1::__throw_out_of_range(char const*) in scintilla.a(CallTip.o)
std::__1::__throw_length_error(char const*) in scintilla.a(CallTip.o)
...
"___cxa_throw", referenced from:
std::__1::__throw_length_error(char const*) in scintilla.a(ScintillaCurses.o)
std::__1::__throw_length_error(char const*) in liblexilla.a(Lexilla.o)
Scintilla::Internal::UTF16FromUTF8(std::__1::basic_string_view<char, std::__1::char_traits<char> >, wchar_t*, unsigned long) in scintilla.a(UniConversion.o)
Scintilla::Internal::UTF32FromUTF8(std::__1::basic_string_view<char, std::__1::char_traits<char> >, unsigned int*, unsigned long) in scintilla.a(UniConversion.o)
std::__1::__throw_length_error(char const*) in scintilla.a(Editor.o)
std::__1::__throw_out_of_range(char const*) in scintilla.a(CallTip.o)
std::__1::__throw_length_error(char const*) in scintilla.a(CallTip.o)
...
"___gxx_personality_v0", referenced from:
Scintilla::Internal::Window::Destroy() in scintilla.a(ScintillaCurses.o)
Scintilla::Internal::ListBox::Allocate() in scintilla.a(ScintillaCurses.o)
Scintilla::Internal::Platform::Assert(char const*, char const*, int) in scintilla.a(ScintillaCurses.o)
_scintilla_new in scintilla.a(ScintillaCurses.o)
ScintillaCurses::ScintillaCurses(void (*)(void*, int, SCNotification*, void*), void*) in scintilla.a(ScintillaCurses.o)
ScintillaCurses::KeyDefault(Scintilla::Keys, Scintilla::KeyMod) in scintilla.a(ScintillaCurses.o)
ScintillaCurses::WndProc(Scintilla::Message, unsigned long, long) in scintilla.a(ScintillaCurses.o)
...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [sciteco-minimal] Error 1
make[2]: *** [install-recursive] Error 1
make[1]: *** [install] Error 2
make: *** [install-recursive] Error 1
Why?
From the error console:
(sciteco.exe:24672): Pango-WARNING **: 03:12:55.631: couldn't load font "Segoe UI Light Small-Caps Not-Rotated 9", falling back to "Sans Light Small-Caps Not-Rotated 9", expect ugly output.
This should not happen, I guess; Segoe UI, including the Light variant, actually is installed on this system. Windows 11.
Really nice to see stuff done with Teco!!
Some things I noticed:
I only spent about 5 minutes with it after building it. Again, I am really excited to see work done wit Teco!!
Thanks!!
Blake
[...]
Info: Removed file "/home/blake/Backup/sciteco.git/src/symbols-scintilla.c" from the ring
Info: Removed file "/home/blake/Backup/sciteco.git/src/undo.c" from the ring
Info: Removed file "/home/blake/Backup/sciteco.git/src/view.c" from the ring
../src/sciteco-minimal -e $'EBsciteco.7.in\e <FS@PACKAGE^Q@\esciteco\e;>J <FS@PACKAGE_NAME^Q@\eSciTECO\e;>J <FS@PACKAGE_VERSION^Q@\e2.0.0\e;>J <FS@PACKAGE_URL^Q@\ehttp://sciteco.sf.net/\e;>J <FS@PACKAGE_URL_DEV^Q@\ehttps://github.com/rhaberkorn/sciteco\e;>J <FS@bindir^Q@\e/usr/local/bin\e;>J <FS@libexecdir^Q@\e/usr/local/libexec\e;>J <FS@pkgdatadir^Q@\e/usr/local/share/sciteco\e;>J <FS@scitecolibdir^Q@\e/usr/local/share/sciteco/lib\e;>J <FS@TECO_INTEGER^Q@\e64\e;>J <FS@DATE^Q@\e19 Nov 2022\e; -D>J EWsciteco.7\e'
Info: Added new unnamed file to ring.
Info: Added file "sciteco.7.in" to ring
groff -wall -Z -Tascii -t -man -M. -msciteco grosciteco.tes.1 >grosciteco.tes.1.intermediate
../src/sciteco -m -- ./grosciteco.tes
grosciteco.tes.1.woman grosciteco.tes.1.intermediate
Info: Added new unnamed file to ring.
Info: Added file "grosciteco.tes.1.intermediate" to ring
Error: Invalid Q-Register "default-style"
Info: #0 in Q-Register "format" at 6819 (396:30)
Info: #1 in file "./grosciteco.tes" at 5195 (256:10)
make[2]: *** [GNUmakefile:818: grosciteco.tes.1.woman] Error 1
rm sciteco.7.in grosciteco.tes.1.intermediate
make[2]: Leaving directory '/home/blake/Backup/sciteco.git/doc'
make[1]: *** [GNUmakefile:506: all-recursive] Error 1
make[1]: Leaving directory '/home/blake/Backup/sciteco.git'
make: *** [GNUmakefile:415: all] Error 2
I am doing:
cd ~/tmp
sciteco
EBt.txt$$
Instead of opening the t.txt file in the ~/tmp directory, it is looking for the file in the /home/blake/Backup/sciteco directory which is where I built sciteco. Seem like it should be using my current directoty instead of where sciteco was built.
Thanks!
See also #8 for screenshots. Can be worked around by enabling the solarized color scheme.
Hi
WARNING: Useless windows user who can't compile code!
I tried to use the lua.tes from the master branch - with the released binary 0.6.4 and now sciteco won't launch:
Info: Added new unnamed file to ring.o.exe P:\MyPrograms\EDITORS\LEdit\LEdit.lua
Info: Added file "P:\MyPrograms\EDITORS\LEdit\LEdit.lua" to ring
Error: Unsupported command <^E>
Info: #0 in Q-Register "lexer.test.lua" at 72 (3:12)
Info: #1 in Q-Register "lexer.auto" at 543 (20:24)
Info: #2 in Q-Register "ED" at 107 (5:17)
Info: #3 in "ADD" hook execution
Info: #4 in file "P:\MyPrograms\EDITORS\Addins\teco\.teco_ini" at 1341 (57:25)
Removing the offending lua.tes file allows the editor to run. Is it possible to release the full range of lexers with the current binary release - or is it possible to make an up to date binary release for the non-compiling windows users?
Kind Regards
Gavin
0EB$ doesn't show buffer ring
Instead, it is creating an unnamed buffer.
When trying to compile I get this error:
spawn.cpp: In member function ‘virtual SciTECO::State* SciTECO::StateExecuteCommand::done(const gchar*)’:
spawn.cpp:371:27: error: ‘G_SPAWN_EXIT_ERROR’ was not declared in this scope
spawn.cpp: In function ‘void SciTECO::child_watch_cb(GPid, gint, gpointer)’:
spawn.cpp:426:47: error: ‘g_spawn_check_exit_status’ was not declared in this scope
make[3]: *** [spawn.o] Error 1
make[3]: Leaving directory `/home/kevin/teco/sciteco/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/kevin/teco/sciteco/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/kevin/teco/sciteco'
make: *** [all] Error 2
Compiled on arch linux 32 bit. Ncurses UI.
Anything along the lines of n<cmds>>
will crash sciteco. Impossible loops in general (ie: 2<c>
in an empty buffer) cause severe problems ranging from crashes to hangs and out of control memory leaks.
*5<c> ** ERROR:parser.cpp:861:virtual SciTECO::State* SciTECO::StateStart::custom(gchar): assertion failed: (expressions.pop_op() == Expressions::OP_LOOP) zsh: abort (core dumped) sciteco .xinitrc
Core generated with gdb at https://u.teknik.io/vjpe46.5017
Edit: thanks, markdown
Using the sample_teco.ini file, I found that it seems to use the wrong paths:
% pwd
/Users/tux0r/git/sciteco/src
% ./sciteco # using the self-compiled version
Info: Added new unnamed file to ring.
Error: Datei »/usr/local/share/sciteco/lib/color.tes« konnte nicht geöffnet werden: No such file or directory
I actually wonder why it defaults to /usr/local
. That also happens after make install
and using the "installed" version.
Getting a list of buffers and being able to go to a specific buffer is good.
However, being able to do the following would be good too:
Thanks!
One would think that SciTECO could insert German umlauts just fine, but iÄÖÜ$$
leads to visual garbage.
The manpage states:
Currently however, SciTECO will only handle ASCII files.
That does not imply that direct input of non-ASCII characters into an empty document was forbidden, so I thought it could work...?
Case sensitive search is DEFINITLY needed. Perhaps something like:
-Smystring$
In other words, if the "S" command has a negative argument, use case sensitive search, etc.
Thanks!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.