mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-27 10:54:40 +00:00
Avoid unnecessary failures of auto-saving after fatal error
* src/w32.c (map_w32_filename): Avoid non-trivial system calls for the benefit of FAT volumes if we are called as part of shutting down due to a fatal error, which probably means we are trying to auto-save the session. * src/lread.c (check_obarray): Don't bother making the obarray valid if we are shutting down due to a fatal error. This avoids interfering with auto-saving the crashed session.
This commit is contained in:
parent
eef6784ea4
commit
200675299e
@ -3720,7 +3720,11 @@ static size_t oblookup_last_bucket_number;
|
||||
Lisp_Object
|
||||
check_obarray (Lisp_Object obarray)
|
||||
{
|
||||
if (!VECTORP (obarray) || ASIZE (obarray) == 0)
|
||||
/* We don't want to signal a wrong-type-argument error when we are
|
||||
shutting down due to a fatal error, and we don't want to hit
|
||||
assertions in VECTORP and ASIZE if the fatal error was during GC. */
|
||||
if (!fatal_error_in_progress
|
||||
&& (!VECTORP (obarray) || ASIZE (obarray) == 0))
|
||||
{
|
||||
/* If Vobarray is now invalid, force it to be valid. */
|
||||
if (EQ (Vobarray, obarray)) Vobarray = initial_obarray;
|
||||
|
@ -3210,7 +3210,8 @@ map_w32_filename (const char * name, const char ** pPath)
|
||||
return shortname;
|
||||
}
|
||||
|
||||
if (is_fat_volume (name, (const char **)&path)) /* truncate to 8.3 */
|
||||
if (!fatal_error_in_progress /* disable fancy processing during crash */
|
||||
&& is_fat_volume (name, (const char **)&path)) /* truncate to 8.3 */
|
||||
{
|
||||
register int left = 8; /* maximum number of chars in part */
|
||||
register int extn = 0; /* extension added? */
|
||||
|
Loading…
Reference in New Issue
Block a user