       return false unless @promptToSaveItem(item)
     true
 
-  handleSaveError: (error) ->
+  handleSaveError: (error, paneItem) ->
+    itemPath = error.path ? paneItem.getPath?()
+    addWarningWithPath = (message, options) ->
+      message = "#{message} '#{itemPath}'" if itemPath
+      atom.notifications.addWarning(message, options)
+
     if error.code is 'EISDIR' or error.message?.endsWith?('is a directory')
       atom.notifications.addWarning("Unable to save file: #{error.message}")
-    else if error.code is 'EACCES' and error.path?
-      atom.notifications.addWarning("Unable to save file: Permission denied '#{error.path}'")
-    else if error.code in ['EPERM', 'EBUSY', 'UNKNOWN', 'EEXIST'] and error.path?
-      atom.notifications.addWarning("Unable to save file '#{error.path}'", detail: error.message)
-    else if error.code is 'EROFS' and error.path?
-      atom.notifications.addWarning("Unable to save file: Read-only file system '#{error.path}'")
-    else if error.code is 'ENOSPC' and error.path?
-      atom.notifications.addWarning("Unable to save file: No space left on device '#{error.path}'")
-    else if error.code is 'ENXIO' and error.path?
-      atom.notifications.addWarning("Unable to save file: No such device or address '#{error.path}'")
+    else if error.code is 'EACCES'
+      addWarningWithPath('Unable to save file: Permission denied')
+    else if error.code in ['EPERM', 'EBUSY', 'UNKNOWN', 'EEXIST']
+      addWarningWithPath('Unable to save file', detail: error.message)
+    else if error.code is 'EROFS'
+      addWarningWithPath('Unable to save file: Read-only file system')
+    else if error.code is 'ENOSPC'
+      addWarningWithPath('Unable to save file: No space left on device')
+    else if error.code is 'ENXIO'
+      addWarningWithPath('Unable to save file: No such device or address')
     else if errorMatch = /ENOTDIR, not a directory '([^']+)'/.exec(error.message)
       fileName = errorMatch[1]
       atom.notifications.addWarning("Unable to save file: A directory in the path '#{fileName}' could not be written to")

      try
        item.saveAs(newItemPath)
      catch error
        @handleSaveError(error)
      nextAction?()

  # Public: Save all items.

      try
        item.save?()
      catch error
        @handleSaveError(error, item)
      nextAction?()
    else
      @saveItemAs(item, nextAction)
