ZyX_I committed 66ccde6

@/mappings: Make unmap handle «mapping/abbreviation/menu does not exists» errors

Comments (0)

Files changed (1)


 function s:F.unmap(mapdescr)
     let modes=s:F.modrewrite(a:mapdescr.mode, a:mapdescr.type)
     let lhs=s:F.hsescape(a:mapdescr.lhs, a:mapdescr.sid, a:mapdescr.type)
+    let r=1
     for mode in modes
-        execute mode.'un'.(a:mapdescr.type)
-                    \ '<special>'
-                    \ ((a:mapdescr.buffer)?('<buffer>'):(''))
-                    \ lhs
+        try
+            execute mode.'un'.(a:mapdescr.type)
+                        \ '<special>'
+                        \ ((a:mapdescr.buffer)?('<buffer>'):(''))
+                        \ lhs
+        catch /\v^Vim\(un\w+\)\:E(24|31|329):/
+            let r=0
+        endtry
+    return r
 "▶1 lhsfilter     :: Either lhs [lhs] → [lhs]
 function s:F.lhsfilter(llhs)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.