projects
/
chise
/
xemacs-chise.git-
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
(M-44029): Map to U-00020A78; add `->same-ideograph' for M-02979.
[chise/xemacs-chise.git-]
/
lisp
/
gnuserv.el
diff --git
a/lisp/gnuserv.el
b/lisp/gnuserv.el
index
b670e8d
..
01128a9
100644
(file)
--- a/
lisp/gnuserv.el
+++ b/
lisp/gnuserv.el
@@
-1,11
+1,11
@@
;;; gnuserv.el --- Lisp interface code between Emacs and gnuserv
;; Copyright (C) 1989-1997 Free Software Foundation, Inc.
;;; gnuserv.el --- Lisp interface code between Emacs and gnuserv
;; Copyright (C) 1989-1997 Free Software Foundation, Inc.
-;; Version: 3.11
+;; Version: 3.12
;; Author: Andy Norman (ange@hplb.hpl.hp.com), originally based on server.el
;; Author: Andy Norman (ange@hplb.hpl.hp.com), originally based on server.el
-;; Hrvoje Niksic <hniksic@srce.hr>
+;; Hrvoje Niksic <hniksic@xemacs.org>
;; Maintainer: Jan Vroonhof <vroonhof@math.ethz.ch>,
;; Maintainer: Jan Vroonhof <vroonhof@math.ethz.ch>,
-;; Hrvoje Niksic <hniksic@srce.hr>
+;; Hrvoje Niksic <hniksic@xemacs.org>
;; Keywords: environment, processes, terminals
;; This file is part of XEmacs.
;; Keywords: environment, processes, terminals
;; This file is part of XEmacs.
@@
-73,7
+73,7
@@
;; Jan Vroonhof
;; Customized.
;;
;; Jan Vroonhof
;; Customized.
;;
-;; Hrvoje Niksic <hniksic@srce.hr> May/1997
+;; Hrvoje Niksic <hniksic@xemacs.org> May/1997
;; Completely rewritten. Now uses `defstruct' and other CL stuff
;; to define clients cleanly. Many thanks to Dave Gillespie!
;;
;; Completely rewritten. Now uses `defstruct' and other CL stuff
;; to define clients cleanly. Many thanks to Dave Gillespie!
;;
@@
-337,8
+337,8
@@
visual screen. Totally visible frames are preferred. If none found, return nil
"Process gnuserv client requests to execute Emacs commands."
(setq gnuserv-string (concat gnuserv-string string))
;; C-d means end of request.
"Process gnuserv client requests to execute Emacs commands."
(setq gnuserv-string (concat gnuserv-string string))
;; C-d means end of request.
- (when (string-match "\C-d\\'" gnuserv-string)
- (cond ((string-match "^[0-9]+" gnuserv-string) ; client request id
+ (when (string-match "\C-d\n?\\'" gnuserv-string)
+ (cond ((string-match "\\`[0-9]+" gnuserv-string) ; client request id
(let ((header (read-from-string gnuserv-string)))
;; Set the client we are talking to.
(setq gnuserv-current-client (car header))
(let ((header (read-from-string gnuserv-string)))
;; Set the client we are talking to.
(setq gnuserv-current-client (car header))
@@
-348,17
+348,20
@@
visual screen. Totally visible frames are preferred. If none found, return nil
;; In case of an error, write the description to the
;; client, and then signal it.
(error (setq gnuserv-string "")
;; In case of an error, write the description to the
;; client, and then signal it.
(error (setq gnuserv-string "")
- (gnuserv-write-to-client gnuserv-current-client oops)
+ (when gnuserv-current-client
+ (gnuserv-write-to-client gnuserv-current-client oops))
(setq gnuserv-current-client nil)
(signal (car oops) (cdr oops)))
(quit (setq gnuserv-string "")
(setq gnuserv-current-client nil)
(signal (car oops) (cdr oops)))
(quit (setq gnuserv-string "")
- (gnuserv-write-to-client gnuserv-current-client oops)
+ (when gnuserv-current-client
+ (gnuserv-write-to-client gnuserv-current-client oops))
(setq gnuserv-current-client nil)
(signal 'quit nil)))
(setq gnuserv-string "")))
(t
(setq gnuserv-current-client nil)
(signal 'quit nil)))
(setq gnuserv-string "")))
(t
- (error "%s: invalid response from gnuserv" gnuserv-string)
- (setq gnuserv-string "")))))
+ (let ((response (car (split-string gnuserv-string "\C-d"))))
+ (setq gnuserv-string "")
+ (error "%s: invalid response from gnuserv" response))))))
;; This function is somewhat of a misnomer. Actually, we write to the
;; server (using `process-send-string' to gnuserv-process), which
;; This function is somewhat of a misnomer. Actually, we write to the
;; server (using `process-send-string' to gnuserv-process), which
@@
-440,6
+443,7
@@
If a flag is `view', view the files read-only."
(client (make-gnuclient :id gnuserv-current-client
:device device
:frame new-frame)))
(client (make-gnuclient :id gnuserv-current-client
:device device
:frame new-frame)))
+ (select-frame frame)
(setq gnuserv-current-client nil)
;; If the device was created by this client, push it to the list.
(and (/= old-device-num (length (device-list)))
(setq gnuserv-current-client nil)
;; If the device was created by this client, push it to the list.
(and (/= old-device-num (length (device-list)))