Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
'lucky' search only selects the first hit, so set hit to 1 and
enable 'single' mode. Also rework the results output, and make a custom
'title -- url' for lucky mode.
|
|
|
|
Chopping everything causes long delays for non-existing pages with
long paths. Since the purpose of the retry-with-chop is to get the
right URL when punctuation is added after it, the solution is to
only chop non-word characters. This has to be done on the
unescaped URL because otherwise non-word characters like " that
expand to %22 will not be chopped.
|
|
The time parsing refactoring introduced an unpleasant namespace
conflict by defining Utils::Time. Eliminate it by renaming it to
ParseTime
|
|
|
|
A reply can be prefixed with 'ruby:' to signify that it's a short ruby
snippet to be eval()ed. Adding these reactions is protected by default.
|
|
When LANGUAGE env var is set to empty value, it breaks
gettext in ruby, so we unset it if it's empty.
|
|
Since in 1.9 methods arrays have symbols instead of strings, fix it by
changing into respond_to? and method_defined?
|
|
this monkeypatch doesn't work on 1.9 - Singleton has no _load method
|
|
ruby 1.9's ConditionVariable#wait is not implemented for timeout != nil,
this patch adds an implementation for it (see ruby-core:15847)
Also, since MonitorMixin is included into TCPSocket in rbot, and
TCPSocket#send != Object#send in ruby 1.9, i changed that to use
__send__.
|
|
in 1.9, Integer(nil) raises TypeError, so we change "%d" to "%s"
|
|
changed "string + exception" to "string #{e}", the
former yields 'can't convert <e> into String' in ruby 1.9
|
|
|
|
ruby 1.9 doesn't support colon as delimiter after when expression,
so we use newline as delimiter.
|
|
Array#nitems is gone in ruby 1.9, changed rbot code to use
Array.compact.size, which works in both 1.8 & 1.9
|
|
Add time parsing routines to Utils, to be used for human-to-computer
conversion of time offsets. Refactored and enhanced from the remind
plugin.
|
|
hangman: an unneeded letters accessor was defined
ircbot: restore initializations removed by previous commit
|
|
|
|
|
|
|
|
The plugin fallback method is now passed the list of failures.
Failures themselves are encapsulated in their own data type, making it
easier to handle failures that should inform the user with something
more detailed than the classic 'usage' pattern.
It's still up to the fallback method to make use (e.g. echo) the
relevant messages.
|
|
Put #conjoin() in the Enumerable module, so that it can be shared by all
enumerables (e.g. ranges). Since #size() is not necessarily present, its
use is replaced by #count(), the result of which is cached because
it can be slow on objects missing #size().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Don't break when the feed doesn't define categories.
|
|
If the registry data is not an Array, there will be no 'before'
information stored, so just use the normal output.
|
|
When the search is called as 'facts search' the 'words' parameter is
not defined, so customize the message depending on wether we have that
or 'rx'.
|
|
All of these modules/plugins were generating warnings like this:
warning: parenthesize argument(s) for future version
This patch should fix all the warnings without affecting functionality.
|
|
The time command is already defined by the corresponding plugin, so use
gtime (like gdef and gcalc) for the Google clock.
|
|
|
|
|
|
REXML in (at least) Ruby 1.8.6 doesn't support the @attr xpath to get
an attribute value. Use the slightly more verbose way of doing it.
|
|
Some feeds have more than one category. Make all of them available in
the :categories stream key.
|
|
|
|
When the new IRC framework was introduced, the old @channels Hash and
its accessor for @bot were dismissed.
Reintroduce it for backwards compatibility.
|
|
|
|
Because "provided by google_translate" is ugly.
|
|
Translator plugin supports babelfish, and getting rid of this plugin
allows us to use ´translate´ command for better purposes.
|
|
In which case we use Google translate's source language auto-detection feature.
|
|
|
|
|
|
GetText version 2 has some significant difference from earlier version.
* different syntax to set the default locale path
* different syntax to set non-cached mode
* different way to handle bound targets
Most of the changes are relative to significant functionality split
between the GetText submodules (LocalePath, TextDomain etc), so most of
the changes are just a matter of moving the defines where appropriate.
The bound_targets patch needed to cope with anonymous modules is not
needed with gettext >= 2.0.0
|
|
|