Skip to content

[Feature Request] - exceeding ID_PLUGINS_CMD_LIMIT #10263

@artie-finkelstein

Description

@artie-finkelstein

Description of the Issue

Notepad++ v8.12 32bit portable silently ignores any requested enumerations of Plugin Menu Command IDs exceeding 500

Steps to Reproduce the Issue

  1. Load a large number of plugins, best using plugins with a large number of command IDs
  2. TextFX uses 157, NppTextViz uses 31, ZenCoding-Python uses 24, Compare uses 16, Explorer uses 13, NppExec uses at least 19 for each console
  3. see the second debug information for a full list of plugins loaded

Expected Behavior

A warning, status message or other indicator that too many plugins are being loaded.
See below for the Feature Request.

Actual Behavior

The plugins listed towards the end of the \Plugins menu no longer respond to selections on individual menu entries

Debug Information

Notepad++ v8.1.2 (32-bit)
Build time : Jul 16 2021 - 01:56:21
Path : C:\Programs\Notepad++\notepad++.exe
Command Line :
Admin mode : ON
Local Conf mode : ON
Cloud Config : OFF
OS Name : Windows 7 Professional (64-bit)
OS Build : 7601.0
Current ANSI codepage : 1252
Plugins : BetterMultiSelection.dll ColumnTools.dll CustomLineNumbers.dll DSpellCheck.dll Explorer.dll ExtSettings.dll FallingBricks.dll FingerText.dll Linefilter3.dll LuaScript.dll MarkdownViewerPlusPlus.dll MenuIcons.dll NavigateTo.dll NppCalc.dll NppColumnSort.dll NppEditorConfig.dll NppEventExec.dll NppExec.dll NppFavorites.dll NppHorizontalRuler.dll NPPJSONViewer.dll NppJumpList.dll NppMenuSearch.dll NppQCP.dll NppSnippets.dll NppTextFX.dll NppTextViz.dll NppUISpy.dll OpenFileInFolders.dll pork2sausage.dll PreviewHTML.dll PythonScript.dll QuickText.dll selectNLaunch.dll ZoomDisabler.dll _CustomizeToolbar.dll

The above is a pared down list after the limitation was discovered.
At the time this issue was being investigated, my baseline debug was:

Npp debug:
Notepad++ v8.1.2 (32-bit)
Build time : Jul 16 2021 - 01:56:21
Path : C:\Programs\Notepad++\notepad++.exe
Command Line :
Admin mode : ON
Local Conf mode : ON
Cloud Config : OFF
OS Name : Windows 7 Professional (64-bit)
OS Build : 7601.0
Current ANSI codepage : 1252
Plugins : BetterMultiSelection.dll BookmarksDook.dll ColumnTools.dll CustomLineNumbers.dll DSpellCheck.dll Explorer.dll ExtSettings.dll FallingBricks.dll FingerText.dll Linefilter3.dll LuaScript.dll MarkdownViewerPlusPlus.dll MenuIcons.dll mimeTools.dll NavigateTo.dll NppCalc.dll NppColumnSort.dll NppConverter.dll NppEditorConfig.dll NppEventExec.dll NppExec.dll NppExport.dll NppFavorites.dll NppFTP.dll NppHorizontalRuler.dll NPPJSONViewer.dll NppJumpList.dll NppMenuSearch.dll NppPlates.dll NppQCP.dll NppSnippets.dll NppTextFX.dll NppTextViz.dll NppToolBucket.dll NppUISpy.dll OpenFileInFolders.dll pork2sausage.dll PreviewHTML.dll PythonScript.dll QuickText.dll RegRexPlace.dll selectNLaunch.dll Tidy2.dll ZenCoding-Python.dll ZoomDisabler.dll _CustomizeToolbar.dll

With ComparePlugin.dll & NppExec2.dll added to "push things over the limit"

FEATURE REQUEST:

  1. Add a warning if the loaded plugins exceed the range bounded by ID_PLUGINS_CMD_LIMIT - ID_PLUGINS_CMD
  2. Expand the size of the plugins command range, by one of the following:
    2a) change the value of ID_PLUGINS_CMD_LIMIT to 22999
    2b) change the value of ID_PLUGINS_CMD_LIMIT to 23499 & change the value of ID_PLUGINS_CMD_DYNAMIC to 23500
    Note: by using NppUISpy and browsing the assigned command IDs of the plugins, I noted that very few plugins use the 'dynamic command' range which is four times the size of the basic command range. I realize my choice in plugins may not be a universal sample, but the range sizes do seem to be a bit skewed.

NOTE:
credit to Dave (a/k/a "dw-dev" dw-dev@gmx.com ) of CustomizeToolbar for determining the root cause of plugins no longer responding to menu requests

Metadata

Metadata

Assignees

Labels

acceptedenhancementProposed enhancements of existing features

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions