1
0
mirror of synced 2026-01-12 00:42:56 +00:00

256 Commits

Author SHA1 Message Date
rmkaplan
5bc05caba5
Rmk100 tedit catch up a few more fixes (#2204)
* Fixed #2185 and  #2173.

* TEDIT-MENU TEDIT-PAGE Fix a few more bugs

* TEDIT-STRESS--cleanup and harden a bit for future use

* TEDIT-FILE:  Allow putting of an APPEND file. There is still a guard against putting a readonly file--use COPYFILE instead. Provide message if won't put

* Get proper insert caret looks before EOL
2025-07-15 15:02:40 -07:00
rmkaplan
63d5849a15
Rmk88 split screen updates and color, eliminate reliance on STREAMHINT xpointer (#2119)
* Tedit window splitting is more robust, interface through menu items instead of split-region on the right of the window.  See TEDIT-RELEASENOTES.TEDIT

* Tedit recognizes color as specfied by DSPCOLOR, passes it to hardcopy

* N-way buttons default to unsorted--new items go at the end. Otherwise keyboard shortcut meta-3 for the 3rd font might pick a different one depending on what went before.

* USER.CM can be specified as an opening property for Bravo conversion.

* Adresses/fixes Tedit issues #2173 #2172 #2171 #2142  #2105 #2062 #2059 #1972 (maybe some others).

* Changes to rationalize internal interfaces and simplify code, and particularly to eliminate internal dependencies on the STREAMHINT Xpointer backlink.  STREAMHINT is only accessed if a client has grabbed the TEXTOBJ and passes it back in.  The stream and window are the safe/reliable way of referencing the Tedit state (and the window and stream know about each other, and know about the TEXTOBJ only through the stream).

* Many changes to TEDIT-STRESS, including new defaults CHECKARRAYS NIL, NSYSOUTS 0, ARRAYBLOCKCHECKING T

* lispusers/EQUATIONS: image object no longer saves state on the stream, not the window (which may not be there).

* Rename CHARNAME to be CHARCODE.ENCODE, parallel to CHARCODE.DECODE
2025-07-03 00:06:10 -07:00
Matt Heffron
72032afdde
Fix POSTSCRIPTSTREAM to refine or default values for COLOR. (#2177)
* Fix POSTSCRIPTSTREAM to accept SMALLP values 0 and 1 as COLOR.
(Don't require them to be FLOATP.)

* Changed handling when color values are not directly interpretable without other context (e.g., as an index into a color map).

POSTSCRIPTSTREAM should behave similar to INTERPRESS and just ignore a BRUSHCOLOR if it is a SMALLP that's neither 0 nor 1, and use the current DSPCOLOR of the stream.
If someone wants a specific color, or grayscale, they can use the color descriptions as documented in POSTSCRIPTSTREAM.TEDIT.

* Update documentation to better describe allowed COLOR specification.
2025-06-16 20:49:27 -07:00
rmkaplan
499e3ab77a
PDFSTREAM opens the scratch stream (#2184) 2025-06-09 20:40:16 -07:00
Frank Halasz
9dc408c81a
Expand the (PSEUDOHOSTS) function so that it can be used cleanly with RESETSAVE (#2154)
Expanded the (PSEUDOHOSTS) function to have an argument, which is a list of replacement pseudohost pair to replace the current list of pseudohosts.  Still returns the current list of pseudohosts as before.  Designed to be used cleanly with RESETSAVE.
2025-05-22 17:49:05 -07:00
Matt Heffron
c1c2c757b9
POSTSCRIPTSTREAM: Enable color names and RGB triples (#2127)
* I put in support for standard color specifications. I think this is pretty close.
BLTSHADE, FILLCIRCLE, and FILLPOLYGON with the TEXTURE as TEXTUREP or BITMAPP convert to a gray scale as a function of the number of bits set.
It'll take a bunch more refreshing of PostScript knowledge to figure out how to do these with real colors, and actual pixel-by-pixel textures.
2025-05-09 22:31:11 -07:00
rmkaplan
b0551fb953
Masterscope OUTPUT TEDIT uses atom word-bound table (#2096)
Use atom boundtable for OUTPUT TEDIT
2025-04-14 11:00:40 -07:00
rmkaplan
cd3889874f
Rmk85 Tedit distinguish public TEDIT.NTHCHARCODE from private \TEDIT.NTH..., fix screen update bug (#2091)
* Distinguish public TEDIT.NTHCHARCODE... from private \TEDIT.NTHCHARCODE...

* Fix screen-update bug: deleting the character before the first character in a window

* glitch in region code
2025-04-09 11:46:01 -07:00
rmkaplan
6f44e39101
Remove library/keyboardeditor.tedit, it now resides in library/virtualkeyboards/ (#2092) 2025-04-05 12:33:22 -07:00
rmkaplan
75666aa979
TEDIT: New architecture for key bindings, plus better suggestions for initial window regions (#2070)
* Implement new key binding architecture for Tedit actions, to make mappings more user-accessible. Includes new Buttons item on Tedit menu.  See TEDIT-RELEASENOTES
*  Prompts for Tedit initial-window region based on document properties
*  More flexible Tedit abbreviations
*  Size + or -  in Tedit character looks go to next available
*  Other bug fixes and code adjustments.
2025-03-31 11:43:13 -07:00
rmkaplan
a4da0ec553
Update Tedit field names in Lafite (#2034)
Lafite is not in the fuller ms database, so I missed these references in
TEDIT-INDENT.

But note also: there are 2 definitions of the function
\GV.PARSERECIPIENTS1, one on lafite/TEDIT-PRIVATEDL and one on
internal/MAILCLIENT.

The one on TEDIT-PRIVATEDL references the variable ADDRESSPARSERRDTBL,
which is not initialized.
2025-03-10 23:39:21 -07:00
rmkaplan
70f0e97886 TEDIT-SELECTION and TEDIT-SCREEN: Selection should take account of diacritics 2025-03-06 20:24:32 -08:00
rmkaplan
6bf26ebadd TEDIT-FIND: Display after substitute should not be garbled 2025-03-06 20:23:39 -08:00
rmkaplan
02031bbf81 TEDIT-MENU: Find should work from expanded menu 2025-03-06 20:22:27 -08:00
rmkaplan
d4b8656803
TEDIT: Fix image object glitch plus minor extensions (#2049)
* Paren error when selection looks set to INVERTED

* Add SET, SHADE, and SHADEHEIGHT properties to TEDIT.SELPROP

* Add QUIET as optional last argument to TEDIT.FORMAT.HARDCOPY, suppress prompt-window message

* COLLECT? argument to TEDIT.MAP.OBJECTS can specify what kind of information to collect.
2025-03-05 12:27:50 -08:00
rmkaplan
98c481ba1a
PDF to {NULL} only does postscript part (#2045)
* PDF to {NULL} only does postscript part

* added TRUEFILENAME in NULL case
2025-02-26 12:48:26 -08:00
rmkaplan
3aa58b6374
TEDIT: Align paralooks with charlooks, recompile all files, miscellaneous updates (#2021)
* Fix up Move command

* change paralooks record, recompile, other updates

* Fix right arrow and EOF

* Caret position after NEXT, add FILESTREAM textprop, CH#/LEN args to TEDIT.SEL.AS.STRING

* Added LLK

* Arrows-movement in menus is confined to fields

* Slightly better menu test

* TEXTPROP glitch, create window after getting file

* remove a debug call

* forward/backward forgets original x position

* Opentext stream preps for window-region prompt width

* typing resets the leftarrow X position

* Removing cached X position for up and down arrows

I tied this to the DIRTY flag and recompiled its users.  Also separately fixed the setsel and find functions to clobber the cache

* Fencepost glitrch

* add OPENWIDTH property

* Selection past the middle goes to the right

* bug fix

* Set up for paralooks name changes to avoid future confusions

* Update tedit-exports.all

* One more systematic name change for char/para looks parallelism

* TEDITSTRING applies initial props

* TEDIT.CARETLOOKS returns oldlooks, TEDIT.PUT has a QUIET flag

QUITEFLAG suppresses prompt printing
2025-02-24 21:24:53 -08:00
rmkaplan
c7f08aade9 forgot this one 2025-02-15 17:53:46 -08:00
rmkaplan
c0e0aea80a Remove a few more dependencies on Tedit internals 2025-02-15 17:39:40 -08:00
rmkaplan
f56033fca0 Change field names 2025-02-15 09:27:28 -08:00
Matt Heffron
1f317d34ef
Obsolete and rename FONTSAMPLE no R (#2010)
* Add back character sets that had characters outside 16 bit plane

* Update XCCS-353=SYMBOLS3.TXT

Update title line

* Update UNICODE.TEDIT

* Fix charset names

* Reorganized the tables, added requested interfaces

* Use a single hash

* Top-level array branch beats a single hash

* cleanup UNICODE.TRANSLATE macro

* Fix slug in outcharfn

* Remove a stray line

* Another try, would work for raw

* Remove duplicates, redo hashing

* Getting complete maps in both directions

* Initializing

* Only the latest file versions

* Add back gothic mappings

* Enable FONTSAMPLER to display glyphs from DISPLAYFONT (bitmap font) on non-DISPLAY stream (e.g., PDF)
Added .LCOM to repository.

Corrected PR.

* Relocate FONTSAMPLE files to obsolete.

* Files renamed. Internal names and documentation were NOT updated.

---------

Co-authored-by: rmkaplan <ron.kaplan@post.harvard.edu>
2025-02-03 12:30:53 -08:00
rmkaplan
86f5aadf95
Tedit: eliminate some CHARLOOKS fields, change Charlooks menu, add pagenum object, a few cleanups (#2004)
* CHARLOOKS fields, Charlooks menu, pagenum object, a few cleanups

* Add TEDIT-DEBUG

* Glitch in redo

* Select left of EOL
2025-02-03 12:14:49 -08:00
rmkaplan
907010013e
Add back character sets that had characters outside 16 bit plane (#1964)
* Add back character sets that had characters outside 16 bit plane

* Update XCCS-353=SYMBOLS3.TXT

Update title line

* Update UNICODE.TEDIT

* Fix charset names

* Reorganized the tables, added requested interfaces

* Use a single hash

* Top-level array branch beats a single hash

* cleanup UNICODE.TRANSLATE macro

* Fix slug in outcharfn

* Remove a stray line

* Another try, would work for raw

* Remove duplicates, redo hashing

* Getting complete maps in both directions

* Initializing

* Only the latest file versions

* Add back gothic mappings
2025-02-03 10:47:12 -08:00
rmkaplan
40d2ac394c
SEE-PDF searches for PDF file (#1939) 2025-01-27 11:52:31 -08:00
rmkaplan
4873590e22
TEDIT-FNKEYS makes sure that the new caret-point after onechar forward/backward is always LEFT (#1988)
Make sure that the new caret-point is always LEFT

I hope this fixes it
2025-01-27 11:51:05 -08:00
rmkaplan
188895c7e9
Fix a glitch in Tedit screen-update (#1984)
Fixes a screen-update glitch in Tedit
2025-01-27 11:48:53 -08:00
Matt Heffron
90c723a8c1 Replace with the PSEUDOHOSTS files that were originally modified in the library. This preserves the git history. 2025-01-20 21:11:09 -08:00
Matt Heffron
20ec5c2bc9 Step 2 of move: move the files. 2025-01-20 21:07:28 -08:00
Matt Heffron
ba3a5668bd Step 1 of move: Make a place to move friles from lispusers (delete git's knowledge of PSEUDOHOSTS in library) 2025-01-20 21:04:39 -08:00
rmkaplan
27473e8cae
TRUEDEVICE behaves more like \GETDEVICEFROMNAME (#1947)
tries to create a device if it doesn't yet exist
2025-01-20 12:14:18 -08:00
rmkaplan
27d8bffaa9
Commands with OUTPUT TEDIT go to Tedit window (#1932) 2025-01-20 12:06:36 -08:00
rmkaplan
5eb8a7bd34
Proper error messages for meta-O and meta-D on empty selection (#1944)
* Addresses #1943

* Better prompt messages for meta-O and meta-D

* Cleanup TEDIT.SETSEL

* Meta-O shows menu of types to edit

* Extra variable

* More cleaning of TEDIT.SETSEL
2025-01-20 12:03:20 -08:00
rmkaplan
936337d6bb
Shakedown of field menu items (#1957)
* Shakedown of field menu items

* Suppress shift-select in menus

* Typo, plus inserting EOL-containing strings

* Fix selection display glitch revealed by DOCUMENT

* Fix arg order, eliminate U-CASE

* U-CASE only if coercing IDENTIFIER from LABEL

* Allow SMALLP for identifiers, INITSTATE for SELECTION

Also a fence-post glitch in paragraph selection

* Fix MB.GET

* TEDIT-MENU:  Right button doesn't invert Marginbar, copying suppressed

* TEDIT-STREAM:  Error if copying an image object that doesn't allow copying

* Missed another LITATOM/SMALLP test on IDENTIFIERS

* Clicking in a menu removes stale promptwindow text

---------

Co-authored-by: Frank Halasz <frank@halasz.org>
2025-01-15 10:52:18 -08:00
rmkaplan
33a53e47e1
Unicode: Added replacement mapping (#1938)
Added replacement mapping

and fixed typos in the Tedit file
2024-12-25 12:59:40 -08:00
rmkaplan
db33a50af3
Tedit - a few rough edges (#1937)
Little odds and ends
2024-12-25 12:57:08 -08:00
rmkaplan
abdb128636
Rmk36 tedit fifth round (#1857)
* TMAX updates for compatibility with Tedit changes

* DOC-OBJECTS changes for compatibility with Tedit changes

* MODERNIZE update for Tedit split windows

* Core Tedit files

* IMAGEOBJ: Remove dependency on Tedit internals

* WINDOW: Remove dependency on Tedit internal declaration

Still strange that WFROMDS should have to branch on Tedit

* WINDOWOBJ gets window of TTY process before the window of the stream of the TTY process

So insert into Tedit works

* TEDIT-CHAT: try to use TEXTSTREAM vs TEXTOBJ

* Fix tab-initialization problem in SLIDES.TEDIT

as reported by @nbriggs

* TEDIT-CHAT: use TSTREAM rather than TEXTOBJ

* Updates after lots more testing, particularly scrolling

Some other files dragged along to avoid dependence on Tedit internals

* Remove unwanted SAVE.SYSOUT

* Addresses more end-of-file and empty-file display issues

Try it again

* TEDIT-DEBUG tracking other changes

* Odds and ends

* Adjust EOF selection and caret-scrolling on copy

* More cleanup, plus fixing a few more ancient (Venue) glitches

As usual, the problems have to do with the funky behavior of EOL's in the middle and end of the document.  More abstraction and refactoring to get better control of this (I hope).

* TEDIT-WINDOW: Scroll down of big objects

Trying to fix what happens at the transition when scrolling down brings a big-object's top down in the window.   Approach is to bring down the line above, which may make for a little jump. I hope that solves it.
Scrolling up still needs some adjustment.

* Eliminate junk at top of window after up/down scrolling of big objects

BLTSHADE is OK there for scrolling, but not for redisplay after editing.  In the edit case, the top of the pane above the last valid line is preserved.
Scrolling still has the problem that the window can go blank at the first scroll that brings a tall object into the pane--still working on that.

* Scrolling with tall lines should be more continuous

* Another tweak for scrolling

plus interface extension to TEDIT.MOVE and TEDIT.COPY, a little more on field menus

* More robust strategy for field menu buttons

Surround the field with prefix and suffix pieces with image objects that print the pre and post labels and shift the selection forward or backward into the field.  Doesn't depend on inherited quirky logic in the selection line-scanner.

* Field selection ignores right and middle clicks

* A little more menu/selection tweaking

You can't extend through fields and buttons

* Added CUSTOMBUTTONEVENTFN to menu field buttons

Also, menu buttons in general can't be deleted

* A few more glitches, plus a little selection refactoring for buttons

* Reduce flicker in pargraph menu margin bar

* screen update glitch

* DOC-OBJECTS, TEDIT-SCREEN: Fixes the HCFILES DOC-OBJECTS failure

* TEDIT-BUTTONS:  Field values should always be shown in the specified FIELDFONT

* Abstracting the structure of the history lists

cleanup, but mostly as a precursor to maybe doing a ring buffer of a specified length

* TEDIT-FILE, a little font-reading cleanup

* Include the files from rmk-39 that deal with the text/binary renamefile problem

* TEDIT-PAGE addresses #1905

* Fix BUTTONSTART to STARTPC in Put/Get menu buttons

* Use width of M as width of EOL--easy to select

Also put in function call for potential kerning--needs eventual FONT support

* Rename a few internal functions from TEDIT.-- to \TEDIT.--

* Doesn't make sense for a charlooks to not have a font

* TEDIT-BUTTONS - Fix comment

* Take out Tedit internals from \CARET.FLASH?

Should have included this in fifth round long ago

* TEDIT-FILE:  use DEFAULTFONT for .sh files

Easier to follow the layout

* TEDIT-LOOKS: fix loadup order

* tedit-exports.all  Remove line-has-protection field

Useless

* Make sure that charlooks change as expected

* External format for .sh files is UTF-8

* Better display of history information for debugging

* Button changes: show document font families, better fields

* TEDIT-WINDOW, remove extra truncated line with down-scroll

* TEDIT-SELECTION: suppress line/paragraph selection for built-in menus

Line/para selection would be reasonable for multi-line fields, but most menu lines have protected text that would behave inconsistently.  So just suppress

* Better support for potential kerning

* Fix empty field value

* Simplify ASCII translation code

* Make sure headings have a default tab

* Word boundary at character 1

* Remember that you specified a font class instead of a font

For the charlooks menu, but also so that it is saved on a put

* More items on the Family NWAY-button line

* glitch

* TEDIT-LOOKS: Better algorithm for Ascii translation

* Charmenu remembers previous "Other" fonts, even if not installed

* Fix initial piece index

* Fix fontclass changes (again)
2024-12-23 11:07:54 -08:00
rmkaplan
d2b87a7327
XTOUCODE doesn't fail for nonexistent mappings (#1816)
assigns a unique otherwise unallocated Unicode code.  Addresses bug reported in #1814
2024-08-31 15:04:56 -07:00
rmkaplan
19015712de
Fix hardcopy under XCL exec #1781 (#1782)
* TEDIT-FILE fixes #1781

* TEDIT-FILE fixes #1781
2024-07-11 15:59:22 -07:00
Matt Heffron
4c18373229 Fix FILEBROWSER error when a borrowed function needs the prompt window.
FB.PROMPTW.FORMAT now uses the global PROMPTWINDOW if called under a borrowed function (i.e., not a FILEBROWSER window).
Tweaked the format string provided by FB.FASTSEE.ONEFILE to go to newline conditionally.
2024-05-29 15:46:15 -07:00
Matt Heffron
40ae5fb9b3 Fix issue #1727
Edit of function from popup menu in MASTERSCOPE show paths graph locks mouse process.
Left buttonfn didn't include :DONTWAIT option when launching the editor; middle buttonfn did.
2024-05-21 23:15:59 -07:00
rmkaplan
e40d3311c1
Rmk16 remove tedit special stuff from CLIPBOARD, move it to TEDIT-COMMAND. (#1676)
* CLIPBOARD:  Remove Tedit-specific code

* TEDIT-COMMAND:  Add interface to Clipboard

This also implements a different way of dealing with image objects in the selection.  Instead of causing an error (since an imageobject can't be printed to the clipboard stream), it tries to put out a useful representation of the object.  If the object has a preprint function, it applies that.  Otherwise, it prints out the name of the getfn.  Other objects can be explored.
2024-04-29 19:44:29 -07:00
rmkaplan
047aa5ff23
TEDIT.FORMAT.HARDCOPY fetches the AFTERHARDCOPYFN at the end (#1671)
so that it can be set by a display fn or boxfn along the way.  This permits the fix to IRM indexing in PR #1649 to take effect (for HCFILES).
2024-04-29 19:43:01 -07:00
rmkaplan
710513f2fd
TEDIT-FILE with TEXTOBJ argument passed to lower get-piece functions (#1669)
An internal extension, so that error or warning messages if any can be displayed in the local prompt window
2024-04-29 17:20:49 -07:00
rmkaplan
14b102f143
TEDIT-MENU: Eliminate illegal arg and caret location errors (#1670)
* TEDIT-MENU: Eliminate illegal arg and caret location errors

@nbriggs got an error when (as I remember) parsing the OTHER font in the charlooks menu.  This was because of a missing BOUNDP check when trying to decide if the other font is a fontclass.

Separately, the caret appeared in the wrong place if a field insert was the first interaction with a menu.

* Remove redundant binding
2024-04-20 22:55:53 -07:00
rmkaplan
0f8652e15b TEDIT-HCPY set X position after image object
Addresses issue #1667
2024-04-19 09:50:39 -07:00
rmkaplan
f4fd00f8b8 Systematically renamed internal Tedit files with \TEDIT
This includes some files in lispusers that are not in the Tedit core but had references to Tedit internal functions (TMAX, DOC-OBJECTS and some others) that have been renamed. (I hope to clean out those internal references, at some point.)

A few additional changes are here to track the changes that were recently made in the unrenamed master branch.  Going forward, I want to make future changes in this branch.

Eventual plan is to introduce a Tedit package and do another systematic renaming of all \TEDIT.xxx functions to TEDIT::xxx, this is a first step.

This does not yet include a backward-compatibility mapping of oldnames to newnames, as was discussed in the technical meeting.
2024-04-01 20:49:06 -07:00
Larry Masinter
9b82f1a7c2
lmm57 interrupts clipboard wheelscroll (#1634)
* Changes to interrupt initialization for CLIPBOARD and WHEELSCROLL

* fixed initialization
2024-04-01 15:18:40 -07:00
rmkaplan
8df2418f97
On-demand UNICODE with READBOM, new .TEDIT, and small 2-way run-time mapping tables (#1620)
Replaces PR rmk105--UNICODE-on-demand
2024-04-01 15:03:45 -07:00
rmkaplan
fa39f9ec5d Address issue #1635 2024-03-31 23:52:13 -07:00
Frank Halasz
6cbacf754b Merge branch 'master' into rmk114--Add-TEDIT.XYTOCH-for-Notecards 2024-03-25 11:26:53 -07:00