* Remove calls to OPENFILE
OPENFILE is a residual Interlisp function that returns a litatom instead of a stream. In almost all cases, this immediate causes an error that litatom files are no longer supported. I have found (FINDCALLERS) all the examples in lispusers/sources/library/ and replaced OPENFILE with OPENSTREAM (except for the calls from \PEEKPUP and \PEEKNS, that I didn't track down). There was a trivai call in COMPILE.FILECHECK in COMPILE, but that function is not called anywhere. So I removed it.
* ADIR: remove OPENFILE calls, also another stab at \COPYSYS
With respect to \COPYSYS, this replaces the draft PR #1263. This applies TRUEFILENAME at the start, but remembers whether it was in fact a pseudohost and restores that for the return value. So if you start in a pseudo world you end up there.
---------
Co-authored-by: Larry Masinter <lmm@acm.org>
* MACHINEINDEPENDENT: better searching for foo-fie
FINDFILE-WITH-EXTENSIONS, DOFILESLOAD
* MEDLEY-UTILS, PRINTFN: WHEREIS/PF know about foo>foo-fie
* WHERE-IS: Just MAKEFILE-NEW to get FUNCTIONS into the filemap
* ACE does LOADCOMP itself
* MACHINEINDEPENDENT: FINDFILE-WITH-EXTENSIONS recognized SUBDIRECTORY
* SPELLFILE: Calls FINDFILE-WITH-EXTENSIONS at the top
So FINDFILE and FILE-NOT-FOUND will consider FOO>FOO-FIE for file FOO-FIE
* WINDOWOBJ: Missing GETFN does WHEREIS #748
* TMAX*: Localize IMAGEFNS
The various IMAGEFNS were defined on TMAX itself, not on the file where the functions were (esp GETFN).
Also fixed some dependencies. With new WINDOWOBJ, TMAX.TEDIT finds its image objects.
* Move TMAX files to TMAX>
Given the WHEREIS change for GETFN and the FINDFILE-WITH-EXTENSIONS in SPELLFILE, TEDIT(TMAX.TEDIT) opens and all of its imageobjects are found and loaded from the TMAX> files.
* Push relocated files again: (COPYFILES screwed up)
* Delete TMAX.INDEX garbage file
* PRINTFN: Allow suppression of gratuitous TERPRI in PFCOPYBYTES
An odd feature of PFCOPYBYTES is that it was outputting a gratuitous EOL just in the case of copying a whole file, so copy-all+1. Don't know who depends on it as is, so I added an extra argument NOTERPRI to allow clients to suppress it.
* Keep old editdates #359
Rework of the editdate capability, centralizing in EDITINTERFACE and removing the pieces that were also on FILEPKG. Also added a new capability--edit dates can include change-log-type information. See issue
* Format implementation functions set a known variable *BYTECOUNTER*
The generic functions deal with updating the application variable.
\INCHAR eliminated in favor of \INCCODE.EOLC to make clear what it does.
OPENSTRINGSTREAM streams have their own format, and the string is always fattened.
READBITMAP doesn't mix character and byte reading
* AOFD: Don't execute \STRINGSTREAM.INIT
This creates a file device that is not used anywhere. The function OPENSTRINGSTREAM provides the functionality that this file device suggests that it would provide, but that functionality seems suspect at best. The function is left in the system for now, probably should be deleted at some point in the future so we don't try to maintain it if we trip over it.
* TTYIN: Fix an ancient coding error
but still doesn't solve the (DIRECTORY ?= problem #402
* LLREAD, FILEIO, XCCS: Improve charcode backing, copychars
Added \BACKCCODE.EOLC that backs up over EOL encoding bytes, simplifies \RSTRING2.
\XCCSBACKCCODE returns T/NIL according to whether it succeeded.
\XCCSOUTCHAR uses IPLUS16 for CHARPOSITION
COPYCHARS makes no assumptions about EOL encoding
But still no solution for #402
* LLREAD, TTYIN.LCOM fix#402
The bug showed up in TTYIN, but it was actually a bad edit in the generic backccode.
TTYIN.LCOM is just a recompile--that had never been done with various new declarations.
* Cleanup of character IO interface
Committing this branch for further testing. I know at least that the TTY output stream somehow is defaulting to :XCCS, which is wrong, but I haven't yet found the interface for that.
* Clean out \NSIN etc
No top-level calls to the NS specific functions, just to the generic \OUTCHAR etc.
Updated full.database
* MODERNIZE: added dragging for fixed-menu windows
They can be dragged by their title bars
* UNICODE: Added Greek to the default set
Also made spelling of default-externalformats consistent with FILEIO
* FASLOAD: EOL conversion in FASL::READ-TEXT
EOL's printed as LF's will be read as EOL
* LLREAD: Added meta as a CHARACTERSETNAME
meta,a maps to 1,a now. But slowly propagating this to TEDIT, SEDIT, etc will make it easier to change the coding of meta characters, e.g. as part of a Unicode transition.
* APRINT FILEIO LLREAD: \OUTCHAR now a closed function
Removed the macro
* LLKEY: call CHARCODE.DECODE directory in \KEYACTION1
Minor cleanup, avoid typical user entry and APPLY*
* WHEELSCROLL: re-enable on AFTERMAKESYS/SYSOUT FORMS
Also sets up mappings in the \COMMANDKEYACTIONS, whatever that is
* ABASIC: NILL and ZERO change from LAMBDA NOBIND to LAMBDA NIL
So that things like Masterscope don't break
* MASTERSCOPE: Added WHEREIS as last-resort for CONTAINS
Looks at the WHEREIS database, if present, for FNS and FUNCTIONS if it has no other information. . WHO CONTAINS ANY CALLING FOO works, but not the inverse: . WHO DOES FUM CONTAIN. We still need to figure out why the CONTAINS table isn't populated
* POSTSCRIPTSTREAM: use standard \OUTCHAR conventions
Now uses generic \OUTCHAR to get the proper function from the stream (or default)
* Recompile with right EXPORTS.ALL
Some of the macros weren't correct.
* Fix POSTSCRIPTSTREAM
Cleaner separation between external \OUTCHAR and internal BOUT
* POSTSCRIPTSTREAM gets its own external format
* Minor fix
* Compile-time warning about EXPORTS.ALL
* MODERNIZE: Modern button fn has same args as the original
For Notecards #343
* Fixed another glitch in the MODERNIZE arglist thing
\TEDIT.BUTTONEVENTFN actually takes a second STREAM argument. I don't see where it is ever called with that. The modernize replacement binds that argument, but it isn't being passed to the original.
* FILEWATCH: added missing record field
* Update FILEWATCH.LCOM
* Eliminating record/type name conflicts
Mostly just qualifying references, more work to get BIGBITMAP stuff out of ADISPLAY and to eliminate ambiguity of LINE record (now XXLINE in XXGEOM)
* Compile away open calls to \OUTCHAR, add loadups/full.database
Mostly new LCOMS where \OUTCHAR calls were compiled open
* Remove garbage library/XCCS
Old tools for reading wikipedia XCCS tables, sources/XCCS will deal with XCCS external format
* Next step: Remove open input-character calls, factor XCCS to separate file
XCCS is the default, but can be swapped out (eventually) by setting a few variables, without recompiling everything
* Lots of residual cleanup for XCCS isolation
* Delete old file MACINTERFACE (migrated to MODERNIZE)
* Eliminate straggling NS calls: LAFITE, READINTERPRESS
* Typo
* READINTERPRESS: removed CHARSET
* MODERNIZE: Interface to control title-bar response (for Notecards)
* Many changes for external format name consistency
Very close to the end of this
* Put :FORMAT in file info, fix TEDIT plaintext hardcopy
I distributed :FORMAT :XCCS as the default marking, but somehow one of the variables seems to get revert during the loadup. This is correct, as far as it goes.
* Getting the format in the file-info
This is all very twisty, different variables set in different places. It now seems to do the right thing, at least for new files. Marks them with :FORMAT :XCCS.
* Another fileinfo glitch
* CLIPBOARD -UNICODE: Make UTF8 to UTF-8 to match standards
* MODERNIZE: fix bug in MODERWINDOW
* External format as MAKEFILE option, LOAD applies the file's format
(MAKEFILE 'XX '((FORMAT :UTF-8)))
will dump XX as a UTF-8 file. LOAD will load it back to XCCS internal.
* Compilers respect DEFINE-FILE-INFO format
* MODERNIZE: little glitch
* Delete old FILEIO.LCOM
* More edge cases of external format thru MAKEFILE, PRETTY, PRETTYFILEINDEX etc.
* FILEBROWSER: Can SEE UTF-8 Lisp sourcefile
* INSPECT: Better macro for inspecting readtables
* recompile changed files and do new loadup
Co-authored-by: rmkaplan <ron.kaplan@post.harvard.edu>