aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRoland McGrath1991-08-18 01:37:14 +0000
committerRoland McGrath1991-08-18 01:37:14 +0000
commit1e134a5fd866a40da7b2baf2a52c46ab82a08d74 (patch)
treed090c5c2a10e4ef923e2035bc9fd6be6458bf6ab /src
parent6679505fd4203a42d4f8bc6271fe3e0f855e3151 (diff)
downloademacs-1e134a5fd866a40da7b2baf2a52c46ab82a08d74.tar.gz
emacs-1e134a5fd866a40da7b2baf2a52c46ab82a08d74.zip
*** empty log message ***
Diffstat (limited to 'src')
-rw-r--r--src/fns.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/fns.c b/src/fns.c
index fc9abd9ce73..d6abca525db 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -644,6 +644,39 @@ to be sure of changing the value of `foo'.")
644 return list; 644 return list;
645} 645}
646 646
647DEFUN ("delq", Fdelq, Sdelq, 2, 2, 0,
648 "Delete by side effect any occurrences of ELT as a member of LIST.\n\
649The modified LIST is returned. Comparison is done with `equal'.\n\
650If the first member of LIST is ELT, there is no way to remove it by side effect;\n\
651therefore, write `(setq foo (delete element foo))'\n\
652to be sure of changing the value of `foo'.")
653 (elt, list)
654 register Lisp_Object elt;
655 Lisp_Object list;
656{
657 register Lisp_Object tail, prev;
658 register Lisp_Object tem;
659
660 tail = list;
661 prev = Qnil;
662 while (!NULL (tail))
663 {
664 tem = Fcar (tail);
665 if (Fequal (elt, tem))
666 {
667 if (NULL (prev))
668 list = Fcdr (tail);
669 else
670 Fsetcdr (prev, Fcdr (tail));
671 }
672 else
673 prev = tail;
674 tail = Fcdr (tail);
675 QUIT;
676 }
677 return list;
678}
679
647DEFUN ("nreverse", Fnreverse, Snreverse, 1, 1, 0, 680DEFUN ("nreverse", Fnreverse, Snreverse, 1, 1, 0,
648 "Reverse LIST by modifying cdr pointers.\n\ 681 "Reverse LIST by modifying cdr pointers.\n\
649Returns the beginning of the reversed list.") 682Returns the beginning of the reversed list.")