sshaw / git-link

Emacs package to get the GitHub/Bitbucket/GitLab/... URL for a buffer location
394 stars 73 forks source link

use user-error to signal errors #45

Open wbolster opened 7 years ago

wbolster commented 7 years ago

first, thanks for this package!

that said, please use (user-error ...) instead or (message ...) to signal errors, so that i can catch them and do something sensible.

this would allow me to write a function that would first try (git-link-commit), falling back to (git-link) in case that fails, which would basically "do what i mean" in 99% of my use cases.

let me know whether i should submit a pr!

sshaw commented 7 years ago

Hi, I only call error in git-link-homepage. messages is most everywhere.

Can you provide more info? Thanks!

wbolster commented 7 years ago

yeah, my suggestion is to use (user-error) instead of (message) when something goes wrong. right now you use (message) which does not trigger an error that can be caught.

i want to be able to do something like this:

    (condition-case nil
        (git-link-commit)
      (user-error
       (git-link)))

but it seems right now i cannot.

sshaw commented 7 years ago

Got it, makes sense. I'll have to look into user-error.

You may also want to checkout the PRs and issues. There's talk of making a git-link-dwim function or maybe even changing git-link to fallback to git-link-commit.

I think changing these functions to signal errors will require releasing a 1.0 version.