Update of /cvsroot/q-lang/qcalc
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv19148
Modified Files:
calclib.q
Log Message:
bugfixes
Index: calclib.q
===================================================================
RCS file: /cvsroot/q-lang/qcalc/calclib.q,v
retrieving revision 1.57
retrieving revision 1.58
diff -C2 -d -r1.57 -r1.58
*** calclib.q 4 Dec 2007 09:49:24 -0000 1.57
--- calclib.q 4 Dec 2007 11:41:41 -0000 1.58
***************
*** 458,462 ****
where ARGS:List = catch () (task_expr_params [] 'X);
! private init_task ARGS;
taskwindow X
--- 458,462 ----
where ARGS:List = catch () (task_expr_params [] 'X);
! private init_task X ARGS;
taskwindow X
***************
*** 473,477 ****
H:Thread =
printf "\f+++ Taskwindow: %s\n" $ str (I,J) ||
! thread (init_task (I,J,SEM) || do_task X (I,J,SEM));
/* Our actual window id is sent by the parent process via the SEM semaphore
--- 473,477 ----
H:Thread =
printf "\f+++ Taskwindow: %s\n" $ str (I,J) ||
! thread (init_task 'X (I,J,SEM));
/* Our actual window id is sent by the parent process via the SEM semaphore
***************
*** 479,488 ****
message. We make this value the initial value of the task's cell, and we
also store it in the thread-local data so that the task can access it using
! task_winid. */
! init_task (I,J,SEM)
= setval (I,J) ID || YYTLD := insert (get YYTLD)
! (thread_no this_thread,(I,J,SEM,ID))
! where ID = get SEM;
/* Gnuplot support (experimental). */
--- 479,499 ----
message. We make this value the initial value of the task's cell, and we
also store it in the thread-local data so that the task can access it using
! task_winid. NOTE: Sometimes we might receive other messages while we're
! waiting for the window id to arrive. We process these on the fly. */
! private init_task_loop X M ARGS MSG;
!
! init_task 'X (I,J,SEM)
! = init_task_loop 'X () (I,J,SEM) (get SEM);
!
! init_task_loop 'X M (I,J,SEM) ID:Int
= setval (I,J) ID || YYTLD := insert (get YYTLD)
! (thread_no this_thread,(I,J,SEM,ID)) ||
! if neq () M then post SEM M ||
! do_task X (I,J,SEM);
! init_task_loop 'X M (I,J,SEM) 'Y
! = init_task_loop 'Y M (I,J,SEM) (get SEM);
! init_task_loop 'X M (I,J,SEM) Y
! = init_task_loop 'X Y (I,J,SEM) (get SEM) otherwise;
/* Gnuplot support (experimental). */
***************
*** 504,508 ****
gnuplot_loop PLOT 'X
! = fprintf PLOT "\nset term x11; reset\n" ||
fputs PLOT CMD ||
setval index ("-*- gnuplot -*-\n"++CMD) ||
--- 515,519 ----
gnuplot_loop PLOT 'X
! = fputs PLOT "\nset term x11; reset\n" ||
fputs PLOT CMD ||
setval index ("-*- gnuplot -*-\n"++CMD) ||
|