Commit graph

  • 38dfe3c084 fix(here_doc): correctly delete here_doc files in all(?) cases main Khaïs COLIN 2025-05-06 17:20:44 +02:00
  • fb92167494 fix(here_doc): correctly delete here_doc files in more cases Khaïs COLIN 2025-05-06 16:53:54 +02:00
  • 4e9f631918 fix(group_cmd): prevent fd leak Jérôme Guélen 2025-05-06 13:36:55 +02:00
  • dd94aba23b fix(pwd): possible leak Khaïs COLIN 2025-05-05 13:04:56 +02:00
  • 4e7c9f4da9 fix(here_doc): do not try to tcset/get attr for non-tty devices Khaïs COLIN 2025-05-05 11:55:23 +02:00
  • 7cd8d981e2
    fix(heredoc): Now displaying ^C again in heredoc when SIGINT caught Jérôme Guélen 2025-05-05 12:10:15 +02:00
  • b7686df5a8 fix(here_doc): do not display C-\ and C-<backspace> Khaïs COLIN 2025-05-05 11:21:18 +02:00
  • 083a2bb2a2 fix(here_doc): segfault when C-c Khaïs COLIN 2025-05-02 14:36:00 +02:00
  • ee10abacab
    Fixed grammar file for coherence and clarity Jérôme Guélen 2025-05-02 13:32:08 +02:00
  • 8b43fd2411
    Norm: Removed most comments. Jérôme Guélen 2025-05-02 13:16:26 +02:00
  • a7f09137ee fix(norm): remove extra files, do not compile in debug mode Khaïs COLIN 2025-05-02 12:29:43 +02:00
  • 5e8edb9a99 fix(norm): remove tests Khaïs COLIN 2025-05-02 12:28:20 +02:00
  • 313bef63fd fix(norm): remove fuzz code Khaïs COLIN 2025-05-02 12:26:34 +02:00
  • b7e48cca05 fix(sig): incorrect handling of C-\ Khaïs COLIN 2025-05-02 12:21:05 +02:00
  • 52c33abb16 fix(sig): incorrect retvalue when doing C-c on empty line Khaïs COLIN 2025-05-02 12:04:06 +02:00
  • ff3dfe3b84 fix(redir): ensure here_doc tmp files are always deleted Khaïs COLIN 2025-04-30 18:00:38 +02:00
  • 3a88cbbad4 fuzz: add hand tester Khaïs COLIN 2025-04-30 17:30:16 +02:00
  • f0d7dcc752 fuzz: basic setup Khaïs COLIN 2025-04-30 16:14:02 +02:00
  • 58a27d712b tests: ensure some more specific tests work Khaïs COLIN 2025-04-30 15:30:20 +02:00
  • 826abdf623 fix(wildcard): error handling for wildcard expansion in redirections Khaïs COLIN 2025-04-30 15:03:30 +02:00
  • 04eabf096d fix(wildcard): error detection in wordlist_expand_star Khaïs COLIN 2025-04-30 14:49:49 +02:00
  • 3ae29cbdf7
    (fix) Prevented a potential SEGFAULT in expand_star Jérôme Guélen 2025-04-30 14:10:27 +02:00
  • f8f3d8ccca fix(fork): handle fork error in all places Khaïs COLIN 2025-04-30 14:06:38 +02:00
  • 4b08629bef fix(pipe_cmd): check for fork failures Khaïs COLIN 2025-04-30 11:45:19 +02:00
  • a8c3473b1a fix(norm): khais -> kcolin in headers Khaïs COLIN 2025-04-30 11:26:59 +02:00
  • 95451520d6 fix(redirection): prevent fd leak in subprocess when doing redirection with multiple processes Khaïs COLIN 2025-04-29 16:39:48 +02:00
  • 5ea55a9f9c fix(builtin/exit): prevent leak when calling exit in a subprocess Khaïs COLIN 2025-04-29 15:50:38 +02:00
  • 93f3ea7c66 fix(exec): prevent leak when calling exit() in a subprocess Khaïs COLIN 2025-04-29 12:58:26 +02:00
  • 3c350af411 fix(debug): print messages to STDERR, to prevent redirection by pipes etc Khaïs COLIN 2025-04-29 13:09:50 +02:00
  • 5c53ebfa64 (fix) Quote removal on heredoc limiters Jérôme Guélen 2025-04-28 16:55:58 +02:00
  • ab861fc5c0 tests(here-doc): ensure here docs work in many situations Khaïs COLIN 2025-04-28 16:35:22 +02:00
  • aeb5105d97 tests(redir): ensure targets are expanded when no words are in the cmd Khaïs COLIN 2025-04-28 16:15:27 +02:00
  • d4da91b62b fix(exec): do now swallow prompt and io on incorrect command followed by redirection Khaïs COLIN 2025-04-28 15:04:47 +02:00
  • 65c1eb9d84 fix(connec_cmd): handle nested connections correctly Khaïs COLIN 2025-04-28 15:04:47 +02:00
  • 92d647e33c feat(redirections): allow a command composed only of redirections Khaïs COLIN 2025-04-28 14:20:13 +02:00
  • a9055b4c66 feat(redirection/group_cmd): handle redirections for group cmds Khaïs COLIN 2025-04-25 18:12:58 +02:00
  • bd06d9f19c refactor(std_fds): allow for ability to store multiple std fds savesets Khaïs COLIN 2025-04-28 12:11:27 +02:00
  • 255a1382da fix(waitpid): remove spurious call & handle errors Khaïs COLIN 2025-04-28 12:30:39 +02:00
  • 505a96eeef refactor(redirections): make handle_redirections generic over cmd types Khaïs COLIN 2025-04-25 18:12:58 +02:00
  • 71eb07b4f5
    (fix) Test was missing an EOF Jérôme Guélen 2025-04-28 11:55:45 +02:00
  • 32dd807c9d
    (fix/enhancement): Added two tests for behaviour when not file corresponds Jérôme Guélen 2025-04-28 11:38:46 +02:00
  • 25ffc3fb6f
    (fix): Proper behaviour for wildcards and proper test Jérôme Guélen 2025-04-26 16:20:34 +02:00
  • e5952b3f43
    Behaviour seems inconsistent Jérôme Guélen 2025-04-26 15:53:34 +02:00
  • 497f442d77
    fix(expand-star): incomplete, committing to preserve Jérôme Guélen 2025-04-25 18:56:07 +02:00
  • f0f19c3c0a fix(exec/and or): was exiting too soon Khaïs COLIN 2025-04-25 17:51:54 +02:00
  • 7a5e838fcf fix(debug): wrong indent for group_cmd Khaïs COLIN 2025-04-25 17:51:54 +02:00
  • e1801652af fix(parsing/subshell): missing allocation for group cmd Khaïs COLIN 2025-04-25 17:40:13 +02:00
  • 9fcb34e1d5 feat(builtins/cd): on error, print path Khaïs COLIN 2025-04-25 16:02:58 +02:00
  • 29bbb5e572 fix(command_not_found): unset or empty PATH leads to No such file or directory error Khaïs COLIN 2025-04-25 15:36:59 +02:00
  • c756d3783f tests(export): ensure export rejects invalid identifiers Khaïs COLIN 2025-04-25 15:12:14 +02:00
  • c4be8693d1 tests(export): ensure export with extra = works Khaïs COLIN 2025-04-25 15:04:25 +02:00
  • 553783eb2d fix(tests): remove dependency on $HOME Khaïs COLIN 2025-04-25 15:00:46 +02:00
  • f6ae16bbf8 tests(var_subst): ensure commands partially in variables work Khaïs COLIN 2025-04-25 14:59:00 +02:00
  • a040ad5613 tests(export): ensure previous value of variable works correctly Khaïs COLIN 2025-04-25 14:51:20 +02:00
  • 29187f08da
    tests(export/echo): ensure correct behaviour for single quotes in VAR Jérôme Guélen 2025-04-25 15:01:54 +02:00
  • 08baee41b6 tests(echo): ensure arguments in variables work Khaïs COLIN 2025-04-25 14:39:08 +02:00
  • e5027323e1 fix(field_splitting): ensure no extraneous spaces appear Khaïs COLIN 2025-04-25 13:43:41 +02:00
  • 588b016f69 tests(export): ensure variable substitution in variable names works Khaïs COLIN 2025-04-25 13:39:35 +02:00
  • 45869f1154 tests(export): ensure @ is accepted in variable values Khaïs COLIN 2025-04-25 13:36:09 +02:00
  • 297d68e73c tests(parsing): ensure unmatched ) are correctly reported Khaïs COLIN 2025-04-25 13:28:53 +02:00
  • 0c9dcd944e fix(parsing): report unclosed ( error Khaïs COLIN 2025-04-25 13:17:29 +02:00
  • 527a624765 fix(exec): return code 126 when command is found but permission denied Khaïs COLIN 2025-04-24 14:01:20 +02:00
  • 9d37d07589 fix(get_command_path): leak when path unset and calling file present in current dir Khaïs COLIN 2025-04-24 17:46:54 +02:00
  • a86616f910
    (enhancement) Printing an error on unclosed quote and corrected a typo. Jérôme Guélen 2025-04-24 16:55:16 +02:00
  • 3b5df9ec10
    (fix) Dealing with signals correctly from the start Jérôme Guélen 2025-04-24 14:28:07 +02:00
  • 5fb054d403 fix(redirection): restore std fds on redirection error Khaïs COLIN 2025-04-24 13:47:07 +02:00
  • 9db47dc96d feat(redirection): print path of redirection target on redirection error Khaïs COLIN 2025-04-22 16:21:10 +02:00
  • b6e97ac2c7 fix(debug): redirectee prints both variants of an enum Khaïs COLIN 2025-04-24 13:30:24 +02:00
  • 3f08189aae fix(parsing/redirect): sometimes do not take a redirection into account Khaïs COLIN 2025-04-24 12:50:52 +02:00
  • 8d60113351 feat(postprocess/redir): remove quotes in redirection targets Khaïs COLIN 2025-04-21 15:12:25 +02:00
  • ac198727e9 feat(postprocess): show error when post-processing failure occurs Khaïs COLIN 2025-04-21 15:12:25 +02:00
  • 2180909285 fix(expansion/wildcard): do not remove quotes twice on non-pattern strings Khaïs COLIN 2025-04-22 12:45:28 +02:00
  • aca85c3583 fix(expansion/redirection): prevent infinite loop of redir list pointing to itself Khaïs COLIN 2025-04-22 11:50:57 +02:00
  • bf26afce2b fix(debug): correctly print here_doc_eof in redirect debug Khaïs COLIN 2025-04-22 11:40:53 +02:00
  • 38ffac7fc3 feat(redir): expand wildcards in targets and handle ambiguous redirects Khaïs COLIN 2025-04-21 13:07:02 +02:00
  • 920ad586e1 refactor(redirect): ambiguous redirect message to own file Khaïs COLIN 2025-04-21 13:07:02 +02:00
  • 2dd20b21bc feat(redir): fieldsplit redir target, and handle ambiguous redirects Khaïs COLIN 2025-04-21 08:25:49 +02:00
  • 8ba13c02d5 refactor(redirect): ambiguous redirect message to own file Khaïs COLIN 2025-04-21 13:07:02 +02:00
  • ce8e06f665 feat(redir): fieldsplit redir target, and handle ambiguous redirects Khaïs COLIN 2025-04-21 08:25:49 +02:00
  • 5de82f2940 feat(debug): add function to easily treeprint a redirect Khaïs COLIN 2025-04-21 08:25:49 +02:00
  • c00cc21ae4 feat(redirect): do variable expansion on redirect targets Khaïs COLIN 2025-04-18 12:42:22 +02:00
  • 2ae001e00b fix(exec/redirections): did not correctly restore fds when executing builtins fix-exec-redirections-correctly-restore-fds-builtints Khaïs COLIN 2025-04-18 14:07:48 +02:00
  • 1499eaa985 test(builtin/export): ensure that variable substitution happens correctly Khaïs COLIN 2025-04-18 10:33:37 +02:00
  • 5fabec58d5 test(builtin/export): ensure that identifiers are correctly accepted or rejected Khaïs COLIN 2025-04-18 10:19:57 +02:00
  • c5e15903e0 fix(builtin/export): show error on invalid identifiers such as % and $ Khaïs COLIN 2025-04-18 10:11:12 +02:00
  • efaf4708f9 fix(builtin/export): empty arguments were not identified as invalid identifiers Khaïs COLIN 2025-04-18 10:02:26 +02:00
  • 6b2e15d301 test: migrate some tests from zms_testeur Khaïs COLIN 2025-04-18 09:57:19 +02:00
  • d44691a5b0 fix(exec): running a command with an absolute path which does not exist now gives correct error Khaïs COLIN 2025-04-18 09:17:22 +02:00
  • 655ff36351 fix(susbt/variable): empty variables on their own are removed Khaïs COLIN 2025-04-17 14:03:35 +02:00
  • 701174fc1b feat(debug): function to easily treeprint a worddesc Khaïs COLIN 2025-04-17 14:30:13 +02:00
  • 9271b7fa92 fix(parsing/pipeline): leak when optional pipeline returns NULL Khaïs COLIN 2025-04-16 18:23:06 +02:00
  • 6cc6e6cfb5 feat(debug): add function to easily treeprint a cmd Khaïs COLIN 2025-04-16 18:23:06 +02:00
  • f1a0af09f8 feat(here_doc): handle signals (^C, ^\) correctly Khaïs COLIN 2025-04-17 09:44:04 +02:00
  • 5e6d7b3b4e fix(parsing/here_doc): segfault & invalid fd & premature exit Khaïs COLIN 2025-04-17 10:09:20 +02:00
  • 3be2969946 fix(parsing/simple_cmd): leak when invalid redirection after word in simple_cmd Khaïs COLIN 2025-04-16 18:19:03 +02:00
  • 49a897b44e subst/variable: remove special handling of positional variables Khaïs COLIN 2025-04-16 18:02:42 +02:00
  • d53e40d3f4 fix(subst/variable): invalid identifiers were having their $ swallowed Khaïs COLIN 2025-04-16 17:36:51 +02:00
  • 733ae1093a fix(exec): correctly exit subprocesses, do not keep multiple shells in parallel Khaïs COLIN 2025-04-16 16:39:47 +02:00
  • 2ea4afda4a clean: move around some imports Khaïs COLIN 2025-04-16 16:39:47 +02:00
  • 96e46e9130 fix(parsing/cmdgroup): report error the same way as everywhere else, prevent double report Khaïs COLIN 2025-04-16 15:43:10 +02:00