Commit graph

328 commits

Author SHA1 Message Date
polos
7b692f4e12 update comment in 'lib/thread-safe.lisp' 2021-04-29 10:09:33 +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
polos
dab9b53283 fix 'qml-ui-vars', see '(qml)' 2021-04-05 11:54:05 +02:00
polos
8c6a45d9e4 adapt '(qml)' for Sailfish 2021-04-01 11:28:05 +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
4969ea2b90 oversight 2021-03-25 11:01:43 +01:00
polos
95bb218660 update README 2021-03-25 10:59:37 +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
P. Ruetz
440089d90d Merge branch 'bugfixes' into 'master'
Pass argc/argv to Qt before passing it to ecl and fixes in webkit module

See merge request eql/EQL5!4
2021-03-25 08:28:13 +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
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