-
-
Notifications
You must be signed in to change notification settings - Fork 29
Format implementation functions set a known variable *BYTECOUNTER* #402
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
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
|
it used to be we'd name special variables with \ or in the SI package or... |
|
I'm looking at `grep -ri '\inchar> .' to look for things you might have missed. There are some comments in JAPANESE. CLtL2 has of course older files stashed away. It would mitigate the risk to leave behind \INCHAR ... |
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.
masinter
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
typing
(DIRECTORY ?= and CR in older sysouts shows the DIRECTORY argument list.
In this update, it gives an invalid argument NIL
in a newly built sysout, but not the one that's checked in as part of the branch. |
|
This is in TTYIN, where it seems to be doing its own buffer management. Ugh.
… On Aug 10, 2021, at 9:39 AM, Nick Briggs ***@***.***> wrote:
typing
(DIRECTORY ?= and CR in older sysouts shows the DIRECTORY argument list.
In this update, it gives an invalid argument NIL
in a newly built sysout, but not the one that's checked in as part of the branch.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub <#402 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AQSTUJIGGTCGKX54W3FP5RTT4FI5NANCNFSM5BY5WUFA>.
|
Why does this have anything to do with TTYIN? |
|
Who knows? The problem seems to be a difference in what appears to be a private,clever simulation of the input buffer, just in the case of ?= as far as I can tell. It does use NODIRCORE to load the buffer into something that it can read, but the error happens before then.
Still looking.
… On Aug 10, 2021, at 2:57 PM, Larry Masinter ***@***.***> wrote:
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 (some other functions still do)
Why does this have anything to do with TTYIN?
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub <#402 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AQSTUJIMSISSDF2WTYS5K63T4GOEPANCNFSM5BY5WUFA>.
|
but still doesn't solve the (DIRECTORY ?= problem #402
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
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.
masinter
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wish you wouldn't change CONDs to CL:WHEN and CL:UNLESS in old code that isn't otherwise changing -- it makes the changes harder to review.
|
The parameter was in the wrong argument position, it was a noop.
… On Aug 14, 2021, at 10:23 AM, Larry Masinter ***@***.***> wrote:
@masinter approved this pull request.
I wish you wouldn't change CONDs to CL:WHEN and CL:UNLESS in old code that isn't otherwise changing -- it makes the changes harder to review.
In sources/TTYIN <#402 (comment)>:
> @@ -5600,12 +5600,10 @@ Copyright (c) 1982-1988, 1990-1991, 2021 by Venue & Xerox Corporation.
(TTYIN.SCRATCHFILE
[LAMBDA NIL
- (DECLARE (GLOBALVARS TTYINEDIT.SCRATCH)) (* lmm "14-Nov-86 17:05")
- [COND
- ([OR (NOT TTYINEDIT.SCRATCH)
- (NOT (OPENP TTYINEDIT.SCRATCH 'BOTH]
- (SETQ TTYINEDIT.SCRATCH (OPENSTREAM '{NODIRCORE} 'BOTH 'OLD/NEW NIL
- (CONSTANT (LIST (LIST 'ENDOFSTREAMOP (FUNCTION \TTYIN.RPEOF]
+ (DECLARE (GLOBALVARS TTYINEDIT.SCRATCH)) (* ; "Edited 13-Aug-2021 11:07 by rmk:")
+ (CL:UNLESS (AND TTYINEDIT.SCRATCH (OPENP TTYINEDIT.SCRATCH 'BOTH))
+ [SETQ TTYINEDIT.SCRATCH (OPENSTREAM '{NODIRCORE} 'BOTH 'OLD/NEW
+ (CONSTANT (LIST (LIST 'ENDOFSTREAMOP (FUNCTION \TTYIN.RPEOF])
I can't fathom how this code had anything that needed to change with the recent changes to how character/binary codes were default/special-cased.
I can't see what you changed there. And "COND" was more appropriate than "CL:UNLESS" for just syntactic change.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub <#402 (review)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AQSTUJOUXSIZ6EAJTG63VELT42RAZANCNFSM5BY5WUFA>.
|
) * 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.
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 (some other functions still do)