     _save_to_disk: () =>
         path = @get_path()
         dbg = @dbg("_save_to_disk('#{path}')")
+        if not path?
+            # not yet initialized
+            return
         if not path
             @_set_save(state:'done', error:'cannot save without path')
             return

            project_id : undefined
            path       : undefined
            save_interval : undefined
            default    : ''
        super
            string_id  : opts.id
            client     : opts.client
            project_id : opts.project_id
            path       : opts.path
            save_interval : opts.save_interval
            doc        : new StringDocument(opts.default)



        @_patch_list.show_history(opts)

    get_path: =>
        return @_syncstring_table.get_one()?.get('path')

    get_project_id: =>
        return @_syncstring_table.get_one()?.get('project_id')

    set_path: (path) =>
        @_syncstring_table.set(@_syncstring_table.get_one().set('path',path))
