* (re)export environment variable ARB_XCMD on startup
- subprocesses depend on it (arb_textedit, GDE entries)
- default to '$ARB_XTERM -e'
* use bash in subshell
* removed 'cmdtool' as default from GDE scripts (used if ARB_XCMD undefined)
51 lines of code changed in 4 files:
* obsolete
0 lines of code changed in 1 file:
- removed useless dependency from libXp
2 lines of code changed in 3 files:
* merges [7486] [7487] to trunk
52 lines of code changed in 11 files:
merged from dev [7429] [7430]
* 'reloc_clean' and 'relink' were broken since [7409]
* include prot_tml.h in source tarball
2 lines of code changed in 2 files:
* 'make clean up' generated wrong dependencies (merged from dev [7427])
274 lines of code changed in 6 files:
merged from dev [7321] [7322] [7323] [7324] [7325] [7326] [7327] [7329] [7417] [7421] [7422]
* !CompactedSequence / !CompactedSubSequence
- added unit tests
- refactored using !BasePosition
- fixed last value in gapsBeforePosition[] (gaps before "end of sequence")
300 lines of code changed in 5 files:
merged from dev [7320] [7418] [7419] [7420]
* !BasePosition
- uses int instead of size_t
- allow empty sequences (gap-only)
- allow to index just a part of a sequence
- use new class !CharPredicate to initialize custom gaps
* moved safeCharIndex() to dupstr.h
* unit tests
- collectIntFunResults (allowed range)
- slow test
94 lines of code changed in 32 files:
merged from dev [7395] [7396] [7397] [7398] [7399] [7400] [7401] [7402] [7403] [7404] [7405]
* server/client interface
- changed invalid casts (now casts are done between classes derived from dll<XXX>)
- re-activated 'unused' warnings (deactivated since [566])
- removed unused functions/variables
- removed 'extern "C"'-voodoo
- when creating two objects containing a DESTROY callback (like PT_local), AISC servers now warn and automatically destroy the 1st created object (which leaked) and then create the 2nd
* fixed multiple creation of PT_local from PT_FamilyFinder
* print ioerror when saving nameserver db fails
* AISC interpreter
- fixed array overflow in command table
- detect "endless" recursive evaluation
- fixed RUIs occurred while scanning backwards
- fixed leak
- GOSUB/CALL (change function argument parsing and evaluation)
564 lines of code changed in 45 files:
merged from dev [7373] [7375] [7376] [7377] [7378] [7379] [7380] [7381] [7382] [7383] [7384] [7385] [7386] [7387] [7388] [7389] [7390] [7391] [7392] [7393] [7394]
* AISC interpreter
- no longer print TABs (use spaces instead)
- new command INDENT +-<num> (old tab positions act relative to current indentation)
- each stream does formatting independently
- switching between output streams does no longer interfere indentation
- added smart tabulator '$|'
- new command '--' prints empty line
- new command 'PM' prints only if further output occurs (has to be used inside PMSTART/PMEND). Used to avoid empty loops etc.
- removed command 'P\t'
- added new conditional operator '<'
- error messages dump current data-cursor position
- added new command 'CONST' (write-protects variables)
* AISC scripts (.pa)
- removed definition of TABs (use default 4)
- indented
- use smart tabs and INDENT
- better error messages when MAX_OBJECT/MAX_KEY is too small
- use operator '<' for argc-check
* code generated by AISC scripts
- removed unneeded C compatibility
- load/save code only generated when needed (i.e. in nameserver)
- fixed indentation
- fixed constness
- removed many useless return values
- made most callbacks static; replaced the one (get_XXX_CNT) used by server-code by method get_count()
- server dll-objects derived from base-class-template; commented the undefined(but working) hack there
* AISC interface (.aisc)
- fixed plenking
- translated german comments
- reorganized interface IDs to reduce max. amount of attributes. MAX_KEY 100->42
- moved relative search into own ptserver object (PT_family). MAX_KEY 42->33
- changed MAGIC numbers to make communication between client/server before and after this patch impossible
- dont save dll-header to nameserver db (does nothing but generate unused code)
* client/server code
- no longer use old fashioned typenames (struct struct_blablabla)
- fixed constness
- moved invariable code from generator to server.c
* updated description of .aisc format (eliminated duplicated files)
* possibility to pass information from Makefile into AISC scripts
2651 lines of code changed in 41 files:
merged from dev [7355] [7369] [7370]
* Refactored AISC (interpreter)
- separated 'struct global' into several classes (mostly 'Interpreter').
- precompile all commands and use a dispatcher
* changes to behavior
- new command WARNING
- detects deadlocks
- error if referencing data w/o loading it
- error when files are not closed
- tweaked/added several errors reported
2622 lines of code changed in 16 files:
merged from dev [7366] [7372] [7374]
* minor changes to AISC scripts
- added some test-code using GOTO
- fixed usage errors
- close all files
- parameter checks
- fixed paths in "generated"-comments
* AISC regression tests completely ignore space changes
45 lines of code changed in 6 files:
* another attempt to fix non-reproduceable perl2arb build failures
2 lines of code changed in 1 file:
* merged from dev [7362] [7406] (minor changes)
9 lines of code changed in 3 files:
merged from dev [7358] [7359] [7360] [7363] [7364] [7365] [7367]
* tweaked build process
- get rid of '.depends: No such file or directory'
- make clean now is much more scrupulous! removal '''notably''' includes lib/pts, lib/nas and lib/arb_tcp.dat (when they are no symlinks)
- suppress some output
- added several unreached targets (to test random failures)
- fine-grained tools-dependencies
- automatically generate target directories (GENC ...)
- removed duplicated target 'mbin' (same as 'comtools')
- added target 'setup_after_clean' (use after 'clean' when doing a partial build)
146 lines of code changed in 13 files:
merged from dev [7356] [7357] [7361] [7368] [7371]
* regression tests for AISC
- compares generated code/dumps with those in other checkout
* possibility to run aisc in valgrind (buggy - always reports success)
- filter 'unhandled CFI instruction' (often happens when valgrind is older than used compiler)
229 lines of code changed in 4 files:
* strict aliasing (merges [7353] [7354] from dev)
- fixed the aliasing bug which caused probe_design to fail
- checked casts to (double*)
- re-activated strict-aliasing for server/client interface; see [7352]
17 lines of code changed in 5 files: