From: Richard M. Stallman Date: Wed, 28 Jun 1995 10:02:03 +0000 (+0000) Subject: (server-process-filter): Detect error messages from server. X-Git-Tag: emacs-19.34~3448 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=7e721a4fba8eeb722904cf71e42cf8f3f56ac878;p=emacs.git (server-process-filter): Detect error messages from server. --- diff --git a/lisp/server.el b/lisp/server.el index aa870b0e7b1..cba3629b85f 100644 --- a/lisp/server.el +++ b/lisp/server.el @@ -180,27 +180,29 @@ Prefix arg means just kill any existing server communications subprocess." (lineno 1)) ;; Remove this line from STRING. (setq string (substring string (match-end 0))) - (if (string-match "^Client: " request) - (setq request (substring request (match-end 0)))) - (setq client (list (substring request 0 (string-match " " request)))) - (setq request (substring request (match-end 0))) - (while (string-match "[^ ]+ " request) - (let ((arg - (substring request (match-beginning 0) (1- (match-end 0))))) - (setq request (substring request (match-end 0))) - (if (string-match "\\`\\+[0-9]+\\'" arg) - (setq lineno (read (substring arg 1))) - (setq files - (cons (list arg lineno) - files)) - (setq lineno 1)))) - (server-visit-files files client) - ;; CLIENT is now a list (CLIENTNUM BUFFERS...) - (setq server-clients (cons client server-clients)) - (server-switch-buffer (nth 1 client)) - (run-hooks 'server-switch-hook) - (message (substitute-command-keys - "When done with a buffer, type \\[server-edit].")))) + (if (string-match "^Error: " request) + (message (concat "Server error: " (substring request (match-end 0)))) + (if (string-match "^Client: " request) + (setq request (substring request (match-end 0)))) + (setq client (list (substring request 0 (string-match " " request)))) + (setq request (substring request (match-end 0))) + (while (string-match "[^ ]+ " request) + (let ((arg + (substring request (match-beginning 0) (1- (match-end 0))))) + (setq request (substring request (match-end 0))) + (if (string-match "\\`\\+[0-9]+\\'" arg) + (setq lineno (read (substring arg 1))) + (setq files + (cons (list arg lineno) + files)) + (setq lineno 1)))) + (server-visit-files files client) + ;; CLIENT is now a list (CLIENTNUM BUFFERS...) + (setq server-clients (cons client server-clients)) + (server-switch-buffer (nth 1 client)) + (run-hooks 'server-switch-hook) + (message (substitute-command-keys + "When done with a buffer, type \\[server-edit]"))))) ;; Save for later any partial line that remains. (setq server-previous-string string))