eintr: cons & search-fwd Review
8.6 Review
==========
Here is a brief summary of some recently introduced functions.
‘car’
‘cdr’
‘car’ returns the first element of a list; ‘cdr’ returns the second
and subsequent elements of a list.
For example:
(car '(1 2 3 4 5 6 7))
⇒ 1
(cdr '(1 2 3 4 5 6 7))
⇒ (2 3 4 5 6 7)
‘cons’
‘cons’ constructs a list by prepending its first argument to its
second argument.
For example:
(cons 1 '(2 3 4))
⇒ (1 2 3 4)
‘funcall’
‘funcall’ evaluates its first argument as a function. It passes
its remaining arguments to its first argument.
‘nthcdr’
Return the result of taking CDR N times on a list. The “rest of
the rest”, as it were.
For example:
(nthcdr 3 '(1 2 3 4 5 6 7))
⇒ (4 5 6 7)
‘setcar’
‘setcdr’
‘setcar’ changes the first element of a list; ‘setcdr’ changes the
second and subsequent elements of a list.
For example:
(setq triple '(1 2 3))
(setcar triple '37)
triple
⇒ (37 2 3)
(setcdr triple '("foo" "bar"))
triple
⇒ (37 "foo" "bar")
‘progn’
Evaluate each argument in sequence and then return the value of the
last.
For example:
(progn 1 2 3 4)
⇒ 4
‘save-restriction’
Record whatever narrowing is in effect in the current buffer, if
any, and restore that narrowing after evaluating the arguments.
‘search-forward’
Search for a string, and if the string is found, move point. With
a regular expression, use the similar ‘re-search-forward’. (
Regular Expression Searches Regexp Search, for an explanation of
regular expression patterns and searches.)
‘search-forward’ and ‘re-search-forward’ take four arguments:
1. The string or regular expression to search for.
2. Optionally, the limit of the search.
3. Optionally, what to do if the search fails, return ‘nil’ or an
error message.
4. Optionally, how many times to repeat the search; if negative,
the search goes backwards.
‘kill-region’
‘delete-and-extract-region’
‘copy-region-as-kill’
‘kill-region’ cuts the text between point and mark from the buffer
and stores that text in the kill ring, so you can get it back by
yanking.
‘copy-region-as-kill’ copies the text between point and mark into
the kill ring, from which you can get it by yanking. The function
does not cut or remove the text from the buffer.
‘delete-and-extract-region’ removes the text between point and mark
from the buffer and throws it away. You cannot get it back. (This is
not an interactive command.)