🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.emacs.bug
Article #98766

VMS file i/o errors---protection mode related

#98766
From: Roland Roberts
Date: Tue, 09 Apr 1991 21:18
96 lines
3877 bytes
I've encountered a couple of problems with file i/o on emacs
under VMS.  The problems occur during saving or auto-saving and
are related to protection modes.

I'm using Emacs 18.57 under VAX/VMS 5.1

NB: file protection is read as (system,owner,group,world), and I
am the owner of the files in the examples.


First problem:  if a file is protected against deletion, but not
writing, i.e.,

	$ dir yow.el/size/prot
	Directory DISK$USER1:[RBR4.EMACS.LISP]
	YOW.EL;1                  6  (RE,REW,RE,RE)
	Total of 1 files, 6 blocks.

then emacs reads in the file fine, and auto-saves are
correctly generated.  The problem comes when you try to save the
file.  I get the following message:

	IO error writing DISK$USER1:[RBR4.EMACS.LISP]YOW.EL: unknown error

I'm not yet sure as to the cause of this, but suspect something
with VAX C's emulation of unix modes.  Creating a file with write
privilege implies delete privilege, but here is a file that has
only write access.

The auto-save is not removed, it is left with the same
protection as the original.

	$ dir *yow.el*/size/prot
	Directory DISK$USER1:[RBR4.EMACS.LISP]
	YOW.EL;1                  6  (RE,REW,RE,RE)
	YOW.ELC;1                 3  (RE,REW,RE,RE)
	_$YOW.EL$;1               6  (RE,REW,RE,RE)
	Total of 3 files, 15 blocks.

Additionally there is an emergency save file $$save$$xxxxxx
written.



Second problem:  if the file is protected against both write and
delete, i.e.,

	$ dir yow.el/size/prot
	Directory DISK$USER1:[RBR4.EMACS.LISP]
	YOW.EL;1                  6  (RE,RE,RE,RE)
	Total of 1 files, 6 blocks.

then I get a message when auto-saving

	Auto-saving...error!for yow.el
	Auto-saving...done.

The result is:

	$ dir _$yow.el$/size/prot
	Directory DISK$USER1:[RBR4.EMACS.LISP]
	YOW.ELC;1                 0  (RE,RE,RE,RE)
	Total of 1 file, 0 blocks.

I think a more resonable behavior would be to change the
protection and write the auto-save file (if the directory
protection allows it).

If I now try to save the file I am prompted

	File yow.el is write-protected ; try to save anyway? (yes or no)

Answering yes results in the file being successfully saved, but
the auto-save file is not removed and the protection of the
previous version has been screwed up while the current version
has the same mode as the previous on had.

	$ dir *yow.el*/size/prot
	Directory DISK$USER1:[RBR4.EMACS.LISP]
	YOW.EL;2                  6  (RE,RE,RE,RE)
	YOW.EL;1                  6  (RWED,RWED,RWED,RWED)
	YOW.ELC;1                 3  (RE,RE,RE,RE)
	_$YOW.EL$;1               6  (RE,RE,RE,RE)
	Total of 4 files, 21 blocks.

This is definitely not a desirable state of affairs on VMS.  I
had started out with protected files to allow me to use the purge
command while keeping the originals.  Emacs unprotects the
originals and protects the modified versions.

roland
-- 
Roland Roberts,  University of Rochester   BITNET: roberts@uornsrl
  Nuclear Structure Research Lab         INTERNET: rbr4@uhura.cc.rochester.edu
  271 East River Road                        UUCP: rochester!ur-cc!rbr4
  Rochester, NY  14267                       AT&T: (716) 275-8962
Technical Details
Message-ID: <13295@ur-cc.UUCP>
Path: arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!dg-rtp!rock.concert.net!mcnc!gatech!usenet.ins.cwru.edu!tut.cis.ohio-state.edu!unreplyable!garbage

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: fb2f1,38d1b1e8dc69778f,start
X-Google-Attributes: gidfb2f1,public
X-Google-ArrivalTime: 1991-04-09 14:18:42 PST
Path: arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!dg-rtp!rock.concert.net!mcnc!gatech!usenet.ins.cwru.edu!tut.cis.ohio-state.edu!unreplyable!garbage
From: rbr4@UHURA.CC.ROCHESTER.EDU (Roland Roberts)
Newsgroups: gnu.emacs.bug
Subject: VMS file i/o errors---protection mode related
Message-ID: <13295@ur-cc.UUCP>
Date: 9 Apr 91 21:18:42 GMT
Sender: daemon@tut.cis.ohio-state.edu
Distribution: gnu
Organization: University of Rochester, Rochester NY
Lines: 96
Approved: bug-gnu-emacs@prep.ai.mit.edu