* HRULE: Add a PREPRINTFN for horizontal rules
Looks better in plaintext files
* GITFNS, COMPAREDIRECTORIES: Group earler/later in separate segments
GIT-CDBROWSER-SEPARATE-DIRECTIONS defaults to T
* FILEIO: INITVARS rather than VARS for FILING.TYPES
To avoid contamination with values from other files (like LAFITE)
* FILEPKG: SEPRCASE in EDITCALLERS includes comma and quote even if no DWIMIFYCOMPLFG
Also seprate the caseinsensitive UPPERCASEARRAY from the SEPRCASE array
* IOCHAR: Open code the call to \INCCODE.EOLC
About a 30% speed up in the slow (casearray/skip) case. Eventually macros should be defined for the externalformat interface functions, for now it is nice to be able to trace/break them.
* EXTERNALFORMAT: a little bit of cleanup
particularly around EOLC
* EXTERNALFORMAT,UNICODE,XCCS: Consistent naming of \PEEKCCODE(.EOL), \BACKCCODE returns the code
It was confusing that the naming of the peek functions was inconsistent with the inccode and backccode functions with respect to the EOLC qualifier. Now uniformaly, the unqualified names (\PEEKCCODE, \BACKCCODE, \INCCODE) do not do any EOL interpretation. The qualified-name functions (\PEEKCCODE.EOLC, \INCCODE.EOLC, \BACKCCODE.EOLC) do EOL interpretation.
Also, the \BACKCCODE interface is changed so that it returns the code corresponding to the bytes that it passed over. This simplifies some of the callers.
* Clients of \PEEKCCODE \BACKCCODE and .EOL
Small changes either to fix inconsistencies (backing, reading, peeking with inconsistent EOL interpretation), updating the names in a few other cases, a few simplifications.
* glitches in ATERM, HARDCOPY updates
I have this one in my working directory, and it seems to be bigger than the one in the repo and its previous version is later than the version in the repo. Maybe this is better? I putting this out as a draft for people to look at.
* TEDIT-FIND, TEDIT-OFD: Read old-format TEDIT files
TEDIT-OFD also traps non-stream TEXT arguments that should no longer propagate
* EDITKEYS: Only BKSYSBUF when TEDIT has the TTY
Also, changed the name from Function Keys to Tedit Keys, made the shrunk window open on left-click
* COMPAREDIRECTORIES: better format when one of the columns is empty
* GITFNS: "cob next" asks to confirm the parent branch
* TEDIT-FILE: Pass TEXTSTREAM to TEDIT.GET.OBJECT
* TEDIT-FILE again: same problem in readers for old formats
* Eliminate (OPENTEXTSTREAM "")
* MAKEINIT: Remove bogus non-ascii character from comments
* UPCSTATS: move to obsolete
* GITFNS: better interface to process stream
Now only looks at the process return code, gets all output only from redirected streams. Also offers to increase the diff.renameLimit if it is too small for the branch comparison.
* COMPAREDIRECTORIES: reformat browser output
The lengths are now in their own column. Also, the < and > are in different columns, to make it easier to pick out which side is newer.
* CLIPBOARD.TXT: documented that it uses (SYSTEM-EXTERNALFORMAT)
* GITFNS: Fixed a glitch in the renameLimit
* GITFNS: Test for gh
* COMPAREDIRECTORIES: Fix loadup record sequence
* Don't overwrite fixed NCFILES in MEDLEY-UTILS
* SKETCHOBJ and TEDIT-FILE already merged
Co-authored-by: Larry Masinter <LMM@acm.org>
* TEDIT files: deleted from library/, renamed to library>tedit.TEDIT-xxx
* PSEUDOHOSTS: Error if file won't open
* LOADUP-*, MEDLEYDIR, UNICODE
Adjustment for TEDIT-xxx, plus moving UNICODE to the beginning of LOADUP-LISP, with UNICODEDIRECTORIES creating in MEDLEYDIR
* CLIPBOARD, FILEIO: external format
CLIPBOARD uses SYSTEM-EXTERNALFORMAT.
FILEIO: added sourceparameters argument to COPYFILE, so format can be specified.
* GITFNS: rework to avoid hanging process stream
Redirects command output to tmp output and error streams, at most only looks for a COMPLETED signal in the process stream (which still sometimes hangs)
* EXAMINEDEFS: Asks for a menu position on a keyboard call
(Otherwise, the chunk menu may be buried under the TTY window)
Should be easier to update and extend. Not clear that the code for making a string piece is still needed here, since we interpret strings as file names. So this may be further simplified. I hope this also will give us a better handle on some of the file inconsistencies, by isolating the readers for formatted and unformatted files.
* CLSTREAMS: Fix EOL/external format on error stream (synonym and 2-way) #815
* CMLFORMAT: makefile NEW to get functions in filemap
* CLSTREAMS: cleanup formats for more types
* FILEIO: Add readonly bit in streams for external-format
* UNIXCOMM, EXTERNALFORMAT: Introduce STREAM-EXTERNALFORMAT
* Compile device-creation functions for new default interface
* UNICODE: minor bug
* LLINTERP: MOVD? APPLY* to SPREADAPPLY*
* External format interface: a few more adjustments
* CLSTREAMS: Recompile, no source change
* PRETTYFILEINDEX: suppress when printing gitmaps to a non-display stream
* UNIXCOMM: Default format comes from device
Also, I seemed to have reverted back to LCOM with FAKE-COMPILE-FILE
* TEDIT, TEXTOFD: Pass FORMAT in PROPS to OPENSTREAM
In TEDIT and OPENTEXTSTREAM. I don't think TEDIT interprets the external format, but at least the info is there
* WINDOW: CREATEW prompts on one line
It was calling PROMPTPRINT twice, which resulted in orphan-looking lines
* EXAMINEDEFS: Propagate textwidth to COMPARETEXT
* COMPARETEXT: propagate height/width of text windows, for linelength
#800
* GREP: Will work with external formats, after FILEPOS update
Line printout could be better, if e.g. it is a Lisp source file, but...
* EXAMINEDEFS: Propagate window width to COMPARETEXT, for LINELENGTH
* GITFNS: added fetch before git log
* PSEUDOHOSTS: Pseudohost-streams are now registered on the PH device, not the target device
* EXTERNALFORMAT, XCCS: Globalvar declaration in wrong place
Also updated \CHECKEOLC macro
* GITFNS: moved git fetch to beginning of prc
* GREP: Propagated OUTSTREAM
* COMPARETEXT: Inverted nodes stay inverted when scrolled
* COMPARESOURCES: Remove unused stub for browsing in TEDIT window
* COMPAREDIRECTORIES: Upgrade to new LISPFILETYPE, add CD-COMPARE-FILES
CD-COMPARE-FILES interface to compare 2 given files, not whole directory
* TEDIT: Show only file name, not stream address
* COREIO: preserve STREAMPROPS on stream reopen
* GITFNS: Various project and git-interface cleanups
* TESTUPF: Moved to internal
* CLIPBOARD.TXT, MODERNIZE.TEDIT, WHEELSCROLL.TXT: Minor edits
* TEDIT, TEXTOFD: CL:PATHNAMES are recognized as file names for opening
* PSEUDOHOSTS: GETHOSTINFO of pseudohost goes to true host
* CMLPATHNAME: Remove unused PARSE-NAMESTRING1
Avoid stumbling on it in future maintenance. Also, remake filemap for functions and defmacros
* SAMEDIR, COMPAREDIRECTORIES: FILENAMEFIELD → FILENAMEFIELD.STRING
in a few places. No need to hash atoms
* LLCHAR: expose $$READONLY in inpname I.s.opr
* GITFNS: prc menu shows superset relations
* GITFNS: Sort the prc menu
* EDITINTERFACE: Better edit-date management
* PRETTYFILEINDEX: Destination can be any imagestream, not just display
* TEDIT-PF-SEE: Use SEE instead of COPYTO IMAGESTREAM
to get better formatting of PRETTYFILEINDEX
* 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
* Eliminate string arguments to OPENTEXTSTREAM #666
Empty string replaced by NIL, mostly. Otherwise, string wrapped in OPENSTRINGSTREAM. TEDIT hasn't yet been modified, just all the callers.
* INDEX, NGROUP: move to obsolete #667
* HELPSYS: Add proper FILETYPE property
* ROOMS files: Also updated for TEDIT string arguments
* ADIR, COREIO: Just move FILEDIRCASE array from COREIO to ADIR
Logically better place, my fear about loadup interactions was unfounded (I got burned before with bittables, but this is just a simple array)
* SPY: Modernize the spy window
* TEDITHCPY: Make Interpress conditional on Interpress being loaded
This was an old edit that somehow got lost
* TEDITSCREEN: Remove WAITINGCURSOR
The RESETSAVE for WAITINGCURSOR somehow wasn't working, but not worth debugging because we now don't have a wait.
* TEDITWINDOW: Use TTYINPROMPTFORWORD instead of PROMPTFORWORD
* TEXTOFD: Property OBJECTBYTE returned instead of image objects
This allows COMPARETEXT to work on TEDIT files
* ATBL: Default reader environment uses *DEFAULT-EXTERNALFORMAT* instead of :XCCS constant
* CMLEXEC: Fix FILETYPE property
It had CL:COMPILE-FILE, but the directory had LCOMs. Changed to :FAKE-COMPILE-FILE.
* FILEIO: single place for EOL specification
Now only in SETFILEINFO, not separately in \DO.PARAMS.AT.OPEN
* WINDOWOBJ: COPYINSERT now uniformly allows lists of objects
It was incomplete.
* COMPARETEXT: Now works for TEDIT files
* EXAMINEDEFS: side-by-side attached SEDIT windows for comparing alternative definitions
* OBJECTWINDOW: container for arbitrary image objects
* ATBL: fixed typo
* MODERNIZEP: pass shape and move to main window if PASSTOMAINCOMS
* EXAMINEDEFS: Remove EXAMINEDEFS-REGION
Replaced by equivalent functionality in new package REGIONMANAGER
* TEDIT: adjustments to give caller control of window region
* Revert "TEDIT: adjustments to give caller control of window region"
This reverts commit aec12b41f0877d4d8b0864bdabc7cc412a313bc9.
* Revert "EXAMINEDEFS: Remove EXAMINEDEFS-REGION"
This reverts commit 0c670bbc564499f72c17bbfbc0eb24a7da4059b4.
* TEDIT, TEDITWINDOW: Adjustments for propagating (typed) regions
* EXAMINEDEFS: added EXAMINEFILES for looking viewing files side-by-side
Fix titling glitch, add EXAMINEFILES
* OBJECTWINDOW: minor cleanup
* REGIONMANAGER: new package for managing typed regions, relative regions, and constellation regions
* TEDIT-PF-SEE: commands for scrollable PF and SEE alternatives
* COREIO: Fixed bug in \CORE.SETFILEINFO
* COMPAREDIRECTORIES: Added CDBROWSER
and associated reworking
* COMPARESOURCES: Added CSBROWSER
and associated reworking
* COMPARETEXT: Reworked for TEDIT files
Also for better window management
* TEXTOFD: Property OBJECTBYTE returned instead of image objects
This allows COMPARETEXT to work on TEDIT files
* ATBL: Default reader environment uses *DEFAULT-EXTERNALFORMAT* instead of :XCCS constant
* CMLEXEC: Fix FILETYPE property
It had CL:COMPILE-FILE, but the directory had LCOMs. Changed to :FAKE-COMPILE-FILE.
* FILEIO: single place for EOL specification
Now only in SETFILEINFO, not separately in \DO.PARAMS.AT.OPEN
* WINDOWOBJ: COPYINSERT now uniformly allows lists of objects
It was incomplete.
* COMPARETEXT: Now works for TEDIT files
* EXAMINEDEFS: side-by-side attached SEDIT windows for comparing alternative definitions
* OBJECTWINDOW: container for arbitrary image objects
* TEDITMENU: menus don't grow vertically on reshaping
* CLSTREAMS, EDITINTERFACE: Update filemap for FUNCTIONS
Needs to be done for most CL-function containing files.
Turns out that FILEDATE of a compiled file returns the creation date of the source, not the compiled file. To get the proper date for both source and compiled files, you have to first call it with CFLG=T, if that is NIL, try with CFLG=NIL, if that's NIL it isn't a Medley file, use the creation date.
Would be more intuititive with different semantics: (FILEDATE xx NIL) should give you the date of this file whether compiled or not, (FILEDATE xx T) should give you the date of the source file, if it happens to be a compiled file. I.e, CFLG → SFLG
* Change numeric OPCODES SUBRCALL NN to use the LLSUBRS name
* more opcodes subr# in maikoloadupfns
* even more OPCODES SUBRCALL
* Recover BIGBMAPS definitions dup (but more recent) from LLCOLOR
* IOCHAR: Fix daylight savings time
* TMAX: Y2K fix
Also a little code cleanup, changing default font to TERMINAL from GACHA and making text more legible
* DATABASEFNS, ATBL: DUMPDB with DEFINE-FILE-INFO
New database files will have standard headers, then a little special stuff for LOADDB to synchronize, old database files default to a new interlisp environment.
MAKE-READER-ENVIRONMENT in ATBL extended for easier specification, plus better type-testing.
* Remove duplicate comment