Compare commits
3 Commits
master
...
rmk163--Ad
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
70681a61a3 | ||
|
|
b3b7ee6766 | ||
|
|
e89b9ba217 |
52
lispusers/CONVERT-TO-UTF8
Normal file
52
lispusers/CONVERT-TO-UTF8
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||||
|
|
||||||
|
(FILECREATED "25-Feb-2026 09:09:57" {WMEDLEY}<lispusers>CONVERT-TO-UTF8.;16 2573
|
||||||
|
|
||||||
|
:EDIT-BY rmk
|
||||||
|
|
||||||
|
:CHANGES-TO (FNS CONVERT-TO-UTF8)
|
||||||
|
|
||||||
|
:PREVIOUS-DATE "24-Feb-2026 22:45:57" {WMEDLEY}<lispusers>CONVERT-TO-UTF8.;14)
|
||||||
|
|
||||||
|
|
||||||
|
(PRETTYCOMPRINT CONVERT-TO-UTF8COMS)
|
||||||
|
|
||||||
|
(RPAQQ CONVERT-TO-UTF8COMS ((FNS CONVERT-TO-UTF8)))
|
||||||
|
(DEFINEQ
|
||||||
|
|
||||||
|
(CONVERT-TO-UTF8
|
||||||
|
[LAMBDA (FILENAME FILETYPE) (* ; "Edited 25-Feb-2026 09:09 by rmk")
|
||||||
|
|
||||||
|
(* ;; "This produces a new version of the source FILENAME with :UTF-8 external format.")
|
||||||
|
|
||||||
|
(* ;; "If we had a list of problematic functions (multiple definitions on multiple files, MOVD's), we could check that against the functions in FILENAME, and at least produce a warning.")
|
||||||
|
|
||||||
|
(* ;; "Compiling may be tricky: some files have CL:COMPILE-FILE FILETYPE properties that don't correspond to the fact that they actually have only an LCOM. This tries to revert the filetype back to FAKE-COMPILE-FILE so that we don't get confused when a DFASL mysteriously appears.")
|
||||||
|
|
||||||
|
(SETQ FILENAME (PSEUDOFILENAME FILENAME))
|
||||||
|
(SETQ FILENAME (OR (FINDFILE FILENAME T)
|
||||||
|
(ERROR "FILE NOT FOUND" FILENAME)))
|
||||||
|
(if [EQ :UTF-8 (CL:WITH-OPEN-FILE (STREAM FILENAME :DIRECTION :INPUT)
|
||||||
|
(fetch (READER-ENVIRONMENT REFORMAT) of (GET-ENVIRONMENT-AND-FILEMAP STREAM
|
||||||
|
T]
|
||||||
|
then (PRINTOUT T FILENAME " is already " .P2 :UTF-8 T)
|
||||||
|
NIL
|
||||||
|
else (LOAD? (MEDLEYDIR "loadups" 'EXPORTS.ALL)) (* ; "Maybe this should load SYSEDIT ?")
|
||||||
|
(LOAD FILENAME 'PROP)
|
||||||
|
(LOADCOMP FILENAME)
|
||||||
|
(SETQ FILENAME (PACKFILENAME 'VERSION NIL 'BODY FILENAME))
|
||||||
|
(CL:WHEN [AND (EQ 'CL:COMPILE-FILE (GETPROP (ROOTFILENAME FILENAME)
|
||||||
|
'FILETYPE))
|
||||||
|
(FINDFILE (PACKFILENAME 'EXTENSION 'LCOM 'BODY FILENAME))
|
||||||
|
(NOT (FINDFILE (PACKFILENAME 'EXTENSION 'DFASL 'BODY FILENAME]
|
||||||
|
(CL:UNLESS FILETYPE (SETQ FILETYPE :FAKE-COMPILE-FILE))
|
||||||
|
(PRINTOUT T "Changing FILETYPE back to " .P2 FILETYPE T)
|
||||||
|
(PUTPROP (ROOTFILENAME FILENAME)
|
||||||
|
'FILETYPE FILETYPE))
|
||||||
|
[SETQ FILENAME (MAKEFILE FILENAME '(NEW :UTF-8]
|
||||||
|
(MAKEFILE1 FILENAME NIL '(F))
|
||||||
|
FILENAME])
|
||||||
|
)
|
||||||
|
(DECLARE%: DONTCOPY
|
||||||
|
(FILEMAP (NIL (406 2550 (CONVERT-TO-UTF8 416 . 2548)))))
|
||||||
|
STOP
|
||||||
BIN
lispusers/CONVERT-TO-UTF8.LCOM
Normal file
BIN
lispusers/CONVERT-TO-UTF8.LCOM
Normal file
Binary file not shown.
BIN
lispusers/CONVERT-TO-UTF8.TEDIT
Normal file
BIN
lispusers/CONVERT-TO-UTF8.TEDIT
Normal file
Binary file not shown.
Reference in New Issue
Block a user