diff options
| author | Roland McGrath | 1991-08-18 01:37:14 +0000 |
|---|---|---|
| committer | Roland McGrath | 1991-08-18 01:37:14 +0000 |
| commit | 1e134a5fd866a40da7b2baf2a52c46ab82a08d74 (patch) | |
| tree | d090c5c2a10e4ef923e2035bc9fd6be6458bf6ab /src | |
| parent | 6679505fd4203a42d4f8bc6271fe3e0f855e3151 (diff) | |
| download | emacs-1e134a5fd866a40da7b2baf2a52c46ab82a08d74.tar.gz emacs-1e134a5fd866a40da7b2baf2a52c46ab82a08d74.zip | |
*** empty log message ***
Diffstat (limited to 'src')
| -rw-r--r-- | src/fns.c | 33 |
1 files changed, 33 insertions, 0 deletions
| @@ -644,6 +644,39 @@ to be sure of changing the value of `foo'.") | |||
| 644 | return list; | 644 | return list; |
| 645 | } | 645 | } |
| 646 | 646 | ||
| 647 | DEFUN ("delq", Fdelq, Sdelq, 2, 2, 0, | ||
| 648 | "Delete by side effect any occurrences of ELT as a member of LIST.\n\ | ||
| 649 | The modified LIST is returned. Comparison is done with `equal'.\n\ | ||
| 650 | If the first member of LIST is ELT, there is no way to remove it by side effect;\n\ | ||
| 651 | therefore, write `(setq foo (delete element foo))'\n\ | ||
| 652 | to 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 | |||
| 647 | DEFUN ("nreverse", Fnreverse, Snreverse, 1, 1, 0, | 680 | DEFUN ("nreverse", Fnreverse, Snreverse, 1, 1, 0, |
| 648 | "Reverse LIST by modifying cdr pointers.\n\ | 681 | "Reverse LIST by modifying cdr pointers.\n\ |
| 649 | Returns the beginning of the reversed list.") | 682 | Returns the beginning of the reversed list.") |