On Sat, Dec 07, 2019 at 07:57:53AM -0800, C K Kashyap wrote:
> :[task.l:8] !? (mapcar 'val> (car G)) <--- line 8 is the action function in
> task.l
> 
> val> -- Bad message
> I have an empty choTag function for now -  I don't suppose that is involved
> when I try to delete a tag.

Right, this does not matter.


> And this does not render the tags in the text field - its empty and when I
> try to edit/save it I get a "Not a list error" :(
> 
>  (gui '(+E/R +Fmt +ListTextField)
>       '(tgs : home obj)
>       '((This) (: nm))  # Set function
>       '((Nm) (request! '(+Tag) 'nm Nm))  # Val function
>       '(","," ")
>       40 )

Yes, makes sense, because you have one more indirection in the model:

   (rel tgs (+List +Joint) tsk (+Tag))
   ....
   (class +Tag +Entity)
   (rel tsk (+Joint) tgs (+Task))
   (rel nm (+Ref +Link) NIL +TagNm)

   (class +TagNm +Entity)
   (rel nm (+IdxFold +String))

So you probably need

   '((This) (: nm nm))  # Set function

to get the text strings to display, and

   '((Nm)  # Val function
      (request! '(+Tag)
         'nm (request! '(+TagNm) 'nm Nm) ) )

I think your model is a bit over-factorized ;)

Also, fetching tags by name is not unique, so it is not clear *which* object is
returned by 'request' if several ones with the same names exist. It seems to me
that +Key instead of +Ref and +IdxFold is more appropriate here.

☺/ A!ex

-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe

Reply via email to