bookmark 是 emacs 用于保存访问文件特定位置的机制
自带的函数只提供了基本功能, 并不智能, 比如 set 后不会 save
这个文件中对 bookmark 的 set 和跳转作了调整
在函数的开头使用
(my-ensure 'bookmark)
(bookmark-maybe-load-default-file)
来保证后续操作的合理性
my-bookmark-set
自动保存
针对 w3m mode 进行了特别设置,不保存文件名, 保存 url
让 bookmark 在保存之前保存过的文件名时, 自动覆盖 (这里默认了之后保存的时候, 使用了 promt 中默认的文件名)
cl-find-if 返回 list 中第一个满足条件的元素
my-bookmark-goto
completing-read 函数, 从 cands 中进行选取
dep 删除 list 中和指定元素相等的元素
boundp 检查 symbol 是否已绑定
(and (boundp 'bookmark-alist) bookmark-alist)
可以在 bookmark-alist 未绑定时返回 nil 而不致于报错中断代码的执行