260 |
"Return non-nil if STRING is all whitespace." |
"Return non-nil if STRING is all whitespace." |
261 |
(or (string= string "") (string-match "\\`[ \t\n]+\\'" string))) |
(or (string= string "") (string-match "\\`[ \t\n]+\\'" string))) |
262 |
|
|
|
(defun ielm-format-errors (errlist) |
|
|
(let ((result "")) |
|
|
(while errlist |
|
|
(setq result (concat result (prin1-to-string (car errlist)) ", ")) |
|
|
(setq errlist (cdr errlist))) |
|
|
(substring result 0 -2))) |
|
|
|
|
|
|
|
|
(defun ielm-format-error (err) |
|
|
;; Return a string form of the error ERR. |
|
|
(format "%s%s" |
|
|
(or (get (car err) 'error-message) "Peculiar error") |
|
|
(if (cdr err) |
|
|
(format ": %s" (ielm-format-errors (cdr err))) |
|
|
""))) |
|
|
|
|
263 |
;;; Evaluation |
;;; Evaluation |
264 |
|
|
265 |
(defun ielm-eval-input (ielm-string) |
(defun ielm-eval-input (ielm-string) |
290 |
(setq rout (read-from-string ielm-string)) |
(setq rout (read-from-string ielm-string)) |
291 |
(setq ielm-form (car rout)) |
(setq ielm-form (car rout)) |
292 |
(setq ielm-pos (cdr rout))) |
(setq ielm-pos (cdr rout))) |
293 |
(error (setq ielm-result (ielm-format-error err)) |
(error (setq ielm-result (error-message-string err)) |
294 |
(setq ielm-error-type "Read error"))) |
(setq ielm-error-type "Read error"))) |
295 |
(if ielm-error-type nil |
(if ielm-error-type nil |
296 |
;; Make sure working buffer has not been killed |
;; Make sure working buffer has not been killed |
319 |
;; in let. Don't want to use save-excursion |
;; in let. Don't want to use save-excursion |
320 |
;; because we want to allow changes in point. |
;; because we want to allow changes in point. |
321 |
(set-buffer ielm-obuf)) |
(set-buffer ielm-obuf)) |
322 |
(error (setq ielm-result (ielm-format-error err)) |
(error (setq ielm-result (error-message-string err)) |
323 |
(setq ielm-error-type "Eval error")) |
(setq ielm-error-type "Eval error")) |
324 |
(quit (setq ielm-result "Quit during evaluation") |
(quit (setq ielm-result "Quit during evaluation") |
325 |
(setq ielm-error-type "Eval error")))) |
(setq ielm-error-type "Eval error")))) |