summaryrefslogtreecommitdiffstats
path: root/TODO.org
blob: 9afe5d19e17ed2c8e1d2d71095b181f4ec2d2c0b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#+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
** DONE [#A] buildable on Linux + gcc
   CLOSED: [2020-10-12 Mon 19:56]
** TODO [#A] pipes don't split "qweqwreq | qweqweqe"
** TODO [#A] 2>&1
** TODO [#A] alias ls='clear; ls | grep qwe' <--- aliases not substed in the right place
** DONE [#B] forked write(2) stuff on cd
** DONE [#B] Multiline && ||
** DONE [#B] ./qwe.sh <=== handle bad shebang
** DONE [#B] msh ~> ./qwe.sh <---- without shebang (maybe works fine already)
   CLOSED: [2020-10-05 Mon 18:34]
** 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] Fix ~ only first pos of arg
** TODO [#C] Various in-code TODO

* 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] &