From tomas.kalibera at gmail.com  Thu Feb  8 15:18:15 2018
From: tomas.kalibera at gmail.com (Tomas Kalibera)
Date: Thu, 8 Feb 2018 15:18:15 +0100
Subject: [Rd] saveRDS() overwrites file when object is not found
In-Reply-To: <CAPekMC=7FrMGEzm7G_9r7JRTdQd23UTPjb9q7Vkx0dPoW1LhjQ@mail.gmail.com>
References: <CAPekMC=7FrMGEzm7G_9r7JRTdQd23UTPjb9q7Vkx0dPoW1LhjQ@mail.gmail.com>
Message-ID: <e5d19adf-49f6-c6d8-ba0d-6fb5efae6890@gmail.com>

Thanks, this has been already reported as bug 17358. Addressed in 
R-devel 74238. R may still create a corrupt file, though, in other 
circumstances (e.g. if it runs out of memory or is interrupted during 
serialization, etc).

Tomas

On 02/07/2018 04:14 PM, Kenny Bell wrote:
> I ran into this behaviour when accidentally running a line of code that I
> shouldn't have.
>
> When saving over an rds with an object that's not found, I would have
> expected saveRDS to not touch the file.
>
> saveRDS(iris, "test.rds")
> file.size("test.rds")
> #> [1] 1080
> saveRDS(no_object_here, "test.rds")
> #> Error in saveRDS(no_object_here, "test.rds"): object 'no_object_here'
> not found
> file.size("test.rds")
> #> [1] 20
> file.remove("test.rds")
>
> 	[[alternative HTML version deleted]]
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel



[Rd] saveRDS() overwrites file when object is not found
Tomas Kalibera