User Tools

A PCRE internal error occured. This might be caused by a faulty plugin


This shows you the differences between two versions of the page.

Link to this comparison view

cl:macros:remf [2019/09/14 05:00]
cl:macros:remf [2020/08/08 13:00] (current)
Line 1: Line 1:
 +====== Macro REMF ======
 +**remf** removes from the //​[[CL:​Glossary:​property list]]// stored in //place// a //​[[CL:​Glossary:​property]]//​ with a //​[[CL:​Glossary:​property indicator]]//​
 +//​[[CL:​Glossary:​identical]]//​ to //​indicator//​. If there are multiple //​[[CL:​Glossary:​properties]]//​ with the //​[[CL:​Glossary:​identical]]//​ key, **remf** only removes the first such //​[[CL:​Glossary:​property]]//​.
 +**remf** returns //​[[CL:​Glossary:​false]]//​ if no such //​[[CL:​Glossary:​property]]//​ was found, or //​[[CL:​Glossary:​true]]//​ if a property was found.
 +The //​[[CL:​Glossary:​property indicator]]// ​ and the corresponding //​[[CL:​Glossary:​property value]]// ​ are removed in an undefined order by destructively splicing the property list.   ​**remf** is permitted to either **[[CL:​Macros:​setf]]** //place// or to  **[[CL:​Macros:​setf]]** any part, **[[CL:​Functions:​car]]** or **[[CL:​Functions:​cdr]]**, ​ of the //​[[CL:​Glossary:​list structure]]//​ held by that //place//.
 +For information about the //​[[CL:​Glossary:​evaluation]]//​ of //​[[CL:​Glossary:​subforms]]//​ of //place//, \seesection\GenRefSubFormEval.
 +  * **remf** //place indicator// → //​generalized-boolean//​
 +====Arguments and Values====
 +  * //​place//​---a //​[[CL:​Glossary:​place]]//​.
 +  * //​indicator//​---an //​[[CL:​Glossary:​object]]//​.
 +  * //​generalized-boolean//​---a //​[[CL:​Glossary:​generalized boolean]]//​.
 +([[CL:​Macros:​defparameter]] *x* ([[CL:​Functions:​cons]] () ())) <​r>​*X*</​r>​
 +([[CL:​Macros:​setf]] ([[CL:​Functions:​getf]] ([[CL:​Functions:​car]] *x*) '​prop1) 'val1) <​r>​VAL1</​r>​
 +(remf ([[CL:​Functions:​car]] *x*) '​prop1) <​r>//​[[CL:​Glossary:​true]]//</​r>​
 +(remf ([[CL:​Functions:​car]] *x*) '​prop1) <​r>//​[[CL:​Glossary:​false]]//</​r>​
 +====Side Effects====
 +The property list stored in //place// is modified.
 +====Affected By====
 +====Exceptional Situations====
 +====See Also====
 +**[[CL:​Functions:​remprop]]**,​ **[[CL:​Functions:​getf]]**
 +====Example Implementation====
 +To be done.