Subject: Re: bug#18598: 25.0.50; Rev. 118002 breaks starting emacs as daemon

From: Stefan Monnier <[email-masked]>
Date: Thu, 02 Oct 2014 09:26:36 -0400

> from rev. 118002 emacs refuses to start with `--daemon' option though it
> works without noticeable changes when started as simple `emacs'. Running
> `emacs --daemon' in terminal gives

Indeed, sorry.  I installed the patch below which seems to fix it.

        Stefan

=== modified file 'lisp/ChangeLog'
--- lisp/ChangeLog	2014-10-02 03:19:32 +0000
+++ lisp/ChangeLog	2014-10-02 13:24:13 +0000
@@ -1,5 +1,9 @@
 2014-10-02  Stefan Monnier  <[email-masked]>
 
+	* frame.el: Use lexical-binding.
+	(make-frame): Use t rather than nil for tty's window-system.
+	* startup.el (command-line): Use gui-method.
+
 	Consolidate management/ownership of selections.
 	* select.el (gui-get-selection-alist): New method.
 	(gui-get-selection): Use it.  Rename from x-get-selection.

=== modified file 'lisp/frame.el'
--- lisp/frame.el	2014-10-01 22:13:11 +0000
+++ lisp/frame.el	2014-10-02 13:18:18 +0000
@@ -1,4 +1,4 @@
-;;; frame.el --- multi-frame management independent of window systems
+;;; frame.el --- multi-frame management independent of window systems  -*- lexical-binding:t -*-
 
 ;; Copyright (C) 1993-1994, 1996-1997, 2000-2014 Free Software Foundation, Inc.
 
@@ -680,7 +680,7 @@
     ;; Now make the frame.
     (run-hooks 'before-make-frame-hook)
     (setq frame
-          (funcall (gui-method frame-creation-function w) params))
+          (funcall (gui-method frame-creation-function (or w t)) params))
     (normal-erase-is-backspace-setup-frame frame)
     ;; Inherit the original frame's parameters.
     (dolist (param frame-inherited-parameters)

=== modified file 'lisp/startup.el'
--- lisp/startup.el	2014-10-01 22:13:11 +0000
+++ lisp/startup.el	2014-10-02 13:02:22 +0000
@@ -954,8 +954,7 @@
 	     command-line-args))
       ;; Initialize the window system. (Open connection, etc.)
       (funcall
-       (or (cdr (assq initial-window-system window-system-initialization-alist))
-	   (error "Unsupported window system `%s'" initial-window-system)))
+       (gui-method window-system-initialization (or initial-window-system t)))
       (put initial-window-system 'window-system-initialized t))
     ;; If there was an error, print the error message and exit.
     (error