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