diff src/eval.c @ 108011:12062a99ca8d

Add SELinux support. * configure.in: New option: --with(out)-selinux, on by default. Set HAVE_LIBSELINUX if we find libselinux, and substitute LIBSELINUX_LIBS in Makefiles. * src/Makefile.in (LIBSELINUX_LIBS): New. (LIBES): Add $LIBSELINUX_LIBS. * src/eval.c, lisp.h (call7): New function. * src/fileio.c [HAVE_LIBSELINUX]: Include selinux headers. (Ffile_selinux_context, Fset_file_selinux_context): New functions. (Fcopy_file): New parameter preserve-selinux-context. (Frename_file): Preserve selinux context when renaming by copy-file. * lisp/files.el (backup-buffer): Handle SELinux context, and return it if a backup was made by renaming. (backup-buffer-copy): Set SELinux context to the target file. (basic-save-buffer): Set SELinux context of the newly written file. (basic-save-buffer-1): Now it also returns any SELinux context. (basic-save-buffer-2): Set SELinux context of the newly created file, and return it. * lisp/net/tramp.el (tramp-file-name-for-operation): Add file-selinux-context.
author Glenn Morris <rgm@gnu.org>
date Tue, 20 Apr 2010 20:02:58 -0700
parents bef5d1738c0b
children 641672d44942
line wrap: on
line diff
--- a/src/eval.c	Tue Apr 20 22:10:50 2010 -0400
+++ b/src/eval.c	Tue Apr 20 20:02:58 2010 -0700
@@ -2952,6 +2952,33 @@
 #endif /* not NO_ARG_ARRAY */
 }
 
+/* Call function fn with 7 arguments arg1, arg2, arg3, arg4, arg5, arg6, arg7 */
+/* ARGSUSED */
+Lisp_Object
+call7 (fn, arg1, arg2, arg3, arg4, arg5, arg6, arg7)
+     Lisp_Object fn, arg1, arg2, arg3, arg4, arg5, arg6, arg7;
+{
+  struct gcpro gcpro1;
+#ifdef NO_ARG_ARRAY
+  Lisp_Object args[8];
+  args[0] = fn;
+  args[1] = arg1;
+  args[2] = arg2;
+  args[3] = arg3;
+  args[4] = arg4;
+  args[5] = arg5;
+  args[6] = arg6;
+  args[7] = arg7;
+  GCPRO1 (args[0]);
+  gcpro1.nvars = 8;
+  RETURN_UNGCPRO (Ffuncall (8, args));
+#else /* not NO_ARG_ARRAY */
+  GCPRO1 (fn);
+  gcpro1.nvars = 8;
+  RETURN_UNGCPRO (Ffuncall (8, &fn));
+#endif /* not NO_ARG_ARRAY */
+}
+
 /* The caller should GCPRO all the elements of ARGS.  */
 
 DEFUN ("funcall", Ffuncall, Sfuncall, 1, MANY, 0,