Compare label format, retain labels, and use labels.
This commit is contained in:
@@ -1547,8 +1547,6 @@ fn compare_example_block<'b, 's>(
|
||||
let mut this_status = DiffStatus::Good;
|
||||
let mut message = None;
|
||||
|
||||
// TODO: Compare :preserve-indent :retain-labels :use-labels :label-fmt
|
||||
|
||||
// Compare value
|
||||
let contents = get_property_quoted_string(emacs, ":value")?.unwrap_or(String::new());
|
||||
if contents != rust.contents {
|
||||
@@ -1609,6 +1607,49 @@ fn compare_example_block<'b, 's>(
|
||||
}
|
||||
};
|
||||
|
||||
// Compare preserve-indent
|
||||
let preserve_indent = get_property_boolean(emacs, ":preserve-indent")?;
|
||||
if preserve_indent {
|
||||
// I don't know what :preserve-indent is for, but it seems to always be nil. This is here to alert me to value being non-nil so I can investigate.
|
||||
this_status = DiffStatus::Bad;
|
||||
message = Some(format!("Non-nil :preserve-indent {:?}", preserve_indent));
|
||||
}
|
||||
|
||||
// Compare retain-labels
|
||||
let retain_labels = get_property_boolean(emacs, ":retain-labels")?;
|
||||
if retain_labels != rust.retain_labels {
|
||||
this_status = DiffStatus::Bad;
|
||||
message = Some(format!(
|
||||
"Retain labels mismatch (emacs != rust) {:?} != {:?}",
|
||||
retain_labels, rust.retain_labels
|
||||
));
|
||||
}
|
||||
|
||||
// Compare use-labels
|
||||
let use_labels = get_property_boolean(emacs, ":use-labels")?;
|
||||
if use_labels != rust.use_labels {
|
||||
this_status = DiffStatus::Bad;
|
||||
message = Some(format!(
|
||||
"Use labels mismatch (emacs != rust) {:?} != {:?}",
|
||||
use_labels, rust.use_labels
|
||||
));
|
||||
}
|
||||
|
||||
// Compare label-fmt
|
||||
let label_format = get_property_quoted_string(emacs, ":label-fmt")?;
|
||||
match (label_format.as_ref(), rust.label_format) {
|
||||
(None, None) => {}
|
||||
(Some(emacs_label_format), Some(rust_label_format))
|
||||
if emacs_label_format == rust_label_format => {}
|
||||
_ => {
|
||||
this_status = DiffStatus::Bad;
|
||||
message = Some(format!(
|
||||
"Label format mismatch (emacs != rust) {:?} != {:?}",
|
||||
label_format, rust.label_format
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
Ok(DiffResult {
|
||||
status: this_status,
|
||||
name: rust.get_elisp_name(),
|
||||
|
||||
Reference in New Issue
Block a user