Hammerspoon / Spoons

The official repository of Spoon plugins
https://www.hammerspoon.org/Spoons/
448 stars 141 forks source link

Fix query replacement for non-spaced queries #272

Closed thomasjachmann closed 1 year ago

thomasjachmann commented 2 years ago

Bug

When querying a single word (without spaces), the substitution string ${query} won't be replaced.

Explanation/Fix

string.gsub returns two values: the string with substitutions and the number of substitutions made

If doing the nested gsub, these two return values will be passed into the outer gsub, which accepts an optional fourth parameter specifying how many substitutions should be made. So the number of substitutions in the inner gsub determines the number of substitutions in the outer gsub: When the query doesn't contain a blank, that number of substitutions in the inner gsub is 0 and the outer gsub won't replace anything, leaving ${query} in the url.

By first assigning the gsub result to a variable, the number of substitutions return value will be ignored.

dxmh commented 1 year ago

This PR fixes the issue in https://github.com/Hammerspoon/Spoons/issues/284 for me. 👍

cmsj commented 1 year ago

Thanks, and apologies for taking a while to get to this.