aboutsummaryrefslogtreecommitdiffhomepage
path: root/.gitignore
AgeCommit message (Collapse)AuthorFilesLines
2016-11-18updated .gitignoreRobin Haberkorn1-2/+7
2016-11-18improved command line option handlingRobin Haberkorn1-0/+1
* it turns out that option-like arguments could not be reliably passed to SciTECO scripts for two reasons: a) "--" arguments are not removed from argv by GOption if it detects and following option-like argument. "--" would thus be passed as a script argument which will disable option parsing in scripts that interpret "--". b) A script run via the Hash-Bang line "#!...sciteco -m" would require an explicit "--" to turn of GOption parsing. However it is __impossible__ to insert after the script file name on UNIX. * Therefore, SciTECO now removes leading "--" arguments left over by GOption. * If possible (Glib >= 2.44), option parsing is performed in strict POSIX mode which inhibits parsing after the first non-option argument. This reduces the number of cases where an explicit "--" is required. * --mung no longer takes an argument. Instead, the first non-option argument is expected to be the script file name. This looks weird at first but is more consistent with how other interpeters work. Once we revise argument passing to scripts, the script name can also be passed to the script which is more consistent with it being the first non-option argument. Also, with strict POSIX parsing, this fixed Hash-Bang lines since the script file name constructed by the kernel will automatically switch off option parsing, passing all option-like script arguments uninterpreted to the script. * Since we're supporting Glib < 2.44, the Hash-Bang lines are still broken for certain builds. Therefore, a wrapper script is installed to libexecdir (it never has to be executed by users and Hash-Bang lines need absolute paths anyway) which transparently inserts "--" into the SciTECO command line and should be used as the interpreter in portable SciTECO scripts. The wrapper script is generated and points to the exact SciTECO binary installed. This is important when doing parallel installs of Curses and Gtk binaries since each one will get its own working wrapper script. The wrapper-script workaround can be removed once we depend on Glib >= 2.44 (some day...). * The default /usr/bin/env Hash-Bang lines are no longer used in the scripts since they are broken anyway (UNIX incl. Linux cannot pass multiple arguments to the interpreter!). Scripts that get installed will get a fixed-up Hash-Bang line referring to the installed SciTECO binary anyway. * Interface::main() has been renamed to Interface::init() and is optional now. The Interface::main() method was introduced because of the misconception that interfaces will find their options in the argv array and have to do their own parsing. This is wrong, since their option group already cares about parsing. Therefore, gtk_init() does not have to called explicitly, too.
2016-02-16distribution helper script: let it be preprocessed/substituted by AutoconfRobin Haberkorn1-0/+1
* makes sense since it already extracted information from ./configure that is usually substituted. * it already had to be run from a configured build directory * it required the source tree directory, which had to be overwritten on the Make command line when using an out-of-source build dir. This is no longer necessary. * It is still a stand-alone Makefile to keep it isolated from the main build system, although it could certainly be translated to Automake. * the generated file will now be called distribute.mk to signify that it is a Makefile.
2016-02-16finally added Autotest suiteRobin Haberkorn1-5/+17
* Autotest ships with Autoconf, so it's available already and relatively easy to integrate into an Autotools package. * This is attached to `make check` using some Automake magic. * The test suite will only call the built SciTECO for the time being. But using tests/Makefile.am, custom programs could be easily built. * Since it uses the target sciteco, it cannot work in cross-compile environments. * The test suite tests/testsuite.at should be used for regression tests at least: Whenever there is a bug, a test case should be added to testsuite.at. Later this might be split up into multiple includes for regressions other tests.
2014-11-22removed SciTECO-specific ignores from .gitignoreRobin Haberkorn1-5/+0
these should be put by the user in his/her global or repository-specific ignore patterns
2013-03-18declare all global inter-dependant objects in main.cpp and get rid of ↵Robin Haberkorn1-1/+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-16prevent image generation during HTML production, instead generate HTML ↵Robin Haberkorn1-0/+1
tables using htbl.tes preprocessor
2013-03-16added option to build manuals as HTML using GroffRobin Haberkorn1-0/+1
* will be useful for Windows builds since Windows users usally do not have a man-page formatter/reader
2013-03-16first draft of TECO command documentation generatorRobin Haberkorn1-1/+2
* the language reference is a manually written man-page template * containing special references for generated documentation (\#$...) * SciTECO script generate-docs.tes extracts TECO comments (/*$ ... */) from all source files and transforms them to Troff requests that are inserted into the document template. * TECO doc comments are a rather sophisticated markup: * first part until empty line is called header: simplified command syntax descriptions * the rest is called body: <identifier> is automatically underlined, empty lines generate new paragraphs, lines beginning with "-" or numbers denote an indented unordered or numbered list item. * regular Troff requests/macros can be used for more sophisticated markup * since Autoconf substitutions are performed on the generated man-page, @VARIABLEs@ may be used in doc comments as well
2013-02-25integrate Doxygen into build systemRobin Haberkorn1-0/+3
* solely for generating developer docs * disabled by default even if Doxygen is installed * Doxygen comments are not used currently
2013-02-22clean up SciTECO bootstrapping by building convenience libraryRobin Haberkorn1-1/+1
* pkg-config LIBS should be added to $LIBS so that link order is correct
2013-01-27moved manpage to doc/ subdirRobin Haberkorn1-1/+1
later there will be much more documentation
2013-01-27revised lexer configuration using SciTE property files and Textadept's ↵Robin Haberkorn1-4/+5
terminal color definitions * lexer config is now in separate file installed into the package data dir, so it can be excluded from the teco.ini template. * teco.ini is generated so it can load an installed lexer.tes as ED hook (can still be dropped into the user's home and will work immediately)
2013-01-20added manpage highlighting program invocation and batch modeRobin Haberkorn1-0/+1
language and commands will be described in separate documents
2012-12-04first working version of autotools based build-systemRobin Haberkorn1-7/+24
2012-11-23system for looking up static symbolsRobin Haberkorn1-0/+2
* symbols are extracted from C header files by a TECO macro * macro is executed using a "minimal" version of SciTECO that does not include symbols (uses gcc's weak symbols) * the generated C++ code contains the symbol-name-to-define mapping as a constant sorted array and initializes the appropriate SymbolList object * a symbol lookup is super fast using a simple binary search in the symbol lists * except for object initialization, no there's no overhead for keeping the symbol lists! * build process is complicated by introduction of bootstrapping via sciteco-minimal
2012-11-22ignore *.exe filesRobin Haberkorn1-0/+1
2012-11-15adapted Makefile to handle different user interfacesRobin Haberkorn1-0/+1
2012-11-15changed save point file pattern to .teco-xxx-dddRobin Haberkorn1-1/+1
2012-11-15let Git ignore save point filesRobin Haberkorn1-0/+2
2012-11-10filename autocompletion using <CTRL/T> and <TAB>Robin Haberkorn1-0/+3
* <TAB> autocompletion only in specified states * GtkInfoPopup widget to display possible completions, written using Gob2
2012-11-06initial commit of SciTECO based on THECORobin Haberkorn1-0/+4