aboutsummaryrefslogtreecommitdiffstats
path: root/src/data.c
diff options
context:
space:
mode:
authorDmitry Antipov2012-07-18 09:44:36 +0400
committerDmitry Antipov2012-07-18 09:44:36 +0400
commit3ab6e069695d0dd5bb77133a89f858190ab8550a (patch)
treebd50490ec50ec8d5f72625fd38840d1283983561 /src/data.c
parent0a60bc107123321438fc1320ab34fcf588ec7128 (diff)
downloademacs-3ab6e069695d0dd5bb77133a89f858190ab8550a.tar.gz
emacs-3ab6e069695d0dd5bb77133a89f858190ab8550a.zip
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.c14
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;
83Lisp_Object Qfloatp; 83Lisp_Object Qfloatp;
84Lisp_Object Qnumberp, Qnumber_or_marker_p; 84Lisp_Object Qnumberp, Qnumber_or_marker_p;
85 85
86Lisp_Object Qinteger; 86Lisp_Object Qinteger, Qinterval, Qfloat, Qvector;
87static Lisp_Object Qsymbol, Qstring, Qcons, Qmarker, Qoverlay; 87Lisp_Object Qsymbol, Qstring, Qcons, Qmisc;
88Lisp_Object Qwindow; 88Lisp_Object Qwindow;
89static Lisp_Object Qfloat, Qwindow_configuration; 89static Lisp_Object Qoverlay, Qwindow_configuration;
90static Lisp_Object Qprocess; 90static Lisp_Object Qprocess, Qmarker;
91static Lisp_Object Qcompiled_function, Qframe, Qvector; 91static Lisp_Object Qcompiled_function, Qframe;
92Lisp_Object Qbuffer; 92Lisp_Object Qbuffer;
93static Lisp_Object Qchar_table, Qbool_vector, Qhash_table; 93static Lisp_Object Qchar_table, Qbool_vector, Qhash_table;
94static Lisp_Object Qsubrp, Qmany, Qunevalled; 94static Lisp_Object Qsubrp, Qmany, Qunevalled;
@@ -3083,7 +3083,6 @@ syms_of_data (void)
3083 DEFSYM (Qwindow_configuration, "window-configuration"); 3083 DEFSYM (Qwindow_configuration, "window-configuration");
3084 DEFSYM (Qprocess, "process"); 3084 DEFSYM (Qprocess, "process");
3085 DEFSYM (Qwindow, "window"); 3085 DEFSYM (Qwindow, "window");
3086 /* DEFSYM (Qsubr, "subr"); */
3087 DEFSYM (Qcompiled_function, "compiled-function"); 3086 DEFSYM (Qcompiled_function, "compiled-function");
3088 DEFSYM (Qbuffer, "buffer"); 3087 DEFSYM (Qbuffer, "buffer");
3089 DEFSYM (Qframe, "frame"); 3088 DEFSYM (Qframe, "frame");
@@ -3091,6 +3090,9 @@ syms_of_data (void)
3091 DEFSYM (Qchar_table, "char-table"); 3090 DEFSYM (Qchar_table, "char-table");
3092 DEFSYM (Qbool_vector, "bool-vector"); 3091 DEFSYM (Qbool_vector, "bool-vector");
3093 DEFSYM (Qhash_table, "hash-table"); 3092 DEFSYM (Qhash_table, "hash-table");
3093 /* Used by Fgarbage_collect. */
3094 DEFSYM (Qinterval, "interval");
3095 DEFSYM (Qmisc, "misc");
3094 3096
3095 DEFSYM (Qdefun, "defun"); 3097 DEFSYM (Qdefun, "defun");
3096 3098