branch: externals/denote commit ac756f52705c9962ecce7d03ad113705fb27c3fe Author: Protesilaos Stavrou <i...@protesilaos.com> Commit: Protesilaos Stavrou <i...@protesilaos.com>
Make denote-sequence-sort do the right thing by expanding denote-sequence--pad --- denote-sequence.el | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/denote-sequence.el b/denote-sequence.el index aa48fe344a..78a8fad018 100644 --- a/denote-sequence.el +++ b/denote-sequence.el @@ -144,16 +144,21 @@ With optional SEQUENCES operate on those, else use the return value of (defun denote-sequence--pad (sequence type) "Create a new SEQUENCE with padded spaces for TYPE. -TYPE is a symbol among `denote-sequence-types'." +TYPE is a symbol among `denote-sequence-types'. The special TYPE `all' +means to pad the full length of the sequence." (let* ((sequence-separator-p (string-match-p "=" sequence)) (split (denote-sequence-split sequence)) - (s (if sequence-separator-p - (pcase type - ('parent (car split)) - ('sibling split) - ('child (car (nreverse split))) - (_ (error "The type `%s' is not among `denote-sequence-types'" type))) - sequence))) + (s (cond + ((eq type 'all) + split) + (sequence-separator-p + (pcase type + ('parent (car split)) + ('sibling split) + ('child (car (nreverse split))) + (_ (error "The type `%s' is not among `denote-sequence-types'" type)))) + (t + sequence)))) (if (listp s) (combine-and-quote-strings (mapcar @@ -353,8 +358,8 @@ Optional ID-ONLY has the same meaning as the `denote-link' command." (let ((s1 (denote-retrieve-filename-signature file-with-sequence-1)) (s2 (denote-retrieve-filename-signature file-with-sequence-2))) (string< - (denote-sequence--pad s1 'parent) - (denote-sequence--pad s2 'parent)))) + (denote-sequence--pad s1 'all) + (denote-sequence--pad s2 'all)))) (defvar denote-sequence-history nil "Minibuffer history of `denote-sequence-prompt'.")