When you ran the gp:getPointInput function, control was automatically passed from Visual LISP to AutoCAD. You responded to three prompts, after which control was passed back from AutoCAD to Visual LISP, and a T symbol displayed in the Console window.
Within the program, here is what happens:
You need some way to return values from one function to another. One way to do this is to create a list of the values retrieved from gp:getPointInput, as highlighted in the following code:
(defun gp:getPointInput ( / StartPt EndPt HalfWidth ) (if (setq StartPt (getpoint "\nStart point of path: ")) (if (setq EndPt (getpoint StartPt "\nEndpoint of path: ")) (if (setq HalfWidth (getdist EndPt "\nhalf-width of path: ")) (list StartPt EndPt HalfWidth) ) ) ) )
Copy this version of gp:getPointInput into the Console window and press Enter. Here's an opportunity to try another feature of the Console window.
This invokes the Console history command, cycling through any commands previously entered in the Console window. If you go too far, press Shift+Tab to cycle in the other direction.
The function returns a list containing two nested lists and a real (floating point) value. The return values look like the following:
((4.46207 4.62318 0.0) (7.66688 4.62318 0.0) 0.509124)
These values correspond to the StartPt, EndPt, and HalfWidth variables.