Number: 73

Date: 17-Mar-84  0':07':50

Submitter: roach.PA


Subject: (see also 1314)Propose OPENSTREAM allow RECOG = EXACT

Assigned To: 

Attn: Kaplan, Roach, Lisp

Status: Open


Problem Type: Design - UI

Impact: Moderate


Frequency: Everytime

Priority: Perhaps

System: Operating System

Subsystem: Generic File Operations



Lisp Version: 

Source Files: FILEIO

Microcode Version: 

Memory Size: 

File Server: 

Server Software Version: 

Disposition: '
["Masinter" "11-Sep-84 17':45':24" Subject': Attn': Status':(Wish->Open)]

Description: '
I propose Interlisp allow RECOG = EXACT in OPENSTREAM'
to help get around 1 of the current 3 problems with Interlisp filenames.'
Specifically, being able to create filenames with mulitple/no "."''s & ";"''s'
as you might find in versionless files.  (The other two problems are'
numbers/T/NIL as filenames and uppercase/lowercase.)  RECOG = EXACT'
tells the device involved not to use UNPACKFILENAME or PACKFILENAME'
but to take the filename arg passed by the user literally without'
alteration (I will allow case coercion on this particular dimension,'
though I think it is a mistake).  Naturally, some devices will not be'
to free in their ability to create special filenames, and the user'
will get FILE WON''T OPEN errors.  But other devices, such as {FLOPPY}'
share media with other programming environments such as MESA and it'
is very common to have versionless files and other filenames that to'
Interlisp would appear to have litatom "version numbers" or to be'
utterly unparseable by UNPACKFILENAME.  It should also be mentioned'
that UNPACKFILENAME & ordinairy RECOGs are unable to distinguish filenames'
such as "FOO" & "FOO."  I believe my proposal deals effectively with'
these situations, allowing users in special instances to deal with'
special filenames (we all agree it is best to use ordinairy filenames'
when possible), without appearing to be kludgy.'
     Under this proposal, some functions may require additional'
arguments.  Example':'
Date': 31 Mar 84 13':40 PST'
Subject': Lisp': Manditory file versions'
Lisp-System-Date':  1-Mar-84 14':24':22'
Machine-Type': Dorado'
I would like to have a recognition mode (i.e. EXACT) that would allow me to specify a destination filename without version numbers.  Currently I can (and do) get screwed when hacking files on the alto or floppy filesystems.'
This is also true for file operations such as RENAME and COPY'
Date':  1-Apr-84  0':26':29 PST'
Subject': Re': Lisp': Manditory file versions'
In-reply-to':''s message of 31 Mar 84 13':40 PST'
Gumby, are you fronting for Roach here?'
What does EXACT possibly mean as a output recognition mode? Could you give a more precise specification?'
(No other system I know of has a feature like this, so I think it may be hard. If you know of one, getting us a copy of the appropriate pages of its reference manual would be useful.)'
Date':  1 Apr 84 22':01 PST'
Format': TEdit'
Subject': Re': Lisp': Manditory file versions'
In-reply-to': LISPAR.AUTO''s message of 1-Apr-84  0':26':29 PST'
	Gumby, are you fronting for Roach here?'
How did you guess?'
	What does EXACT possibly mean as a output recognition'
	mode? Could you give a more precise specification?'
What I mean is that if I open the file "FOO.BAR" I don''t want file "FOO.BAR!x" opened.  Versionless files are not only meaningful but necessary for some operations on {DSK} and {FLOPPY}.'
	(No other system I know of has a feature like this, so I'
	think it may be hard. If you know of one, getting us a'
	copy of the appropriate pages of its reference manual'
	would be useful.)'
Do you mean no other Interlisp system?  I know of a number of systems that support such a thing.  But in any case, a kluge would suffice for now, even if it''s not interlisp-y.'
Who is this, anyway?  Larry?'
Date':  2 APR 84 12':30 PST'
From': ROACH.PA'
Subject': AR453'
     More precisely, David''s problem is renaming {FLOPPY}lisp.sysout'
to another versionless file name.  RENAMEFILE is inadequate because it'
will always add a version number.  I have proposed a RECOG = EXACT in'
the past.  Under this proposal, a function like RENAMEFILE would take'
2 new args OLDRECOG & NEWRECOG':'
OLDRECOG & NEWRECOG will default to ''OLD & ''NEW, but the user could'
specify NEWRECOG = ''EXACT to get versionless filenames or any other'
filenames that should not go through PACKFILENAME/UNPACKFILENAME'
parsing.  I''ll probably be putting a version of FLOPPY.DCOM out on'
<LISPCORE>SOURCES> soon that will support RECOG = ''EXACT in its'
internal functions, so that the user could call an internal function'
like \PFLOPPY.RENAMEFILE with appropriate args, but clearly this isn''t'
going to become official.  I therefore punt this problem to FILEIO.'
	Attn ← Kaplan'
	Subsystem ← General file operations'
	Machine ← 1108'
	Source Files ← FILEIO'


Test Case: 

Edit-By: Masinter

Edit-Date: 11-Sep-84 17':45':25