3
0
mirror of https://github.com/pragma-/pbot.git synced 2024-11-28 06:49:26 +01:00
Commit Graph

150 Commits

Author SHA1 Message Date
JustAnotherArchivist
84117d83c7
applets/paren: Disambiguate *f(x) = *(f(x)) from (*f)(x) (#74)
Also remove the explicit check for `ArrayRef`, which is obsolete since the 2014 addition of the `_is_simple_node` override in commit ba59edb04. (Upstream `_is_simple_node` returns `True` for an `ArrayRef`.)
2024-11-08 21:48:52 -08:00
Pragmatic Software
4c866d39b6
Fix white-space handling; add suppress-no-output 2024-11-03 19:26:56 -08:00
Pragmatic Software
bd4fd4ea27
pbot-vm: preserve newlines in split_line() 2024-11-02 18:29:25 -07:00
Pragmatic Software
e5e0f26b90
applets/pbot-vm: minor fixes
* set `preserve_escapes` to 0 in guest/_c_base.pm so escapes are stripped in:

     <pragma-> ,show testcargs
     <candide> [global] testcargs: /code c11 printf("/say args: " ); while
               (*++argv) printf("[%s] " , *argv);
     <pragma-> ,testcargs foo\'bar baz\'qux
     <candide> args: [foo\'bar] [baz\'qux]

  to produce the desired output of:

     <candide> args: [foo'bar] [baz'qux]

* set `keep_spaces` to 1 in host/_default.pm since it turns out that in some
  languages unquoted spaces are significant, e.g. in `sh ${1%  *}` to strip
  text following two spaces. Without `keep_spaces` enabled, `sh ${1%  *}`
  becomes `sh ${1% *}` and strips all text following one space instead of two.
2024-10-30 15:43:38 -07:00
Pragmatic Software
f4caf44eb0
split_line(): Remove no longer used next_ch/last_ch 2024-10-29 12:49:19 -07:00
Pragmatic Software
4287cb9fa2
Fix split_line() quoting to be more sh-like
E.g.:

<pragma-> show testcargs
   <PBot> [global] testcargs: /code c11 printf("/say args: " ); while (*++argv) printf("[%s] " , *argv);
<pragma-> testcargs 'hello''world' 'how are 'you today
   <PBot> args: [helloworld] [how are you] [today]

Previously, adjacent 'foo''bar' would end up as 2 args like [foo] [bar]. Now
they are properly concatenated into one [foobar] argument.

This also fixes the cases of whitespace being inserted after quoted arguments.
2024-10-29 10:19:46 -07:00
Pragmatic Software
4a025801a2
applets/pbot-vm: disregard IRC text modifiers when escaping unprintable characters 2024-10-27 12:52:15 -07:00
Pragmatic Software
673c468159
applets/cjeopardy: add more alternative answers 2024-10-23 12:34:27 -07:00
Pragmatic Software
7db191e7c2
applets/cjeopardy: add alternative answers tor postfix/prefix questions 2024-10-22 10:47:20 -07:00
Pragmatic Software
bb1b43b089
applets/wiktionary: refactor relations 2024-10-02 20:13:45 -07:00
Pragmatic Software
68bd1e4d86
applets/wiktionary: add -r flag for relations 2024-10-02 18:50:56 -07:00
Pragmatic Software
a1ec2bfada
applets/cjeopardy: fix wording of question 448 2024-10-02 15:02:00 -07:00
Pragmatic Software
9192b7bfad
pbot-vm: Preserve escapes in -args and -stdin 2024-10-01 13:08:52 -07:00
Pragmatic Software
6002c93d60
pbot-vm: Fix -paste getting 403 Forbidden 2024-10-01 12:37:45 -07:00
Pragmatic Software
6d10a146ed
applets/c2english: improve text of function calls 2024-09-19 13:55:08 -07:00
Pragmatic Software
7da755d248
pbot-vm: make clang2x default language; add -Wno-unused-variable 2024-09-19 13:51:57 -07:00
Pragmatic Software
13c117e360
pbot-vm: remove/replace -Wno-unused with -Wno-unused-parameter 2024-08-17 22:17:46 -07:00
Pragmatic Software
5988d3d11d
Update factoids 2024-07-15 18:54:14 -07:00
Pragmatic Software
6ac157d42d
applets/c2english: make some rules more aware of expressions 2024-07-10 12:46:56 -07:00
Pragmatic Software
c1847efc35
applets/wiktionary: remove pluralization of parts of speech 2024-06-29 12:04:37 -07:00
Pragmatic Software
ff31d71024
applets/wiktionary: add part of speech filter option 2024-06-29 11:33:11 -07:00
Pragmatic Software
784c2508e5
c2english/CGrammar: fix translation of [static n] in array parameters 2024-06-12 14:22:26 -07:00
Pragmatic Software
0786ee03a3
applets/wiktionary.pl: show disambiguation when word is not found
Requires latest version of https://github.com/pragma-/WiktionaryParser
2024-06-08 14:24:20 -07:00
Pragmatic Software
da75397b51
applets/wiktionary.pl: show list of languages when entry is not found
Requires latest version of https://github.com/pragma-/WiktionaryParser
2024-06-08 09:12:20 -07:00
Pragmatic Software
9b1687d46c
applets/wiktionary.pl: add error-checking 2024-06-08 07:24:50 -07:00
Pragmatic Software
8e3652bc8e
pbot-vm: gdb() needs __asm__() instead of asm() 2024-04-17 00:37:36 -07:00
Pragmatic Software
ddeeb5da0f
pbot-vm: update de-optimization for gdb() function 2024-04-16 23:41:37 -07:00
Pragmatic Software
e4cb6ceff6
pbot-vm: simplify network script slightly 2024-04-12 13:12:41 -07:00
Pragmatic Software
111f3bd2e7
pbot-vm: consolidate network enable/disable into one script 2024-04-12 13:07:27 -07:00
Pragmatic Software
cc1445be90
Update applets/cdecl.pl command and add cdecl to Dockerfile 2024-04-10 13:32:16 -07:00
Pragmatic Software
9ef521309a
pbot-vm: update documentation about how to start PBot VM after reboot 2024-04-10 13:09:58 -07:00
Pragmatic Software
e25bde159f
pbot-vm: ignore -health and -revert used simultaneously to prevent double-revert 2024-04-10 12:53:37 -07:00
Pragmatic Software
3f98aced62
pbot-vm: minor Vagrant documentation tweak 2024-04-10 02:35:33 -07:00
Pragmatic Software
17b69f04ff
pbot-vm: massive refactor
* replace heartbeat with health-check
  * instead of steady stream of newlines every 5s, now awaits input
    and responds with `vmstat` output

* more reliably use host/config/vm-exec.json to get libvirt domain name
  for snapshot-revert, server address, serial ports, vagrant setting, etc

* use iptables/nftables to disable networking
  * added guest/bin/disable-network-[iptables,nftables]
  * added guest/bin/enable-network-[iptables,nftables]

* replace ugly ___OUTPUT___ texts in sh, bash, ksh, zsh languages

* documentation updates and tweaks
2024-04-10 01:21:18 -07:00
Pragmatic Software
826fd79d71
pbot-vm: reduce noisy output in Scheme language 2024-04-07 17:19:38 -07:00
Pragmatic Software
24962935fa
applets/urban: sort by thumbs-up by default 2024-04-07 17:18:34 -07:00
Pragmatic Software
a3ab27dbac
pbot-vm: documentation tweaks 2024-04-04 12:23:45 -07:00
Pragmatic Software
2547f035a1
pbot-vm: add experimental Vagrant provisioning 2024-04-04 03:41:58 -07:00
Pragmatic Software
09aed30893
pbot-vm: add PBOTVM_ADDR env var to set address of vm-server 2024-03-31 17:36:36 -07:00
Pragmatic Software
b40955a16e
Add Dockerfile and Docker guide 2024-03-31 15:16:25 -07:00
Pragmatic Software
a923b505fa
pbot-vm: tumbleweed provision: add missing gcc package 2024-03-30 21:06:44 -07:00
Pragmatic Software
446857ffbf
pbot-vm: provision non-interactively 2024-03-30 20:48:45 -07:00
Pragmatic Software
0829265ef8
pbot-vm: setup-guest auto-detects OS/distro and runs provisioning scripts 2024-03-30 19:41:50 -07:00
Pragmatic Software
91f8547aed
pbot-vm: add Tumbleweed orchestration script
Fix Java language missing `/bin/sh` in execute()
Update brainfck language to use `bff`
2024-03-30 16:49:09 -07:00
Pragmatic Software
59090b39e7
pbot-vm: update VirtualMachine.md with improved PTY console install instructions and misc tweaks 2024-03-27 14:21:32 -07:00
Pragmatic Software
19f53cde10
applets/lookupbot.pl: remove -T taint mode (breaks local::lib) 2024-03-10 12:34:42 -07:00
Pragmatic Software
53e990bd32
applets/c2english: correct order of pointers in direct abstract declarators 2023-09-21 17:33:33 -07:00
Pragmatic Software
eb301ea948
applets/c2english: fix switch case labels 2023-09-21 16:53:21 -07:00
Pragmatic Software
c9112ac809 applets/date.sh: posix directory no longer exists on current distro 2023-05-04 12:19:22 -07:00
Pragmatic Software
06650963a3 applets/pbot-vm: increase length to trigger "Same output" 2023-04-28 00:48:37 -07:00