* Expose useful subfunctions
* REGISTER-TYPED-REGION creates a new TYPED-REGIONS entry
If a window is closed whose region is of an as-yet-unknown type, a new entry will be added implicitly to TYPED-REGIONS to that that region and future regions of that type can be recycled.
* If a window with a typed-region is reshaped and then closed, the typed-region is also reshaped for reuse
Also, the typed-region of a window is pushed on the front of the TYPED-REGIONS list when the window is closed, so the most recent region of that type will be used the next time. Recency seems more intuitive than primacy
* 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>
* File See operations use full path to loaded file.
Add Manager.WINDOW-ANCHOR to fix corner from which MANAGER-MAIN-WINDOW grows, and (attempt) to keep it on-screen.
* Improved handling of the ICONW for MANAGER-MAIN-WINDOW.
* Fix typo in MasterScope functions (multiple occurrences: LOADBFLG should be LOADDBFLG).
Changed to CL compiler by default (not need to go to submenu). This is my preference, so I should remove it before setting pull request.
* Manual cleanup of multiple "Edited" comments in 4 FNS.
Reverted: Changed to CL compiler by default (not need to go to submenu). (From commit f60c6362)
* Update MANAGER.TEDIT documentation file.
Fix error in previous commit. (Changes that I thought were there, were not.)
Cleanup COMMON-MAKE COMS so it can be handled by the file package, and add .LCOM file to the repo.
* PDFSTREAM: first implementation
Makes PS file, then applies separate utility (if available) to convert PS to PDF
* POSTSCRIPTSTREAM: Adds extra field to postscript data for PDFSTREAM filename
* HARDCOPY: fixes printer menu
* PDFSTREAM: define PDF fonts as POSTSCRIPT fonts
* PDFSTREAM: fix convert template
* PDFSTREAM: Fix logic around closing the postscript sub-stream
* PDF Stream: slight generalization
* PDFSTREAM uses AFTERCLOSE streamprop so doesn't require change to POSTSCRIPTSTREAM
* UNIXUTILS: moved PROCESS-COMMAND and SLASHIT from GITFNS and PSEUDOHOST resp.
PROCESS-COMMAND executes a command in process-stream, like ShellCommand, but returns a completion code and not what happens in the shell. SLASHIT is an approximation (doesn't deal with versions) of converting a Medley file name to its Unix equivalent, to use in commands
* GITFNS: PROCESS-COMMAND moved to UNIXUTILS, cleanups from previous (unexamined) PR
The other PR will be cleaned out
* PSEUDOHOSTS: Moved SLASHIT to UNIXUTILS, also includes minor change in previous (unexamined) PR, to be removed
* PDFSTREAM: wrapped FULLNAME around TRUEFILENAME
* Restore POSTSCRIPTSTREAM
* UNIXUTILS: Added UNIX-FILE-NAME
Produces a Unix filename corresponding to a Medley file name (slashes, version number). For use in ShellCommand an PROCESS-COMMAND.
* PDF-STREAM: added SEE-PDF
A little stub that (on a mac) does a shell command to open Preview on the Unix-named file corresponding to a medley name
(Also added back some key functions that got lost in a bad edit)
* Pick up master changes
---------
Co-authored-by: Larry Masinter <lmm@acm.org>
* SPY.POINTERS is always T (no 2-byte atoms)
* Set SPY to not record entries when in \BACKGROUND-YIELD or (conditionally) backgroudn process
* Use \IGNORE.BACKGROUND as global variable, initially T; clean up declarations
* changes used DECLARE%%: incorrectly, now fixed
* FILEWATCH: Shift select names, plus show PSEUDOFILENAMES
* FILEWATCH: Copied file is a string, not an atom
Modern systems tend to allow spaces and other funky characters in filenames. COPYINSERT doesn't automatically escape. But generally we are moving towards strings. (Shift-select from FILEBROWSER has the same problem)
* Updated Tedit files for a few Lispusers packages--formatting and typos
* Format OBJECTWINDOW.TEDIT, delete WHEELSCROLL.TXT
* Create CLIPBOARD.TEDIT
Small (formatted) documentation file
* CALENDAR, AOFD: Calendar had a Y2K problem, AOFD did not allow string-streams to reopen
There still may be some Y2K issues, I fixed the obvious ones, including how it interacted with Tedit
* try recompiling
---------
Co-authored-by: Larry Masinter <LMM@acm.org>
* FILEPKG: EDITCALLERS now notices possible new stream after getting filemap
* GITFNS: cdw and cdg commands preserve pseudohost
* SAMEDIR: match all combinations of truefilename and pseudofilename
* PSEUDOHOSTS: Bug fix--openstream failure goes thru normal error machinery
* ADIR: Put in stubs for TRUEFILENAME, PSEUDOFILENAME, PSEUDOHOSTP
Also, fix \COPYSYS so it works with pseudhosts
Plus typo fixes in the TEDIT file.
Note that the MATCHNAME has always been uppercase, and that the directory matching has been filtered using the FILEDIRCASEARRAY
* IFLE.PROFILE has LOGOUT and SAVEVM options; add some delays in IDLE hacks
* add extra delays so the demos work more like intended
* IDLEDEMO loads lispusers with idle hacks
* make sure NOTIFY.EVENT \IDLING.OVER is called
* clean up resetsave
* slow down KINETIC
* Redo logic to minimize diffs with 1992 version
* minor tweaks to \IDLER for making sure mouse doesn't hang
* Update HELPSYS to find CLHS (Common Lisp HyperSpec) and lispusers/library docs
* restore lost edits; fix package inclusion for XCL and LISP
* mere with previous commit
* try again
* INSPECT: Allow optional user-specified tags in window titles to help keep track of multiple instances of the same datatype
* DWIM: Remove warning about order of evaluation change that happened in 1980
* BREAK-AND-TRACE: remake to get functions in filemap
* GITFNS, COMPAREDIRECTORIES: prc file list correlates with github PR web page
* DWIM, DWIMIFY: Removed WARNUSER and its calls
* INSPECT: Value of INSPECT is the inspect window
(as IRM says it should be)
* Move cd, ls, pwd to it's own little lispusers (needs documentation)
* add .TXT documentation, also patch lsee script to translate ^ and _ to up and left arrow
* Add document for CONDITIONGRAPH
* IDLE will LOGOUT instead of SAVEVM if ONLINEP
* patched some idle hacks fora better show
* idle.random chooses an idle program at random among those loaded
* Make PICK a Lispusers module
* PICK moved to lispusers, HCFILES moved to test repo (currently new/printing)
* redo PICK documentation
* Update documents and projects choices
* more testing and restore lost edits to TEDIT
* fix some typos
* VTCHAT: Changed name of CHARSET field to avoid ambiguity
Even though field was never referenced
* INSPECT: WHERE argument was passed incorrectly to datatype subfunction
* GITFNS: Better recognition of funny cases (colon) etc
Reconciled with Larry's previous commit
* COMPAREDIRECTORIES: Bug fix in separate-panel display
* Eliminate duplicate declarations for TABLEBROWSER record, remove TABLEBROWSERDECLS file
* change packages that used to load TABEBROWSERDECLS SOURCE to just LOADCOMP TABLEBROWSER
* make sure full RECORD is saved
* ARCHIVETOOL update of ARCHIVEBROWSER but no docs and looks like PARC-only
* 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
* 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 "")
EDITFONThad its own slightly different version. Now centralized in FONT with slight adjustments to internal interfaces.
Note that we don't have a way of writing AC font files, as near as I can tell
* 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)