May not return value in this else-if branch

test case:

```rconsole
> logical_abbr(quote(function(x=TRUE, na.rm = TRUE) FALSE ))
Error in if (logical_abbr(x[[i]])) return(TRUE) : 
  argument is of length zero
```

The credit should go to [superdesolator](http://cos.name/cn/profile/377380) who found the problem.