diff --git a/emacs-bookmark.zsh b/emacs-bookmark.zsh index 41644c6..487fa30 100644 --- a/emacs-bookmark.zsh +++ b/emacs-bookmark.zsh @@ -233,15 +233,15 @@ function bmadd { (( ${ans} != 0 )) && return 1 fi local res="$(emacsclient --eval \ -"(let* ((loc \"${loc:gs#\\#\\\\#:gs#\"#\\\"#}\") - (name \"${name:gs#\\#\\\\#:gs#\"#\\\"#}\") +"(let* ((loc (pop server-eval-args-left)) + (name (pop server-eval-args-left)) (res (with-temp-buffer (set-visited-file-name loc t nil) (bookmark-set name) (set-buffer-modified-p nil))) (inhibit-message t)) (bookmark-save) - res)")" + res)" "${loc}" "${name}")" [[ "${res}" = 'nil' ]] && printf 'Added bookmark "%s"\n' "${(q)name}" \ || { printf '%s\n' "${res}"; return 1 } __bm_update_bookmark_list @@ -269,10 +269,10 @@ function bmrm { if read -q; then printf '\n' local res="$(emacsclient --eval \ -"(let* ((res (bookmark-delete \"${1:gs#\\#\\\\#:gs#\"#\\\"#}\")) +"(let* ((res (bookmark-delete (pop server-eval-args-left))) (inhibit-message t)) (bookmark-save) - res)")" + res)" "${1}")" [[ "${res}" = 'nil' ]] && printf 'Deleted bookmark "%s"\n' "${(q)1}" \ || { printf '%s\n' "${res}"; return 1 }