(defun C:FIXBY () (SETQ lsp_file_list (dos_dir "C:/CADD/Util/lsp/More/*.lsp")) (foreach n lsp_file_list (if (AND (/= (STRCASE n) "FIXBY.LSP") (setq found_file (findfile n)) ) (progn (SETQ file_date (CADDR (DOS_FILE found_file))) (setq file_lines NIL oldbyline NIL ) (setq lsp_file (open found_file "r")) (if lsp_file (princ (strcat "\nFixing Byline for " found_file)) ) (WHILE (setq lsp_desc (read-line lsp_file)) (if (wcmatch lsp_desc ";*") (IF (OR (WCMATCH (STRCASE lsp_desc) ";*HENRY*") (WCMATCH (STRCASE lsp_desc) ";*ASHE*") (WCMATCH (STRCASE lsp_desc) ";*HTTP*") (WCMATCH (STRCASE lsp_desc) ";*MAIL*") (WCMATCH (STRCASE lsp_desc) ";*AUTHOR*") (WCMATCH (STRCASE lsp_desc) ";*RESERVED*") (WCMATCH (STRCASE lsp_desc) ";*PREJUDICE*") (WCMATCH (STRCASE lsp_desc) ";*NON-DOMESTIC*") (WCMATCH (STRCASE lsp_desc) ";*U`.C`.C`.*") (WCMATCH (STRCASE lsp_desc) ";*28387*") (WCMATCH (STRCASE lsp_desc) ";*COPYRIGHT*") (WCMATCH (STRCASE lsp_desc) ";*CREATED*") (WCMATCH (STRCASE lsp_desc) ";*EDITED*") ) (PROGN (COND ((OR(WCMATCH (STRCASE lsp_desc) ";*COPYRIGHT*")(WCMATCH (STRCASE lsp_desc) ";*CREATED*")) (IF (WCMATCH lsp_desc "*#*") (PROGN (WHILE (AND (/= (SUBSTR (STRCASE lsp_desc) 1 1) "T")(/= (SUBSTR (STRCASE lsp_desc) 1 1) "D")) (SETQ lsp_desc (SUBSTR lsp_desc 2)) ) (IF (OR(WCMATCH lsp_desc "*\t#*")(WCMATCH lsp_desc "* #*")) (WHILE (NOT (WCMATCH lsp_desc "#*")) (SETQ lsp_desc (SUBSTR lsp_desc 2)) ) (SETQ copy_date lsp_desc) ) (SETQ copy_date lsp_desc) ) (SETQ copy_date "") )) ((WCMATCH (STRCASE lsp_desc) ";*EDITED*") (SETQ edit_date lsp_desc) ) ) (SETQ oldbyline T) ) (PROGN (IF (NOT (WCMATCH lsp_desc ";;;*")) (setq file_lines (append file_lines (list (STRCAT ";;" lsp_desc)) ) ) (setq file_lines (append file_lines (list lsp_desc)) ) ) ) ) (PROGN (if (AND (eq "(" (substr lsp_desc 1 1)) oldbyline ) (PROGN (WHILE (AND (>(LENGTH file_lines)1) (OR (EQ (LAST file_lines) ";;;") (EQ (LAST file_lines) ";") ) ) (SETQ file_lines (REVERSE (CDR (REVERSE file_lines)))) ) (setq file_lines (append file_lines (LIST ";;;") (list ";;;>\tAuthor:\tHenry C. Francis") (list ";;;>\t\t425 N. Ashe St.") (list ";;;>\t\tSouthern Pines, NC 28387") (list ";;;>\t\thttp://paracadd.com") (list ";;;>\t\tAll rights reserved.") (LIST ";;;") (IF copy_date (LIST (STRCAT ";;;>\t\tCOPYRIGHT: " copy_date)) (LIST ";;;") ) (LIST (STRCAT ";;;>\t\t EDITED: " file_date)) (LIST ";;;") (LIST lsp_desc) ) oldbyline NIL ) ) (setq file_lines (append file_lines (list lsp_desc))) ) (while (setq nxtline (read-line lsp_file)) (setq file_lines (append file_lines (list nxtline)) ) ) ) ) ) (close lsp_file) (setq lisp_out (open found_file "w")) (foreach n file_lines (COND ((AND (WCMATCH (STRCASE n) ";*HENRY*")(NOT (WCMATCH (STRCASE n) ";;;>*"))) NIL) ((AND (WCMATCH (STRCASE n) ";*ASHE*")(NOT (WCMATCH (STRCASE n) ";;;>*"))) NIL) ((AND (WCMATCH (STRCASE n) ";*HTTP*")(NOT (WCMATCH (STRCASE n) ";;;>*"))) NIL) ((AND (WCMATCH (STRCASE n) ";*MAIL*")(NOT (WCMATCH (STRCASE n) ";;;>*"))) NIL) ((AND (WCMATCH (STRCASE n) ";*AUTHOR*")(NOT (WCMATCH (STRCASE n) ";;;>*"))) NIL) ((AND (WCMATCH (STRCASE n) ";*RESERVED*")(NOT (WCMATCH (STRCASE n) ";;;>*"))) NIL) ((AND (WCMATCH (STRCASE n) ";*PREJUDICE*")(NOT (WCMATCH (STRCASE n) ";;;>*"))) NIL) ((AND (WCMATCH (STRCASE n) ";*NON-DOMESTIC*")(NOT (WCMATCH (STRCASE n) ";;;>*"))) NIL) ((AND (WCMATCH (STRCASE n) ";*U`.C`.C`.*")(NOT (WCMATCH (STRCASE n) ";;;>*"))) NIL) ((AND (WCMATCH (STRCASE n) ";*28387*")(NOT (WCMATCH (STRCASE n) ";;;>*"))) NIL) ((AND (WCMATCH (STRCASE n) ";*COPYRIGHT*")(NOT (WCMATCH (STRCASE n) ";;;>*"))) NIL) ((AND (WCMATCH (STRCASE n) ";*CREATED*")(NOT (WCMATCH (STRCASE n) ";;;>*"))) NIL) ((AND (WCMATCH (STRCASE n) ";*EDITED*")(NOT (WCMATCH (STRCASE n) ";;;>*"))) NIL) (T (write-line n lisp_out)) ) ) (close lisp_out) (princ (strcat "\n" found_file " byline fixed. ")) ) ;progn ) ) ;foreach ) ;if