Commit graph

308 commits

Author SHA1 Message Date
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
322b737e7b bug fix in js-arg, small revisions 2021-03-02 09:59:10 +01:00
polos
69a094b6f8 revision 2021-02-05 21:39:01 +01:00
polos
c59ef79ab1 revision 2021-02-05 17:53:25 +01:00
polos
349b1e4d5f add example '9999': draw in JS canvas, calculate in Lisp 2021-02-05 17:39:56 +01:00
polos
875b3a49e6 update README 2021-01-09 18:38:59 +01:00
polos
03bd45a5ad small fix to docu 2020-12-25 19:52:21 +01:00
polos
ddb8465f1f small revision 2020-12-10 09:29:23 +01:00
polos
9191f4a5eb small fixes for macOS 2020-12-08 18:26:41 +01:00
polos
7f3a2145ed fix -quic for setter functions (using QSET instead of QFUN) which are not available as EQL functions (unlike in C++) 2020-12-07 23:00:32 +01:00
polos
ac63828762 restore default debug behavior with command line option -qtpl 2020-12-07 22:39:35 +01:00
polos
54a6879960 Merge branch 'master' of gitlab.com:eql/EQL5 2020-11-28 11:32:45 +01:00
polos
c70380b4d2 re-arrange 'si_safe_eval' code for MSVC compilers 2020-11-28 11:29:42 +01:00
P. Ruetz
1c8cfaf797 Merge branch 'asdf-bugfix' into 'master'
added :init-name to asdf:make-build

See merge request eql/EQL5!2
2020-11-24 07:36:39 +00:00
ava fox
6aa76599b9 added :init-name to asdf:make-build 2020-11-23 23:23:42 -05:00
P. Ruetz
cc3011dc0d Merge branch 'master' into 'master'
Allow passing argc to EQL::ini

See merge request eql/EQL5!1
2020-11-14 08:47:10 +00: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
df13447cde add deploy script example for Windows to docu 2020-09-27 14:52:12 +02:00
polos
c52c34de6c add note about QLET (important to remember) 2020-09-24 08:44:42 +02:00
polos
40511818ef deploy: mention 'windeployqt' and 'macdeployqt'; small revision; 2020-09-24 08:13:56 +02:00
polos
2d0aaf6c06 add example of using Qt for a POST request to a cgi script 2020-09-23 00:02:43 +02:00
polos
6804baef18 remove obsolete comment 2020-08-03 10:33:10 +02:00
polos
18c5bfc00e small revision of docu 2020-07-30 23:16:10 +02:00
polos
6117a95bac revision of 'lib/qml-ui-vars.lisp' 2020-07-30 20:28:40 +02:00
polos
4208e0ddf9 small revision; add note about 'uic'; 2020-07-28 09:37:10 +02:00
polos
20516a7da7 revision 2020-07-25 15:34:07 +02:00
polos
39dba74d9c fix indentation 2020-07-24 19:36:07 +02:00
polos
81599b7b49 revision 2020-07-24 19:30:05 +02:00
polos
47e64a8fad revision 2020-07-24 15:19:38 +02:00
polos
bbe4741c90 small revision 2020-07-24 15:18:41 +02:00
polos
a29abb19b9 revision of 'lib/qml-ui-vars.lisp' 2020-07-24 13:44:43 +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
97feac95d4 add short convenience macros for calling QML functions and setting properties 2020-06-24 11:59:34 +02:00
polos
680f4cf6ed add missing type QList<QHostAddress> (module :network) 2020-05-07 11:51:30 +02:00
polos
61ee317705 IMPORTANT FIX: change Swank connection style to :SPAWN (old solution is not stable) 2020-04-21 12:48:09 +02:00
polos
6618f9044a prevent float overflow in QML example 2020-03-02 15:25:02 +01: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
a7a0af1e86 tiny revisions 2019-09-03 17:37:49 +02:00
polos
a453239d14 add '.gdbinit' (recommended settings when running ECL from within gdb) 2019-03-28 21:56:23 +01:00
polos
464efd3a8a mention Arch Linux recipe (thanks to 'VanLaser') 2019-03-22 19:17:55 +01:00
polos
a87a32d60e tiny revisions/oversights 2019-03-02 22:51:19 +01:00
polos
3501d8e5ac plugin example: change template from 'dll' to 'plugin' 2019-02-28 20:32:02 +01:00