]> git.lizzy.rs Git - micro.git/commitdiff
Fix issue with global/local settings
authorZachary Yedidia <zyedidia@gmail.com>
Wed, 12 Feb 2020 18:18:59 +0000 (13:18 -0500)
committerZachary Yedidia <zyedidia@gmail.com>
Wed, 12 Feb 2020 18:18:59 +0000 (13:18 -0500)
internal/buffer/buffer.go
internal/config/settings.go

index 1f761e975646c88dc38fdb0eac6113d53698b0f9..e7aec4a3d307e7ba725df6e7a2d508cdf93dba8a 100644 (file)
@@ -215,7 +215,8 @@ func NewBuffer(r io.Reader, size int64, path string, startcursor Loc, btype BufT
 
        b.Settings = config.DefaultCommonSettings()
        for k, v := range config.GlobalSettings {
-               if _, ok := b.Settings[k]; ok {
+               if _, ok := config.DefaultGlobalOnlySettings[k]; !ok {
+                       // make sure setting is not global-only
                        b.Settings[k] = v
                }
        }
@@ -425,6 +426,9 @@ func (b *Buffer) ReOpen() error {
        b.EventHandler.ApplyDiff(txt)
 
        err = b.UpdateModTime()
+       if !b.Settings["fastdirty"].(bool) {
+               calcHash(b, &b.origHash)
+       }
        b.isModified = false
        b.RelocateCursors()
        return err
index a9e8b70c0497ec3e154ac076ca022c862a360e84..4d82c9600cbbd4d21cda077ce5fac9eeee3cb985 100644 (file)
@@ -165,14 +165,14 @@ func RegisterGlobalOptionPlug(pl string, name string, defaultvalue interface{})
 // RegisterGlobalOption creates a new global-only option
 func RegisterGlobalOption(name string, defaultvalue interface{}) error {
        if v, ok := GlobalSettings[name]; !ok {
-               defaultGlobalSettings[name] = defaultvalue
+               DefaultGlobalOnlySettings[name] = defaultvalue
                GlobalSettings[name] = defaultvalue
                err := WriteSettings(filepath.Join(ConfigDir, "settings.json"))
                if err != nil {
                        return errors.New("Error writing settings.json file: " + err.Error())
                }
        } else {
-               defaultGlobalSettings[name] = v
+               DefaultGlobalOnlySettings[name] = v
        }
        return nil
 }
@@ -244,7 +244,7 @@ func DefaultCommonSettings() map[string]interface{} {
 
 // a list of settings that should only be globally modified and their
 // default values
-var defaultGlobalSettings = map[string]interface{}{
+var DefaultGlobalOnlySettings = map[string]interface{}{
        "autosave":       float64(0),
        "colorscheme":    "default",
        "infobar":        true,
@@ -270,7 +270,7 @@ func DefaultGlobalSettings() map[string]interface{} {
        for k, v := range defaultCommonSettings {
                globalsettings[k] = v
        }
-       for k, v := range defaultGlobalSettings {
+       for k, v := range DefaultGlobalOnlySettings {
                globalsettings[k] = v
        }
        return globalsettings
@@ -283,7 +283,7 @@ func DefaultAllSettings() map[string]interface{} {
        for k, v := range defaultCommonSettings {
                allsettings[k] = v
        }
-       for k, v := range defaultGlobalSettings {
+       for k, v := range DefaultGlobalOnlySettings {
                allsettings[k] = v
        }
        return allsettings