In general, I am pretty happy with the tab-completion provided by Emacs. However, I would like to avoid situations like this one.

While programming in Lisp with Slime and SBCL, I am doing a let-binding of this expression (render-url url-instance)) in the following code snippet:

 (dolist (url-instance  (urls-visited-over-threshold (url->bookmark-visit-threshold *browser*)))
      (if (is-url-new-to-bookmarks-p (render-url url-instance))
          (if-confirm ("Do you want to bookmark ~a?" (render-url url-instance))
                      (bookmark-url :url (render-url url-instance)))))))

After creating the let-binding with the url-address I thought I would be able to replace it using tab-completion

(let ((url-address (render-url url-instance)))
        (if (is-url-new-to-bookmarks-p url-address)
            (if-confirm ("Bookmark ~a?" url-address)
                        (bookmark-url :url (render-url url-instance)))))

However, as I remove (render-url url-instance) and I start to type url-a... to achieve url-address I cannot do tab completion. And I have saved the file.

Is there a way to solve this?

  • 1
    This seems more like a content for bug report rather than a Q&A site.
    – Dmitry
    Jul 3, 2021 at 22:01
  • 1
    FWIW, this example works fine in emacs-lisp-mode. Try the SLIME bug tracker.
    – Dmitry
    Jul 3, 2021 at 22:04
  • @Dmitry I did not know this could be a bug. Jul 3, 2021 at 22:29
  • 1
    The important thing is to evaluate the the let expression, not to save the file.
    – aadcg
    Jul 28, 2021 at 22:31


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.