git: 9front

Download patch

ref: 81ab1fccaddbc02561a6cb6d69bcb76067934361
parent: 33e9bf14f1bcfbefbb8bfccdee14d02e30894bcb
parent: 64a8d7f023a5ade2b5f3c5dca78a44a653f15f33
author: cinap_lenrek <cinap_lenrek@centraldogma>
date: Wed Nov 23 19:04:36 EST 2011

merge

--- /dev/null
+++ b/rc/bin/"
@@ -1,0 +1,25 @@
+#!/bin/rc
+
+rfork en
+
+if(test -r /mnt/acme/acme/body)
+	bind /mnt/acme/acme/body /dev/text
+
+PROMPT='[^ 	]*%[ 	]+'
+
+fn cmds {
+	grep '^'$PROMPT'[^"]' /dev/text | sed 's/^/	/'
+}
+
+switch($#*) {
+case 0
+	cmds | tail -1
+case *
+	cmds | grep '^	'$PROMPT^$"* | {echo; cat} |
+		pr -t -n | sort -nr | sort -u +1 | sort -n |
+		sed 's/^ *[0-9]+	//' | grep .
+}
+
+# the silly {echo; cat} gets around pr printing "empty file" when
+# presented with no input.
+
--- /dev/null
+++ b/rc/bin/""
@@ -1,0 +1,13 @@
+#!/bin/rc
+
+PROMPT='[^ 	]*%+[ 	]+'
+
+_x = `{" $* | tail -1}
+if(~ $#_x 0) {
+	echo no such command found
+	exit notfound
+}
+
+echo '	' $_x
+_x=`{ echo -n 'eval '; echo $_x | sed 's/^'$PROMPT'//'}
+rc -c $"_x
--- /dev/null
+++ b/rc/bin/g
@@ -1,0 +1,23 @@
+#!/bin/rc 
+
+flags=() 
+while(! ~ $#* 1 && ~ $1 -* && ! ~ $1 --){ 
+         flags=($flags $1); 
+         shift 
+} 
+if(~ $1 --) 
+         shift 
+
+switch($#*){ 
+case 0 
+         echo 'usage: g [flags] pattern [files]' >[1=2] 
+         exit usage 
+case 1 
+         pattern=$1 
+         files=(`{ls *.[bcChm] *.cc *.py *.tex *.ms *.java >[2]/dev/null}) 
+case * 
+         pattern=$1 
+         shift 
+         files=($*) 
+} 
+grep -n $flags -- $pattern $files /dev/null 
--