mirror of
https://github.com/PDP-10/its.git
synced 2026-01-11 23:53:12 +00:00
Build EMACS; [RMAI] 146 from RMAILX and RMAILY in EMACS1.
This commit is contained in:
parent
27e2c436e2
commit
52af06f3aa
Binary file not shown.
@ -302,6 +302,7 @@ respond ":EJ" "\033xgenerate\033emacs;modlin\033emacs1;modlin\r"
|
||||
respond ":EJ" "\033xgenerate\033emacs;muddle\033emacs1;muddle\r"
|
||||
respond ":EJ" "\033xgenerate\033emacs;page\033emacs1;page\r"
|
||||
respond ":EJ" "\033xgenerate\033emacs;pictur\033emacs1;pictur\r"
|
||||
respond ":EJ" "\033xgenerate\033emacs;\[rmai\]\033emacs1;rmailx\033rmailz\r"
|
||||
respond ":EJ" "\033xgenerate\033emacs;scribe\033emacs1;scribe\r"
|
||||
respond ":EJ" "\033xgenerate\033emacs;scrlin\033emacs1;scrlin\r"
|
||||
respond ":EJ" "\033xgenerate\033emacs;slowly\033emacs1;slowly\r"
|
||||
@ -321,6 +322,8 @@ respond ":EJ" "\033xrun\033einit\033? Document\r"
|
||||
respond "\n" "\030\003"
|
||||
respond "*" ":kill\r"
|
||||
|
||||
respond "*" ":rename emacs;\[rmai\] \021:ej, emacs;\[rmai\] 146\r"
|
||||
|
||||
respond "*" ":link teach;teach emacs,emacs;teach emacs\r"
|
||||
type ":vk\r"
|
||||
respond "*" "teach\033\023"
|
||||
|
||||
BIN
src/emacs1/rmailx.1
Executable file
BIN
src/emacs1/rmailx.1
Executable file
Binary file not shown.
164
src/emacs1/rmailz.57
Normal file
164
src/emacs1/rmailz.57
Normal file
@ -0,0 +1,164 @@
|
||||
!* -*-TECO-*- *!
|
||||
|
||||
!& RMAIL Command String:! !S Processes an RMAIL command string.!
|
||||
|
||||
!* QREG USAGE IN RMAILZ (NOTHING IS ASSUMED AT ENTRY):
|
||||
Q0 IS A BUFFER HOLDING THE COMMAND STRING FROM DDT, PERHAPS CANONICALIZED,
|
||||
OR SOME FINAL SEGMENT OF IT.
|
||||
Q1 IS A BUFFER HOLDING THE NAMES OF ALL EXISTING SLASHIFIED
|
||||
FILES THAT HAVE BEEN FOUND SO FAR, AND THE NAME OF THE RMAIL
|
||||
FILE IF ENCOUNTERED, WHETHER EXISTING OR NOT; ONE FILENAME
|
||||
PER LINE, WITH THE RMAIL FILE LAST.
|
||||
Q2 IS THE UPPERMOST BUFFER. IT HOLDS THE CONCATENATED CONTENTS
|
||||
OF ALL THE FILES READ SO FAR.
|
||||
Q7 IS INITIALLY 0; WHEN RMAIL FILE SEEN, ITS FILENAME (DEFAULTED)
|
||||
IS PUT IN Q7.
|
||||
QA HOLDS THE DEFAULT SNAME (A STRING).
|
||||
QB HOLDS THE DEFAULT UNAME (A STRING).
|
||||
QE IS 1 IFF THERE IS AN RMAIL FILE, ELSE 0. SET UP BEFORE THE
|
||||
MAIL SCAN OF THE COMMAND LINE.
|
||||
QF IS A TEMP.
|
||||
QG IS THE CHARACTER THAT TERMINATED THE SPEC FOR THE FILE BEING PROCESSED.
|
||||
QR IS A LOCAL SUBROUTINE THAT READS IN ONE FILE.
|
||||
|
||||
ALL ARE LOCALLY BOUND, EXCEPT QA, QB, Q7, WHICH ARE USEFUL VALUES ON RETURN.
|
||||
ON EXIT, POINT IS LEFT AT THE FIRST MESSAGE OF NEW MAIL.
|
||||
!
|
||||
|
||||
!* WHEN RMAILZ IS CALLED, THE BUFFER SHOULD CONTAIN
|
||||
<DESIRED DEFAULT SNAME> AS THE FIRST LINE
|
||||
<DESIRED UNAME> AS THE SECOND LINE
|
||||
<COMMAND STRING> AS THE THIRD LINE
|
||||
!
|
||||
|
||||
[0[1[2 0[E [F[G[R 0U7
|
||||
1F[FNAMSY
|
||||
J:XA K !* Initial SNAME in QA.!
|
||||
:XB K !* Desired UNAME in QB; buffer has just the command string.!
|
||||
J @F_K !* Delete leading spaces of command, so blank is null.!
|
||||
ZJ -@F
|
||||
K !* Delete any trailing CRLF.!
|
||||
Z"E I/' !* Null command same as "/" !
|
||||
J I_ !* Put one space at front, so a leading "/" will be found properly.!
|
||||
ZJ 0A-$"E -DI' !* Trailing $ same as , since is hard with MM RMAIL.!
|
||||
0A-33."E 1UE' !* Set QE if there is an RMAIL file.!
|
||||
15.I !* Put CR at end to stop search.!
|
||||
HFX0 !* Save away munged command string.!
|
||||
Q..OU2 !* We will use this buffer for the mail files themselves.!
|
||||
FS BCREATEW Q..OU1 !* Get another buffer for the list of all files found (Q1).!
|
||||
32I -D !* Make some room; we are going to insert stuff later.!
|
||||
FS BCREATEW !* Get a buffer to hold command string, which we copy in.!
|
||||
G0 J Q..OU0
|
||||
ETDSK:A;B_MAIL !* Default name for newmail files.!
|
||||
|
||||
@:IR` !* MR reads in a file.!
|
||||
!* 1MR means read a MAIL file.!
|
||||
!* If file exists, put name in Q1 and rename to OMAIL.!
|
||||
!* -MR reads in RMAIL file.!
|
||||
[..O
|
||||
1:< ER>[F !* Does file exist? !
|
||||
"L FS D FILEU7' !* RMAIL file name goes in Q7 whether exists or not.!
|
||||
QF"N ' !* That's all we do if file doesn't exist.!
|
||||
QE"N "G !* If in update mode, any existing /'d files!
|
||||
EN_OMAIL !* get renamed to "OMAIL",!
|
||||
Q1U..O ZJ G(FS D FILE) I
|
||||
'' !* and their names are put into Q1.!
|
||||
|
||||
!* HAVE STORED NAMES IF REQD, NOW READ IN FILE (NO-OP IF NOT FOUND).!
|
||||
Q2U..O J
|
||||
:"L @A ' !* NEWMAIL FILES JUST ADD AT END!
|
||||
FS UREAD"N !* RMAIL FILE MAY GO AT BEGINNING OR END.!
|
||||
.,( 10FY .)FXF !* WHICH ONE? IF IT STARTS WITH *APPEND*, PUT AT FRONT.!
|
||||
0FSIFACCESS !* UNDO SIDE EFFECT OF FY.!
|
||||
F~F *APPEND*
|
||||
"E J ZFSVZW @A ZJ 0FSVZW'
|
||||
"# @A J''
|
||||
`
|
||||
|
||||
!LP!
|
||||
S,/î !* SEARCH FOR END OF NEXT FILENAME!
|
||||
0A-33."E !* TERMINATED BY ALTMODE =>!
|
||||
ET_RMAIL !* USE SPECIAL RMAIL DEFAULT NAME!
|
||||
.,ZK ' !* IGNORE REST OF COMMAND LINE!
|
||||
0AUG -D
|
||||
0,.FXF ETF !* Delete filespec, set default filenames.!
|
||||
QG-/"E F[D FILE E?_OMAIL"E MR ED' !* "/" => this is a mail file. Read in and delete any omail file.!
|
||||
F]DFILE 1MR' !* Read in mail file, renaming to omail, and delete later.!
|
||||
"# QG-33."E -'MR' !* ELSE THIS IS ORDINARY NEWMAIL, OR RMAIL FILE.!
|
||||
Z-B-1"G OLP' !* READ ANOTHER FILESPEC IF THERE IS ONE!
|
||||
Q2U..O !* ELSE SWITCH TO FILE CONTENTS!
|
||||
QE"E J' !* In peruse mode, always start at first message.!
|
||||
FQ1"E 0UE' !* No newmail files found => no need for autodelete.!
|
||||
QE"N !* Else if in edit mode write out RMAIL file.!
|
||||
ET7 EI HP EF !* Write out updated RMAIL file,!
|
||||
Q1U..O J !* and then delete the renamed newmail files.!
|
||||
<-Z; :XF K ETF 1:<ED_OMAIL>>'
|
||||
Q2U..O 0FSMODIFIED !* What we have in core is identical to the file,!
|
||||
!* so no need to write out if no more changes.!
|
||||
0U:.B(QBuffer_Index+8) !* Say we don't know date of last RMAIL file.!
|
||||
Q1FSBKILL Q0FSBKILL
|
||||
|
||||
|
||||
!& RMAIL Enter:! !RMAIL Enter:! !<ENTRY>:! !C Mail file editor subsystem (entry from within TECO).!
|
||||
|
||||
F[S STRING F[D FILE [Previous_Buffer 1F[^R MORE
|
||||
QBuffer_Name[4 FN M(M.M Select_Buffer) 4 [4
|
||||
!* Push the current buffer.!
|
||||
M(M.M Select_Buffer) *RMAIL* !* Select RMAIL's own buffer.!
|
||||
FSZ"E !* If buffer is new,!
|
||||
M(M.M TEXT_MODE) !* initialize its mode!
|
||||
FSHSNAMEF6 I
|
||||
FSXUNAMEF6 I
|
||||
|
||||
M(M.M &_RMAIL_INITIALIZE)' !* and load in the files.!
|
||||
[2
|
||||
FS ^R MODE"N Q2,:M(M.M&_RMAIL_EXECUTE_OPTIONS)'
|
||||
!* RMAIL expects to be inside a ^R. If that isn't so, we must call
|
||||
a ^R, after arranging for the ^R to call RMAIL EXECUTE OPTIONS.!
|
||||
FS ^R ENTER[1
|
||||
:I* Q1 F[^R ENTER
|
||||
Q2,M(M.M&_RMAIL_EXECUTE_OPTIONS)
|
||||
FS ^R EXIT
|
||||
F[^R ENTER
|
||||
|
||||
|
||||
|
||||
!& RMAIL Stand-alone Entry:! !S Subroutine for ..L for a stand-alone RMAIL EJ file.!
|
||||
|
||||
[..P @:I..P`
|
||||
FS ERROR:@FG :KILL_` !* AN ERROR WRITING FILES, ETC SHOULD KILL JOB.!
|
||||
M(M.M TEXT_MODE)
|
||||
9 FS ^R INIT UI
|
||||
1FS ^R MORE
|
||||
|
||||
FSRGETTY"E
|
||||
2 1FSTTMOD' !* WIN ON PRINTING CONSOLES!
|
||||
"# 2FSECHOLINES'
|
||||
HK FS HSNAMEF6 I !* GET DEFAULT SNAME AND USER NAME.!
|
||||
FS XUNAMEF6 I
|
||||
|
||||
FJ
|
||||
FS TTYOPT&11000000000.-11000000000."E !* ^H AND ^M SHOULD DISPLAY AS !
|
||||
-1FS^HPRINTW -1FS^MPRINTW ' !* OVERPRINTING ONLY IF TERMINAL CAN!
|
||||
|
||||
M(M.M &_RMAIL_INITIALIZE)
|
||||
FS HSNAME FS D SNAME
|
||||
ETDSK:FOO_> !* GIVE DEFAULT FILENAME REASONABLE VALUE!
|
||||
|
||||
|
||||
!& RMAIL Initialize:! !S Process RMAIL command string, set up qregs for RMAIL.!
|
||||
|
||||
[A[B [7
|
||||
|
||||
M(M.M&_RMAIL_COMMAND_STRING) !* READ IN THE FILES.!
|
||||
.-Z"E .-B"N -:S'' !* APPEND MODE, IF NO NEWMAIL BUT SOME OLD, SHOW NEWEST OLD!
|
||||
M(M.M &_RMAIL_Select) !* SELECT THE MESSAGE THE CURSOR IS IN.!
|
||||
Q7 UBuffer_Filenames !* Say this buffer is visiting the RMAIL file if any.!
|
||||
Q7 U:.B(QBuffer_Index+2)
|
||||
0FO..Q RMAIL_O_Filename"E !* IF RMAIL'S VARIABLES DON'T EXIST, MAKE THEM.!
|
||||
:I*DSK:A;B_XMAIL M.V RMAIL_O_Filename' !* SET DEFAULTS FOR O OPTION.!
|
||||
0FO..Q RMAIL_F_Default"E
|
||||
:I* M.V RMAIL_F_Default'
|
||||
0FO..Q RMAIL_Deletions"E
|
||||
FS B CONS M.V RMAIL_Deletions'
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user