#+TITLE: TODO list for minishell * Stuff to fix ** DONE PWD=qwe; pwd <== recheck ** DONE VISUAL=qweqwe crontab -e <=== deal with it ** DONE cd qweqwe <=== stderr ** DONE lpipes leaks <=== this is a big one (split lpipes | lcom | com) ** DONE /true/path/to/non-existant/bin/fail-plus-bad-fork ** DONE fix pwd when cd / ** DONE Multiline pipes (ls |) ** DONE Go full tok + quotes ** DONE fix \; \&& \|| ** DONE Variables quotes qwe="okokoko kkok" asd='bav' ** DONE Fix PSX \stuff subst with "" '' ** DONE ls qweqwe; echo $? <---- substitute ** DONE Don't fuck with '$vars' ** DONE <>> CLOSED: [2020-09-26 Sat 18:41] ** DONE Subst ~ after > CLOSED: [2020-09-26 Sat 19:43] ** DONE msh ~> qwewqrqrqwrqwrqr ($? and output vs bash) CLOSED: [2020-10-05 Mon 15:45] ** DONE bus error on msh ~> exit CLOSED: [2020-10-05 Mon 16:12] ** DONE SEGV on pipes ** DONE buildable on Linux + gcc CLOSED: [2020-10-12 Mon 19:56] ** DONE pipes don't split "qweqwreq | qweqweqe" CLOSED: [2020-10-21 Wed 21:10] ** DONE pipes + conditions "ls | grep kdf && echo yes || echo no" CLOSED: [2020-10-22 Thu 16:25] ** TODO 2>&1 ** CANCELED alias ls='clear; ls | grep qwe' <--- aliases not substed in the right place CLOSED: [2020-10-19 Mon 19:56] ** DONE forked write(2) stuff on cd ** DONE Multiline && || ** DONE ./qwe.sh <=== handle bad shebang ** DONE msh ~> ./qwe.sh <---- without shebang (maybe works fine already) CLOSED: [2020-10-05 Mon 18:34] ** TODO 'qweqwe=qweqwe' ** DONE fix that goddamn exit(2) 25 leak ** DONE lpipes leaks on builtins (same as above man) ** DONE leaks on builtins (same as above man) ** DONE Variables stack rework ** DONE $1 $2 $3 $4... vars CLOSED: [2020-09-26 Sat 17:32] ** DONE Fix $? ** DONE Handle comments better # ** TODO Handle memory ** TODO Fix ~ only first pos of arg ** TODO exit 25 leak is back ** TODO Various in-code TODO * Stuff to add ** DONE builtins to pipes ** DONE Proper ~ subst ** TODO SIGNAL ** DONE && || ** DONE .minishellrc ** DONE .minishell_history ** DONE history builtin ** TODO $_ ** TODO Parse error before p_line for scripts ** DONE Norm [2/2] CLOSED: [2020-10-03 Sat 14:46] + [X] libft + [X] minishell ** DONE [ builtin <=== pretty cool yet simple stuff ( [ $a -eq 1 ] ) ** DONE alias ** DONE Read scripts ** DONE PSX rice ** DONE << [2/2] CLOSED: [2020-09-28 Mon 19:30] + [X] base + [X] <<- to skip tabs ** TODO if else [0/4] + [ ] if - fi + [ ] else + [ ] else + [ ] elif + [ ] while - do - done + [ ] for ** TODO Termcaps ** TODO -i option (alias and history in scripts, etc) ** TODO Simple arithmetics $((a + 1)) ** CANCELED & CLOSED: [2020-10-21 Wed 16:41]