sublimehq / sublime_text

Issue tracker for Sublime Text
https://www.sublimetext.com
814 stars 40 forks source link

Hanging when adding several packages to the `ignored_packages` setting #2155

Open evandrocoan opened 6 years ago

evandrocoan commented 6 years ago

Summary

Adding several diverse not lightweight third part packages to the ignored_packages settings, causes Sublime Text to hang for long time.

Expected behavior

Not hang the Sublime Text User Interface (UI) when adding a lot of packages to ignored_packages setting.

Actual behavior

Hanging the Sublime Text User Interface (UI) when adding a lot of packages to ignored_packages setting.

Steps to reproduce

  1. Install a bunch of packages on Sublime Text, like 200 packages.
  2. Make sure everything is installed properly and any of them are on the ignored_packages setting.
  3. After restarting Sublime Text and fully loading all the packages, add them at once to the ignored_packages setting.

Environment


Related:

  1. https://github.com/SublimeTextIssues/Core/issues/1629 [Bug] More than 320 installed packages debugging
  2. https://github.com/SublimeTextIssues/Core/issues/1778 Crash on bulk Sublimehq packages move
  3. https://github.com/SublimeTextIssues/Core/issues/1957 Hang Sublime Text on startup
  4. https://github.com/SublimeTextIssues/Core/issues/2132https://github.com/SublimeTextIssues/Core/issues/2132 Randomly reverting back the ignored_packages setting on batch operations
keith-hall commented 6 years ago

I've experienced a delay of up to 10 seconds when saving a syntax definition before, while ST recreates the syntax graph (and this is with about 20 packages max) - it could be related if your packages you are ignoring contain syntaxes. What are the last few lines of the console output while the hang is happening?

evandrocoan commented 6 years ago

I also seemed to have a hang like yours (10 seconds) disabling about 140 packages. This is the console:

