评论者:jafingerhut
Edward,你的补丁用m1代替了(or m1 {})。它已在2008年10月16日的一个提交中从m1改为(or m1 {}),描述文本为“改进了merge, merge-with中的nil处理”,所以我认为最好将其保留为(or m1 {})。我认为意图是允许merge-with的多数映射参数为nil,同时一切仍然可以正常工作。
避免一个merge调用其余的补丁看起来对我来说是合理的。
如果用列表的第一个非nil项而不是首先的映射调用它,用第一非nil映射后的剩余列表调用它,那么您的更改将更好地保留第一非nil映射中的任何元数据。