make duplicate registerItem() a no-op

This commit is contained in:
2022-10-06 20:12:18 +00:00
parent 81b9435602
commit 5f5c41ef71

View File

@@ -80,6 +80,10 @@
conflictMessage "Keyboard shortcut for $description conflicts with $existingKey"] conflictMessage "Keyboard shortcut for $description conflicts with $existingKey"]
(if keys (if keys
(case existingKey (case existingKey
// No harm in registering the same item twice:
((when (= otherItem item) (or (Final otherItem) (Cancel otherItem)))
(return))
// Conflicting with a different one, on the other hand:
((or (Final _) (Cancel _)) ((or (Final _) (Cancel _))
(tryCallOrThrow onBadShortcut conflictMessage false description existingKey)) (tryCallOrThrow onBadShortcut conflictMessage false description existingKey))
((Prefix innerPrefixMap) ((Prefix innerPrefixMap)