/[meta-cvs]/meta-cvs/F-9AB435A23565E6385CE7F4F347D7A205
ViewVC logotype

Diff of /meta-cvs/F-9AB435A23565E6385CE7F4F347D7A205

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.13 by kaz, Wed Apr 23 05:39:27 2003 UTC revision 1.14 by kaz, Thu Apr 24 04:14:41 2003 UTC
# Line 15  decide on what to do with a restartable Line 15  decide on what to do with a restartable
15  available, then this variable is ignored; the handler will print the error  available, then this variable is ignored; the handler will print the error
16  message and terminate the program.  If the error is restartable, then this  message and terminate the program.  If the error is restartable, then this
17  variable is examined. A value of :interactive indicates that a menu of options  variable is examined. A value of :interactive indicates that a menu of options
18  should be presented to a user, who can choose to bail the program, or invoke  should be presented to a user, who can choose to terminate the program,
19  one of the available restarts. A value of :continue means to emit a warning  or invoke one of the available restarts. A value of :continue means
20  message and then invoke the a continue restart if one is available. If restarts  to emit a warning message and then invoke the a continue restart if
21  are available, but not ones that can be automatically selected by the handler,  one is available. If restarts are available, but not ones that can
22  then it will terminate the program. A value of :terminate means to terminate  be automatically selected by the handler, then it will terminate the
23  on error, restartable or not. A value of :decline means to return normally  program. A value of :terminate means to terminate on error, restartable
24  handling the error.")  or not. A value of :decline means to return normally handling the error.")
25    
26  (defvar *mcvs-errors-occured-p* nil)  (defvar *mcvs-errors-occured-p* nil)
27    
# Line 36  handling the error.") Line 36  handling the error.")
36      (setf *mcvs-errors-occured-p* t)      (setf *mcvs-errors-occured-p* t)
37      (find-bind (:key #'restart-name)      (find-bind (:key #'restart-name)
38                 (others (continue 'continue)                 (others (continue 'continue)
                        (bail 'bail)  
39                         (info 'info)                         (info 'info)
40                         (retry 'retry))                         (retry 'retry))
41                 (compute-restarts)                 (compute-restarts)
42        (ecase *mcvs-error-treatment*        (ecase *mcvs-error-treatment*
43          ((:interactive)          ((:interactive)
44             (unless *interactive-error-io*             (unless *interactive-error-io*
              (when bail  
                (invoke-restart bail))  
45               (return-from mcvs-error-handler nil))               (return-from mcvs-error-handler nil))
46             (when (null (compute-restarts))             (when (null (compute-restarts))
47               (mcvs-terminate condition))               (mcvs-terminate condition))
# Line 70  handling the error.") Line 67  handling the error.")
67                                                        :continue)                                                        :continue)
68                                                  (invoke-restart continue)))                                                  (invoke-restart continue)))
69                                    command-list))                                    command-list))
                           (when bail  
                             (format stream "    B) (Bail) ~a~%" bail)  
                             (push (list "B" #'(lambda ()  
                                                 (invoke-restart bail)))  
                                   command-list))  
70                            (when retry                            (when retry
71                              (format stream "    R) (Retry) ~a~%" retry)                              (format stream "    R) (Retry) ~a~%" retry)
72                              (push (list "R" #'(lambda ()                              (push (list "R" #'(lambda ()
73                                                  (invoke-restart retry)))                                                  (invoke-restart retry)))
74                                    command-list))                                    command-list))
75                            (format stream "    T) Terminate.~%")                            (format stream "    T) Recover, clean-up and terminate.~%")
76                            (push (list "T" #'(lambda ()                            (push (list "T" #'(lambda ()
77                                                (throw 'mcvs-terminate t)))                                                (throw 'mcvs-terminate t)))
78                                  command-list)                                  command-list)
# Line 114  handling the error.") Line 106  handling the error.")
106               (chatter-terse "    ~a~%" condition)               (chatter-terse "    ~a~%" condition)
107               (invoke-restart continue))               (invoke-restart continue))
108             (mcvs-terminate condition))             (mcvs-terminate condition))
         ((:bail)  
            (format *error-output* "mcvs: ~a~%" condition)  
            (when bail  
              (invoke-restart bail))  
            (throw 'mcvs-terminate t))  
109          ((:terminate)          ((:terminate)
110             (mcvs-terminate condition))             (mcvs-terminate condition))
111          ((:decline)          ((:decline)

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.14

  ViewVC Help
Powered by ViewVC 1.1.5