]> git.eshelyaron.com Git - emacs.git/commitdiff
switch-to-buffer's completion table uses its own sorting
authorJoão Távora <joaotavora@gmail.com>
Mon, 18 Feb 2019 20:32:38 +0000 (20:32 +0000)
committerJoão Távora <joaotavora@gmail.com>
Tue, 19 Feb 2019 09:11:28 +0000 (09:11 +0000)
* src/minibuf.c (Finternal_complete_buffer): Add
Qcycle_sort_function to completion table's metadata.
(syms_of_minibuf): New symbol Qcycle_sort_function.

src/minibuf.c

index 321fda1ba88a23f212ff3fcb8f76272bdc696bf0..b23e24c4bd9fda0a92b24004e88f7d2511ba4a14 100644 (file)
@@ -1801,7 +1801,9 @@ If FLAG is nil, invoke `try-completion'; if it is t, invoke
   else if (EQ (flag, Qlambda))
     return Ftest_completion (string, Vbuffer_alist, predicate);
   else if (EQ (flag, Qmetadata))
-    return list2 (Qmetadata, Fcons (Qcategory, Qbuffer));
+    return list3 (Qmetadata,
+                  Fcons (Qcategory, Qbuffer),
+                  Fcons (Qcycle_sort_function, Qidentity));
   else
     return Qnil;
 }
@@ -1922,6 +1924,8 @@ syms_of_minibuf (void)
   DEFSYM (Qactivate_input_method, "activate-input-method");
   DEFSYM (Qcase_fold_search, "case-fold-search");
   DEFSYM (Qmetadata, "metadata");
+  DEFSYM (Qcycle_sort_function, "cycle-sort-function");
+
   /* A frame parameter.  */
   DEFSYM (Qminibuffer_exit, "minibuffer-exit");