diff --git a/spec/git-spec.coffee b/spec/git-spec.coffee index 4893dbfd1..827643197 100644 --- a/spec/git-spec.coffee +++ b/spec/git-spec.coffee @@ -257,7 +257,8 @@ describe "Git", -> it "subscribes to all the serialized buffers in the project", -> project.openSync('sample.js') - project2 = deserialize(project.serialize()) + #TODO Replace with atom.replicate().project when Atom is a telepath model + project2 = atom.replicate().get('project') buffer = project2.getBuffers()[0] waitsFor -> diff --git a/src/atom.coffee b/src/atom.coffee index 7ae64877a..3d6aa7029 100644 --- a/src/atom.coffee +++ b/src/atom.coffee @@ -317,6 +317,10 @@ class Atom else @windowState + # Private: Returns a replicated copy of the current state. + replicate: -> + @windowState.replicate() + crashMainProcess: -> remote.process.crash() diff --git a/src/git.coffee b/src/git.coffee index c9f64eed9..00528af5e 100644 --- a/src/git.coffee +++ b/src/git.coffee @@ -71,8 +71,7 @@ class Git @refreshStatus() if project? - @subscribeToBuffer(buffer) for buffer in project.getBuffers() - @subscribe project, 'buffer-created', (buffer) => @subscribeToBuffer(buffer) + @subscribe project.buffers.onEach (buffer) => @subscribeToBuffer(buffer) # Private: Subscribes to buffer events. subscribeToBuffer: (buffer) -> diff --git a/src/text-buffer.coffee b/src/text-buffer.coffee index 49997859e..4b9c2dd0e 100644 --- a/src/text-buffer.coffee +++ b/src/text-buffer.coffee @@ -34,6 +34,11 @@ class TextBuffer extends Model file: null refcount: 0 + constructor: -> + super + + @loadWhenAttached = @getState()? + # Private: Called by telepath attached: -> @loaded = false @@ -45,6 +50,8 @@ class TextBuffer extends Model @setPath(@filePath) + @load() if @loadWhenAttached + # Private: Called by telepath beforePersistence: -> @modifiedWhenLastPersisted = @isModified()