``` reloading settings Packages/User/Preferences.sublime-settings ignored packages updated to: ["Anaconda", "ApplySyntax", "BracketHighlighter", "BuildView", "C++ Completions", "C++ Qt Completions", "C++ Snippets", "CodeIntel", "ColorHelper", "DictionaryAutoComplete", "FileManager", "Find++", "Gist", "Git", "GitGutter", "GotoLastEditEnhanced", "Javatar", "JediPythonAutoCompletion", "LocalHistory", "MatlabCompletions", "MatlabFilenameAutoComplete", "MySQLSnippets", "ProjectSpecificSyntax", "ScopeAlways", "SublimeLinter-javac", "SyncedSideBar", "TypeScript", "Vintage", "WordHighlight", "0_settings_loader", "A File Icon", "AceJump", "ActiveViewJumpBack", "AddFolderToProject", "AdvancedCSV", "Alignment", "AlignTab", "AllAutocomplete", "AltUp", "Amxmodx", "AmxxChannel", "AmxxPawn", "Anaconda", "ANSIescape", "ApplySyntax", "AutoFileName", "AutomaticPackageReloader", "AutoRefresh", "AutoWrap", "BBCode", "BetterCoffeeScript", "BetterFindBuffer", "BracketHighlighter", "BufferScroll", "BuildView", "C++ Completions", "C++ Qt Completions", "C++ Snippets", "CaseConversion", "ChainOfCommand", "ChangeQuotes", "ChannelRepositoryTools", "ClearCursorsCarets", "ClickableURLs", "ClipboardScopeCopy", "CodeIntel", "Color Highlighter", "ColorHelper", "ColorSchemeEditor", "ColorSchemeUnit", "ColumnSelect", "CompareSideBySide", "ConvertToUTF8", "CopyFilepathWithLineNumbers", "CopyWithLineNumbersReloaded", "DefaultSyntax", "DeleteCurrentFile", "DictionaryAutoComplete", "DistractionFreeWindow", "DocBlockr", "Dotfiles", "DuplicateSelections", "EditPreferences", "Emmet", "ExpandRegion", "ExportHtml", "ExtendedTabSwitcher", "ExtractText", "FileDiffs", "FileHistory", "FileManager", "FileRename", "Find++", "FindKeyConflicts", "FixCommandPalette", "FixProjectSwitchRestartBug", "FixSelectionAfterIndent", "ForceRewriteSublimeSettings", "FuzzyFileNav", "FuzzyFilePath", "GenericConfig", "Gist", "Git", "GitGutter", "GitHubMarkdownSnippets", "Glue", "GoogleSpellCheck", "GotoLastEditEnhanced", "HighlightBuildErrors", "HighlightWords", "HorizontalScroll", "HungryBackspace", "Incrementor", "IncrementSelection", "IndentAndBraces", "IndentSize", "InsertNums", "InvertSelection", "Javatar", "JediPythonAutoCompletion", "JumpAlongIndent", "KeepPastedTextSelected", "Language - English and Portuguese", "LaTeXSmartQuotes", "LaTeXTools", "LaTeXWordCount", "LESS", "LineEndingsUnify", "LocalHistory", "MarkdownPreview", "MarkdownToBBCode", "MatlabCompletions", "MatlabFilenameAutoComplete", "Maven", "MaxPane", "MoveText", "MultiEditUtils", "MySQLSnippets", "Notepad++ Color Scheme", "NumberKing", "Octave", "OpenAutoCompletion", "Origami", "OverrideAudit", "OverrideCommitCompletion", "OverrideEditSettingsDefaultContents", "OverrideUnpackedPackages", "PackageDev", "PackageResourceViewer", "PackagesManager", "PathTranslator", "PostScript", "PowerCursors", "PrettyJSON", "ProjectSpecificSyntax", "PyV8", "QuickSettings", "RandomEverything", "REG", "ReIndent", "REPL", "RichPlainText", "SassSyntax", "ScopeAlways", "ScopeHunter", "SelectAll", "SelectAllSpellingErrors", "SelectUntil", "SemanticLineWrap", "SideBarEnhancements", "SideBySideSettings", "SQLExec", "SQLKeywordUppercase", "SQLTools", "StickySearch", "StudioChannel", "SublimeLinter", "SublimeLinter-javac", "SublimeTutorial", "Swift", "SyncedSideBar", "SyncViewScroll", "SyntaxManager", "TabsExtra", "TerminalShortcuts", "TextPastry", "ToggleWords", "TOML", "Trimmer", "TypeScript", "UncrustifySublimePlugin", "UnitTesting", "VBScript", "ViewSettingsFreely", "Whitespace", "WordCount", "WordHighlight", "WrapPlus", "X86Assembly", "zzz A File Icon zzz"] unloading plugin 0_settings_loader.install_package_control_extended reloading settings Packages/0_settings_loader/Preferences (Windows).sublime-settings font face "" could not be found, defaulting to "Consolas" reloading settings Packages/0_settings_loader/Preferences.sublime-settings Traceback (most recent call last): File "F:\SublimeText\Data\Packages\Color Highlighter\main.py", line 341, in _on_preferences_change ColorHighlighterPlugin.restart() File "F:\SublimeText\Data\Packages\Color Highlighter\main.py", line 347, in restart ColorHighlighterPlugin.init() File "F:\SublimeText\Data\Packages\Color Highlighter\main.py", line 319, in init ColorHighlighterPlugin._fake_color_scheme = ColorHighlighterPlugin.components.provide_fake_color_scheme() File "F:\SublimeText\Data\Packages\Color Highlighter\main.py", line 197, in provide_fake_color_scheme return self.provide_fake_color_scheme_data()[0] File "F:\SublimeText\Data\Packages\Color Highlighter\main.py", line 188, in provide_fake_color_scheme_data self._fake_color_scheme_data = parse_color_scheme(self.provide_color_scheme(), self._settings.debug) File "F:\SublimeText\Data\Packages\Color Highlighter\color_scheme.py", line 40, in parse_color_scheme color_scheme_content = load_resource.load_resource(color_scheme) File "F:\SublimeText\Data\Packages\Color Highlighter\load_resource.py", line 30, in load_resource return sublime.load_resource(file_path) File "F:\SublimeText\sublime.py", line 192, in load_resource raise IOError("resource not found") OSError: resource not found unloading plugin 0_settings_loader.synced_side_bar_watcher unloading plugin A File Icon.A File Icon reloading settings Packages/A File Icon/.sublime/A File Icon.sublime-settings unloading plugin AceJump.ace_jump reloading settings Packages/AceJump/AceJump.sublime-settings unloading plugin ActiveViewJumpBack.active_view_jump_back unloading plugin AddFolderToProject.AddFolderToProject reloading settings Packages/AdvancedCSV/AdvancedCSV.sublime-settings unloading plugin AdvancedCSV.csvplugin unloading plugin Alignment.Alignment reloading settings Packages/Alignment/CSS.sublime-settings reloading settings Packages/Alignment/JSON.sublime-settings reloading settings Packages/Alignment/Preferences.sublime-settings unloading plugin AlignTab.aligner unloading plugin AlignTab.aligntab unloading plugin AlignTab.hist unloading plugin AlignTab.parser unloading plugin AlignTab.table unloading plugin AlignTab.wclen reloading settings Packages/AllAutocomplete/All Autocomplete.sublime-settings unloading plugin AllAutocomplete.all_views_completions unloading plugin AltUp.run_multiple_commands reloading settings Packages/Amxmodx/AMXX-Console.sublime-settings reloading settings Packages/Amxmodx/amxx.sublime-settings unloading plugin Amxmodx.AMXXEditor unloading plugin AmxxChannel.commands unloading plugin AmxxChannel.fix_main_menus unloading plugin AmxxChannel.settings reloading settings Packages/AmxxPawn/AmxxPawn.sublime-settings unloading plugin ANSIescape.ansi reloading settings Packages/ANSIescape/ansi.sublime-settings unloading plugin AutoFileName.autofilename reloading settings Packages/AutoFileName/autofilename.sublime-settings unloading plugin AutoFileName.getimageinfo unloading plugin AutomaticPackageReloader.package_reloader reloading settings Packages/AutomaticPackageReloader/package_reloader.sublime-settings unloading plugin AutoRefresh.AutoRefresh reloading settings Packages/AutoRefresh/AutoRefresh.sublime-settings unloading plugin AutoWrap.autowrap reloading settings Packages/AutoWrap/Preferences.sublime-settings reloading settings Packages/BBCode/BBCode.sublime-settings unloading plugin BetterCoffeeScript.CoffeeScript reloading settings Packages/BetterCoffeeScript/CoffeeScript.sublime-settings reloading settings Packages/BetterFindBuffer/BetterFindBuffer.sublime-settings reloading settings Packages/BetterFindBuffer/Find Results.sublime-settings unloading plugin BetterFindBuffer.find_results unloading plugin BufferScroll.BufferScroll reloading settings Packages/BufferScroll/BufferScroll.sublime-settings unloading plugin CaseConversion.case_conversion unloading plugin CaseConversion.case_parse unloading plugin CaseConversion.ToggleTitleCase unloading plugin ChainOfCommand.chain unloading plugin ChangeQuotes.change_quotes reloading settings Packages/ChangeQuotes/ChangeQuotes.sublime-settings Traceback (most recent call last): File "F:\SublimeText\Data\Packages\ChangeQuotes\change_quotes.py", line 68, in load_config build_config(settings) File "F:\SublimeText\Data\Packages\ChangeQuotes\change_quotes.py", line 62, in build_config config["lists"] = reorder_list_settings(settings.get("lists")) File "F:\SublimeText\Data\Packages\ChangeQuotes\change_quotes.py", line 31, in reorder_list_settings for scope, conf in list_settings.items(): AttributeError: 'NoneType' object has no attribute 'items' unloading plugin ChannelRepositoryTools.ordereddict unloading plugin ChannelRepositoryTools.tests unloading plugin ChannelRepositoryTools.upgrade unloading plugin ClearCursorsCarets.clear_cursors_carets unloading plugin ClickableURLs.clickable_urls unloading plugin ClipboardScopeCopy.clipboard_scope_copy unloading plugin Color Highlighter.color_converter unloading plugin Color Highlighter.color_highlighter unloading plugin Color Highlighter.color_hover_listener unloading plugin Color Highlighter.color_scheme unloading plugin Color Highlighter.color_scheme_color_highlighter unloading plugin Color Highlighter.color_searcher unloading plugin Color Highlighter.color_selection_listener reloading settings Packages/Color Highlighter/ColorHighlighter.sublime-settings unloading plugin Color Highlighter.colors unloading plugin Color Highlighter.content_listener unloading plugin Color Highlighter.convert_color_command unloading plugin Color Highlighter.css_colors unloading plugin Color Highlighter.dummy_event_listener unloading plugin Color Highlighter.gutter_icons_color_highlighter unloading plugin Color Highlighter.load_resource unloading plugin Color Highlighter.main unloading plugin Color Highlighter.path unloading plugin Color Highlighter.phantoms_color_highlighter unloading plugin Color Highlighter.pick_color_command unloading plugin Color Highlighter.regex_compiler unloading plugin Color Highlighter.regions unloading plugin Color Highlighter.set_setting_command unloading plugin Color Highlighter.settings unloading plugin Color Highlighter.st_helper unloading plugin Color Highlighter.topsort unloading plugin ColorSchemeEditor.ColorSchemeEditor-ST2 unloading plugin ColorSchemeUnit.plugin reloading settings Packages/ColorSchemeUnit/Preferences.sublime-settings unloading plugin ColumnSelect.column_select unloading plugin CompareSideBySide.sbs_compare unloading plugin ConvertToUTF8.ConvertToUTF8 reloading settings Packages/ConvertToUTF8/ConvertToUTF8.sublime-settings unloading plugin CopyFilepathWithLineNumbers.CopyFilepathWithLineNumbers unloading plugin CopyWithLineNumbersReloaded.copy_with_line_numbers unloading plugin DefaultSyntax.default_syntax reloading settings Packages/DefaultSyntax/Preferences.sublime-settings unloading plugin DeleteCurrentFile.DeleteCurrentFile reloading settings Packages/DeleteCurrentFile/DeleteCurrentFile.sublime-settings unloading plugin DistractionFreeWindow.distraction_free_window unloading plugin DocBlockr.jsdocs reloading settings Packages/DocBlockr/Preferences.sublime-settings unloading plugin DocBlockr.test_runner reloading settings Packages/Dotfiles/Shell-Unix-Generic.sublime-settings unloading plugin DuplicateSelections.duplicate_selections unloading plugin EditPreferences.__init__ unloading plugin EditPreferences.commands_base reloading settings Packages/EditPreferences/edit-preferences.sublime-settings unloading plugin EditPreferences.edit_package_files unloading plugin EditPreferences.extract_snippets unloading plugin EditPreferences.helper_commands unloading plugin EditPreferences.helpers unloading plugin EditPreferences.insert_binding_repr unloading plugin EditPreferences.jsonix unloading plugin EditPreferences.list_commands unloading plugin EditPreferences.list_menu_bindings unloading plugin EditPreferences.list_settings unloading plugin EditPreferences.list_shortcut_keys unloading plugin EditPreferences.list_theme_selectors unloading plugin EditPreferences.package_resources unloading plugin EditPreferences.quick_panel_cols unloading plugin EditPreferences.scheduler unloading plugin Emmet.emmet-plugin reloading settings Packages/Emmet/Emmet.sublime-settings reloading settings Packages/Emmet/Preferences.sublime-settings unloading plugin ExpandRegion.__init__ unloading plugin ExpandRegion.expand_region_handler unloading plugin ExpandRegion.expand_to_indent unloading plugin ExpandRegion.expand_to_line unloading plugin ExpandRegion.expand_to_quotes unloading plugin ExpandRegion.expand_to_regex_set unloading plugin ExpandRegion.expand_to_semantic_unit unloading plugin ExpandRegion.expand_to_subword unloading plugin ExpandRegion.expand_to_symbols unloading plugin ExpandRegion.expand_to_word unloading plugin ExpandRegion.expand_to_word_with_dots unloading plugin ExpandRegion.expand_to_xml_node unloading plugin ExpandRegion.ExpandRegion reloading settings Packages/ExpandRegion/ExpandRegion.sublime-settings reloading settings Packages/ExpandRegion/ExpandRegionFallback.sublime-settings unloading plugin ExpandRegion.html unloading plugin ExpandRegion.javascript unloading plugin ExpandRegion.latex unloading plugin ExpandRegion.python unloading plugin ExpandRegion.utils unloading plugin ExportHtml.ExportBbcode unloading plugin ExportHtml.ExportHtml unloading plugin ExportHtml.HtmlAnnotations unloading plugin ExportHtml.support unloading plugin ExtendedTabSwitcher.ExtendedSwitcher unloading plugin ExtractText.clean_save_file_modifications unloading plugin ExtractText.extract_to_file unloading plugin FileDiffs.file_diffs unloading plugin FileHistory.file_history reloading settings Packages/FileHistory/FileHistory.sublime-settings unloading plugin FileRename.file_rename unloading plugin FindKeyConflicts.find_key_conflicts unloading plugin FixCommandPalette.fixed_command_palette_input_history unloading plugin FixProjectSwitchRestartBug.fix_project_switch_restart_bug unloading plugin FixSelectionAfterIndent.fix_selection_after_indent unloading plugin ForceRewriteSublimeSettings.force_rewrite_sublime_settings unloading plugin FuzzyFileNav.fuzzy_file_nav reloading settings Packages/FuzzyFileNav/fuzzy_file_nav.sublime-settings unloading plugin FuzzyFileNav.multiconf unloading plugin FuzzyFileNav.notify unloading plugin FuzzyFilePath.command_goto_file unloading plugin FuzzyFilePath.command_insert_path unloading plugin FuzzyFilePath.command_rebuild_cache unloading plugin FuzzyFilePath.command_replace_region unloading plugin FuzzyFilePath.command_show_context unloading plugin FuzzyFilePath.command_show_current_settings unloading plugin FuzzyFilePath.command_show_info unloading plugin FuzzyFilePath.completion unloading plugin FuzzyFilePath.controller unloading plugin FuzzyFilePath.current_state unloading plugin FuzzyFilePath.expression reloading settings Packages/FuzzyFilePath/FuzzyFilePath.sublime-settings unloading plugin FuzzyFilePath.ProjectListener unloading plugin FuzzyFilePath.query unloading plugin FuzzyFilePath.QueryCompletionListener unloading plugin FuzzyFilePath.TestRunner unloading plugin FuzzyFilePath.ViewListener unloading plugin Glue.__init__ unloading plugin Glue.Glue reloading settings Packages/Glue/Glue.sublime-settings unloading plugin Glue.GlueBrowser unloading plugin Glue.GlueCmds unloading plugin Glue.GlueIO unloading plugin Glue.GlueSidebarOpener unloading plugin GoogleSpellCheck.google-spell-check unloading plugin HighlightBuildErrors.HighlightBuildErrors reloading settings Packages/HighlightBuildErrors/HighlightBuildErrors.sublime-settings unloading plugin HighlightWords.HighlightWords reloading settings Packages/HighlightWords/HighlightWords.sublime-settings unloading plugin HorizontalScroll.scroll_width reloading settings Packages/HungryBackspace/Hungry Backspace.sublime-settings unloading plugin HungryBackspace.hungry_backspace unloading plugin Incrementor.incrementor unloading plugin IncrementSelection.IncrementSelection unloading plugin IndentAndBraces.indent-and-braces unloading plugin IndentSize.IndentSizeCommand unloading plugin InsertNums.InsertNums unloading plugin InvertSelection.invertselection unloading plugin JumpAlongIndent.file_scanner unloading plugin JumpAlongIndent.jump_along_indent reloading settings Packages/JumpAlongIndent/jump_along_indent.sublime-settings unloading plugin JumpAlongIndent.view_helper unloading plugin KeepPastedTextSelected.keep_pasted_text_selected unloading plugin LaTeXSmartQuotes.getTeXRoot unloading plugin LaTeXSmartQuotes.smartquotes unloading plugin LaTeXTools.01_reload_submodules unloading plugin LaTeXTools.02_temp_file_cleanup unloading plugin LaTeXTools.03_reset_phantoms unloading plugin LaTeXTools.auto_label unloading plugin LaTeXTools.biblatex_crossref_completions unloading plugin LaTeXTools.biblatex_field_name_completions unloading plugin LaTeXTools.biblatex_name_completions unloading plugin LaTeXTools.biblatex_snippet_completions unloading plugin LaTeXTools.biblatex_syntax_listener unloading plugin LaTeXTools.change_environment unloading plugin LaTeXTools.context_provider unloading plugin LaTeXTools.create_mousemap unloading plugin LaTeXTools.delete_temp_files unloading plugin LaTeXTools.detect_spellcheck unloading plugin LaTeXTools.getTeXRoot unloading plugin LaTeXTools.jumpto_anywhere unloading plugin LaTeXTools.jumpto_tex_file unloading plugin LaTeXTools.jumpToPDF unloading plugin LaTeXTools.kpsewhich unloading plugin LaTeXTools.latex_cite_completions unloading plugin LaTeXTools.latex_cwl_completions unloading plugin LaTeXTools.latex_directive_completions unloading plugin LaTeXTools.latex_env_completions unloading plugin LaTeXTools.latex_fill_all unloading plugin LaTeXTools.latex_glossary_completions unloading plugin LaTeXTools.latex_input_completions unloading plugin LaTeXTools.latex_installed_packages unloading plugin LaTeXTools.latex_own_command_completions unloading plugin LaTeXTools.latex_ref_completions unloading plugin LaTeXTools.latexCommand unloading plugin LaTeXTools.latexDocumentationViewer unloading plugin LaTeXTools.latexEnvCloser unloading plugin LaTeXTools.latexEnvironment reloading settings Packages/LaTeXTools/LaTeXTools (Advanced).sublime-settings reloading settings Packages/LaTeXTools/LaTeXTools.sublime-settings unloading plugin LaTeXTools.latextools_cache_listener unloading plugin LaTeXTools.latextools_default_settings unloading plugin LaTeXTools.latextools_plugin unloading plugin LaTeXTools.makePDF unloading plugin LaTeXTools.migrate unloading plugin LaTeXTools.open_detexify unloading plugin LaTeXTools.parseTeXlog unloading plugin LaTeXTools.reveal_folders unloading plugin LaTeXTools.search_commands unloading plugin LaTeXTools.smart_paste unloading plugin LaTeXTools.system_check unloading plugin LaTeXTools.texcount unloading plugin LaTeXTools.texMacro unloading plugin LaTeXTools.texSections unloading plugin LaTeXTools.texSyntaxListener unloading plugin LaTeXTools.toc_quickpanel unloading plugin LaTeXTools.toggle_settings reloading settings Packages/LaTeXWordCount/LaTeXWordCount.sublime-settings unloading plugin LaTeXWordCount.WordCount reloading settings Packages/LESS/LESS.sublime-settings unloading plugin LESS.less_completions unloading plugin LineEndingsUnify.LineEndingsUnify unloading plugin MarkdownPreview.helper unloading plugin MarkdownPreview.markdown_settings unloading plugin MarkdownPreview.markdown_wrapper unloading plugin MarkdownPreview.MarkdownPreview reloading settings Packages/MarkdownPreview/MarkdownPreview.sublime-settings unloading plugin MarkdownToBBCode.MarkdownToBBCode unloading plugin Maven.config_generator unloading plugin Maven.import unloading plugin Maven.maven unloading plugin MaxPane.layouts_doc unloading plugin MaxPane.max_pane unloading plugin MoveText.move_text unloading plugin MultiEditUtils.MultiEditUtils unloading plugin MultiEditUtils.selection_fields unloading plugin NumberKing.king unloading plugin OpenAutoCompletion.open_auto_completion unloading plugin Origami.origami reloading settings Packages/OverrideAudit/OA-Diff.sublime-settings reloading settings Packages/OverrideAudit/OA-OverrideReport.sublime-settings reloading settings Packages/OverrideAudit/OA-PkgReport.sublime-settings unloading plugin OverrideAudit.override_audit OverrideAudit: Shutting down reloading settings Packages/OverrideAudit/OverrideAudit.sublime-settings unloading plugin OverrideCommitCompletion.overwrite_commit_completion unloading plugin OverrideEditSettingsDefaultContents.override_edit_settings_default_contents unloading plugin OverrideUnpackedPackages.override_unpacked_packages unloading plugin PackageDev._logging unloading plugin PackageDev.main reloading settings Packages/PackageDev/Package/PackageDev.sublime-settings reloading settings Packages/PackageDev/Package/Sublime Text Build System/Sublime Text Build System.sublime-settings reloading settings Packages/PackageDev/Package/Sublime Text Color Scheme/Sublime Text Color Scheme.sublime-settings reloading settings Packages/PackageDev/Package/Sublime Text Commands/Sublime Text Commands.sublime-settings reloading settings Packages/PackageDev/Package/Sublime Text Completions/Sublime Text Completions.sublime-settings reloading settings Packages/PackageDev/Package/Sublime Text Keymap/Sublime Text Keymap.sublime-settings reloading settings Packages/PackageDev/Package/Sublime Text Macro/Sublime Text Macro.sublime-settings reloading settings Packages/PackageDev/Package/Sublime Text Menu/Sublime Text Menu.sublime-settings reloading settings Packages/PackageDev/Package/Sublime Text Mousemap/Sublime Text Mousemap.sublime-settings reloading settings Packages/PackageDev/Package/Sublime Text Project/Sublime Text Project.sublime-settings reloading settings Packages/PackageDev/Package/Sublime Text Settings/Sublime Text Settings.sublime-settings reloading settings Packages/PackageDev/Package/Sublime Text Snippet/Sublime Text Snippet (Raw).sublime-settings reloading settings Packages/PackageDev/Package/Sublime Text Snippet/Sublime Text Snippet.sublime-settings reloading settings Packages/PackageDev/Package/Sublime Text Syntax Definition/Sublime Text Syntax Definition.sublime-settings reloading settings Packages/PackageDev/Package/TextMate Preferences/TextMate Preferences.sublime-settings reloading settings Packages/PackageDev/Package/TextMate Syntax Definition (YAML)/TextMate Syntax Definition (YAML).sublime-settings unloading plugin PackageResourceViewer.package_resource_viewer unloading plugin PackageResourceViewer.package_resources reloading settings Packages/PackageResourceViewer/PackageResourceViewer.sublime-settings unloading plugin PackagesManager.1_reloader unloading plugin PackagesManager.2_bootstrap unloading plugin PackagesManager.PackagesManager reloading settings Packages/PackagesManager/PackagesManager.sublime-settings unloading plugin PathTranslator.PathTranslator unloading plugin PowerCursors.power_cursors reloading settings Packages/PrettyJSON/Pretty JSON.sublime-settings unloading plugin PrettyJSON.PrettyJson unloading plugin PrettyJSON.PrettyJsonListeners reloading settings Packages/QuickSettings/Preferences.sublime-settings unloading plugin QuickSettings.QuickSettigns unloading plugin RandomEverything.__init__ unloading plugin RandomEverything.random unloading plugin REG.jumptoregkey reloading settings Packages/REG/REG.sublime-settings unloading plugin ReIndent.ReIndent unloading plugin REPL.__init__ unloading plugin REPL.completions unloading plugin REPL.lang_integration unloading plugin REPL.run_existing_command unloading plugin REPL.sublimerepl unloading plugin REPL.sublimerepl_build_system_hack unloading plugin REPL.text_transfer reloading settings Packages/REPL/config/OCaml/OCaml (toplevel).sublime-settings unloading plugin ScopeHunter.scope_hunter reloading settings Packages/ScopeHunter/scope_hunter.sublime-settings unloading plugin ScopeHunter.scope_hunter_notify unloading plugin ScopeHunter.support unloading plugin SelectAll.select_all_by_current_scope unloading plugin SelectAllSpellingErrors.select_all_spelling_errors unloading plugin SelectUntil.edit unloading plugin SelectUntil.select-until unloading plugin SemanticLineWrap.semantic_wrap reloading settings Packages/SideBarEnhancements/Side Bar.sublime-settings unloading plugin SideBarEnhancements.SideBar unloading plugin SideBarEnhancements.SideBarAPI unloading plugin SideBarEnhancements.SideBarDefaultDisable unloading plugin SideBySideSettings.sxs_settings reloading settings Packages/SideBySideSettings/sxs_settings.sublime-settings unloading plugin SQLExec.SQLExec unloading plugin SQLKeywordUppercase.sql_keyword_uppercase unloading plugin SQLTools.SQLTools unloading plugin StickySearch.StickySearch unloading plugin StudioChannel.commands unloading plugin StudioChannel.settings unloading plugin SublimeLinter.busy_indicator_view unloading plugin SublimeLinter.commands unloading plugin SublimeLinter.status_bar_view unloading plugin SublimeLinter.sublime_linter reloading settings Packages/SublimeLinter/SublimeLinter.sublime-settings unloading plugin SublimeTutorial.sublime_tutor reloading settings Packages/SyncViewScroll/Sync View Scroll.sublime-settings unloading plugin SyncViewScroll.syncscroll unloading plugin SyntaxManager.syntaxmgr reloading settings Packages/SyntaxManager/SyntaxMgr.sublime-settings unloading plugin TabsExtra.support unloading plugin TabsExtra.tab_menu unloading plugin TabsExtra.tab_sort_helper unloading plugin TabsExtra.tabs_extra reloading settings Packages/TabsExtra/tabs_extra.sublime-settings unloading plugin TerminalShortcuts.Terminal unloading plugin TextPastry.text_pastry unloading plugin TextPastry.text_pastry_addons unloading plugin TextPastry.text_pastry_clipboard unloading plugin TextPastry.text_pastry_selection reloading settings Packages/TextPastry/TextPastry.sublime-settings unloading plugin ToggleWords.ToggleWords unloading plugin Trimmer.Trimmer unloading plugin UnitTesting.ut unloading plugin ViewSettingsFreely.view_settings_freely unloading plugin Whitespace.Whitespace unloading plugin WordCount.WordCount reloading settings Packages/WordCount/WordCount.sublime-settings reloading settings Packages/WrapPlus/Base File.sublime-settings unloading plugin WrapPlus.wrap_plus generating syntax summary generating meta info summary ```


