Changeset 12208


Ignore:
Timestamp:
Jun 6, 2009, 5:38:46 PM (10 years ago)
Author:
gz
Message:

r11594/r11963/r12119 from trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/working-0711/ccl/level-1/l1-readloop-lds.lisp

    r12091 r12208  
    290290(defparameter *quit-on-eof* nil)
    291291
     292(defparameter *consecutive-eof-limit* 2 "max number of consecutive EOFs at a given break level, before we give up and abruptly exit.")
     293
    292294(defmethod stream-eof-transient-p (stream)
    293295  (let ((fd (stream-device stream :input)))
     
    309311         *** ** * +++ ++ + /// // / -
    310312         (eof-value (cons nil nil))
     313         (eof-count 0)
    311314         (*show-available-restarts* (and *show-restarts-on-break* *break-condition*)))
    312315    (declare (dynamic-extent eof-value))
     
    325328                                 :eof-value eof-value)
    326329                (if (eq form eof-value)
    327                   (if (and (not *batch-flag*)
    328                            (not *quit-on-eof*)
    329                            (stream-eof-transient-p input-stream))
    330                     (progn
    331                       (stream-clear-input input-stream)
    332                       (abort-break))
    333                     (exit-interactive-process *current-process*))
     330                  (progn
     331                    (when (> (incf eof-count) *consecutive-eof-limit*)
     332                      (#_ _exit 0))
     333                    (if (and (not *batch-flag*)
     334                             (not *quit-on-eof*)
     335                             (stream-eof-transient-p input-stream))
     336                      (progn
     337                        (stream-clear-input input-stream)
     338                        (abort-break))
     339                      (exit-interactive-process *current-process*)))
     340                  (progn
     341                    (setq eof-count 0)
    334342                    (or (check-toplevel-command form)
    335343                        (let* ((values (toplevel-eval form env)))
    336                           (if print-result (toplevel-print values))))))))
     344                          (if print-result (toplevel-print values)))))))))
    337345           (format *terminal-io* "~&Cancelled")))
    338346       (abort () :report (lambda (stream)
     
    634642         (*read-suppress* nil)
    635643         (*print-readably* nil)
     644         (*default-integer-command* `(:c 0 ,(1- (length (compute-restarts condition)))))
    636645         (context (new-backtrace-info nil
    637646                                      frame-pointer
     
    658667                                        ;(*print-pretty* nil)
    659668                 (*print-array* nil))
    660             (format t "~&> Type :GO to continue, :POP to abort, :R for a list of available restarts.")
     669            (format t (or (application-ui-operation *application* :break-options-string t)
     670                          "~&> Type :GO to continue, :POP to abort, :R for a list of available restarts."))
    661671            (format t "~&> If continued: ~A~%" continue))
    662           (format t "~&> Type :POP to abort, :R for a list of available restarts.~%"))
     672          (format t (or (application-ui-operation *application* :break-options-string nil)
     673                        "~&> Type :POP to abort, :R for a list of available restarts.~%")))
    663674        (format t "~&> Type :? for other options.")
    664675        (terpri)
     
    668679        (setq *error-reentry-count* 0)  ; succesfully reported error
    669680        (ignoring-without-interrupts
    670          (unwind-protect
    671               (progn
    672                 (application-ui-operation *application*
    673                                           :enter-backtrace-context context)
    674                 (read-loop :break-level (1+ *break-level*)
    675                            :input-stream *debug-io*
    676                            :output-stream *debug-io*))
    677            (application-ui-operation *application* :exit-backtrace-context
    678                                      context)))))))
     681          (unwind-protect
     682               (progn
     683                 (application-ui-operation *application*
     684                                           :enter-backtrace-context context)
     685                 (read-loop :break-level (1+ *break-level*)
     686                            :input-stream *debug-io*
     687                            :output-stream *debug-io*))
     688            (application-ui-operation *application* :exit-backtrace-context
     689                                      context)))))))
    679690
    680691
Note: See TracChangeset for help on using the changeset viewer.