bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#10729: 24.0.93; On MS-Windows: emacsclientw.exe -n -c does create a


From: martin rudalics
Subject: bug#10729: 24.0.93; On MS-Windows: emacsclientw.exe -n -c does create a new frame, but does not always display the requested file or the requested directory (24.0.92 does)
Date: Tue, 07 Feb 2012 15:32:33 +0100

> Or, assuming I'm now really awake, this one.

I'd rather use something like the untested patch below (still very fragile
because it neither verifies that a frame is a frame nor that a buffer is
a buffer).

martin


=== modified file 'lisp/server.el'
*** lisp/server.el      2012-02-02 07:48:39 +0000
--- lisp/server.el      2012-02-07 14:29:08 +0000
***************
*** 399,414 ****
      ;; visible.  If not (which can happen if the user's customizations call
      ;; pop-to-buffer etc.), delete it to avoid preserving the connection after
      ;; the last real frame is deleted.
!     (if (and (eq (frame-first-window frame)
!                  (next-window (frame-first-window frame) 'nomini))
!              (eq (window-buffer (frame-first-window frame))
!                  (frame-parameter frame 'server-dummy-buffer)))
!         ;; The temp frame still only shows one buffer, and that is the
!         ;; internal temp buffer.
!         (delete-frame frame)
!       (set-frame-parameter frame 'visibility t))
!     (kill-buffer (frame-parameter frame 'server-dummy-buffer))
!     (set-frame-parameter frame 'server-dummy-buffer nil)))

  (defun server-handle-delete-frame (frame)
    "Delete the client connection when the emacsclient frame is deleted.
--- 399,413 ----
      ;; visible.  If not (which can happen if the user's customizations call
      ;; pop-to-buffer etc.), delete it to avoid preserving the connection after
      ;; the last real frame is deleted.
!     (let ((buffer (frame-parameter frame 'server-dummy-buffer)))
!       (if (and (one-window-p 'nomini frame)
!              (eq (window-buffer (frame-first-window frame)) buffer))
!         ;; The temp frame still only shows one buffer, and that is the
!         ;; internal temp buffer.
!         (delete-frame frame)
!       (set-frame-parameter frame 'visibility t)
!       (set-frame-parameter frame 'server-dummy-buffer nil))
!       (kill-buffer buffer))))

  (defun server-handle-delete-frame (frame)
    "Delete the client connection when the emacsclient frame is deleted.






reply via email to

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