diff --git a/src/compare/diff.rs b/src/compare/diff.rs index 3cc9671d..adcf8cb0 100644 --- a/src/compare/diff.rs +++ b/src/compare/diff.rs @@ -1241,9 +1241,19 @@ fn compare_drawer<'b, 's>( ) -> Result, Box> { let children = emacs.as_list()?; let mut child_status = Vec::new(); - let this_status = DiffStatus::Good; - let message = None; - // TODO: Compare :drawer-name + let mut this_status = DiffStatus::Good; + let mut message = None; + + // Compare drawer-name + let name = + get_property_quoted_string(emacs, ":drawer-name")?.ok_or("Drawers should have a name.")?; + if name != rust.name { + this_status = DiffStatus::Bad; + message = Some(format!( + "Name mismatch (emacs != rust) {:?} != {:?}", + name, rust.name + )); + } for (emacs_child, rust_child) in children.iter().skip(2).zip(rust.children.iter()) { child_status.push(compare_ast_node(source, emacs_child, rust_child.into())?);