summaryrefslogtreecommitdiffstats
path: root/lib.h
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2014-03-07 00:03:48 -0800
committerKaz Kylheku <kaz@kylheku.com>2014-03-07 00:03:48 -0800
commit82a698d3339cfd92912d02484e1d67e792212ecf (patch)
tree785e85c5e71536ab19929f4043205c593857db66 /lib.h
parente729bd054e479bae074ed46df06f0c169db2fcc7 (diff)
downloadtxr-82a698d3339cfd92912d02484e1d67e792212ecf.tar.gz
txr-82a698d3339cfd92912d02484e1d67e792212ecf.tar.bz2
txr-82a698d3339cfd92912d02484e1d67e792212ecf.zip
* lib.c (upop): New function.
* lib.h (upop): Declared. * txr.c (txr_main): Two bugfixes. One is that the argument - was being pushed back twice resulting in *args* being ("-" "-"). This is because the option processing loop checked for "-" and pushed it back into args, and then some logic after the loop pushed arg back into args again. But, these pushes were wrong because they push back a different cons cell; we would like to be able to do (ldiff *full-args* *args*). This is solved by upop, which provides one element of undo. After upop, we can restore the prior list from the undo save location.
Diffstat (limited to 'lib.h')
-rw-r--r--lib.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib.h b/lib.h
index ab519088..c1524891 100644
--- a/lib.h
+++ b/lib.h
@@ -385,6 +385,7 @@ val *tail(val cons);
val *lastcons(val list);
val *ltail(val *cons);
val pop(val *plist);
+val upop(val *plist, val *pundo);
val push(val v, val *plist);
val copy_list(val list);
val make_like(val list, val thatobj);