@@ -698,6 +698,9 @@ set_init_1(int clean_arg)
698698 curbuf -> b_p_initialized = TRUE;
699699 curbuf -> b_p_ac = -1 ;
700700 curbuf -> b_p_ar = -1 ; // no local 'autoread' value
701+ #ifdef HAVE_FSYNC
702+ curbuf -> b_p_fs = -1 ; // no local 'fsync' value
703+ #endif
701704 curbuf -> b_p_ul = NO_LOCAL_UNDOLEVEL ;
702705 check_buf_options (curbuf );
703706 check_win_options (curwin );
@@ -2216,6 +2219,10 @@ do_set_option_bool(
22162219 value = -1 ;
22172220 else if ((int * )varp == & curbuf -> b_p_ac && opt_flags == OPT_LOCAL )
22182221 value = -1 ;
2222+ #ifdef HAVE_FSYNC
2223+ else if ((int * )varp == & curbuf -> b_p_fs && opt_flags == OPT_LOCAL )
2224+ value = -1 ;
2225+ #endif
22192226 else
22202227 value = * (int * )get_varp_scope (& (options [opt_idx ]), OPT_GLOBAL );
22212228 }
@@ -6479,6 +6486,11 @@ unset_global_local_option(char_u *name, void *from)
64796486 case PV_AR :
64806487 buf -> b_p_ar = -1 ;
64816488 break ;
6489+ #ifdef HAVE_FSYNC
6490+ case PV_FS :
6491+ buf -> b_p_fs = -1 ;
6492+ break ;
6493+ #endif
64826494 case PV_BKC :
64836495 clear_string_option (& buf -> b_p_bkc );
64846496 buf -> b_bkc_flags = 0 ;
@@ -6613,6 +6625,9 @@ get_varp_scope(struct vimoption *p, int scope)
66136625 switch ((int )p -> indir )
66146626 {
66156627 case PV_FP : return (char_u * )& (curbuf -> b_p_fp );
6628+ #ifdef HAVE_FSYNC
6629+ case PV_FS : return (char_u * )& (curbuf -> b_p_fs );
6630+ #endif
66166631#ifdef FEAT_EVAL
66176632 case PV_FFU : return (char_u * )& (curbuf -> b_p_ffu );
66186633#endif
@@ -6737,6 +6752,10 @@ get_varp(struct vimoption *p)
67376752#endif
67386753 case PV_FP : return * curbuf -> b_p_fp != NUL
67396754 ? (char_u * )& (curbuf -> b_p_fp ) : p -> var ;
6755+ #ifdef HAVE_FSYNC
6756+ case PV_FS : return curbuf -> b_p_fs >= 0
6757+ ? (char_u * )& (curbuf -> b_p_fs ) : p -> var ;
6758+ #endif
67406759#ifdef FEAT_EVAL
67416760 case PV_FFU : return * curbuf -> b_p_ffu != NUL
67426761 ? (char_u * )& (curbuf -> b_p_ffu ) : p -> var ;
@@ -7540,6 +7559,9 @@ buf_copy_options(buf_T *buf, int flags)
75407559 // are not copied, start using the global value
75417560 buf -> b_p_ac = -1 ;
75427561 buf -> b_p_ar = -1 ;
7562+ #ifdef HAVE_FSYNC
7563+ buf -> b_p_fs = -1 ;
7564+ #endif
75437565 buf -> b_p_ul = NO_LOCAL_UNDOLEVEL ;
75447566 buf -> b_p_bkc = empty_option ;
75457567 buf -> b_bkc_flags = 0 ;
0 commit comments