diff options
Diffstat (limited to 'lisp/server.el')
| -rw-r--r-- | lisp/server.el | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/lisp/server.el b/lisp/server.el index f2c1fc9ce2a..9721dbc4a41 100644 --- a/lisp/server.el +++ b/lisp/server.el | |||
| @@ -345,12 +345,15 @@ PROC is the server process. Format of STRING is \"PATH PATH PATH... \\n\"." | |||
| 345 | (if coding-system | 345 | (if coding-system |
| 346 | (setq arg (decode-coding-string arg coding-system))) | 346 | (setq arg (decode-coding-string arg coding-system))) |
| 347 | (if eval | 347 | (if eval |
| 348 | (let ((v (eval (car (read-from-string arg))))) | 348 | (condition-case err |
| 349 | (when v | 349 | (let ((v (eval (car (read-from-string arg))))) |
| 350 | (with-temp-buffer | 350 | (when v |
| 351 | (let ((standard-output (current-buffer))) | 351 | (with-temp-buffer |
| 352 | (pp v) | 352 | (let ((standard-output (current-buffer))) |
| 353 | (process-send-region proc (point-min) (point-max)))))) | 353 | (pp v) |
| 354 | (process-send-region proc (point-min) (point-max)))))) | ||
| 355 | (error (process-send-string proc (concat "*Error* " (error-message-string err))))) | ||
| 356 | |||
| 354 | ;; ARG is a file name. | 357 | ;; ARG is a file name. |
| 355 | ;; Collapse multiple slashes to single slashes. | 358 | ;; Collapse multiple slashes to single slashes. |
| 356 | (setq arg (command-line-normalize-file-name arg)) | 359 | (setq arg (command-line-normalize-file-name arg)) |