@office ,
As Kean stated in the link you provided..
"...this implementation is some way from re-implementing the full PLINE command..."
..it may become evident about just HOW HARD it would be to provide you with a full solution. Kean's code is already quite lengthy and is also written in a MUCH more capable language..
If you choose to continue toward a solution with LISP then some sacrifices will be made (you may already know this since you *presumably already have some code attempting to create PLINE segments while also using the grread function).
Without knowing the full extent of your current code, I would possibly try an approach using a combination of getpoint and entmake inside of a while loop. You will not get transient graphics this way but that's one of the sacrifices to be made when using LISP.
Maybe you can give us more information as to what your full program is trying to accomplish and we can suggest some alternate approaches? I'm not sure what benefit you're trying to accomplish by using grread and creating polylines anyways? grread does not support snaps.. and even if you are using Lee's grsnap function it would still appear to be a large recreation of the PLINE command, when it may not be necessary..
Best,
~DD