changeset: 6772:ab403fd7e600
user:      David Champion <d...@bikeshed.us>
date:      Tue Aug 30 16:11:45 2016 -0700
link:      http://dev.mutt.org/hg/mutt/rev/ab403fd7e600

Update a confusing and obsolete comment.

This 2004 comment in sort.h predicted what has recently come to pass, so
I'm reframing it just to document for future devs what's going on with
this oddball flag.

diffs (26 lines):

diff -r 768b430f3dca -r ab403fd7e600 sort.h
--- a/sort.h    Tue Aug 23 13:32:31 2016 +0200
+++ b/sort.h    Tue Aug 30 16:11:45 2016 -0700
@@ -36,9 +36,19 @@
 #define SORT_FLAGGED   17
 #define SORT_PATH      18
 
-/* dgc: Sort & SortAux are shorts, so I'm bumping these bitflags up from
- * bits 4 & 5 to bits 8 & 9 to make room for more sort keys in the future. */
-#define SORT_MASK      0xff
+/* Sort and sort_aux are shorts, and are a composite of a
+ * constant sort operation number and a set of compounded
+ * bitflags.
+ *
+ * Everything below SORT_MASK is a constant. There's room for
+ * SORT_MASK constant SORT_ values.
+ *
+ * Everything above is a bitflag. It's OK to move SORT_MASK
+ * down by powers of 2 if we need more, so long as we don't
+ * collide with the constants above. (Or we can just expand
+ * sort and sort_aux to uint32_t.)
+ */
+#define SORT_MASK      ((1<<8) - 1)
 #define SORT_REVERSE   (1<<8)
 #define SORT_LAST      (1<<9)
 

Reply via email to