commit 517c704a6360356e62752f581c71b38a479e2f59 (HEAD, refs/remotes/origin/master) Author: Philipp Stephani Date: Fri Jun 9 01:27:39 2017 +0200 Fix another compiler warning on macOS * src/image.c (x_query_frame_background_color): Don't define if we have NextStep but no image support. diff --git a/src/image.c b/src/image.c index 3ebf469e8b..429777ce51 100644 --- a/src/image.c +++ b/src/image.c @@ -1269,8 +1269,7 @@ image_background_transparent (struct image *img, struct frame *f, XImagePtr_or_D return img->background_transparent; } -#if defined (HAVE_PNG) || defined (HAVE_NS) \ - || defined (HAVE_IMAGEMAGICK) || defined (HAVE_RSVG) +#if defined (HAVE_PNG) || defined (HAVE_IMAGEMAGICK) || defined (HAVE_RSVG) /* Store F's background color into *BGCOLOR. */ static void @@ -1284,7 +1283,7 @@ x_query_frame_background_color (struct frame *f, XColor *bgcolor) #endif } -#endif /* HAVE_PNG || HAVE_NS || HAVE_IMAGEMAGICK || HAVE_RSVG */ +#endif /* HAVE_PNG || HAVE_IMAGEMAGICK || HAVE_RSVG */ /*********************************************************************** Helper functions for X image types commit 6e00ffe317797ead28ac45f9b609e35553bcdbd1 Author: Philipp Stephani Date: Fri Jun 9 01:25:47 2017 +0200 Add garbage collection support for module environments * src/emacs-module.c (mark_modules): New function. (initialize_environment): Properly initialize Lisp objects. * src/alloc.c (garbage_collect_1): Call it. diff --git a/src/alloc.c b/src/alloc.c index a1a85946ce..ac3de83b2b 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -5942,6 +5942,10 @@ garbage_collect_1 (void *end) mark_fringe_data (); #endif +#ifdef HAVE_MODULES + mark_modules (); +#endif + /* Everything is now marked, except for the data in font caches, undo lists, and finalizers. The first two are compacted by removing an items which aren't reachable otherwise. */ diff --git a/src/emacs-module.c b/src/emacs-module.c index bebfe59442..1a8c176823 100644 --- a/src/emacs-module.c +++ b/src/emacs-module.c @@ -871,6 +871,7 @@ static void initialize_environment (emacs_env *env, struct emacs_env_private *priv) { priv->pending_non_local_exit = emacs_funcall_exit_return; + priv->non_local_exit_symbol = priv->non_local_exit_data = Qnil; env->size = sizeof *env; env->private_members = priv; env->make_global_ref = module_make_global_ref; @@ -926,6 +927,19 @@ finalize_runtime_unwind (void* raw_ert) finalize_environment (&ert->private_members->pub); } +void +mark_modules (void) +{ + Lisp_Object tail = Vmodule_environments; + FOR_EACH_TAIL_SAFE (tail) + { + emacs_env *env = XSAVE_POINTER (XCAR (tail), 0); + struct emacs_env_private *priv = env->private_members; + mark_object (priv->non_local_exit_symbol); + mark_object (priv->non_local_exit_data); + } +} + /* Non-local exit handling. */ diff --git a/src/lisp.h b/src/lisp.h index c35bd1f6df..ee703893e2 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -3958,6 +3958,7 @@ extern Lisp_Object make_user_ptr (void (*finalizer) (void *), void *p); /* Defined in emacs-module.c. */ extern Lisp_Object funcall_module (Lisp_Object, ptrdiff_t, Lisp_Object *); extern Lisp_Object module_function_arity (const struct Lisp_Module_Function *); +extern void mark_modules (void); extern void syms_of_module (void); #endif commit a62d15763df16e64b452b24191e12c0e32a2de6b Author: Glenn Morris Date: Thu Jun 8 12:48:59 2017 -0400 Make autogen.sh report relevant environment variables * autogen.sh (check_version): Indicate if using an environment variable. diff --git a/autogen.sh b/autogen.sh index 2297bdc8c4..0153f896a1 100755 --- a/autogen.sh +++ b/autogen.sh @@ -72,11 +72,15 @@ minor_version () check_version () { ## Respect, e.g., $AUTOCONF if it is set, like autoreconf does. - uprog=`echo $1 | sed -e 's/-/_/g' -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` + uprog0=`echo $1 | sed -e 's/-/_/g' -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` - eval uprog=\$${uprog} + eval uprog=\$${uprog0} - [ x"$uprog" = x ] && uprog=$1 + if [ x"$uprog" = x ]; then + uprog=$1 + else + printf '%s' "(using $uprog0=$uprog) " + fi have_version=`get_version $uprog`