Check if the (STREAM ACCESS) bits are NIL, indicating a closed stream, and
if so do not attempt to close the file again
Co-authored-by: Nick Briggs <nicholas.h.briggs@gmail.com>
Co-authored-by: Larry Masinter <lmm@acm.org>
* 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>
This has a FILESLOAD for lispusers/UNBOXEDOPS that somehow didn't get executed by the previous cleanup. (That may be a separate issue with the compiler interface, not clear that it always makes the right choices even when the FILETYPE property is set.)
But this also begs the question, why is UNBOXEDOPS on lispusers?
* 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
* rewrite INTERPRESS to not pollute pool of CL:CONSTANTP variables in common use
* update some functions that are (inappropriately) tied to INTERPRESS
* no change to SKETCHOPS needed
* still need one \IPC 'constant' from INTERPRESS
* changes to WINDOW GLOBALVARS another time
* recompile XXFILL
* fix a few other messes exposed
* GATHEREXPORTS uses standard MAKEFILE machinery
So that it gets all the normal file properties (FILE, FILEDATES) when it is LOADed. Also nothing special about setting up its reader environment
* GATHEREXPORTS again: PRETTYDEF likes only litatom filenames
(which probably should be fixed)
* 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>
Fixes long-standing irritants (for me at least). SELECTC is highlighted and format like SELECTQ and SELCHARQ. And left-button in the title bar with the copy (shift) key down does a bksysbuf of the thing being edited. The menu is available under the middle button, moving and reshaping still provided by modernize with the shift not down.
* Another pass on CLOSEALL simplify by calling (OPENP)
* Put back in checks for CLOSEALL IOMODE USERVISIBLE
* \TERM.OFD and \LINEBUF.OFD are bound, no global
* getting rid of \OPENFILES everywhere
* one more \OPENFILES
* Yet another Logo with parameters for substrings. WINDOW.BITMAP move to Window
* Added LOGOW.DFASL, so rm LOGOW.LCOM
* LOGOW: Add local variables for most of the hard-coded constants to make it easier to experiment with adjusting said constants. Adding kerning for substring1.
* LOGOW: Add more kerning options. Cretaed separate kerned.prin3 function.
* Set default params to Option 8. Added some top and right margins when placing LOGOW in screen so it doesn't look so squished into the corner.
---------
Co-authored-by: Frank Halasz <frank@halasz.org>
* Adding LANG environment variable to docker image; adding MAIKO_ and MEDLEY_INSTALLDIR environment variables; Changing /usr/local/bin/run-medley to a symbolic link instead of a shell script
* Added draft input to all workflows, so that can create draft releases as well as regular releases
* Update buildDocker.yml to handle deprecation of set-output and to update versions of actions to handle node 12 to node 16 transition.
* Added scripts and updated github workflows to support creation of deb installers for Linux and WSL
* Fix minor bug in buildLoadup.yml
* First pass implementation of deb installer
* Fixing wget of vncviewer in build_deb.sh
* Fix typo in buildLoadup.yml in call to build_deb.sh
* Multiple small fixes to medley.sh from debugging. Change postinst script and how its created in build_deb. Add postrm script in build_deb.
* Reworking vnc portion of Medley.sh - including removing dependency on startx and xinit
* Misc fixes to medley_vnc.sh script; fix creation of postinst and postrm in build_deb.sh
* Cleaning up window geometry amd screen size in medley.sh
* Created apps.sysout loadup with rooms, notecards, clos on top of full.sysout; added plumbing for -apps flag to run-medley to run this syout; created a new init file for this sysout that calls MEDLEYDIR-INIT; all of this is based on online.sysout
* Create UNIXUTILS file in library with ShellWhich function - linux which command equivalent. Also move ShellCommand from UNIXPRINT to UNIXUTILS.
* Adding UNIXUTILS to LOADUP-FULL so it gets included in full.sysout
* Change of names from open(er) to browse(r). Refine the browse(r) functions a bit
* Minor bug fixes
* Update Apps.ShowDoc to new ShellBrowsefunction
* Adding apps support into the .github builds; adding xdg-utils as dependecy in debs
* fixing bug as to where notecards is checked out in BuildLoadup. Needs to be before loadups so app.sysout can be built
* Added defaulting to Interlisp exec tomedley.sh and APPS-INIT. Works only in apps.sysout. Added wlsu package to wsl debs since wlsview is not always installed by defailt. Fixed Notefiles directories issues in Apps.Init. Made medley.sh compute medleydir based on where the script is located. Can now work for /usr/lcal/interlisp as well as local directories.
* Added -id - feature to medley.sh so id can be directory mae. Removed extraneous set -x commands in medley.sh from debugging. In build_deb.sh changed compression to xz for deb files since debian does not support the zstd compression that ubuntu uses.
* For wsl deb files, make sure wslu package is not 4.0 - which is bad. Change how we choose an open port and open display in medley_vnc.sh. Add notecards download to build_deb.sh. Fix type in medley.sh
* Add (FILES UNIXUTILS) to UNIXPRINTCOMS so that ShellCommand is loaded in case only UNIXPRINT is loaded. For backward compatibility.
* Moved medley.sh and associates to script/medley dir; fixed up args to medley.sh; added usage and --help to medley.sh
* Add comprehensive tar files to releases to match deb files for local installs; add --id -- arg to medley.sh
* Remove remaining reference to usr/local/interlisp to ensure local install works
* Fix bug in buildLoadup - couldn't file install tars
* Add medley symbolic linkto loadups, so it comes thru to local install tars
* Fix up error messaging in medley.sh scripts
* Created man page for medley and added it throughout build up, installers, etc.
* Add support for a downloads page on OIO, including creating said page while building a release
* Fix full_release_tag in downloads section of buildLoadup.yml
* Misc fixups on downloads page
* Adding online man page stored on oio static server.
* Fix minor bug in man installation in deb file
* 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
\IDLE.OUT is a backgrround function. For reasons not well understood, sometimes after returning from LOGOUT, the RESETSAVED notify to \IDLING.OVER doesn't happen.
This change insures that it does.
(found during testing of LOGOUT/return from LOGOUT with changing ethernet enalbing)
The history and undo code was written before the record package; but someone introduced a DEFMACRO UNDOABLY macro to do the work. But cached macroexpansions shouldn't depend on load/run/compile time values.
* Fix to Issue#1022 Error during greet
* More fix to Issue#1022. Turns out need to reset MEDLEYDIR for AFTERMAKESYS as well as at greet time. Discovered during loadup-online.sh with no greet file.
* Removing AFTERMAKESYS event action from (MEDLEY-INIT-VARS). Cleaning up a bit the GREET event action in (MEDLEY-INIT-VARS). Remove issue with MEDLEY-INIT-VARS being called after the user greet file in the AFTERMAKESYS case.
* First steps to make UNDO to work again
* make sure the right SETQ (CL vs IL) is used
* The change surfaced a irritating warning about the variable presumed to be SPECIAL
This corrects some errors in the handling of initializing variables across SAVEVM, LOGOUT, SYSOUT and MAKESYS.
This is all now handled by MEDLEY-INIT-VARS (function and variable) which is called as an EVENTFN.
BEFOREMAKESYS (invoked by ENDLOADUP) clears the variables to a default setting (all directories are just {DSK}).
The other "BEFORE" events save away the current values of the variables in MEDLEY-INIT-VARS.
In order to get this to work it was necessary to change a hack for deciding where to find EXPORTS.ALL and WHEREIS.HASH. Now if you do `./scripts/loadup-all.sh` to make a full, lisp sysouts, exports.all and whereis.hash it will still build the sysouts in tmp/ but will also "link" new versions in loadups (and library for exports.all). This replaces the previous hack scanning the sysout name for "tmp/".
MEDLEY-INIT-VARS had been called both by the AROUNDEXITFN and AFTER*FORMS.