Number: 1332

Date:  4-Jun-84 15':41':59

Submitter: Sannella.PA

Source: MMODEL@BBNG.ARPA

Subject: File Package': FILECREATED calls NAMEFIELD with SUFFIXFLG=NIL instead of T

Assigned To: KAPLAN

Attn: 

Status: Fixed

In/By: 

Problem Type: Bug

Impact: Minor

Difficulty: Easy

Frequency: Intermittent

Priority: Perhaps

System: Programming Environment

Subsystem: File Package

Machine: 

Disk: 

Lisp Version: 

Source Files: 

Microcode Version: 

Memory Size: 

File Server: 

Server Software Version: 

Disposition: FILECREATED now calls ROOTFILENAME'
["masinter" "27-Aug-84 23':11':23" Assigned% To': Attn': Status':(Open->Fixed) Disposition':]

Description: '
Return-Path': <MMODEL@BBNG.ARPA>'
Received': from BBNG.ARPA by Xerox.ARPA ; 29 MAY 84 16':27':31 PDT'
Date': 29 May 84 18':49 EDT'
Sender': MMODEL@BBNG.ARPA'
Subject': ancient bug in the file package'
From': MMODEL@BBNG.ARPA'
To': LispSupport.PA'
Cc': Greenfeld@BBNG.ARPA'
Message-ID': <[BBNG.ARPA]29-May-84 18':49':47.MMODEL>'
'
This one has to be from at least 1976, I''d guess':'
'
NAMEFIELD is called from FILECREATED with SUFFIXFLG NIL;'
the flag should be T.  Here''s the sequence that shows the problem':'
'
	Load a file with an extension other than COMPILE.EXT, e.g. INIT.LISP.'
'
	Make a sysout.'
'
	Make some changes to the file.'
'
	Start the sysout.'
'
	Load the file.'
'
	Make some changes and try to do MAKEFILE -- it will complain'
that a more recent version has appeared.'
'
The problem is that FILECREATED puts the FILEDATES on the NAME.'
The reason this isn''t a problem the first time the file is made is that'
PUTFILEMAP (or something like that) puts the'
FILEDATES on NAME.EXT if it isn''t already there.  The second time the'
file is loaded, however, both NAME and NAME.EXT have FILEDATES properties.'
The new FILEDATES go to NAME, but the old one on NAME.EXT is not changed.'
'
Everything else in the File Package seems to go to NAME.EXT for properties;'
only FILECREATED is putting things on NAME only.'
'
I advised (NAMEFIELD IN FILECREATED) to do (SETQ SUFFIXFLG T) before,'
and everything has been running smoothly.'
'
(The reason I mention the SYSOUT steps in my description of the problem is'
that the more obvious sequences that involve MAKEFILES without starting'
fresh don''t cause problems, since under MAKEFILE, the new FILEDATES get put '
in the right place -- NAME.EXT.)'
'
	--- Mitchell'


Workaround: 

Test Case: 

Edit-By: masinter

Edit-Date: 27-Aug-84 23':11':25