     if @updated
       @updated = false
       publicMessages = []
-      @messages.forEach (messages) -> publicMessages = publicMessages.concat(messages)
+      @linterResponses.forEach (messages) -> publicMessages = publicMessages.concat(messages)
       @editorMessages.forEach (linters) -> linters.forEach (messages) ->
         publicMessages = publicMessages.concat(messages)
       @publicMessages = publicMessages.sort (a, b) ->

    return @emitter.on('did-update-messages', callback)

  deleteMessages: (linter) ->
    if @messages.has(linter)
      @updated = true
      @messages.delete(linter)

  deleteEditorMessages: (editor) ->
    if @editorMessages.has(editor)

  set: ({linter, messages, editor}) ->
    try validate.messages(messages) catch e then return helpers.error(e)
    if linter.scope is 'project'
      @linterResponses.set(linter, messages)
    else
      throw new Error("Given editor isn't really an editor") unless editor instanceof TextEditor
      if not @editorMessages.has(editor) then @editorMessages.set(editor, new Map())
