* nsfns.m (Fns_do_applescript): Run event loop until script has

been executed.
(ns_run_ascript): Chech as_script for nil, set to nil after
executing script.

Fixes: debbugs:12969
This commit is contained in:
Jan Djärv 2012-12-23 13:35:37 +01:00
parent a0b4e66e07
commit cf162aee2b
2 changed files with 15 additions and 3 deletions

View file

@ -1,3 +1,10 @@
2012-12-23 Jan Djärv <jan.h.d@swipnet.se>
* nsfns.m (Fns_do_applescript): Run event loop until script has
been executed (Bug#12969).
(ns_run_ascript): Chech as_script for nil, set to nil after
executing script.
2012-12-22 Martin Rudalics <rudalics@gmx.at>
* window.c (Fselect_window): Reword doc-string (Bug#13248).

View file

@ -2106,7 +2106,9 @@ and GNUstep implementations ("distributor-specific release
void
ns_run_ascript (void)
{
as_status = ns_do_applescript (as_script, as_result);
if (! NILP (as_script))
as_status = ns_do_applescript (as_script, as_result);
as_script = Qnil;
}
DEFUN ("ns-do-applescript", Fns_do_applescript, Sns_do_applescript, 1, 1, 0,
@ -2143,11 +2145,14 @@ and GNUstep implementations ("distributor-specific release
data2: NSAPP_DATA2_RUNASSCRIPT];
[NSApp postEvent: nxev atStart: NO];
[NSApp run];
// If there are other events, the event loop may exit. Keep running
// until the script has been handeled. */
while (! NILP (as_script))
[NSApp run];
status = as_status;
as_status = 0;
as_script = Qnil;
as_result = 0;
unblock_input ();
if (status == 0)