But the hang was much worse like 2 minutes when enabling then again. This was the console output when enabling them after disabling them:

``` reloading settings Packages/User/Preferences.sublime-settings ignored packages updated to: ["Anaconda", "ApplySyntax", "BracketHighlighter", "BuildView", "C++ Completions", "C++ Qt Completions", "C++ Snippets", "CodeIntel", "ColorHelper", "DictionaryAutoComplete", "FileManager", "Find++", "Gist", "Git", "GitGutter", "GotoLastEditEnhanced", "Javatar", "JediPythonAutoCompletion", "LocalHistory", "MatlabCompletions", "MatlabFilenameAutoComplete", "MySQLSnippets", "ProjectSpecificSyntax", "ScopeAlways", "SublimeLinter-javac", "SyncedSideBar", "TypeScript", "Vintage", "WordHighlight"] reloading plugin 0_settings_loader.install_package_control_extended reloading settings Packages/0_settings_loader/Preferences (Windows).sublime-settings reloading settings Packages/0_settings_loader/Preferences.sublime-settings reloading plugin 0_settings_loader.synced_side_bar_watcher reloading plugin AceJump.ace_jump reloading settings Packages/AceJump/AceJump.sublime-settings generating syntax summary reloading plugin ActiveViewJumpBack.active_view_jump_back reloading plugin AddFolderToProject.AddFolderToProject reloading plugin A File Icon.A File Icon reloading settings Packages/AdvancedCSV/AdvancedCSV.sublime-settings reloading plugin AdvancedCSV.csvplugin generating syntax summary reloading plugin Alignment.Alignment reloading settings Packages/Alignment/CSS.sublime-settings reloading settings Packages/Alignment/JSON.sublime-settings reloading settings Packages/Alignment/Preferences.sublime-settings reloading settings Packages/AllAutocomplete/All Autocomplete.sublime-settings reloading plugin AllAutocomplete.all_views_completions reloading plugin AlignTab.aligner reloading plugin AlignTab.aligntab reloading plugin AlignTab.hist reloading plugin AlignTab.parser reloading plugin AlignTab.table reloading plugin AlignTab.wclen reloading plugin AltUp.run_multiple_commands reloading plugin AmxxChannel.commands reloading plugin AmxxChannel.fix_main_menus reloading plugin AmxxChannel.settings reloading settings Packages/Amxmodx/AMXX-Console.sublime-settings reloading settings Packages/Amxmodx/amxx.sublime-settings reloading plugin Amxmodx.AMXXEditor generating syntax summary generating meta info summary reloading settings Packages/AmxxPawn/AmxxPawn.sublime-settings generating syntax summary generating meta info summary reloading plugin ANSIescape.ansi reloading settings Packages/ANSIescape/ansi.sublime-settings generating syntax summary reloading plugin AutoFileName.autofilename reloading settings Packages/AutoFileName/autofilename.sublime-settings reloading plugin AutoFileName.getimageinfo reloading plugin AutomaticPackageReloader.package_reloader reloading settings Packages/AutomaticPackageReloader/package_reloader.sublime-settings reloading plugin AutoRefresh.AutoRefresh reloading settings Packages/AutoRefresh/AutoRefresh.sublime-settings reloading settings Packages/BBCode/BBCode.sublime-settings generating syntax summary generating meta info summary reloading plugin AutoWrap.autowrap reloading settings Packages/AutoWrap/Preferences.sublime-settings reloading settings Packages/BetterFindBuffer/BetterFindBuffer.sublime-settings reloading settings Packages/BetterFindBuffer/Find Results.sublime-settings reloading plugin BetterFindBuffer.find_results generating meta info summary reloading plugin BufferScroll.BufferScroll reloading settings Packages/BufferScroll/BufferScroll.sublime-settings reloading plugin BetterCoffeeScript.CoffeeScript reloading settings Packages/BetterCoffeeScript/CoffeeScript.sublime-settings generating syntax summary generating meta info summary reloading plugin ChainOfCommand.chain reloading plugin CaseConversion.case_conversion reloading plugin CaseConversion.case_parse reloading plugin CaseConversion.ToggleTitleCase reloading plugin ChannelRepositoryTools.ordereddict reloading plugin ChannelRepositoryTools.tests reloading plugin ChannelRepositoryTools.upgrade reloading plugin ChangeQuotes.change_quotes Traceback (most recent call last): File "F:\SublimeText\sublime_plugin.py", line 157, in reload_plugin m.plugin_loaded() File "F:\SublimeText\Data\Packages\ChangeQuotes\change_quotes.py", line 80, in plugin_loaded build_config(settings) File "F:\SublimeText\Data\Packages\ChangeQuotes\change_quotes.py", line 62, in build_config config["lists"] = reorder_list_settings(settings.get("lists")) File "F:\SublimeText\Data\Packages\ChangeQuotes\change_quotes.py", line 31, in reorder_list_settings for scope, conf in list_settings.items(): AttributeError: 'NoneType' object has no attribute 'items' reloading settings Packages/ChangeQuotes/ChangeQuotes.sublime-settings reloading plugin ClearCursorsCarets.clear_cursors_carets reloading plugin ClickableURLs.clickable_urls reloading plugin ClipboardScopeCopy.clipboard_scope_copy reloading plugin ColorSchemeEditor.ColorSchemeEditor-ST2 reloading plugin ColorSchemeUnit.plugin reloading settings Packages/ColorSchemeUnit/Preferences.sublime-settings reloading plugin ColumnSelect.column_select reloading plugin Color Highlighter.color_converter reloading plugin Color Highlighter.color_highlighter reloading plugin Color Highlighter.color_hover_listener reloading plugin Color Highlighter.color_scheme reloading plugin Color Highlighter.color_scheme_color_highlighter reloading plugin Color Highlighter.color_searcher reloading plugin Color Highlighter.color_selection_listener reloading settings Packages/Color Highlighter/ColorHighlighter.sublime-settings reloading plugin Color Highlighter.colors reloading plugin Color Highlighter.content_listener reloading plugin Color Highlighter.convert_color_command reloading plugin Color Highlighter.css_colors reloading plugin Color Highlighter.dummy_event_listener reloading plugin Color Highlighter.gutter_icons_color_highlighter reloading plugin Color Highlighter.load_resource reloading plugin Color Highlighter.main reloading plugin Color Highlighter.path reloading plugin Color Highlighter.phantoms_color_highlighter reloading plugin Color Highlighter.pick_color_command reloading plugin Color Highlighter.regex_compiler reloading plugin Color Highlighter.regions reloading plugin Color Highlighter.set_setting_command reloading plugin Color Highlighter.settings reloading plugin Color Highlighter.st_helper reloading plugin Color Highlighter.topsort reloading plugin CompareSideBySide.sbs_compare reloading plugin CopyFilepathWithLineNumbers.CopyFilepathWithLineNumbers reloading plugin ConvertToUTF8.ConvertToUTF8 reloading settings Packages/ConvertToUTF8/ConvertToUTF8.sublime-settings reloading plugin CopyWithLineNumbersReloaded.copy_with_line_numbers reloading plugin DefaultSyntax.default_syntax reloading settings Packages/DefaultSyntax/Preferences.sublime-settings reloading plugin DeleteCurrentFile.DeleteCurrentFile reloading settings Packages/DeleteCurrentFile/DeleteCurrentFile.sublime-settings reloading plugin DocBlockr.jsdocs reloading settings Packages/DocBlockr/Preferences.sublime-settings reloading plugin DocBlockr.test_runner reloading plugin DistractionFreeWindow.distraction_free_window reloading plugin DuplicateSelections.duplicate_selections reloading settings Packages/Dotfiles/Shell-Unix-Generic.sublime-settings reloading plugin EditPreferences.__init__ reloading plugin EditPreferences.commands_base reloading settings Packages/EditPreferences/edit-preferences.sublime-settings reloading plugin EditPreferences.edit_package_files reloading plugin EditPreferences.extract_snippets reloading plugin EditPreferences.helper_commands reloading plugin EditPreferences.helpers reloading plugin EditPreferences.insert_binding_repr reloading plugin EditPreferences.jsonix reloading plugin EditPreferences.list_commands reloading plugin EditPreferences.list_menu_bindings reloading plugin EditPreferences.list_settings reloading plugin EditPreferences.list_shortcut_keys reloading plugin EditPreferences.list_theme_selectors reloading plugin EditPreferences.package_resources reloading plugin EditPreferences.quick_panel_cols reloading plugin EditPreferences.scheduler reloading plugin ExpandRegion.__init__ reloading plugin ExpandRegion.expand_region_handler reloading plugin ExpandRegion.expand_to_indent reloading plugin ExpandRegion.expand_to_line reloading plugin ExpandRegion.expand_to_quotes reloading plugin ExpandRegion.expand_to_regex_set reloading plugin ExpandRegion.expand_to_semantic_unit reloading plugin ExpandRegion.expand_to_subword reloading plugin ExpandRegion.expand_to_symbols reloading plugin ExpandRegion.expand_to_word reloading plugin ExpandRegion.expand_to_word_with_dots reloading plugin ExpandRegion.expand_to_xml_node reloading plugin ExpandRegion.ExpandRegion reloading settings Packages/ExpandRegion/ExpandRegion.sublime-settings reloading settings Packages/ExpandRegion/ExpandRegionFallback.sublime-settings reloading plugin ExpandRegion.html reloading plugin ExpandRegion.javascript reloading plugin ExpandRegion.latex reloading plugin ExpandRegion.python reloading plugin ExpandRegion.utils reloading plugin Emmet.emmet-plugin reloading settings Packages/Emmet/Emmet.sublime-settings reloading settings Packages/Emmet/Preferences.sublime-settings generating syntax summary reloading plugin ExtendedTabSwitcher.ExtendedSwitcher reloading plugin ExtractText.clean_save_file_modifications reloading plugin ExtractText.extract_to_file reloading plugin FileDiffs.file_diffs reloading plugin FileHistory.file_history reloading settings Packages/FileHistory/FileHistory.sublime-settings reloading plugin FileRename.file_rename reloading plugin FindKeyConflicts.find_key_conflicts reloading plugin FixCommandPalette.fixed_command_palette_input_history reloading plugin FixProjectSwitchRestartBug.fix_project_switch_restart_bug reloading plugin FixSelectionAfterIndent.fix_selection_after_indent reloading plugin ForceRewriteSublimeSettings.force_rewrite_sublime_settings reloading plugin FuzzyFileNav.fuzzy_file_nav reloading settings Packages/FuzzyFileNav/fuzzy_file_nav.sublime-settings reloading plugin FuzzyFileNav.multiconf reloading plugin FuzzyFileNav.notify Traceback (most recent call last): File "F:\SublimeText\Data\Packages\BufferScroll\BufferScroll.py", line 910, in sublime.set_timeout(lambda:synch_data(None, 'thread'), 0) File "F:\SublimeText\Data\Packages\BufferScroll\BufferScroll.py", line 670, in synch_data view = Pref.synch_scroll_current_view_object AttributeError: 'NoneType' object has no attribute 'synch_scroll_current_view_object' reloading plugin FuzzyFilePath.command_goto_file reloading plugin FuzzyFilePath.command_insert_path reloading plugin FuzzyFilePath.command_rebuild_cache reloading plugin FuzzyFilePath.command_replace_region reloading plugin FuzzyFilePath.command_show_context reloading plugin FuzzyFilePath.command_show_current_settings reloading plugin FuzzyFilePath.command_show_info reloading plugin FuzzyFilePath.completion reloading plugin FuzzyFilePath.controller reloading plugin FuzzyFilePath.current_state reloading plugin FuzzyFilePath.expression reloading settings Packages/FuzzyFilePath/FuzzyFilePath.sublime-settings reloading plugin FuzzyFilePath.ProjectListener reloading plugin FuzzyFilePath.query reloading plugin FuzzyFilePath.QueryCompletionListener reloading plugin FuzzyFilePath.TestRunner reloading plugin FuzzyFilePath.ViewListener generating syntax summary generating meta info summary reloading plugin ExportHtml.ExportBbcode reloading plugin ExportHtml.ExportHtml reloading plugin ExportHtml.HtmlAnnotations reloading plugin ExportHtml.support reloading plugin Glue.__init__ reloading plugin Glue.Glue reloading settings Packages/Glue/Glue.sublime-settings reloading plugin Glue.GlueBrowser reloading plugin Glue.GlueCmds reloading plugin Glue.GlueIO reloading plugin Glue.GlueSidebarOpener reloading plugin GoogleSpellCheck.google-spell-check reloading plugin HighlightBuildErrors.HighlightBuildErrors reloading settings Packages/HighlightBuildErrors/HighlightBuildErrors.sublime-settings reloading plugin HighlightWords.HighlightWords reloading settings Packages/HighlightWords/HighlightWords.sublime-settings reloading plugin HorizontalScroll.scroll_width reloading settings Packages/HungryBackspace/Hungry Backspace.sublime-settings reloading plugin HungryBackspace.hungry_backspace reloading plugin Incrementor.incrementor reloading plugin IndentAndBraces.indent-and-braces reloading plugin IncrementSelection.IncrementSelection reloading plugin IndentSize.IndentSizeCommand reloading plugin InsertNums.InsertNums reloading plugin InvertSelection.invertselection reloading plugin JumpAlongIndent.file_scanner reloading plugin JumpAlongIndent.jump_along_indent reloading settings Packages/JumpAlongIndent/jump_along_indent.sublime-settings reloading plugin JumpAlongIndent.view_helper reloading plugin KeepPastedTextSelected.keep_pasted_text_selected reloading plugin LaTeXSmartQuotes.getTeXRoot reloading plugin LaTeXSmartQuotes.smartquotes reloading settings Packages/LaTeXWordCount/LaTeXWordCount.sublime-settings reloading plugin LaTeXWordCount.WordCount reloading settings Packages/LESS/LESS.sublime-settings reloading plugin LESS.less_completions generating syntax summary generating meta info summary reloading plugin LineEndingsUnify.LineEndingsUnify reloading plugin LaTeXTools.01_reload_submodules reloading plugin LaTeXTools.02_temp_file_cleanup reloading plugin LaTeXTools.03_reset_phantoms reloading plugin LaTeXTools.auto_label reloading plugin LaTeXTools.biblatex_crossref_completions reloading plugin LaTeXTools.biblatex_field_name_completions reloading plugin LaTeXTools.biblatex_name_completions reloading plugin LaTeXTools.biblatex_snippet_completions reloading plugin LaTeXTools.biblatex_syntax_listener reloading plugin LaTeXTools.change_environment reloading plugin LaTeXTools.context_provider reloading plugin LaTeXTools.create_mousemap reloading plugin LaTeXTools.delete_temp_files reloading plugin LaTeXTools.detect_spellcheck reloading plugin LaTeXTools.getTeXRoot reloading plugin LaTeXTools.jumpto_anywhere reloading plugin LaTeXTools.jumpto_tex_file reloading plugin LaTeXTools.jumpToPDF reloading plugin LaTeXTools.kpsewhich reloading plugin LaTeXTools.latex_cite_completions reloading plugin LaTeXTools.latex_cwl_completions reloading plugin LaTeXTools.latex_directive_completions reloading plugin LaTeXTools.latex_env_completions reloading plugin LaTeXTools.latex_fill_all reloading plugin LaTeXTools.latex_glossary_completions reloading plugin LaTeXTools.latex_input_completions reloading plugin LaTeXTools.latex_installed_packages reloading plugin LaTeXTools.latex_own_command_completions reloading plugin LaTeXTools.latex_ref_completions reloading plugin LaTeXTools.latexCommand reloading plugin LaTeXTools.latexDocumentationViewer reloading plugin LaTeXTools.latexEnvCloser reloading plugin LaTeXTools.latexEnvironment reloading settings Packages/LaTeXTools/LaTeXTools (Advanced).sublime-settings reloading settings Packages/LaTeXTools/LaTeXTools.sublime-settings reloading plugin LaTeXTools.latextools_cache_listener reloading plugin LaTeXTools.latextools_default_settings reloading plugin LaTeXTools.latextools_plugin reloading plugin LaTeXTools.makePDF Loaded LaTeXTools plugins ['pdf_builder'] from path F:\SublimeText\Data\Packages\LaTeXTools\builders\pdfBuilder.py Loaded LaTeXTools plugins ['basic_builder', 'traditional_builder', 'script_builder', 'simple_builder'] from path F:\SublimeText\Data\Packages\LaTeXTools\builders reloading plugin LaTeXTools.migrate reloading plugin LaTeXTools.open_detexify reloading plugin LaTeXTools.parseTeXlog reloading plugin LaTeXTools.reveal_folders reloading plugin LaTeXTools.search_commands reloading plugin LaTeXTools.smart_paste reloading plugin LaTeXTools.system_check reloading plugin LaTeXTools.texcount reloading plugin LaTeXTools.texMacro reloading plugin LaTeXTools.texSections reloading plugin LaTeXTools.texSyntaxListener reloading plugin LaTeXTools.toc_quickpanel reloading plugin LaTeXTools.toggle_settings generating syntax summary reloading plugin MarkdownToBBCode.MarkdownToBBCode reloading plugin MarkdownPreview.helper reloading plugin MarkdownPreview.markdown_settings reloading plugin MarkdownPreview.markdown_wrapper reloading plugin MarkdownPreview.MarkdownPreview reloading settings Packages/MarkdownPreview/MarkdownPreview.sublime-settings reloading plugin MaxPane.layouts_doc reloading plugin MaxPane.max_pane reloading plugin MoveText.move_text reloading plugin Maven.config_generator reloading plugin Maven.import reloading plugin Maven.maven reloading plugin MultiEditUtils.MultiEditUtils reloading plugin MultiEditUtils.selection_fields generating syntax summary generating meta info summary reloading plugin NumberKing.king reloading plugin Origami.origami reloading plugin OpenAutoCompletion.open_auto_completion reloading plugin OverrideCommitCompletion.overwrite_commit_completion reloading plugin OverrideEditSettingsDefaultContents.override_edit_settings_default_contents reloading plugin OverrideUnpackedPackages.override_unpacked_packages reloading plugin PackageDev._logging reloading plugin PackageDev.main reloading settings Packages/OverrideAudit/OA-Diff.sublime-settings reloading settings Packages/OverrideAudit/OA-OverrideReport.sublime-settings reloading settings Packages/OverrideAudit/OA-PkgReport.sublime-settings reloading plugin OverrideAudit.override_audit OverrideAudit: Initializing OverrideAudit: Sublime version is unchanged; skipping automatic report reloading settings Packages/OverrideAudit/OverrideAudit.sublime-settings reloading plugin PackageResourceViewer.package_resource_viewer reloading plugin PackageResourceViewer.package_resources reloading settings Packages/PackageResourceViewer/PackageResourceViewer.sublime-settings reloading plugin PathTranslator.PathTranslator generating syntax summary generating meta info summary reloading plugin PowerCursors.power_cursors reloading settings Packages/PrettyJSON/Pretty JSON.sublime-settings reloading plugin PrettyJSON.PrettyJson reloading plugin PrettyJSON.PrettyJsonListeners reloading settings Packages/QuickSettings/Preferences.sublime-settings reloading plugin QuickSettings.QuickSettigns reloading plugin PackagesManager.1_reloader reloading plugin PackagesManager.2_bootstrap reloading plugin PackagesManager.PackagesManager reloading settings Packages/PackagesManager/PackagesManager.sublime-settings reloading plugin RandomEverything.__init__ reloading plugin RandomEverything.random reloading plugin ReIndent.ReIndent reloading plugin REG.jumptoregkey reloading settings Packages/REG/REG.sublime-settings generating syntax summary generating meta info summary generating syntax summary generating meta info summary reloading plugin ScopeHunter.scope_hunter reloading settings Packages/ScopeHunter/scope_hunter.sublime-settings reloading plugin ScopeHunter.scope_hunter_notify reloading plugin ScopeHunter.support reloading plugin SelectAll.select_all_by_current_scope reloading plugin SelectAllSpellingErrors.select_all_spelling_errors reloading plugin SelectUntil.edit reloading plugin SelectUntil.select-until reloading plugin REPL.__init__ reloading plugin REPL.completions reloading plugin REPL.lang_integration reloading plugin REPL.run_existing_command reloading plugin REPL.sublimerepl reloading plugin REPL.sublimerepl_build_system_hack reloading plugin REPL.text_transfer reloading plugin SemanticLineWrap.semantic_wrap reloading plugin SideBySideSettings.sxs_settings reloading settings Packages/SideBySideSettings/sxs_settings.sublime-settings reloading settings Packages/SideBarEnhancements/Side Bar.sublime-settings reloading plugin SideBarEnhancements.SideBar reloading plugin SideBarEnhancements.SideBarAPI reloading plugin SideBarEnhancements.SideBarDefaultDisable reloading plugin SQLKeywordUppercase.sql_keyword_uppercase reloading plugin SQLExec.SQLExec reloading plugin StickySearch.StickySearch reloading plugin SQLTools.SQLTools reloading plugin StudioChannel.commands reloading plugin StudioChannel.settings reloading plugin SublimeTutorial.sublime_tutor reloading plugin SublimeLinter.busy_indicator_view reloading plugin SublimeLinter.commands reloading plugin SublimeLinter.status_bar_view reloading plugin SublimeLinter.sublime_linter Traceback (most recent call last): File "F:\SublimeText\sublime_plugin.py", line 157, in reload_plugin m.plugin_loaded() File "F:\SublimeText\Data\Packages\SublimeLinter\sublime_linter.py", line 46, in plugin_loaded persist.settings.load() File "F:\SublimeText\Data\Packages\SublimeLinter\lint\settings.py", line 63, in load self.on_update() File "F:\SublimeText\Data\Packages\SublimeLinter\lint\settings.py", line 176, in on_update self.update_gutter_icons() File "F:\SublimeText\Data\Packages\SublimeLinter\lint\settings.py", line 190, in update_gutter_icons theme_file = os.path.basename(theme_path) File "./python3.3/ntpath.py", line 249, in basename File "./python3.3/ntpath.py", line 220, in split File "./python3.3/ntpath.py", line 162, in splitdrive TypeError: object of type 'NoneType' has no len() reloading settings Packages/SublimeLinter/SublimeLinter.sublime-settings reloading plugin SyntaxManager.syntaxmgr reloading settings Packages/SyntaxManager/SyntaxMgr.sublime-settings reloading settings Packages/SyncViewScroll/Sync View Scroll.sublime-settings reloading plugin SyncViewScroll.syncscroll syncScroll starting Traceback (most recent call last): File "F:\SublimeText\Data\Packages\SyncViewScroll\syncscroll.py", line 72, in updateStatus settings = sublime.load_settings('Sync View Scroll.sublime-settings') AttributeError: 'NoneType' object has no attribute 'load_settings' reloading plugin TabsExtra.support reloading plugin TabsExtra.tab_menu reloading plugin TabsExtra.tab_sort_helper reloading plugin TabsExtra.tabs_extra reloading settings Packages/TabsExtra/tabs_extra.sublime-settings reloading plugin TextPastry.text_pastry reloading plugin TextPastry.text_pastry_addons reloading plugin TextPastry.text_pastry_clipboard reloading plugin TextPastry.text_pastry_selection reloading settings Packages/TextPastry/TextPastry.sublime-settings reloading plugin TerminalShortcuts.Terminal reloading plugin ToggleWords.ToggleWords generating syntax summary generating meta info summary reloading plugin Trimmer.Trimmer reloading plugin UnitTesting.ut reloading plugin ViewSettingsFreely.view_settings_freely generating syntax summary generating meta info summary reloading plugin Whitespace.Whitespace reloading plugin WordCount.WordCount reloading settings Packages/WordCount/WordCount.sublime-settings reloading settings Packages/WrapPlus/Base File.sublime-settings reloading plugin WrapPlus.wrap_plus reloading settings Packages/A File Icon/.sublime/A File Icon.sublime-settings generating meta info summary Regenerating ANSI color scheme... Unhandled exception in thread started by Traceback (most recent call last): File "F:\SublimeText\Data\Packages\BufferScroll\BufferScroll.py", line 899, in synch_scroll_loop if not Pref.synch_scroll_running: AttributeError: 'NoneType' object has no attribute 'synch_scroll_running' Unhandled exception in thread started by Traceback (most recent call last): File "F:\SublimeText\Data\Packages\BufferScroll\BufferScroll.py", line 909, in synch_data_loop if not Pref.synch_data_running: AttributeError: 'NoneType' object has no attribute 'synch_data_running' Traceback (most recent call last): File "F:\SublimeText\Data\Packages\ChangeQuotes\change_quotes.py", line 67, in load_config settings = sublime.load_settings("ChangeQuotes.sublime-settings") AttributeError: 'NoneType' object has no attribute 'load_settings' generating syntax summary Traceback (most recent call last): File "F:\SublimeText\Data\Packages\DeleteCurrentFile\DeleteCurrentFile.py", line 11, in update_settings settings = sublime.load_settings('DeleteCurrentFile.sublime-settings') AttributeError: 'NoneType' object has no attribute 'load_settings' Traceback (most recent call last): File "F:\SublimeText\Data\Packages\Emmet\emmet-plugin.py", line 237, in update_settings ctx.set_ext_path(get_extensions_path()) AttributeError: 'NoneType' object has no attribute 'set_ext_path' [FileHistory] Reloading the settings file "FileHistory.sublime-settings". Traceback (most recent call last): File "F:\SublimeText\Data\Packages\FuzzyFilePath\controller.py", line 26, in update_settings Settings.update() AttributeError: 'NoneType' object has no attribute 'update' Traceback (most recent call last): File "F:\SublimeText\Data\Packages\HighlightBuildErrors\HighlightBuildErrors.py", line 38, in load_config settings = sublime.load_settings(SETTINGS_FILE) AttributeError: 'NoneType' object has no attribute 'load_settings' Traceback (most recent call last): File "F:\SublimeText\Data\Packages\HighlightWords\HighlightWords.py", line 156, in get_settings setting = sublime.load_settings('HighlightWords.sublime-settings') AttributeError: 'NoneType' object has no attribute 'load_settings' Loading LaTeXTools plugins... reloading settings Packages/PackageDev/Package/PackageDev.sublime-settings generating syntax summary generating syntax summary generating meta info summary generating meta info summary generating syntax summary generating syntax summary generating meta info summary generating syntax summary Unhandled exception in thread started by Traceback (most recent call last): File "F:\SublimeText\Data\Packages\SyncViewScroll\syncscroll.py", line 43, in synch_scroll_loop sublime.set_timeout(lambda: synch_scroll(), 0) AttributeError: 'NoneType' object has no attribute 'set_timeout' generating syntax summary PyV8: Creating new thread Emmet: Creating thread PackagesManager: Settings change detected, clearing cache FFP CurrentState Abort rebuild filecache -- folder F:/SublimeText/Data not cached Traceback (most recent call last): File "F:\SublimeText\Data\Packages\BufferScroll\BufferScroll.py", line 910, in sublime.set_timeout(lambda:synch_data(None, 'thread'), 0) File "F:\SublimeText\Data\Packages\BufferScroll\BufferScroll.py", line 670, in synch_data view = Pref.synch_scroll_current_view_object AttributeError: 'NoneType' object has no attribute 'synch_scroll_current_view_object' Traceback (most recent call last): File "F:\SublimeText\Data\Packages\BufferScroll\BufferScroll.py", line 901, in sublime.set_timeout(lambda:synch_scroll(), 0) File "F:\SublimeText\Data\Packages\BufferScroll\BufferScroll.py", line 763, in synch_scroll Pref.synch_scroll_running = True AttributeError: 'NoneType' object has no attribute 'synch_scroll_running' Traceback (most recent call last): File "F:\SublimeText\Data\Packages\SyncViewScroll\syncscroll.py", line 43, in sublime.set_timeout(lambda: synch_scroll(), 0) TypeError: 'NoneType' object is not callable Traceback (most recent call last): File "F:\SublimeText\Data\Packages\BufferScroll\BufferScroll.py", line 910, in sublime.set_timeout(lambda:synch_data(None, 'thread'), 0) File "F:\SublimeText\Data\Packages\BufferScroll\BufferScroll.py", line 670, in synch_data view = Pref.synch_scroll_current_view_object AttributeError: 'NoneType' object has no attribute 'synch_scroll_current_view_object' Traceback (most recent call last): File "F:\SublimeText\Data\Packages\BufferScroll\BufferScroll.py", line 910, in sublime.set_timeout(lambda:synch_data(None, 'thread'), 0) File "F:\SublimeText\Data\Packages\BufferScroll\BufferScroll.py", line 670, in synch_data view = Pref.synch_scroll_current_view_object AttributeError: 'NoneType' object has no attribute 'synch_scroll_current_view_object' Traceback (most recent call last): File "F:\SublimeText\Data\Packages\BufferScroll\BufferScroll.py", line 910, in sublime.set_timeout(lambda:synch_data(None, 'thread'), 0) File "F:\SublimeText\Data\Packages\BufferScroll\BufferScroll.py", line 670, in synch_data view = Pref.synch_scroll_current_view_object AttributeError: 'NoneType' object has no attribute 'synch_scroll_current_view_object' Traceback (most recent call last): File "F:\SublimeText\Data\Packages\BufferScroll\BufferScroll.py", line 910, in sublime.set_timeout(lambda:synch_data(None, 'thread'), 0) File "F:\SublimeText\Data\Packages\BufferScroll\BufferScroll.py", line 670, in synch_data view = Pref.synch_scroll_current_view_object AttributeError: 'NoneType' object has no attribute 'synch_scroll_current_view_object' Traceback (most recent call last): File "F:\SublimeText\Data\Packages\BufferScroll\BufferScroll.py", line 910, in sublime.set_timeout(lambda:synch_data(None, 'thread'), 0) File "F:\SublimeText\Data\Packages\BufferScroll\BufferScroll.py", line 670, in synch_data view = Pref.synch_scroll_current_view_object AttributeError: 'NoneType' object has no attribute 'synch_scroll_current_view_object' Traceback (most recent call last): File "F:\SublimeText\Data\Packages\BufferScroll\BufferScroll.py", line 910, in sublime.set_timeout(lambda:synch_data(None, 'thread'), 0) File "F:\SublimeText\Data\Packages\BufferScroll\BufferScroll.py", line 670, in synch_data view = Pref.synch_scroll_current_view_object AttributeError: 'NoneType' object has no attribute 'synch_scroll_current_view_object' Traceback (most recent call last): File "F:\SublimeText\Data\Packages\BufferScroll\BufferScroll.py", line 910, in sublime.set_timeout(lambda:synch_data(None, 'thread'), 0) File "F:\SublimeText\Data\Packages\BufferScroll\BufferScroll.py", line 670, in synch_data view = Pref.synch_scroll_current_view_object AttributeError: 'NoneType' object has no attribute 'synch_scroll_current_view_object' Traceback (most recent call last): File "F:\SublimeText\Data\Packages\BufferScroll\BufferScroll.py", line 910, in sublime.set_timeout(lambda:synch_data(None, 'thread'), 0) File "F:\SublimeText\Data\Packages\BufferScroll\BufferScroll.py", line 670, in synch_data view = Pref.synch_scroll_current_view_object AttributeError: 'NoneType' object has no attribute 'synch_scroll_current_view_object' Traceback (most recent call last): File "F:\SublimeText\Data\Packages\BufferScroll\BufferScroll.py", line 910, in sublime.set_timeout(lambda:synch_data(None, 'thread'), 0) File "F:\SublimeText\Data\Packages\BufferScroll\BufferScroll.py", line 670, in synch_data view = Pref.synch_scroll_current_view_object AttributeError: 'NoneType' object has no attribute 'synch_scroll_current_view_object' Traceback (most recent call last): File "F:\SublimeText\Data\Packages\BufferScroll\BufferScroll.py", line 910, in sublime.set_timeout(lambda:synch_data(None, 'thread'), 0) File "F:\SublimeText\Data\Packages\BufferScroll\BufferScroll.py", line 670, in synch_data view = Pref.synch_scroll_current_view_object AttributeError: 'NoneType' object has no attribute 'synch_scroll_current_view_object' Traceback (most recent call last): File "F:\SublimeText\Data\Packages\BufferScroll\BufferScroll.py", line 910, in sublime.set_timeout(lambda:synch_data(None, 'thread'), 0) File "F:\SublimeText\Data\Packages\BufferScroll\BufferScroll.py", line 670, in synch_data view = Pref.synch_scroll_current_view_object AttributeError: 'NoneType' object has no attribute 'synch_scroll_current_view_object' Traceback (most recent call last): File "F:\SublimeText\Data\Packages\BufferScroll\BufferScroll.py", line 910, in sublime.set_timeout(lambda:synch_data(None, 'thread'), 0) File "F:\SublimeText\Data\Packages\BufferScroll\BufferScroll.py", line 670, in synch_data view = Pref.synch_scroll_current_view_object AttributeError: 'NoneType' object has no attribute 'synch_scroll_current_view_object' Traceback (most recent call last): File "F:\SublimeText\Data\Packages\BufferScroll\BufferScroll.py", line 910, in sublime.set_timeout(lambda:synch_data(None, 'thread'), 0) File "F:\SublimeText\Data\Packages\BufferScroll\BufferScroll.py", line 670, in synch_data view = Pref.synch_scroll_current_view_object AttributeError: 'NoneType' object has no attribute 'synch_scroll_current_view_object' Detected ASCII vs UTF-8 with 100% confidence generating syntax summary generating syntax summary reloading settings Packages/PackageDev/Package/Sublime Text Build System/Sublime Text Build System.sublime-settings generating syntax summary generating meta info summary reloading settings Packages/PackageDev/Package/Sublime Text Commands/Sublime Text Commands.sublime-settings generating syntax summary generating meta info summary reloading settings Packages/PackageDev/Package/Sublime Text Color Scheme/Sublime Text Color Scheme.sublime-settings generating syntax summary generating meta info summary reloading settings Packages/PackageDev/Package/Sublime Text Keymap/Sublime Text Keymap.sublime-settings generating syntax summary generating meta info summary reloading settings Packages/PackageDev/Package/Sublime Text Completions/Sublime Text Completions.sublime-settings generating syntax summary generating meta info summary reloading settings Packages/PackageDev/Package/Sublime Text Menu/Sublime Text Menu.sublime-settings generating syntax summary generating meta info summary reloading settings Packages/PackageDev/Package/Sublime Text Macro/Sublime Text Macro.sublime-settings generating syntax summary reloading settings Packages/PackageDev/Package/Sublime Text Mousemap/Sublime Text Mousemap.sublime-settings generating syntax summary generating meta info summary reloading settings Packages/PackageDev/Package/Sublime Text Settings/Sublime Text Settings.sublime-settings generating syntax summary generating meta info summary reloading settings Packages/PackageDev/Package/Sublime Text Snippet/Sublime Text Snippet (Raw).sublime-settings reloading settings Packages/PackageDev/Package/Sublime Text Snippet/Sublime Text Snippet.sublime-settings generating syntax summary reloading settings Packages/PackageDev/Package/Sublime Text Project/Sublime Text Project.sublime-settings generating syntax summary reloading settings Packages/PackageDev/Package/Sublime Text Syntax Definition/Sublime Text Syntax Definition.sublime-settings generating syntax summary generating meta info summary generating syntax summary generating meta info summary reloading settings Packages/PackageDev/Package/TextMate Syntax Definition (YAML)/TextMate Syntax Definition (YAML).sublime-settings generating syntax summary generating meta info summary reloading settings Packages/PackageDev/Package/TextMate Preferences/TextMate Preferences.sublime-settings generating syntax summary generating meta info summary generating syntax summary generating syntax summary reloading settings Packages/REPL/config/OCaml/OCaml (toplevel).sublime-settings generating syntax summary generating syntax summary generating meta info summary Emmet: Loading https://api.github.com/repos/emmetio/pyv8-binaries/contents Emmet: You have the most recent PyV8 binary generating syntax summary warning: mnemonic r not found in menu caption SublimeREPL generating syntax summary FFP Settings found folder settings . : {} Loaded LaTeXTools plugins ['base_viewer'] from path F:\SublimeText\Data\Packages\LaTeXTools\viewers\base_viewer.py Loaded LaTeXTools plugins ['evince_viewer', 'sumatra_viewer', 'skim_viewer', 'zathura_viewer', 'command_viewer', 'okular_viewer', 'preview_viewer'] from path F:\SublimeText\Data\Packages\LaTeXTools\viewers Loaded LaTeXTools plugins ['traditional_bibliography', 'new_bibliography'] from path F:\SublimeText\Data\Packages\LaTeXTools\bibliography_plugins Loaded LaTeXTools plugins [] from path F:\SublimeText\Data\Packages\LaTeXTools\builders\pdfBuilder.py Loaded LaTeXTools plugins [] from path F:\SublimeText\Data\Packages\LaTeXTools\builders reloading settings Packages/User/BufferScroll.sublime-settings Exception in thread Thread-508: Traceback (most recent call last): File "./python3.3/threading.py", line 901, in _bootstrap_inner File "./python3.3/threading.py", line 1142, in run File "F:\SublimeText\Data\Packages\SublimeLinter\lint\queue.py", line 35, in worker callback(vid, hit_time) File "F:\SublimeText\Data\Packages\SublimeLinter\sublime_linter.py", line 220, in lint if hit_time and persist.last_hit_times.get(view_id, 0) > hit_time: AttributeError: 'NoneType' object has no attribute 'last_hit_times' Exception in thread Thread-509: Traceback (most recent call last): File "./python3.3/threading.py", line 901, in _bootstrap_inner File "./python3.3/threading.py", line 1142, in run File "F:\SublimeText\Data\Packages\SublimeLinter\lint\queue.py", line 35, in worker callback(vid, hit_time) File "F:\SublimeText\Data\Packages\SublimeLinter\sublime_linter.py", line 220, in lint if hit_time and persist.last_hit_times.get(view_id, 0) > hit_time: AttributeError: 'NoneType' object has no attribute 'last_hit_times' indexing [job 84]: no files were indexed out of the 4096 queued, abandoning crawl FuzzyFilePath cached 8615 files in F:/SublimeText/Data PackagesManager: No updated packages indexing [job 87]: no files were indexed out of the 4074 queued, abandoning crawl ```


