diff options
author | Dmitry Antipov <dmantipov@yandex.ru> | 2012-07-18 09:44:36 +0400 |
---|---|---|
committer | Dmitry Antipov <dmantipov@yandex.ru> | 2012-07-18 09:44:36 +0400 |
commit | 3ab6e069695d0dd5bb77133a89f858190ab8550a (patch) | |
tree | bd50490ec50ec8d5f72625fd38840d1283983561 /src/data.c | |
parent | 0a60bc107123321438fc1320ab34fcf588ec7128 (diff) | |
download | emacs-3ab6e069695d0dd5bb77133a89f858190ab8550a.tar.gz |
Return more descriptive data from Fgarbage_collect.
Suggested by Stefan Monnier in
http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00369.html.
* src/alloc.c (bounded_number): New function.
(total_buffers, total_vectors): New variable.
(total_string_size): Rename to total_string_bytes, adjust users.
(total_vector_size): Rename to total_vector_bytes, adjust users.
(sweep_vectors): Account total_vectors and total_vector_bytes.
(Fgarbage_collect): New return value. Adjust documentation.
(gc_sweep): Account total_buffers.
(Fmemory_free, Fmemory_use_counts): Use bounded_number.
(VECTOR_SIZE): Remove.
* src/data.c (Qfloat, Qvector, Qsymbol, Qstring, Qcons): Make global.
(Qinterval, Qmisc): New symbols.
(syms_of_data): Initialize them.
* src/lisp.h (Qinterval, Qsymbol, Qstring, Qmisc, Qvector, Qfloat)
(Qcons, Qbuffer): New declarations.
* lisp/emacs-lisp/chart.el (chart-emacs-storage): Change to
reflect new format of data returned by Fgarbage_collect.
Diffstat (limited to 'src/data.c')
-rw-r--r-- | src/data.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/data.c b/src/data.c index 4b342c0f521..22546349677 100644 --- a/src/data.c +++ b/src/data.c @@ -83,12 +83,12 @@ Lisp_Object Qoverflow_error, Qunderflow_error; Lisp_Object Qfloatp; Lisp_Object Qnumberp, Qnumber_or_marker_p; -Lisp_Object Qinteger; -static Lisp_Object Qsymbol, Qstring, Qcons, Qmarker, Qoverlay; +Lisp_Object Qinteger, Qinterval, Qfloat, Qvector; +Lisp_Object Qsymbol, Qstring, Qcons, Qmisc; Lisp_Object Qwindow; -static Lisp_Object Qfloat, Qwindow_configuration; -static Lisp_Object Qprocess; -static Lisp_Object Qcompiled_function, Qframe, Qvector; +static Lisp_Object Qoverlay, Qwindow_configuration; +static Lisp_Object Qprocess, Qmarker; +static Lisp_Object Qcompiled_function, Qframe; Lisp_Object Qbuffer; static Lisp_Object Qchar_table, Qbool_vector, Qhash_table; static Lisp_Object Qsubrp, Qmany, Qunevalled; @@ -3083,7 +3083,6 @@ syms_of_data (void) DEFSYM (Qwindow_configuration, "window-configuration"); DEFSYM (Qprocess, "process"); DEFSYM (Qwindow, "window"); - /* DEFSYM (Qsubr, "subr"); */ DEFSYM (Qcompiled_function, "compiled-function"); DEFSYM (Qbuffer, "buffer"); DEFSYM (Qframe, "frame"); @@ -3091,6 +3090,9 @@ syms_of_data (void) DEFSYM (Qchar_table, "char-table"); DEFSYM (Qbool_vector, "bool-vector"); DEFSYM (Qhash_table, "hash-table"); + /* Used by Fgarbage_collect. */ + DEFSYM (Qinterval, "interval"); + DEFSYM (Qmisc, "misc"); DEFSYM (Qdefun, "defun"); |