Commit graph

156 commits

Author SHA1 Message Date
pls.153
0bf4fbaf2e change 'linux' to 'unix' in *.pro files, small revisions 2022-02-17 11:39:25 +01:00
polos
9738cdad85 'Qt_EQL': in 'EQL::addObject' / 'define-qt-wrappers': also add methods of all super classes; make lispifying C names optional; 2021-06-14 20:13:15 +02:00
polos
1758101cf2 revert beta hacks (sorry); fix comment in 'qml.lisp' 2021-06-10 22:28:45 +02:00
polos
c3d4050dc6 fix comment in 'qml.lisp' 2021-06-10 22:20:08 +02:00
polos
1695e9fc36 fix 'qml:find-quick-item' when used together with '*root-item*' (note comment in sources) 2021-05-21 13:35:35 +02:00
polos
8494a71fae better integration with QML Repeater and 'objectName' of respective children in there 2021-05-18 20:25:25 +02:00
polos
4f75551971 add third argument to 'EQL::addObject' to call 'define-qt-wrappers' 2021-05-11 09:48:00 +02:00
polos
2156ea501f add convenience function EQL::addObject() for adding Qt class instances as Lisp variables 2021-05-09 17:31:43 +02:00
polos
490c878dee add MetaArg 'cl_object' to enable passing complex Lisp data to C++ 2021-05-04 16:03:41 +02:00
polos
44056e0853 add 'cl_shutdown()' in destructor of class EQL 2021-04-30 16:09:01 +02:00
polos
b20eed0306 fix for running EQL5 on a separate thread (not the UI one); N.B. requires 'thread-safe.lisp' to be loaded on startup; 2021-04-28 17:22:33 +02:00
P. Ruetz
ecbef474db Merge branch 'master' into 'master'
Fix compile errors due to conflicting libraries

See merge request eql/EQL5!6
2021-03-29 08:53:09 +00:00
Renaud Casenave-Péré
6d0e46bcc7 Fix compile errors due to conflicting libraries 2021-03-28 09:41:28 +02:00
polos
7b19fd33dd adapt 'my_app' to new install path; small revisions; 2021-03-27 09:44:04 +01:00
polos
8fd473b5a2 revert 'wrong brackets', misunderstanding! (sorry) 2021-03-25 15:39:17 +01:00
polos
9d48cf502a fix wrong brackets in *.pro 2021-03-25 11:13:19 +01:00
polos
0871e751fa revision of Sailfish ini 2021-03-25 10:38:50 +01:00
P. Ruetz
afacf3f74d Merge branch 'sfos' into 'master'
Patches for sailfish package

See merge request eql/EQL5!5
2021-03-25 08:28:51 +00:00
Renaud Casenave-Péré
ec089749b8 Pass argc/argv to Qt before passing it to ecl
QApplication will remove arguments it recognizes but ecl will not detect this
and might reference a no more existent argument
2021-03-23 22:26:19 +01:00
Renaud Casenave-Péré
1c56565a5f Add build setup for static library 2021-03-23 22:15:43 +01:00
Renaud Casenave-Péré
9675b68f6d Add support for aarch64 2021-03-21 10:53:45 +01:00
Renaud Casenave-Péré
14a1d07425 Fix various issues in webkit module 2021-03-21 10:00:31 +01:00
polos
997226c026 some fixes to Sailfish build 2021-03-15 17:38:38 +01:00
polos
92b9e2647e allow compiling for SailfishOS (run 'export SAILFISH=sailfish' before 'qmake') 2021-03-15 14:47:05 +01:00
polos
8e0a6a6e0c add QML ini for SailfishOS 2021-03-14 16:32:08 +01:00
polos
49261f5031 fix low-level bug in 'qml_get2', 'qjs_call2' 2021-03-13 21:42:59 +01:00
polos
089ba6521d revision of 'qml.lisp' 2021-03-13 17:48:44 +01:00
polos
799cc1de36 replace deprecated ECL C names; revisions; integrate QML into the library ('qml-lisp.lisp' is obsolete now); 2021-03-13 16:03:09 +01:00
polos
8d3bc5234f add fast, direct (low-level) JS function calls for QML 2021-03-08 21:04:21 +01:00
polos
bfdc227b21 add internal function for fast, direct JS calls, see also 'qml-lisp.lisp' in QML examples 2021-03-08 18:53:52 +01:00
polos
ac63828762 restore default debug behavior with command line option -qtpl 2020-12-07 22:39:35 +01:00
polos
c70380b4d2 re-arrange 'si_safe_eval' code for MSVC compilers 2020-11-28 11:29:42 +01:00
Bernd Wachter
e41ee54d21 Add optional error handling to si_safe_eval
Currently eql5 has a tendency to deadlock when encountering errors,
especially when executing scripts. The problem is that si_safe_eval
when called without a return flag expects to have errors handled in a
debugger, which does not exist in this case. As a result the lisp
runtime dies, while the code moves on to starting the Qt event loop
with nothing to control it.

