diff options
| author | Dmitry Antipov | 2014-08-29 11:29:47 +0400 |
|---|---|---|
| committer | Dmitry Antipov | 2014-08-29 11:29:47 +0400 |
| commit | 1764ec4414074ea0dcbd912efdfbedb119f8ed3b (patch) | |
| tree | 0d577861c3e8a3e3e7a554adef7bcb04e0de5c38 /src/lisp.h | |
| parent | 483dc86ad0e60a1a6da498f9eb95672f286a4ab5 (diff) | |
| download | emacs-1764ec4414074ea0dcbd912efdfbedb119f8ed3b.tar.gz emacs-1764ec4414074ea0dcbd912efdfbedb119f8ed3b.zip | |
Add vectors support to Fsort.
* configure.ac (AC_CHECK_FUNCS): Check for qsort_r.
* src/fns.c (sort_vector, sort_vector_compare): New functions.
(sort_list): Likewise, refactored out of ...
(Fsort): ... adjusted user. Mention vectors in docstring.
(sort_vector_predicate) [!HAVE_QSORT_R]: New variable.
* src/alloc.c (make_save_int_obj): New function.
* src/lisp.h (enum Lisp_Save_Type): New member SAVE_TYPE_INT_OBJ.
(make_save_int_obj): Add prototype.
* test/automated/fns-tests.el (fns-tests-sort): New test.
Diffstat (limited to 'src/lisp.h')
| -rw-r--r-- | src/lisp.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/lisp.h b/src/lisp.h index 98734a55812..7cbbb299896 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -1989,6 +1989,7 @@ enum Lisp_Save_Type | |||
| 1989 | SAVE_TYPE_OBJ_OBJ_OBJ_OBJ | 1989 | SAVE_TYPE_OBJ_OBJ_OBJ_OBJ |
| 1990 | = SAVE_OBJECT + (SAVE_TYPE_OBJ_OBJ_OBJ << SAVE_SLOT_BITS), | 1990 | = SAVE_OBJECT + (SAVE_TYPE_OBJ_OBJ_OBJ << SAVE_SLOT_BITS), |
| 1991 | SAVE_TYPE_PTR_INT = SAVE_POINTER + (SAVE_INTEGER << SAVE_SLOT_BITS), | 1991 | SAVE_TYPE_PTR_INT = SAVE_POINTER + (SAVE_INTEGER << SAVE_SLOT_BITS), |
| 1992 | SAVE_TYPE_INT_OBJ = SAVE_INTEGER + (SAVE_OBJECT << SAVE_SLOT_BITS), | ||
| 1992 | SAVE_TYPE_PTR_OBJ = SAVE_POINTER + (SAVE_OBJECT << SAVE_SLOT_BITS), | 1993 | SAVE_TYPE_PTR_OBJ = SAVE_POINTER + (SAVE_OBJECT << SAVE_SLOT_BITS), |
| 1993 | SAVE_TYPE_PTR_PTR = SAVE_POINTER + (SAVE_POINTER << SAVE_SLOT_BITS), | 1994 | SAVE_TYPE_PTR_PTR = SAVE_POINTER + (SAVE_POINTER << SAVE_SLOT_BITS), |
| 1994 | SAVE_TYPE_FUNCPTR_PTR_OBJ | 1995 | SAVE_TYPE_FUNCPTR_PTR_OBJ |
| @@ -3773,6 +3774,7 @@ extern Lisp_Object make_save_obj_obj_obj_obj (Lisp_Object, Lisp_Object, | |||
| 3773 | extern Lisp_Object make_save_ptr (void *); | 3774 | extern Lisp_Object make_save_ptr (void *); |
| 3774 | extern Lisp_Object make_save_ptr_int (void *, ptrdiff_t); | 3775 | extern Lisp_Object make_save_ptr_int (void *, ptrdiff_t); |
| 3775 | extern Lisp_Object make_save_ptr_ptr (void *, void *); | 3776 | extern Lisp_Object make_save_ptr_ptr (void *, void *); |
| 3777 | extern Lisp_Object make_save_int_obj (ptrdiff_t, Lisp_Object); | ||
| 3776 | extern Lisp_Object make_save_funcptr_ptr_obj (void (*) (void), void *, | 3778 | extern Lisp_Object make_save_funcptr_ptr_obj (void (*) (void), void *, |
| 3777 | Lisp_Object); | 3779 | Lisp_Object); |
| 3778 | extern Lisp_Object make_save_memory (Lisp_Object *, ptrdiff_t); | 3780 | extern Lisp_Object make_save_memory (Lisp_Object *, ptrdiff_t); |