In bm#serialize(), the content field is escaped, but theannotation field is not. If the annotations contain single quotation marks ('), exec join(a:data, " | ") in bm#deserialize() will fail silently, and l:bm_sessions will be overwrite upon VimLeave, causing loss of saved bookmarks. Please fix this.
exec join(a:data, " | ")
Oh no, what a terrible bug! Thanks for reporting @willthefrog
You are welcome, thanks for this great plugin.
Fix single quotes in annotations, fixes #53