I see, very clever.
But this works.
(defun f (flag str fn) (and flag str (write-line str fn)))
(defun c:test (/ fname fnr fnw s)
;; '(nil nil nil t) - Pattern of lines of the text for record
(setq fname (getfiled "Select File" "" "txt" 16)
fnw (open (strcat fname "-New.txt") "w")
fnr (open fname "r")
) ;_ setq
(while (foreach a '(t nil nil nil) (f a (setq s (read-line fnr)) fnw) s))
(close fnw)
(close fnr)
) ;_ defun