summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog11
-rw-r--r--src/emacs.c12
-rw-r--r--src/lisp.h3
-rw-r--r--src/w32reg.c6
-rw-r--r--src/xrdb.c4
5 files changed, 30 insertions, 6 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index d7d69efac12..a431e5b94f0 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,14 @@
+2009-09-17 Juanma Barranquero <lekktu@gmail.com>
+
+ * emacs.c (inhibit_x_resources): New variable.
+ (main) [HAVE_NS]: Don't process --quick command line option.
+ (syms_of_emacs) <inhibit-x-resources>: DEFVAR_BOOL it.
+
+ * lisp.h (inhibit_x_resources): Declare it extern.
+
+ * w32reg.c (x_get_string_resource):
+ * xrdb.c (x_get_string_resource): Obey inhibit_x_resources.
+
2009-09-17 Eli Zaretskii <eliz@gnu.org>
* Makefile.in (MSDOS_SUPPORT, SOME_MACHINE_LISP): Add
diff --git a/src/emacs.c b/src/emacs.c
index 2c14be5208e..9538e3cf059 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -239,6 +239,9 @@ int noninteractive;
int noninteractive1;
+/* Nonzero means Emacs was run in --quick mode. */
+int inhibit_x_resources;
+
/* Name for the server started by the daemon.*/
static char *daemon_name;
@@ -1483,11 +1486,6 @@ main (int argc, char **argv)
ns_no_defaults = 1;
skip_args--;
}
- if (argmatch (argv, argc, "-Q", "--quick", 5, NULL, &skip_args))
- {
- ns_no_defaults = 1;
- skip_args--;
- }
#ifdef NS_IMPL_COCOA
if (skip_args < argc)
{
@@ -2680,6 +2678,10 @@ was found. */);
This is nil during initialization. */);
Vafter_init_time = Qnil;
+ DEFVAR_BOOL ("inhibit-x-resources", &inhibit_x_resources,
+ doc: /* If non-nil, X resources and Windows Registry settings are not used. */);
+ inhibit_x_resources = 0;
+
/* Make sure IS_DAEMON starts up as false. */
daemon_pipe[1] = 0;
}
diff --git a/src/lisp.h b/src/lisp.h
index 820c2585976..f837708fea5 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -3143,6 +3143,9 @@ void shut_down_emacs P_ ((int, int, Lisp_Object));
/* Nonzero means don't do interactive redisplay and don't change tty modes */
extern int noninteractive;
+/* Nonzero means don't load X resources or Windows Registry settings. */
+extern int inhibit_x_resources;
+
/* Pipe used to send exit notification to the daemon parent at
startup. */
extern int daemon_pipe[2];
diff --git a/src/w32reg.c b/src/w32reg.c
index d2330e77a1a..2b5b352c583 100644
--- a/src/w32reg.c
+++ b/src/w32reg.c
@@ -76,7 +76,7 @@ w32_get_rdb_resource (rdb, resource)
return NULL;
}
-LPBYTE
+static LPBYTE
w32_get_string_resource (name, class, dwexptype)
char *name, *class;
DWORD dwexptype;
@@ -160,6 +160,10 @@ x_get_string_resource (rdb, name, class)
return resource;
}
+ if (inhibit_x_resources)
+ /* --quick was passed, so this is a no-op. */
+ return NULL;
+
return (w32_get_string_resource (name, class, REG_SZ));
}
diff --git a/src/xrdb.c b/src/xrdb.c
index 0a74c089f75..fac97e4350f 100644
--- a/src/xrdb.c
+++ b/src/xrdb.c
@@ -693,6 +693,10 @@ x_get_string_resource (rdb, name, class)
{
XrmValue value;
+ if (inhibit_x_resources)
+ /* --quick was passed, so this is a no-op. */
+ return NULL;
+
if (x_get_resource (rdb, name, class, x_rm_string, &value))
return (char *) value.addr;