The cursor position is the location that text will be inserted when typed.
The Mark_Pos function will drop a mark at the current column of the current line. The mark column remains the same even if text where inserted before it but the mark line number can change so that it remains on the marked line when additional lines are inserted before the marked line.
Goto_Mark will go to the last mark dropped by Mark_Pos.
Indent_Level is a column number that the cursor will be positioned to when moving the the next line with the Cr function.
CMac does support recursion. An example of it being used in the system macros is in the _FileSearch macro in Search.s.