aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Makefile.am
AgeCommit message (Collapse)AuthorFilesLines
2014-11-16first working version of the one-view-per-buffer designRobin Haberkorn1-1/+1
The user interface provides a Scintilla view abstraction and every buffer is based on a view. All Q-Register strings use a single dedicated view to save memory and initialization time when using many string registers. * this means we can finally implement a working lexer configuration and it only has to be done once when the buffer is first added to the ring. It is unnecessary to magically restore the lexer styles upon rubout of EB (very hard to implement anyway). It is also not necessary to rerun the lexer configuration macro upon rubout which would be hard to reconcile with SciTECO's basic design since every side-effect should be attached to a character. * this means that opening buffers is slightly slower now because of the view initialization * on the other hand, macros with many string q-reg operations are faster now, since the document must no longer be changed on the buffer's view and restored later on. * also now we can make a difference between editing a document in a view and changing the current view, which reduces UI calls * the Document class has been retained as an abstraction about Scintilla documents, used by QRegister Strings. It had to be made virtual, so the view on which the document is created can be specified by a virtual function. There is no additional space overhead for Documents.
2014-11-11refactored SciTECO runtime errors: moved from parser.cpp to error.cppRobin Haberkorn1-0/+1
* the GError expection has been renamed to GlibError, to avoid nameclashes when working from the SciTECO namespace
2014-11-09implemented EC command (execute operating system command) in spawn.cppRobin Haberkorn1-0/+1
powerful command for filtering a SciTECO buffer through an external program. It will be described in the sciteco(7) man pages. The implementation uses an asynchronous background process with pipes but is platform independant thanks to glib's g_spawn functions, GIOChannels and event loops. There are however platform differences in how the operating system command is interpreted/parsed.
2014-10-07Merge branch 'master' of https://github.com/rhaberkorn/scitecoRobin Haberkorn1-0/+1
2014-08-22automatically build Scintilla as part of SciTECO's build system:Robin Haberkorn1-0/+1
this should simplify building SciTECO for new users * compiler and archiver are passed down from Autoconf, so cross-compiling should work transparently * `make clean` will also clean the Scintilla source tree * there is no longer any need for "source bundles" as tar balls also contain Scintilla/Scinterm now * building from Git is not much more difficult than building from a tar ball * The versions of Scintilla/Scinterm embedded as submodules already contain all the patches necessary (currently none are necessary), so there's no need to have patch files in the repository * INSTALL instructions have been rewritten * the --with-scintilla and --with-scinterm site-config options have been kept. But they should be rarely necessary now.
2014-04-25added generated symbols (symbols-*.cpp) to CLEANFILESRobin Haberkorn1-1/+2
this was broken in #de616e362ccd56aae8b26a08d9520ab9132a060f
2014-02-15added EMCurses/Emscripten supportRobin Haberkorn1-1/+2
by building with Emscripten support, SciTECO may be embedded into web pages. * sciteco.html is not a piece of documentation but a sample SciTECO embedding
2013-07-09fixed compilation of the GTK+ interfaceRobin Haberkorn1-1/+1
* there was a compile-time race condition that could result in the GObjects not being built (with Gob2). So I removed the symbols generation from BUILT_SOURCES. * apparently either Scintilla depends on gmodule since I last tested or the gtk+-2.0 pkg-config package no longer includes gmodule, so we must explicitly depend on it
2013-03-18add check for CLang: use clang-specific warnings only when compiling with CLangRobin Haberkorn1-1/+5
* fixes gcc-4.4 which does not have -Wno-mismatched-tags and no -Wunknown-warning
2013-03-18declare all global inter-dependant objects in main.cpp and get rid of ↵Robin Haberkorn1-3/+2
init_priority attribute * we cannot use weak symbols in MinGW, so we avoid init_priority for symbol initialization by compiling the empty definitions into sciteco-minimal but the real ones into sciteco (had to add new file symbols-minimal.cpp) * this fixes compilation/linking on LLVM Clang AND Dragonegg since their init_priority attribute is broken! this will likely be fixed in the near future but broken versions will be around for some time
2013-03-18disable some bogus warnings for LLVM/ClangRobin Haberkorn1-1/+1
* -Wmismatched-tags does not appear to exist on GCC: but we need to be able to refer to classes with both struct and class keywords because of the BSD data types * -Wchar-subscripts exists on GCC and may or may not be in -Wall. We disable it since we use character literals as subscripts - they are actually of type char in C++, in contrast to C where they are of type int.
2013-02-22added --with-default-scitecopath config option: default value of $SCITECOPATHRobin Haberkorn1-1/+1
useful for Windows where the desired default path does not correspond with the installation dir of the std lib macros
2013-02-22VPATH build fixes: SciTECO can now be built from a parallel source treeRobin Haberkorn1-8/+11
...which is useful when crosscompiling for MinGW
2013-02-22clean up QRegister vs. Buffer redundancies using TECODocument classRobin Haberkorn1-0/+1
* also encapsulates data properly (previously there were many public attributes to avoid permission issues) * new class also cares about saving/and restoring scroll state. now, buffer/q-reg edits and temporary accesses do not reset the scroll state anymore.
2013-02-22clean up SciTECO bootstrapping by building convenience libraryRobin Haberkorn1-23/+29
* pkg-config LIBS should be added to $LIBS so that link order is correct
2013-02-15install standard macros into special standard library path (pkgdatadir/lib)Robin Haberkorn1-1/+1
* SCITECOPATH environment variable defaults to this directory * manpage updated * default teco.ini updated: no need to generate it anymore
2013-01-31fixed bootstrapping using sciteco-minimal and bootstrap autodetectionRobin Haberkorn1-1/+1
was broken due to untested changes
2013-01-27moved redundant code related to bootstrapping and teco-driven substitutions ↵Robin Haberkorn1-3/+2
into automake include (bootstrap.am)
2013-01-23distribute new cmdline.hRobin Haberkorn1-1/+1
2012-12-05windows compatibility changesRobin Haberkorn1-2/+2
* respect executable extensions * do not use weak symbols which appear to be broken on MinGW. Instead, the generated symbol constants contain constructor functions initializing the corresponding objects. Constructor priorities are used to ensure that the initialization takes place after the dummy (NULL) initialization. * do not change the working dir (causes trouble when sciteco gets passed relative paths but the exe is not in the current dir) instead look for teco.ini in program's directory
2012-12-04bootstrapping of build process using preinstalled scitecoRobin Haberkorn1-4/+12
* will also enable crosscompiling SciTECO: first sciteco (or sciteco-minimal) is built for the host platform, then the target binary is built using the host sciteco
2012-12-04additional minor changes: distribution building now possibleRobin Haberkorn1-4/+6
2012-12-04first working version of autotools based build-systemRobin Haberkorn1-0/+54