Ensure ranges are explicitly removed before :call
Ensure ranges are explicitly removed before :call

Currently, <Plug>ClojureEvalBlock executes once for each line of the
visual selection, resulting in a linear increase of execution time as
the selection size grows.

This is due to a feature of :call that re-executes the given function
for each line in a given range, unless the function explicitly handles
ranges.

    :[range]cal[l] {name}([arguments])
        When a range is given and the function doesn't handle it itself,
        the function is executed for each line in the range, with the
        cursor in the first column of that line. The cursor is left at
        the last line (possibly moved by the last function call). The
        arguments are re-evaluated for each line.

The mapping convention used to avoid this is to map the invocation as

    :<C-U>call ...

which removes the :'<,'> range that is inserted on the command line when
starting from visual mode.

guns/vimclojure,guns/vimclojure,guns/vimclojure