emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Not loading the Registry settings


From: Juanma Barranquero
Subject: Re: Not loading the Registry settings
Date: Mon, 14 Sep 2009 15:48:30 +0200

On Mon, Sep 14, 2009 at 15:29, Stefan Monnier <address@hidden> wrote:

> Interesting approach.

It's simple.

In my patch, "emacs -Q -xrm resource" won't obey -xrm either, but it
is trivially easy to change it to allow that, if desired (it's just
moving the "if() ... return" down a few lines in
w32reg:x_get_resource_string).

> I think that's OK, but the double-parsing of -Q is not
> very satisfactory.  I'd rather see a new variable Vinhibit_x_resources
> instead, which the Lisp code could set to non-nil when it parses
> the -Q argument.

I had in fact done that before (though I reused instead the currently
undocumented emacs-quick-startup variable that startup.el uses now).
But I didn't want to mess with the processing of -Q/--quick in the
HAVE_NS block immediately following:

#ifdef HAVE_NS
  ns_alloc_autorelease_pool();
  if (!noninteractive)
    {
      char *tmp;
      display_arg = 4;
      if (argmatch (argv, argc, "-q", "--no-init-file", 6, NULL, &skip_args))
        {
          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)
        {
          if (!strncmp(argv[skip_args], "-psn", 4))
            {
              skip_args += 1;
              chdir (getenv ("HOME"));
            }
          else if (skip_args+1 < argc && !strncmp(argv[skip_args+1], "-psn", 4))
            {
              skip_args += 2;
              chdir (getenv ("HOME"));
            }
        }
#endif
      /* This used for remote operation.. not fully implemented yet. */
      if (argmatch (argv, argc, "-_NSMachLaunch", 0, 3, &tmp, &skip_args))
          display_arg = 4;
      else if (argmatch (argv, argc, "-MachLaunch", 0, 3, &tmp, &skip_args))
          display_arg = 4;
      else if (argmatch (argv, argc, "-macosx", 0, 2, NULL, &skip_args))
          display_arg = 4;
      else if (argmatch (argv, argc, "-NSHost", 0, 3, &tmp, &skip_args))
          display_arg = 4;
    }
#endif /* HAVE_NS */

I think intermixing this with the new processing of -Q/--quick will
lead to uglier code...

    Juanma




reply via email to

[Prev in Thread] Current Thread [Next in Thread]