Subject: Daemon-mode on Windows - "w32-initialized" is set too early

From: Paul Moore <[email-masked]>
Date: Fri, 3 Jun 2016 11:33:00 +0100

When Emacs starts in daemon mode on Windows, "w32-initialized" is set
to "t" right at the start - before the window system is initialized.
Specifically, before (find-font) will work correctly.

To demonstrate, start Emacs in daemon mode, with a .emacs.d/init.el
containing a statement at the top to display the value of
"w32-initialized". The value "t" is shown.

In GNU Emacs 25.0.93.1 (x86_64-w64-mingw32)
 of 2016-04-23 built on KAEL
Windowing system distributor 'Microsoft Corp.', version 6.1.7601
Configured using:
 'configure --prefix=/tmp/emacs --without-imagemagick 'CFLAGS=-O2
 -fomit-frame-pointer -g0''

Configured features:
XPM JPEG TIFF GIF PNG RSVG SOUND DBUS NOTIFY ACL GNUTLS LIBXML2 ZLIB
TOOLKIT_SCROLL_BARS

Important settings:
  value of $LANG: ENG
  locale-coding-system: cp1252

Major mode: Emacs-Lisp

Minor modes in effect:
  auto-compile-mode: t
  elisp-slime-nav-mode: t
  goto-address-prog-mode: t
  bug-reference-prog-mode: t
  auto-highlight-symbol-mode: t
  clean-aindent-mode: t
  highlight-numbers-mode: t
  highlight-parentheses-mode: t
  rainbow-delimiters-mode: t
  helm-descbinds-mode: t
  helm-mode: t
  shell-dirtrack-mode: t
  helm-flx-mode: t
  projectile-global-mode: t
  projectile-mode: t
  recentf-mode: t
  hl-todo-mode: t
  winner-mode: t
  window-numbering-mode: t
  volatile-highlights-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  spaceline-info-mode: t
  spaceline-helm-mode: t
  smooth-scrolling-mode: t
  save-place-mode: t
  savehist-mode: t
  popwin-mode: t
  persp-mode: t
  global-page-break-lines-mode: t
  page-break-lines-mode: t
  Info-breadcrumbs-in-mode-line-mode: t
  ido-vertical-mode: t
  flx-ido-mode: t
  global-evil-surround-mode: t
  evil-surround-mode: t
  global-evil-search-highlight-persist: t
  evil-search-highlight-persist: t
  show-smartparens-global-mode: t
  show-smartparens-mode: t
  smartparens-mode: t
  evil-escape-mode: t
  global-anzu-mode: t
  anzu-mode: t
  eval-sexp-fu-flash-mode: t
  spacemacs-leader-override-mode: t
  global-spacemacs-leader-override-mode: t
  global-hl-line-mode: t
  xterm-mouse-mode: t
  global-auto-revert-mode: t
  which-key-mode: t
  override-global-mode: t
  evil-mode: t
  evil-local-mode: t
  diff-auto-refine-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  hs-minor-mode: t

Recent messages:
SPC ESC is undefined
Type y, n, ! or SPC (the space bar):
SPC n ESC is undefined
mode-line-point-position enabled.
mode-line-point-position disabled.
Quit
mode-line-point-position enabled.
Quit
mode-line-point-position disabled.
Type M-x delete-other-windows to remove help window.
mwheel-scroll: End of buffer

Load-path shadows:
c:/Users/UK03306/.emacs.d/elpa/helm-20160530.424/helm-multi-match
hides c:/Users/UK03306/.emacs.d/elpa/helm-core-20160530.52/helm-multi-match

Features:
(shadow sort mail-extr emacsbug message rfc822 mml mml-sec epg
mailabbrev gmm-utils mailheader sendmail mail-utils novice helm-command
helm-elisp helm-eval edebug apropos auto-compile packed elisp-slime-nav
goto-addr bug-reference auto-highlight-symbol clean-aindent-mode
highlight-numbers parent-mode highlight-parentheses hideshow
rainbow-delimiters org-element org-rmail org-mhe org-irc org-info
org-gnus org-docview doc-view jka-compr image-mode org-bibtex bibtex
org-bbdb org-w3m org org-macro org-footnote org-pcomplete org-list
org-faces org-entities noutline outline org-version ob-emacs-lisp ob
ob-tangle ob-ref ob-lob ob-table ob-exp org-src ob-keys ob-comint
ob-core ob-eval org-compat org-macs org-loaddefs find-func cal-menu
calendar cal-loaddefs two-column iso-transl helm-descbinds helm-mode
helm-files image-dired tramp tramp-compat tramp-loaddefs trampver shell
pcomplete format-spec dired-x dired-aux ffap helm-buffers helm-elscreen
helm-tags helm-bookmark helm-adaptive helm-info bookmark helm-locate
helm-grep helm-regexp helm-plugin helm-external helm-net browse-url xml
url url-proxy url-privacy url-expand url-methods url-history url-cookie
url-domsuf url-util mailcap helm-utils helm-help helm-types helm-flx
helm helm-source eieio-compat helm-multi-match helm-lib dired projectile
grep compile ibuf-ext ibuffer recentf tree-widget async hl-todo server
winner window-numbering etags xref project volatile-highlights undo-tree
diff spaceline-config spaceline-segments s ucs-normalize spaceline
powerline powerline-separators color powerline-themes smooth-scrolling
smartparens-config saveplace savehist popwin persp-mode page-break-lines
info+ ido-vertical-mode flx-ido flx ido exec-path-from-shell
evil-surround evil-search-highlight-persist evil-numbers evil-lisp-state
smartparens dash evil-indent-plus evil-exchange evil-escape evil-args
evil-anzu anzu info eval-sexp-fu rx highlight diminish adaptive-wrap
hybrid-mode evil-evilified-state ielm pp comint ansi-color hl-line
xt-mouse autorevert filenotify quelpa url-parse auth-source gnus-util
password-cache url-vars package-build mm-decode mm-bodies mm-encode
mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mm-util help-fns
mail-prsvr json map lisp-mnt use-package which-key bind-key bind-map
evil evil-integration evil-maps evil-commands evil-jumps
evil-command-window evil-types evil-search evil-ex evil-macros
evil-repeat evil-states evil-core evil-common windmove thingatpt rect
evil-digraphs evil-vars ring vc-git diff-mode time-date wid-edit
spacemacs-dark-theme spacemacs-common finder-inf
core-configuration-layer cl-seq ht cl warnings package epg-config seq
eieio byte-opt bytecomp byte-compile cl-extra help-mode cconv eieio-core
core-spacemacs core-use-package-ext core-micro-state corelv core-toggle
core-keybindings core-fonts-support core-spacemacs-buffer derived
edmacro kmacro core-funcs easy-mmode cl-macs gv core-themes-support
core-display-init core-auto-completion core-release-management
core-emacs-backports core-dotspacemacs core-command-line core-debug
advice profiler easymenu cl-loaddefs cl-lib subr-x pcase mule-util
tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type
mwheel dos-w32 ls-lisp disp-table w32-win w32-vars term/common-win
tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment
elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
frame cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan
thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian
slovak czech european ethiopic indian cyrillic chinese charscript
case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer
cl-preloaded nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote w32notify dbusbind w32
multi-tty make-network-process emacs)

Memory information:
((conses 16 638422 642621)
 (symbols 56 52659 47)
 (miscs 48 502 1408)
 (strings 32 115680 289769)
 (string-bytes 1 3503362)
 (vectors 16 76740)
 (vector-slots 8 1327928 388588)
 (floats 8 2128 6063)
 (intervals 56 1943 2017)
 (buffers 976 21))