GNU bug report logs -
#67008
30.0.50; Multiple major mode parents
Previous Next
Reported by: Stefan Monnier <monnier <at> iro.umontreal.ca>
Date: Thu, 9 Nov 2023 05:41:01 UTC
Severity: normal
Found in version 30.0.50
Done: Stefan Monnier <monnier <at> iro.umontreal.ca>
Bug is archived. No further changes may be made.
Full log
Message #53 received at 67008 <at> debbugs.gnu.org (full text, mbox):
12 nov. 2023 kl. 17.41 skrev Stefan Monnier <monnier <at> iro.umontreal.ca>:
> I improved the docstring to try and clarify.
Thank you, but the new text,
> +The order of the (sub)lists determines the final order in those cases where
> +the order within the sublists does not impose a unique choice.
still doesn't explain how the sublist order affects the choice of linearisation.
Since I'm here:
> (while (cdr (setq lists (delq nil lists)))
When this loop is entered the first time, `lists` still holds the argument which probably shouldn't be mutated even if it's for removing empty lists inside. (In later iterations it seems to be a copy.)
+(ert-deftest subt-tests--merge-ordered-lists ()
^
r
+ (should (equal (merge-ordered-lists
+ '((B A) (C A) (D B) (E D C)))
+ '(E D B C A)))
+ (should (equal (merge-ordered-lists
+ '((E D C) (B A) (C A) (D B)))
+ '(E D C B A)))
+ (should-error (merge-ordered-lists
+ '((E C D) (B A) (A C) (D B))
+ (lambda (_) (error "cycle")))))
All calls should error on cycles, not just the one that actually contains one.
Maybe the default value for the `error-function` argument should be one that raises an error, so that callers need to specify something explicitly if they want a different behaviour?
This bug report was last modified 1 year and 187 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.