This change introduces three flags to control the error handling
behaviour for eval:

- DebugOnError expects a debugger to be there, which is the old
  behaviour. It can be restored by passing -debug-on-error to eql5
- LogOnError will log about the error, but does not handle it. This is
  mainly a placeholder for better error handling in the future -
  without error handling this also results in a deadlock.
- DieOnError is the new default, which logs the code leading to the
  error, and exits with an error code.

Another patch should expose those flags to the Lisp runtime, and make
the error behaviour configurable both at initializing EQL from C++ and
later on during runtime.

A drawback of this change that we only get to see the the expression
triggering the error, not the actual error - that one is thrown away
by safe-eval:
                             #'(lambda (condition)
                                 (declare (ignore condition))
                                 (return-from safe-eval err-value))

I still feel for working with eql5 this is an overall
improvement. Next steps on this issue should include:

- either provide debugger hooks, or override invoke-debugger to behave
  more sensibly
- possibly override/provide a custom variant of safe-eval to print the
  error before returning
- check a few locations to set more sensible defaults, i.e. if
  somebody just runl eql5 without a script they'd probably want to end
  up in the debugger on errors.
2020-11-13 01:11:48 +02:00
Bernd Wachter
b85c3895b8 Allow passing argc to EQL::ini
Current implementation only passes in the first element of argv,
breaking command line argument parsing in scripts executed by eql5.

The eql5 binary now passes all arguments, while custom code can chose
the old or new behaviour, depending on which ini form is used.
2020-11-11 11:32:50 +02:00
polos
18c5bfc00e small revision of docu 2020-07-30 23:16:10 +02:00
polos
ca22ff0254 add convenience function '(eql:qml)' for auto generating vars according to QML item's 'objectName'; bump version number; 2020-07-24 11:45:01 +02:00
polos
680f4cf6ed add missing type QList<QHostAddress> (module :network) 2020-05-07 11:51:30 +02:00
polos
5d730fa744 fix deprecated ECL function name; small revisions; 2019-10-28 15:53:24 +01:00
polos
eb9eba1869 new version number 19.9.1: modules can now be integrated statically (needed for iOS; for experts only!) 2019-09-28 10:25:49 +02:00
polos
ae674491e1 make 'make install' work again on macOS 2019-09-03 18:23:19 +02:00
polos
bd69c3dd63 change target of 'make install' to /usr/... instead of /usr/local/... 2019-02-28 13:18:40 +01:00
polos
b2c280bed4 make 'eql5' executable independant from source installation (e.g. for eql5 -qgui, Slime) 2019-02-27 21:47:39 +01:00
polos
36232f6d37 change/fix long name of 'qrun' to 'qrun-on-ui-thread' (erroneously called 'qrun-in-gui-thread') 2018-02-24 11:08:38 +01:00
polos
0f1ae2cc07 small revisions 2018-02-16 17:03:34 +01:00
polos
caae249b4f small revisions 2018-02-05 12:10:32 +01:00
polos
0f0cbedb86 revision of 'qlog' (for EQL5-Android); tiny revision; 2018-01-27 17:17:28 +01:00
polos
7b8aba492d add function 'qlog' for android logging (EQL5-Android only) 2018-01-24 18:29:28 +01:00
polos
021b44a56e patch module 'quick' to build on all platforms (namely macOS and android) 2017-12-20 22:16:15 +01:00
polos
c629772a3b re-link eql5 lib on changes of ini_eql5 lib 2017-11-25 13:58:01 +01:00
polos
f90cbbaf24 fix module loading in deployed apps (next attempt; not tested yet on all platforms) 2017-10-06 08:26:50 +02:00