Pragmatic Software
71ec3ea44a
Update version
2020-01-25 19:55:49 -08:00
Pragmatic Software
b0388fa9a6
Users: drop "my_" prefix; ensure account does not already exist
2020-01-25 19:55:43 -08:00
Pragmatic Software
7a326ba7fe
PBot: missing exit on fatal error
2020-01-25 19:55:08 -08:00
Pragmatic Software
9839cb814e
Update version
2020-01-25 16:30:43 -08:00
Pragmatic Software
07a6c32416
Users: my
commands now ignores leading "is " in value
2020-01-25 16:30:39 -08:00
Pragmatic Software
2f7afb6e39
Update version
2020-01-25 16:09:46 -08:00
Pragmatic Software
c36f9d72bb
Users: my
command: add level sanity check
2020-01-25 16:09:43 -08:00
Pragmatic Software
dc0909cbcc
Update version
2020-01-25 15:44:32 -08:00
Pragmatic Software
7ba505faf5
HashObject: do not make copy of $data hash
2020-01-25 15:08:05 -08:00
Pragmatic Software
02f1995654
DualIndexHashObject: do not make copy of $data hash
2020-01-25 15:07:40 -08:00
Pragmatic Software
3e031f3874
Users: fix issues
2020-01-25 14:31:10 -08:00
Pragmatic Software
7322906e5d
Update version
2020-01-25 14:14:12 -08:00
Pragmatic Software
4e27b036cd
Fix issues with Users and add date
command
2020-01-25 14:13:57 -08:00
Pragmatic Software
5dd03f1c0c
Massive refactor: added support for generic users!
...
Renamed data/admins to data/users
Moved Admins.pm to Users.pm
Moved various subroutines in AdminCommands.pm to more appropriate locations
Deleted AdminCommands.pm
Improvements to Users.pm
Added `my` command
2020-01-25 12:28:05 -08:00
Pragmatic Software
cc8f2b827a
Update version
2020-01-24 09:53:11 -08:00
Pragmatic Software
75c17b2ec0
Admins: find_admin now returns highest level admin
2020-01-24 09:53:08 -08:00
Pragmatic Software
496a07ab9a
Update version
2020-01-23 22:46:57 -08:00
Pragmatic Software
61d5c6dd5f
Commands: restore accidentally removed use statements
2020-01-23 22:46:41 -08:00
Pragmatic Software
ba1eb9c745
Update version
2020-01-23 21:47:42 -08:00
Pragmatic Software
7dc8ac0623
Channels: chanrem
now removes ban and mute timeouts as well
2020-01-23 21:46:51 -08:00
Pragmatic Software
4e2a17a5ed
Commands: add uptime
command
2020-01-23 21:09:57 -08:00
Pragmatic Software
7feb528024
Factoids: remove version
factoid
2020-01-23 21:09:36 -08:00
Pragmatic Software
9a79d025e9
FactoidCommands: anybody can now factset and unset action_with_args
2020-01-23 20:53:55 -08:00
Pragmatic Software
c0ad02e6a3
Move creation of stdin admin to StdinReader
2020-01-23 20:47:18 -08:00
Pragmatic Software
9fb0d5d8bc
NickList: * should not be greedy
2020-01-22 16:53:18 -08:00
Pragmatic Software
f2590ec83b
Update version
2020-01-22 16:51:19 -08:00
Pragmatic Software
a6040609b9
IRCHandlers: give send_who() a registry toggle
2020-01-22 16:51:14 -08:00
Pragmatic Software
5e54712a7b
NickList: fix set_meta on wildcard hostmasks
2020-01-22 16:50:45 -08:00
Pragmatic Software
eaecc81762
Update version
2020-01-22 15:56:47 -08:00
Pragmatic Software
2270196937
Admins: add autoop, autovoice and autologin metadata
2020-01-22 15:56:39 -08:00
Pragmatic Software
3086d96fdc
FuncCommand: improve listing and add uc, lc, etc
2020-01-21 21:15:44 -08:00
Pragmatic Software
d61b1217bb
Interpreter: properly check $from for $botnick
2020-01-21 21:15:01 -08:00
Pragmatic Software
f7f5409e4a
Update version
2020-01-21 21:10:47 -08:00
Pragmatic Software
c84b837e97
Update version
2020-01-21 21:04:10 -08:00
Pragmatic Software
cada72fdb2
Update version
2020-01-20 16:52:46 -08:00
Pragmatic Software
3eb8bd15a6
AdminCommands: reload
can now reload commands metadata
2020-01-20 16:52:44 -08:00
Pragmatic Software
942a152681
Update version
2020-01-20 16:48:36 -08:00
Pragmatic Software
cec026705b
Commands: add help
command
2020-01-20 16:37:51 -08:00
Pragmatic Software
fa9bb06606
Rename BotAdmin* to Admin*
2020-01-20 15:25:26 -08:00
Pragmatic Software
fb9117b6aa
VERSION: minor clean-up
2020-01-19 21:43:04 -08:00
Pragmatic Software
02285c51fd
Update version
2020-01-19 21:13:22 -08:00
Pragmatic Software
4f33dc3dd7
VERSION: add ratelimit to version
command update check
2020-01-19 21:13:09 -08:00
Pragmatic Software
db8351b0d5
Update version
2020-01-19 20:17:26 -08:00
Pragmatic Software
3a5224ef26
Factoids: find_factoid no longer cares about built-in commands
2020-01-19 20:17:22 -08:00
Pragmatic Software
437ad88248
VERSION: update header
2020-01-19 20:10:46 -08:00
Pragmatic Software
ba61b0b2be
Update version
2020-01-19 20:04:13 -08:00
Pragmatic Software
406f8e3207
VERSION: version check show new version only if new version is GREATER
2020-01-19 20:04:10 -08:00
Pragmatic Software
76b5c6a2b7
Update version
2020-01-19 20:02:34 -08:00
Pragmatic Software
5a2f57494b
VERSION: remove parentheses around date in version check
2020-01-19 20:02:29 -08:00
Pragmatic Software
a0dd5728a3
Update version
2020-01-19 20:00:03 -08:00
Pragmatic Software
ed874c2dec
Minor style clean-up
2020-01-19 20:00:01 -08:00
Pragmatic Software
349266b598
Update version
2020-01-19 19:53:48 -08:00
Pragmatic Software
64cba56698
VERSION: add built-in version
command
2020-01-19 19:53:45 -08:00
Pragmatic Software
d14ab77764
Update version
2020-01-18 22:13:47 -08:00
Pragmatic Software
a10a2594c9
ChanOpCommands: skip admin check if command level is 0
2020-01-18 22:13:43 -08:00
Pragmatic Software
727d086df1
Commands: ensure "level" metadata is always set
2020-01-18 22:13:08 -08:00
Pragmatic Software
6eeec3b26c
Commands: remove "metadata" from name of HashObject
2020-01-18 21:58:58 -08:00
Pragmatic Software
aadc9c00d8
Update version
2020-01-18 21:57:57 -08:00
Pragmatic Software
3c7950b82e
Remove single-quotes from set/unset output
2020-01-18 21:57:54 -08:00
Pragmatic Software
99c889faf7
Update version
2020-01-18 21:49:58 -08:00
Pragmatic Software
f3ef8a56c0
Commands: add metadata
2020-01-18 21:49:55 -08:00
Pragmatic Software
5eaa3591c7
Minor style clean-up
2020-01-18 21:41:47 -08:00
Pragmatic Software
20f767e2f2
RegistryCommands: fix regfind
2020-01-17 23:00:55 -08:00
Pragmatic Software
fc851a069d
Update version
2020-01-16 21:51:09 -08:00
Pragmatic Software
898a84c4f0
Factoids: use _name fields
2020-01-16 21:51:03 -08:00
Pragmatic Software
6f9133f982
PBot: ignore leading hypen on registry command-line arguments too
2020-01-16 21:30:01 -08:00
Pragmatic Software
bd11d501e3
Update version
2020-01-16 21:20:18 -08:00
Pragmatic Software
1f0e1b77cb
PBot: ignore one leading hyphen in command-line arguments
2020-01-16 20:42:58 -08:00
Pragmatic Software
95d82f57d7
Update version
2020-01-14 20:17:29 -08:00
Pragmatic Software
0a31d17fef
ChanOpCommands: fix typo
2020-01-14 20:17:26 -08:00
Pragmatic Software
1ff7c73152
Update version
2020-01-14 20:01:24 -08:00
Pragmatic Software
f789bd1206
ChanOpCommands: invite
now catches events to send responses
...
Clean up previous commit a lot
2020-01-14 20:01:19 -08:00
Pragmatic Software
753328b77b
Update version
2020-01-14 18:55:26 -08:00
Pragmatic Software
ebf5206ff6
ChanOpCommands: invite
now behaves more like ChanServ when used from /msg
2020-01-14 18:55:20 -08:00
Pragmatic Software
41ae04d291
Update version
2020-01-14 18:11:01 -08:00
Pragmatic Software
02552081d5
Fix all potential case-sensitivity issues
...
Misc clean-ups and refactors
2020-01-14 18:10:53 -08:00
Pragmatic Software
92532a6e78
Update version
2020-01-11 18:02:03 -08:00
Pragmatic Software
04ed9d3554
Add voice
and devoice
commands
2020-01-11 18:02:00 -08:00
Pragmatic Software
782be369b6
Update version
2020-01-11 17:46:49 -08:00
Pragmatic Software
3da8e22e4e
Add op
and deop
commands
2020-01-11 17:46:44 -08:00
Pragmatic Software
d9fa465bb7
FactoidCommands: correct header
2020-01-10 18:59:15 -08:00
Pragmatic Software
6124bc5029
list admins
now sorts by name field instead of hostmask
2020-01-04 23:09:25 -08:00
Pragmatic Software
2822029aaa
BotAdminCommands: adminset
now hides password field when listing all keys
2020-01-04 22:39:58 -08:00
Pragmatic Software
4dacbfeb7a
list admins
now lists only current channel when used in-channel
2020-01-04 22:13:07 -08:00
Pragmatic Software
6e25f96717
Update version
2020-01-04 21:26:23 -08:00
Pragmatic Software
bd2e225f76
RegistryCommands: all commands now understand section.item syntax (e.g. irc.server)
2020-01-04 21:26:18 -08:00
Pragmatic Software
a400178204
IRCHandlers: handle channelcreate event; properly show timestamp for channel title
2020-01-04 11:59:41 -08:00
Pragmatic Software
796b23806e
Update version
2020-01-04 00:21:23 -08:00
Pragmatic Software
77233e4328
IRCHandlers: fix WHO case-sensitivity
2020-01-04 00:21:19 -08:00
Pragmatic Software
9dbd84f6c5
Commands: use boundary when extracting admin channel from arguments
2020-01-03 23:04:46 -08:00
Pragmatic Software
ab3776be88
Update version
2020-01-03 21:39:25 -08:00
Pragmatic Software
3188b690e8
BotAdmins: admin hostmasks are no longer treated as regex. They support the normal * and ? wildcards. Removed stdin admin from data/admins.
2020-01-03 21:39:22 -08:00
Pragmatic Software
97dd3ea56e
LagChecker: convert lag_threshold to milliseconds
2020-01-03 21:26:49 -08:00
Pragmatic Software
ea016dc406
StdinReader: chomp newline from input before logging
2020-01-03 21:22:14 -08:00
Pragmatic Software
cdb7ac1901
LagChecker: convert to ms and be more concise
2020-01-03 21:18:51 -08:00
Pragmatic Software
202ae50c36
Update version
2020-01-03 20:42:23 -08:00
Pragmatic Software
ac28b007d6
BotAdmins: admin hostmasks can now be either regex (.*!.*@host) or wildcard (*!*@host)
2020-01-03 20:39:13 -08:00
Pragmatic Software
be8ae88dcc
Replace all instances of "localhost" with "pbot"
2020-01-03 20:37:58 -08:00
Pragmatic Software
d35a0f4081
Fix channel-specific bot admins being unable to privately /msg admin commands
2020-01-03 19:20:25 -08:00
Pragmatic Software
790abba7e5
PBot: make stdin admin hostmask better
2020-01-03 16:36:18 -08:00
Pragmatic Software
5383e6beb4
Update version
2019-12-31 23:28:32 -08:00
Pragmatic Software
a86a5aaed2
Rename irc.ircserver -> irc.server and irc.ircname -> irc.realname
2019-12-31 23:28:25 -08:00
Pragmatic Software
6e065da809
Update version
2019-12-30 20:03:47 -08:00
Pragmatic Software
e6039b6369
Factoids now exported to data_dir
2019-12-30 19:57:47 -08:00
Pragmatic Software
ad5fd971a9
BotAdmins: Remove obsolete export-related stuff
2019-12-30 19:37:21 -08:00
Pragmatic Software
b40eb16394
Remove "modules" and "admins" from export
command
2019-12-30 19:34:13 -08:00
Pragmatic Software
8d3150ad1b
Update version
2019-12-30 18:17:38 -08:00
Pragmatic Software
29e7299c8d
ChanOpCommands: kick
now supports wildcards
2019-12-30 18:17:35 -08:00
Pragmatic Software
2ec6c1d656
Update version
2019-12-30 16:44:48 -08:00
Pragmatic Software
45af37574f
IRCHandlers: add handler for WHOREPLY
2019-12-30 16:44:41 -08:00
Pragmatic Software
aca793928a
NickList: NAMREPLY: ensure $hostmask is defined
2019-12-30 16:12:10 -08:00
Pragmatic Software
3f4c85bcdc
NickList: add missing optional nick argument to nicklist
usage message
2019-12-30 16:03:10 -08:00
Pragmatic Software
036ba6e5cf
Update version
2019-12-30 16:00:10 -08:00
Pragmatic Software
2a6f98c02d
ChanOpCommands: mode
now skips existing modes when used with wildcard; unsetting modes via wildcard now skips admins/whitelisted users
2019-12-30 15:59:56 -08:00
Pragmatic Software
a255ea1b1b
IRCHandlers: reinstate WHO-on-join; set NickList metadata based on WHO replies
2019-12-30 15:58:30 -08:00
Pragmatic Software
e18ce03173
NickList improvements
...
* rename dumpnicks (60) to nicklist (0)
* only logged-in admins can nicklist without arguments to see all channels
* nicklist now tracks userdata meta (hostmask, etc) on NAMREPLY
2019-12-30 15:57:31 -08:00
Pragmatic Software
c230a2f3b3
BotAdmins: anchor hostmask regex in find_admin()
2019-12-30 15:47:23 -08:00
Pragmatic Software
2a437b479e
Logger: reopen logfile after rotation to log final messages
2019-12-30 14:50:36 -08:00
Pragmatic Software
c6a952d2b1
Update version
2019-12-29 11:06:57 -08:00
Pragmatic Software
54a661955b
Logger: rename log file to log-<start-up timestamp> at normal termination
2019-12-29 11:06:52 -08:00
Pragmatic Software
4fbdcd948f
Logfile now lives in data_dir
2019-12-29 10:44:05 -08:00
Pragmatic Software
00052452b6
ChanOps: anchor $botnick test in kick section of perform_op_commands
2019-12-28 23:20:55 -08:00
Pragmatic Software
54e75d934b
Add invite
command
2019-12-28 23:17:15 -08:00
Pragmatic Software
b4f63a0be4
BotAdminCommands: ensure sl
has valid arguments
2019-12-28 23:04:41 -08:00
Pragmatic Software
e0b08ebf91
Update version
2019-12-28 22:58:28 -08:00
Pragmatic Software
5c9f185af6
Plugins: ignore autoload entries that begin with a # comment
2019-12-28 22:28:39 -08:00
Pragmatic Software
6d0cd3ef07
Plugins: move Plugins/autoload to data/plugin_autoload
2019-12-28 22:18:32 -08:00
Pragmatic Software
2106497f5d
Registry: no longer need to use value
keyword in regset
command
2019-12-27 20:20:07 -08:00
Pragmatic Software
43093ee843
Services identification now customizable via registry
2019-12-27 19:28:51 -08:00
Pragmatic Software
b6839cd33f
ChanOpCommands: mode
command: use MODES=x ircd mapping for max modes per command
2019-12-26 23:00:14 -08:00
Pragmatic Software
c9391d7829
Add wildcard support to mode
command
2019-12-26 19:24:35 -08:00
Pragmatic Software
f621993083
Update version
2019-12-26 06:08:52 -08:00
Pragmatic Software
a7866c1250
ChanOpCommands: add mode
command (level 40)
2019-12-26 06:08:39 -08:00
Pragmatic Software
fe1f385053
ChanOps: op service/command can now be overridden via registry
2019-12-26 05:47:18 -08:00
Pragmatic Software
0b879cd987
AntiFlood: $conf{whitelist_file} no longer used; use only registry
2019-12-24 14:28:57 -08:00
Pragmatic Software
f345058b05
Update version
2019-12-21 19:59:29 -08:00
Pragmatic Software
2a805038a1
IRCHandlers: improve nickserv identify and autojoin
2019-12-21 19:44:22 -08:00
Pragmatic Software
3b93dbe4c3
Channels: add autojoin function
2019-12-21 19:43:05 -08:00
Pragmatic Software
274ee8dcd6
Plugins: Fix path loading
2019-12-21 19:33:53 -08:00
Pragmatic Software
0e0f64531b
Simplify pbot.pl and refactor PBot.pm.
...
Command-line arguments can override registry entries.
Remove config_dir. Use data_dir instead.
2019-12-21 19:04:39 -08:00
Pragmatic Software
755cb0d571
Plugins: use plugin_dir registry value
2019-12-21 19:01:59 -08:00
Pragmatic Software
532fc9c8fc
Registry: add dont_save option to set()
2019-12-21 19:01:32 -08:00
Pragmatic Software
8185c7399f
DualIndexHashObject: ensure file has contents before attempting to parse
2019-12-21 18:59:17 -08:00
Pragmatic Software
b1fda82171
VERSION.pm: Change revision
to version
2019-12-21 15:26:44 -08:00
Pragmatic Software
4d9b3f09a7
Plugins are now autoloaded via entries listed in the Plugin/autoload file
2019-12-21 15:26:01 -08:00
Pragmatic Software
37b7570c7f
Factoids/Quotegrabs: use botnick value when exporting
2019-12-19 23:39:46 -08:00
Pragmatic Software
d681f88f23
Plugins: fix default loading path
2019-12-15 14:41:25 -08:00
Pragmatic Software
6fcfe4572a
Update version
2019-12-14 10:09:35 -08:00
Pragmatic Software
eef14f68c9
Factoids: improve factoid variable expansion (now aware of --keyword-override and ref_from)
2019-12-14 10:09:28 -08:00
Pragmatic Software
0b6bd32961
Update version
2019-11-25 13:57:44 -08:00
Pragmatic Software
369a763af1
ChanOpCommands: ban/mute now use default timeout registry entries
2019-11-25 13:57:37 -08:00
Pragmatic Software
8b60162a10
Registry: can now set nick-specific registry values; e.g. default_ban_timeout.nick.pragma-
2019-11-25 13:56:55 -08:00
Pragmatic Software
12c20284a1
Plugins: Fix default location
2019-11-07 20:09:31 -08:00
Pragmatic Software
b8c77abd47
Improve and simplify pipe/subcmd logic
2019-09-04 20:18:32 -07:00
Pragmatic Software
9aa9c2e70e
Update version
2019-09-02 10:36:40 -07:00
Pragmatic Software
fcd3b6e64d
FuncCommand: improve usage and help messages
2019-09-02 10:36:34 -07:00
Pragmatic Software
decd17f2bd
Update version
2019-09-01 11:02:32 -07:00
Pragmatic Software
848536f183
MessageHistory: recall now ignores fix
commands
2019-09-01 11:02:22 -07:00
Pragmatic Software
ba65834b29
Remove duplicate line
2019-09-01 11:01:53 -07:00
Pragmatic Software
fc8a1057c9
Move Plugins directory to root, out of PBot source tree
2019-09-01 11:01:18 -07:00
Pragmatic Software
60cf77d538
FuncCommand: use uri_escape_utf8 instead
2019-08-25 14:45:21 -07:00
Pragmatic Software
9c803b2d14
factlog
now logs renames on both sides instead of only destination side
2019-08-25 08:53:59 -07:00
Pragmatic Software
78082792e5
FuncCommand: clarify a comment
2019-08-25 00:10:45 -07:00
Pragmatic Software
3034e7118f
Fix minor typo
2019-08-25 00:05:51 -07:00
Pragmatic Software
048396c725
Update version
2019-08-24 23:58:15 -07:00
Pragmatic Software
c5faf7fb9a
FuncCommand: edit file description and minor clean-up
2019-08-24 23:58:07 -07:00
Pragmatic Software
239b79d48e
FuncCommand: add unquote
2019-08-24 20:35:24 -07:00
Pragmatic Software
4e63f8435e
FuncCommand: list
now includes description in regex search
2019-08-24 19:35:56 -07:00
Pragmatic Software
84fcc7fd66
FuncCommand: replace tabs with spaces
2019-08-24 19:29:14 -07:00
Pragmatic Software
d9728d3693
FuncCommand: add sed func based on krok's factoid
2019-08-24 19:25:21 -07:00
Pragmatic Software
dec2e4980d
Update version
2019-08-24 19:04:58 -07:00
Pragmatic Software
2b33a2468c
Add func
command. Executes built-in bot functions as a command. Very useful!
2019-08-24 19:03:08 -07:00
Pragmatic Software
7f1173b9d6
BotAdminCommands: automate reload
usage message
2019-08-24 18:18:07 -07:00
Pragmatic Software
e06f484a6e
RegistryCommands: Fix harmless typo
2019-08-24 17:31:24 -07:00
Pragmatic Software
5f2276bf63
Interpreter: disregard quotes in extract_bracketed; replace ;; with ;;;
2019-08-23 14:07:21 -07:00
Pragmatic Software
be528094b6
FactoidCommands: use full hostmask when testing for owner of locked factoid
2019-08-22 09:49:14 -07:00
Pragmatic Software
6115d73639
Factoids: revert $var channel expansion -- now strict again; will improve shortly
2019-08-20 14:57:12 -07:00
Pragmatic Software
50ebf52371
Factoids: turn debugging back off for $var expansions
2019-08-17 10:11:34 -07:00
Pragmatic Software
15f8a3683e
Factoid improvements
...
- support braced ${variables}
- $var expansion improvements
2019-08-17 10:09:26 -07:00
Pragmatic Software
936cbb52d8
MessageHistory: recall
now ignores ftfy
commands
2019-08-15 11:12:23 -07:00
Pragmatic Software
c953962bd4
FactoidCommands: disable word-wrapping for show -p
2019-08-06 18:23:37 -07:00
Pragmatic Software
e30943ff70
WebPaste now can take option to disable word-wrapping
2019-08-06 18:23:13 -07:00
Pragmatic Software
5345911b20
Update version
2019-08-06 10:44:18 -07:00
Pragmatic Software
ff14b8e419
Fix alias escaping
2019-08-06 10:44:10 -07:00
Pragmatic Software
b7f2c188bc
Improve handling of newlines in factoids
2019-08-06 10:38:46 -07:00
Pragmatic Software
36cb4db040
AntiRepeat: Fix nick truncation
2019-07-26 16:10:10 -07:00
Pragmatic Software
e191f0652f
Update Plugins timed ban/mute invocations
2019-07-26 15:55:03 -07:00
Pragmatic Software
167edf8d95
Temp bans/mutes now track owner and reason for checkban/checkmute
2019-07-26 14:17:06 -07:00
Pragmatic Software
3756151c8f
Update version
2019-07-24 18:03:41 -07:00
Pragmatic Software
4562eab46f
Quotegrabs: Replace inferior GetOptionsFromString with better GetOptionsFromArray; improve usage messages
2019-07-24 18:03:38 -07:00
Pragmatic Software
0f4eb76a4e
MessageHistory: correct sort order for recall
-A option
2019-07-24 09:17:16 -07:00
Pragmatic Software
03bed5b64a
Update version
2019-07-23 12:20:10 -07:00
Pragmatic Software
84ec0841c2
MessageHistory: fix sort for -A option
2019-07-23 12:20:06 -07:00
Pragmatic Software
20a7ff992d
MessageHistory: now tracks channel mode changes on users
2019-07-23 12:19:34 -07:00
Pragmatic Software
9465636304
Update version
2019-07-23 08:55:32 -07:00
Pragmatic Software
aa87cadb65
Add checkban/checkmute commands so users can see remaining timeout duration.
...
`mute` now translates nick to banmask.
`ban`/`mute` commands will now show remaining timeout duration if no length
argument is provided.
2019-07-23 08:55:24 -07:00
Pragmatic Software
3e6c560352
PBot: add config option to load only the logger (for internal use)
2019-07-23 08:51:36 -07:00
Pragmatic Software
230f9ca133
Update version
2019-07-10 18:52:53 -07:00
Pragmatic Software
2d442b0f3e
Update version
2019-07-10 18:41:14 -07:00
Pragmatic Software
3553692b5a
Fix some more Unicode encoding issues
2019-07-10 18:40:53 -07:00