Also, notice my computer does not load the Sublime Packages much faster, then if Sublime Text hangs the UI when mass enabling packages will take a huge time for the reloading. This is the loading speed:

![back3](https://user-images.githubusercontent.com/5332158/34686231-10de88fe-f492-11e7-8ae4-cdb7ccd36da7.gif)


The correct behavior for unloading and reloading should be Sublime Text reload them one by one not hanging the UI as when Sublime Text starts.
FichteFoll commented 5 years ago

I can confirm this as I was developing a plugin to implement a binary search algorithm in order to find mis-behaving packages. ST locks up for several seconds, plugin_host crashes, then occasionally ST crashes itself, when I disable 97 packages at once.

There was also odd behavior when reenabling those 97 packages again (also crashes of both plugin_host and ST with the ignored_packages setting then being removed from my user preferences file entirely, as indicated by #2132).

I suppose the best workaround currently is to close ST and mutate the ignored_packages setting while it is not running, or do like in #2132 and (batch) modify the ignored package list n at a time.

evandrocoan commented 5 years ago

As of today, you can find the latest version of the script to batch modify the ignored package list n packages at a time on:

  1. https://github.com/evandrocoan/ChannelManager/blob/bc6fde5a46d2a2ce6aca830366d2b5fb13ddab00/all/channel_manager/channel_installer.py#L1432-L1553

Here, it is resume of it outside the context of the channel_installer.py plugin. It should be a simple copy and paste to get it working and iterating throw all your installed packages one by one:

```python import sublime import time import functools # from .settings import run_on_main_thread from .package_disabler import PackageDisabler # How many packages to ignore and unignore in batch to fix the ignored packages bug error PACKAGES_COUNT_TO_IGNORE_AHEAD = 8 # The minimum time between multiple calls setting the `ignored_packages` setting, without triggering # the Sublime Text error `It appears a package is trying to ignore itself, causing a loop` IGNORE_PACKAGE_MINIMUM_WAIT_TIME = 1.7 g_next_packages_to_ignore = [] g_default_ignored_packages = [] def sublime_settings(): settings_name = "Preferences.sublime-settings" return sublime.load_settings( settings_name ) def save_sublime_settings(): settings_name = "Preferences.sublime-settings" sublime.save_settings( settings_name ) def packagesmanager_settings(): settings_name = "PackagesManager.sublime-settings" return sublime.load_settings( settings_name ) def save_packagesmanager_settings(): settings_name = "PackagesManager.sublime-settings" sublime.save_settings( settings_name ) def unique_list_append(a_list, *lists): for _list in lists: for item in _list: if item not in a_list: a_list.append( item ) def save_ignored_packages_callback(): packagesmanager_settings().set( 'next_packages_to_ignore', g_next_packages_to_ignore ) save_packagesmanager_settings() def clean_ignored_packages_callback(): packagesmanager_settings().erase( 'next_packages_to_ignore' ) save_packagesmanager_settings() # Disabling a package means changing settings, which can only be done # in the main thread. We just sleep in this thread for a bit to ensure # that the packages have been disabled and are ready to be installed. def run_on_main_thread(callback): is_finished = [False] def main_thread_call(): callback() is_finished[0] = True sublime.set_timeout( main_thread_call, 1 ) while not is_finished[0]: time.sleep( 0.1 ) class IgnoredPackagesBugFixer(object): _is_running = False def __init__(self, package_list_to_process, ignoring_type="install"): assert not IgnoredPackagesBugFixer._is_running, "IgnoredPackagesBugFixer is a Singleton and it is already running! Did you forget to stop it?" IgnoredPackagesBugFixer._is_running = True self.package_list_to_process = package_list_to_process self.package_disabler = PackageDisabler() self.uningored_packages_to_flush = 0 # Value to pass to Package Control PackageDisabler: # - "upgrade" # - "remove" # - "install" # - "disable" # - "loader" self.ignoring_type = ignoring_type global g_default_ignored_packages global g_next_packages_to_ignore g_next_packages_to_ignore = packagesmanager_settings().get( 'next_packages_to_ignore', [] ) g_default_ignored_packages = self.setup_packages_ignored_list( packages_to_remove=g_next_packages_to_ignore ) def __iter__(self): package_list_to_process = self.package_list_to_process for package_name in package_list_to_process: self.ignore_next_packages( package_name, package_list_to_process ) # To here, you can do anything with your package on `package_name` variable, because # the functions ignore_next_packages() and accumulative_unignore_user_packages() # will take care of everything to ensure they are disabled and reenabled. yield package_name self.accumulative_unignore_user_packages( package_name ) # Ensure the list is clean when process finishes self.stop() def stop(self): """ If the iteration is stopped by a break statement, this must to be called before break. """ self.accumulative_unignore_user_packages( flush_everything=True ) run_on_main_thread( clean_ignored_packages_callback ) IgnoredPackagesBugFixer._is_running = False def skip_reenable(self, package_name): if package_name in g_next_packages_to_ignore: g_next_packages_to_ignore.remove( package_name ) else: print( "PackagesManager: The package `%s` is not marked to be unignored." % package_name ) def ignore_next_packages(self, package_name, packages_list): if self.uningored_packages_to_flush < 1: global g_next_packages_to_ignore last_ignored_packages = packages_list.index( package_name ) g_next_packages_to_ignore.extend( packages_list[last_ignored_packages : last_ignored_packages+PACKAGES_COUNT_TO_IGNORE_AHEAD+1] ) # If the package is already on the users' `ignored_packages` settings, it means either that # the package was disabled by the user, therefore we must not unignore it later when unignoring them. for package_name in list( g_next_packages_to_ignore ): if package_name in g_default_ignored_packages: print( "PackagesManager: Warning, the package `%s` could not be ignored because it already ignored." % package_name ) g_next_packages_to_ignore.remove( package_name ) g_next_packages_to_ignore.sort() # Let the packages be unloaded by Sublime Text while ensuring anyone is putting them back in self.setup_packages_ignored_list( packages_to_add=g_next_packages_to_ignore ) def accumulative_unignore_user_packages(self, package_name="", flush_everything=False): """ @param flush_everything set all remaining packages as unignored """ if flush_everything: self.setup_packages_ignored_list( packages_to_remove=g_next_packages_to_ignore ) self.clear_next_ignored_packages() else: print( "PackagesManager: Adding package to unignore list: %s" % str( package_name ) ) self.uningored_packages_to_flush += 1 if self.uningored_packages_to_flush >= len( g_next_packages_to_ignore ): self.setup_packages_ignored_list( packages_to_remove=g_next_packages_to_ignore ) self.clear_next_ignored_packages() def clear_next_ignored_packages(self): del g_next_packages_to_ignore[:] self.uningored_packages_to_flush = 0 def setup_packages_ignored_list(self, packages_to_add=[], packages_to_remove=[]): """ Flush just a few items each time. Let the packages be unloaded by Sublime Text while ensuring anyone is putting them back in. Randomly reverting back the `ignored_packages` setting on batch operations https://github.com/SublimeTextIssues/Core/issues/2132 """ currently_ignored = sublime_settings().get( "ignored_packages", [] ) packages_to_add.sort() packages_to_remove.sort() print( "PackagesManager: Currently ignored packages: " + str( currently_ignored ) ) print( "PackagesManager: Ignoring the packages: " + str( packages_to_add ) ) print( "PackagesManager: Unignoring the packages: " + str( packages_to_remove ) ) currently_ignored = [package_name for package_name in currently_ignored if package_name not in packages_to_remove] unique_list_append( currently_ignored, packages_to_add ) currently_ignored.sort() # This adds them to the `in_process` list on the Package Control.sublime-settings file if len( packages_to_add ): # We use a functools.partial to generate the on-complete callback in # order to bind the current value of the parameters, unlike lambdas. closure = functools.partial( self.package_disabler.disable_packages, packages_to_add, self.ignoring_type ) run_on_main_thread( closure ) time.sleep( IGNORE_PACKAGE_MINIMUM_WAIT_TIME ) # This should remove them from the `in_process` list on the Package Control.sublime-settings file if len( packages_to_remove ): # We use a functools.partial to generate the on-complete callback in # order to bind the current value of the parameters, unlike lambdas. closure = functools.partial( self.package_disabler.reenable_package, packages_to_remove, self.ignoring_type ) run_on_main_thread( closure ) time.sleep( IGNORE_PACKAGE_MINIMUM_WAIT_TIME ) def main_callback(): sublime_settings().set( "ignored_packages", currently_ignored ) save_sublime_settings() # Something, somewhere is setting the ignored_packages list back to `["Vintage"]`. Then # ensure we override this. for interval in range( 0, 27 ): run_on_main_thread( main_callback ) time.sleep( IGNORE_PACKAGE_MINIMUM_WAIT_TIME ) new_ignored_list = sublime_settings().get( "ignored_packages", [] ) print( "PackagesManager: Currently ignored packages: " + str( new_ignored_list ) ) if new_ignored_list: if len( new_ignored_list ) == len( currently_ignored ) \ and new_ignored_list == currently_ignored: break run_on_main_thread( save_ignored_packages_callback ) return currently_ignored ```


Simple usage example: [automatic_upgrader.py](https://github.com/evandrocoan/PackagesManager/blob/d233648bc284aa7bc9d7074b8468cd1668f3abed/package_control/automatic_upgrader.py#L280-L289) ```python manager = PackageManager() for package_name in IgnoredPackagesBugFixer( ["PackageName1", "PackageName2"], "install" ): if manager.install_package(package_name): print( "Installed package:", package_name ) ``` Advanced usage example: [advanced_install_package_command.py](https://github.com/evandrocoan/PackagesManager/blob/d233648bc284aa7bc9d7074b8468cd1668f3abed/package_control/commands/advanced_install_package_command.py#L99-L110) ```python manager = PackageManager() installed_packages = ["PackageName1"] def closure(package_name): return 'install' if package_name not in installed_packages else 'upgrade' iterable = IgnoredPackagesBugFixer( ["PackageName1", "PackageName2"], closure ) for package in iterable: # Do not reenable if installation deferred until next restart if manager.install_package( package ) is None: iterable.skip_reenable( package ) ``` For reference, the package FichteFoll seems to be working on is: 1. https://github.com/guillermooo/sublime-troubleshooting/tree/feature/binary-search
evandrocoan commented 5 years ago

I was implementing this fix into my fork of Package Control, and I found this commentary:

        # Disabling a package means changing settings, which can only be done
        # in the main thread. We just sleep in this thread for a bit to ensure
        # that the packages have been disabled and are ready to be installed.
        sublime.set_timeout(disable_package_callback, 700)

May be this problem is related from which thread we are issuing the command changing the ignored packages settings.


Updated: wbond said on Discord that this was only required for Sublime Text 2 compatibility because multi-threading was not properly supported.