GNU bug report logs - #63896
[PATCH] Support annotating and sorting the project list during completion

Previous Next

Package: emacs;

Reported by: Spencer Baugh <sbaugh <at> janestreet.com>

Date: Sun, 4 Jun 2023 21:21:02 UTC

Severity: wishlist

Tags: patch

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Spencer Baugh <sbaugh <at> janestreet.com>
Cc: 63896 <at> debbugs.gnu.org
Subject: bug#63896: [PATCH] Support annotating and sorting the project list during completion
Date: Wed, 14 Jun 2023 15:12:58 +0300
> From: Spencer Baugh <sbaugh <at> janestreet.com>
> Cc: 63896 <at> debbugs.gnu.org
> Date: Tue, 13 Jun 2023 17:19:52 -0400
> 
> >> +          (cons (+ (* 100 compilation-num-errors-found)
> >> +                   (* 10 compilation-num-warnings-found)
> >
> > Why "encode" these numbers in a single value? why not use a cons or a
> > vector?
> 
> I'd be happy to use a cons or a vector, or even a more complicated
> structure, but I didn't see an easy way to do comparison of
> complicated structures, for the sorting of projects based on their
> annotation.  For example, if I have values of the form
> (num . (num num num))

You'd need to write a custom comparison function, but why is that a
problem?

> there's no way to know what sorting predicate to use for such values - I
> need to be able to know which value should sort sort first, when I have
> a pair of them.

But the encoding scheme above provides the answer: you want errors to
sort before the warnings.  So it sounds like you already decided how
to sort those, no?

> >> +                (format-mode-line mode-line-process nil nil buf)))
> >
> > Do you really need to call format-mode-line?  My advice is to stay
> > away of that function: it could have unpleasant side effects.
> 
> Annoyingly if I want to include the exit code of the compilation in the
> annotation, the only place it's found is as a string in
> mode-line-process.  I could extract that string from mode-line-process
> and use it, but I thought it would be a bad idea to depend on the exact
> structure of what compile.el puts in mode-line-process.  So I just
> format-mode-line'd it.
> 
> Would it be OK to make compile.el store the exit code as a number in a
> variable and then use that?  Then I wouldn't need to touch
> mode-line-process at all.

I don't see why you'd need that.  Doesn't process-exit-status give you
that value?  mode-line-process is not some magic, it just accesses
process information exposed via the different primitives.




This bug report was last modified 73 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.