Changeset 8465
- Timestamp:
- Feb 11, 2008, 8:07:20 AM (17 years ago)
- Location:
- branches/gz-working
- Files:
-
- 1 deleted
- 10 edited
- 2 copied
-
compiler/X86/x862.lisp (modified) (3 diffs)
-
compiler/nx-basic.lisp (modified) (1 diff)
-
examples/cocoa/currency-converter/CurrencyConverter.xib (deleted)
-
examples/cocoa/currency-converter/HOWTO.html (modified) (4 diffs)
-
examples/cocoa/currency-converter/HOWTO_files/pages/build_app.html (modified) (2 diffs)
-
examples/cocoa/currency-converter/HOWTO_files/pages/building_ui.html (modified) (11 diffs)
-
examples/cocoa/currency-converter/HOWTO_files/pages/building_ui_tiger.html (modified) (12 diffs)
-
examples/cocoa/currency-converter/HOWTO_files/pages/conclusion.html (modified) (3 diffs)
-
examples/cocoa/currency-converter/HOWTO_files/pages/writing_lisp.html (modified) (8 diffs)
-
examples/cocoa/interface-databases (copied) (copied from trunk/source/examples/cocoa/interface-databases )
-
examples/cocoa/nib-loading (copied) (copied from trunk/source/examples/cocoa/nib-loading )
-
lib/backtrace.lisp (modified) (1 diff)
-
lisp-kernel/x86-exceptions.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/gz-working/compiler/X86/x862.lisp
r8438 r8465 4958 4958 (cstack *x862-cstack*) 4959 4959 (vstack *x862-vstack*) 4960 (target-cstack)4961 4960 (target-vstack) 4962 4961 (lastcatch n) 4963 (i nil)4964 4962 (returning (eq xfer $backend-return)) 4965 4963 (junk1 nil) … … 4991 4989 (setq numnthrow 0) 4992 4990 (multiple-value-setq (junk1 cstack vstack) 4993 (x862-decode-stack (aref *x862-undo-stack* lastcatch)))))) 4991 (x862-decode-stack (aref *x862-undo-stack* lastcatch))))) 4992 (find-last-catch () 4993 (do* ((n n) 4994 (reasons *x862-undo-because*)) 4995 ((= n dest)) 4996 (declare (fixnum n)) 4997 (when (eql $undocatch (aref reasons (decf n))) 4998 (incf numnthrow) 4999 (setq lastcatch n))))) 5000 5001 (find-last-catch) 5002 (throw-through-numnthrow-catch-frames) 5003 (setq n lastcatch) 4994 5004 (while (%i> n dest) 4995 (cond ((eql $undocatch (setq reason (aref *x862-undo-because* (setq n (%i- n 1))))) 4996 (pop-temp-frames) 4997 (pop-c-frames) 4998 (setq numnthrow (%i+ numnthrow 1) lastcatch n)) 4999 ((eql $undostkblk reason) 5000 (throw-through-numnthrow-catch-frames) 5005 (setq reason (aref *x862-undo-because* (setq n (%i- n 1)))) 5006 (cond ((eql $undostkblk reason) 5001 5007 (incf num-temp-frames)) 5002 5008 ((eql $undo-x86-c-frame reason) 5003 (throw-through-numnthrow-catch-frames) 5004 (incf num-c-frames)))) 5005 (throw-through-numnthrow-catch-frames) 5006 (setq i lastcatch) 5007 (while (%i> i dest) 5008 (let ((reason (aref *x862-undo-because* (setq i (%i- i 1))))) 5009 (if (or (eql reason $undospecial) 5009 (incf num-c-frames)) 5010 ((or (eql reason $undospecial) 5010 5011 (eql reason $undointerruptlevel)) 5011 5012 (push reason unbind)))) … … 5027 5028 (! slide-values)) 5028 5029 (! adjust-vsp vdiff))))) 5029 (setq num-temp-frames 0 num-c-frames 0)5030 (while (%i> lastcatch dest)5031 (let ((reason (aref *x862-undo-because* (setq lastcatch (%i- lastcatch 1)))))5032 (setq target-cstack (nth-value 15033 (x862-decode-stack (aref *x862-undo-stack* lastcatch))))5034 (if (eq reason $undostkblk)5035 (incf num-temp-frames))5036 (if (eq reason $undo-x86-c-frame)5037 (incf num-c-frames))5038 (if (%i> cstack target-cstack)5039 (compiler-bug "bug: adjust foreign stack ??"))5040 ;; else what's going on? $sp-stkcons, for one thing5041 (setq cstack target-cstack)))5042 5030 (pop-temp-frames) 5043 5031 (pop-c-frames))) -
branches/gz-working/compiler/nx-basic.lisp
r8438 r8465 481 481 (format stream " (~D references)" nrefs))) 482 482 (princ ", in " stream) 483 (print-nested-name (reverse (compiler-warning-function-name condition)) stream) 484 (princ "." stream))) 483 (print-nested-name (reverse (compiler-warning-function-name condition)) stream))) 485 484 486 485 (defun environment-structref-info (name env) -
branches/gz-working/examples/cocoa/currency-converter/HOWTO.html
r7920 r8465 20 20 </h2></div> 21 21 22 <div class="subtitle">23 <img src="HOWTO_files/images/bosco.jpg"24 width="48" height="48" border="0" alt=""25 border='0'/>26 </div>27 28 <div class="byline">29 <p>by mikel evins</p>30 </div>31 22 32 23 <div class="body-text"> … … 38 29 Currency Converter</a> example. The most important 39 30 difference between Apple's example and this one is that this 40 one is implemented in Common Lisp instead of Objective C. It31 one is implemented in Common Lisp instead of Objective-C. It 41 32 uses Clozure CL's Objective-C bridge to provide communication 42 33 between the Lisp code that you write and Apple's Cocoa … … 50 41 Apple's InterfaceBuilder application and Clozure CL.</p> 51 42 43 <p>An observant programmer will look at the code in this example 44 and say, "well, that's trivial! Why create all those classes and 45 connections and so forth just to perform a multiplcation?" That 46 observation is correct: the actual work done by the Currency 47 Converter application is trivial—both in the Lisp and the 48 Objective-C versions. The point of this example (and Apple's) is 49 not to show you how to perform a multiplication. The point is to 50 show you how Apple's frameworks implement and support the 51 Model-View-Controller paradigm, and how you can use that support 52 to build Cocoa applications. In fact, the work done by the 53 application is <em>intentionally trivial</em>, to emphasize the 54 frameworks rather than the particulars of the application.</p> 55 56 <p>This HOWTO has the additional purpose of showing you how 57 Clozure CL makes it possible to do exactly the same thing in 58 Lisp that you can do with Objective-C, so that you will 59 understand how to use Lisp with Apple's frameworks.</p> 60 52 61 <p>The current version of the Clozure CL Objective-C bridge 53 62 includes code that was formerly distributed separately as the 54 63 "Bosco" application framework. Because that framework has been 55 64 integrated with Clozure CL proper, it no longer exists as a 56 separate project. "Bosco" now names only the decorative rodent 57 at the top of this page.</p> 65 separate project.</p> 58 66 </div> 59 67 … … 71 79 72 80 <p>In some ways, the Lisp version of the example is simpler 73 than the Objective C example, but the basic concepts are the81 than the Objective-C example, but the basic concepts are the 74 82 same. In particular, the Lisp example follows the same 75 83 <a -
branches/gz-working/examples/cocoa/currency-converter/HOWTO_files/pages/build_app.html
r7799 r8465 18 18 do is to build the application executable into a Cocoa 19 19 application bundle. Apple's tutorial relies on XCode to build 20 the application from Objective C source files; we will use the20 the application from Objective-C source files; we will use the 21 21 Clozure CL IDE to build it from our Lisp source file.</p> 22 22 … … 25 25 steps to build the Cocoa application are:</p> 26 26 27 < ul>27 <ol> 28 28 <li><p>Load the application code into the IDE</p></li> 29 29 <li><p>Load the BUILD_APPLICATION feature</p></li> 30 30 <li><p>Run BUILD_APPLICATION with the proper arguments</p></li> 31 </ ul>31 </ol> 32 32 33 33 <p>This sequence of steps causes Clozure CL to construct a Cocoa -
branches/gz-working/examples/cocoa/currency-converter/HOWTO_files/pages/building_ui.html
r8013 r8465 36 36 <p>We'll begin by using Apple's InterfaceBuilder application to 37 37 create a nibfile. The nibfile contains 38 archived versions of the Objective C objects that define the38 archived versions of the Objective-C objects that define the 39 39 application's user interface. When you launch an application, 40 40 Mac OS X uses the archived objects in the nibfile to create the … … 70 70 create an application nibfile. InterfaceBuilder creates a new 71 71 application nibfile, but doesn't immediately save it. The 72 Objective C objects that represent the new application's72 Objective-C objects that represent the new application's 73 73 interface appear in a new untitled window:</p> 74 74 … … 91 91 92 92 <div class="note"> 93 <p><strong><em>NOTE:</em></strong> Most Objective C application projects use a main93 <p><strong><em>NOTE:</em></strong> Most Objective-C application projects use a main 94 94 nibfile called "MainMenu.nib", and if you use XCode to create 95 95 a new application project, it creates a nibfile with that … … 108 108 Clozure CL main nibfile without causing any problems.</p> 109 109 110 <p>This difference between a Lisp project and an Objective C110 <p>This difference between a Lisp project and an Objective-C 111 111 project might be a little confusing at first. Just try to keep 112 112 in mind that whenever Apple's tutorial refers to the … … 120 120 <p>Skip straight to the part of Apple's tutorial 121 121 called <a href="http://developer.apple.com/documentation/Cocoa/Conceptual/ObjCTutorial/05View/chapter_5_section_1.html#//apple_ref/doc/uid/TP40000863-CH7-SW1">Defining 122 the View: Building the User Interface</a>. Read 123 the introduction to 122 the View: Building the User Interface</a>. Read the introduction to 124 123 nibfiles, and follow the instructions to create the Currency Converter 125 124 interface. (Remember that when the tutorial tells you to open and edit … … 127 126 "CurrencyConverter.nib".) When you reach the end of the section 128 127 called <a href="http://developer.apple.com/documentation/Cocoa/Conceptual/ObjCTutorial/05View/chapter_5_section_5.html#//apple_ref/doc/uid/TP40000863-CH7-DontLinkElementID_38">Test 129 the Interface</a>, and move on to the short section afterward 130 called <a href="http://developer.apple.com/documentation/Cocoa/Conceptual/ObjCTutorial/05View/chapter_5_section_6.html#//apple_ref/doc/uid/TP40000863-CH7-DontLinkElementID_39">What's Next</a>, 131 you are done creating the interface for your 132 application. Save your nibfile and continue with the next section.</p> 128 the Interface</a>, and move on to the short section afterward 129 called <a href="http://developer.apple.com/documentation/Cocoa/Conceptual/ObjCTutorial/05View/chapter_5_section_6.html#//apple_ref/doc/uid/TP40000863-CH7-DontLinkElementID_39">What's 130 Next</a>, you are done creating the interface for your 131 application. Save your nibfile and continue with the next section of 132 this HOWTO.</p> 133 133 134 134 <div class="section-head"> … … 153 153 <p>One other thing: if you are using Mac OS X 10.4.x ("Tiger"), you 154 154 will be able to build Cocoa applications only on PPC Macs. The 155 Clozure CL Objective C support for Intel systems works only on Mac155 Clozure CL Objective-C support for Intel systems works only on Mac 156 156 OS X 10.5.x ("Leopard").</p> 157 157 … … 167 167 connections in place.</p> 168 168 169 <p>When you use XCode to write an Objective C application,170 InterfaceBuilder can read the Objective C header files and use the169 <p>When you use XCode to write an Objective-C application, 170 InterfaceBuilder can read the Objective-C header files and use the 171 171 information in them to create descriptions of the classes in the 172 Objective C code. When the application is written in Lisp,172 Objective-C code. When the application is written in Lisp, 173 173 InterfaceBuilder can't read the class descriptions from the code, 174 174 and so we'll have to manually tell the nibfile about any classes … … 176 176 177 177 <p>As you will see in the following sections, we'll use Lisp code to 178 define two Objective C classes: Converter, and178 define two Objective-C classes: Converter, and 179 179 ConverterController. The Converter class implements the method that 180 180 performs the actual currency conversion for our application; the 181 181 ConverterController class provides communication between the user 182 interface and the Converter object. We need a way to create instaces 183 of these two classes in the nibfile, so that launching the 184 application creates these instances and the connections between them 185 and the rest of the user interface.</p> 182 interface and the Converter object. We need a way to create 183 instances of these two classes in the nibfile, so that launching the 184 application sets up all the objects correctly.</p> 186 185 187 186 <div class="section-head"> … … 241 240 </div> 242 241 243 <p>We'll connect each of the "field" outlets to one of the text 244 fields in the CurrencyConverter UI, and we'll connect the245 "converter" outlet to the Converter instance that we created246 before. When theapplication launches, it creates the Converter and242 <p>We'll connect each of the "field" outlets to one of the text fields 243 in the CurrencyConverter UI, and we'll connect the "converter" 244 outlet to the Converter instance that we created before. When the 245 application launches, it creates the Converter and 247 246 ConverterController instances and establishes the connections that 248 we specifyin the nibfile.</p>247 we've specified in the nibfile.</p> 249 248 250 249 … … 264 263 outlets.</p> 265 264 266 <p>Now we'll connect outlets to objects and actions.</p>265 <p>Now we'll connect outlets and actions to objects.</p> 267 266 268 267 <div class="section-head"> -
branches/gz-working/examples/cocoa/currency-converter/HOWTO_files/pages/building_ui_tiger.html
r8013 r8465 55 55 section and click the "New" button to create a new 56 56 nibfile. InterfaceBuilder creates a new application nibfile, but 57 doesn't immediately save it. The Objective C objects that57 doesn't immediately save it. The Objective-C objects that 58 58 represent the new application's interface appear in a new 59 59 untitled window:</p> … … 72 72 73 73 <div class="note"> 74 <p><strong><em>NOTE:</em></strong> Most Objective C application projects use a main74 <p><strong><em>NOTE:</em></strong> Most Objective-C application projects use a main 75 75 nibfile called "MainMenu.nib", and if you use XCode to create 76 76 a new application project, it creates a nibfile with that … … 89 89 Clozure CL main nibfile without causing any problems.</p> 90 90 91 <p>This difference between a Lisp project and an Objective C91 <p>This difference between a Lisp project and an Objective-C 92 92 project might be a little confusing at first. Just try to keep 93 93 in mind that whenever Apple's tutorial refers to the … … 183 183 </div> 184 184 185 <p>Now add labels to the text fields, to iden itfy their185 <p>Now add labels to the text fields, to identify their 186 186 purposes for the user. For each text field, drag a Label object 187 187 from the palette and drop it next to the field. (Alternatively, … … 197 197 position the text field near the edge of the window, it also 198 198 displays guide lines to help you position the labels near the 199 text fields. Just drag each text field until the blue guide200 lines appear, andrelease the label.</p>199 text fields. Just drag each label until the blue guide lines 200 appear, then release the label.</p> 201 201 202 202 <p>Now change the text of the labels. Click a label to select … … 233 233 234 234 <p>The first two text fields accept user input; the last 235 displays the result of the conversion. We want the first t o text236 fields to be editable, so users can enter the values to use in237 the conversion. We don't want the last field to be editable, but238 we do want users to be able to copy text from it.</p>235 displays the result of the conversion. We want the first two 236 text fields to be editable, so users can enter the values to use 237 in the conversion. We don't want the last field to be editable, 238 but we do want users to be able to copy text from it.</p> 239 239 240 240 <p>We can control all this behavior using text-field … … 329 329 </div> 330 330 </p> 331 <p>< em>NOTE:</em> This change isn't really enough to get your331 <p><strong>NOTE:</strong> This change isn't really enough to get your 332 332 application to display the right name for the Application menu 333 333 when it's launched; the <a href="build_app.html">section</a> … … 398 398 <p>Users generally expect to be able to use the Tab key to move 399 399 from one text field to the next in a dialog 400 box. InterfaceBuilder enables you to specify the ta nning order400 box. InterfaceBuilder enables you to specify the tabbing order 401 401 in text fields.</p> 402 402 … … 433 433 434 434 <p>The visual elements of your application's user interface are 435 all ready now. The last thing you must do is create descr uptions435 all ready now. The last thing you must do is create descriptions 436 436 of any custom classes used by the application when users 437 437 interact with the interface.</p> … … 439 439 <p>When a user clicks the "Convert" button, it should send a 440 440 message to a custom class that causes the conversion to take 441 place, and the result to be displayed in the "Amount" field. In 442 order for the application to connect the user interface to 443 classes that perform these actions, you must add descriptions of 444 your classes to the nibfile. Fortunately, InterfaceBuilder can 445 create class descriptions and save them in the nibfile for 446 you.</p> 441 place. In order for the application to connect the user 442 interface to classes that perform these actions, you must add 443 descriptions of your classes to the nibfile. Fortunately, 444 InterfaceBuilder can create class descriptions and save them in 445 the nibfile for you.</p> 447 446 448 447 <div class="section-head"> … … 554 553 view of the Inspector window, then click the "connect" button 555 554 to confirm.</p></li> 556 <li><p>Connect the "ConverterController" instance to t ext555 <li><p>Connect the "ConverterController" instance to the text 557 556 fields. Control-drag from the "ConverterController" instance 558 557 to the "Exchange Rate" field. Select "rateField" in the 559 558 "Outlets" view of the Inspector window and click "connect" to 560 confirm. Then repeat this process, connecting "dollarField" 561 t o the "Dollars" text field, and "amountField" to the562 "Amount"field.</p></li>559 confirm. Then repeat this process, connecting "dollarField" to 560 the "Dollars" text field, and "amountField" to the "Amount" 561 field.</p></li> 563 562 <li><p>Finally, connect the "ConverterController" to the 564 563 "Converter" instance. Control-drag from the … … 566 565 instance. Select the "converter" outlet in the Inspector 567 566 window and click "connect" to confirm.</p></li> 568 <li><p></p></li>569 567 </ol> 570 568 -
branches/gz-working/examples/cocoa/currency-converter/HOWTO_files/pages/conclusion.html
r7799 r8465 17 17 CurrencyConverter example in Lisp with Clozure CL. Your own Lisp 18 18 applications are likely to be considerably more complex than the 19 Currency Converter, which, after all, just does a simp e19 Currency Converter, which, after all, just does a simple 20 20 multiplication. You can, however, use exactly the same steps to 21 21 build a much richer and more full-featured Cocoa … … 24 24 <p>A more complex application will still consist of one or more 25 25 nibfiles and one or more Lisp source files. You will still use 26 the Objective C bridge to define ObjectiveC classes and26 the Objective-C bridge to define Objective-C classes and 27 27 methods, and to use Cocoa library features. And you will still 28 28 use BUILD-APPLICATION to turn your source and nibfiles into … … 30 30 31 31 <p>You should now be able to use Clozure CL to accomplish anything 32 that an Objective C user can accomplish with Cocoa. Good luck!</p>32 that an Objective-C user can accomplish with Cocoa. Good luck!</p> 33 33 34 34 <div class="nav"> -
branches/gz-working/examples/cocoa/currency-converter/HOWTO_files/pages/writing_lisp.html
r7799 r8465 15 15 <div class="body-text"> 16 16 <p>In this section we'll write Lisp code that duplicates the 17 features provided by the Objective C code in Apple's17 features provided by the Objective-C code in Apple's 18 18 tutorial. In Apple's tutorial, the explanation of the Objective 19 19 C code begins with the … … 22 22 23 23 <p>The Lisp code in this section of the HOWTO is considerably 24 simpler than the corresponding Objective C code, in part24 simpler than the corresponding Objective-C code, in part 25 25 because we can ignore the conventions that XCode uses for 26 26 laying out source files. We can just write all our definitions … … 37 37 <pre>(in-package "CCL")</pre> 38 38 39 <p>Clozure CL's Objective C bridge code is defined in the "CCL"39 <p>Clozure CL's Objective-C bridge code is defined in the "CCL" 40 40 package. Usually, when building an application, you'll create a 41 41 package for that application and import the definitions you need … … 67 67 <p>This is an ordinary CLOS class definition, with a couple of 68 68 simple wrinkles. First, the superclass it inherits from is the 69 NS-OBJECT class in the "NS" package. NS-OBJECT is an Objective C70 class, the ancestor of all Objective C objects. This CLOS71 definition actually creates a new Objective C class named69 NS-OBJECT class in the "NS" package. NS-OBJECT is an Objective-C 70 class, the ancestor of all Objective-C objects. This CLOS 71 definition actually creates a new Objective-C class named 72 72 "Converter".</p> 73 73 … … 79 79 </pre> 80 80 81 <p>The Objective C bridge knows that when the metaclass81 <p>The Objective-C bridge knows that when the metaclass 82 82 is <code>ns:+ns-object</code>, it must lay out the class object 83 in memory as an Objective C class, rather than a normal CLOS83 in memory as an Objective-C class, rather than a normal CLOS 84 84 STANDARD-CLASS.</p> 85 85 … … 93 93 94 94 <p>This is the method that actually does the currency 95 conversion. It's very simple—really, it just multiples 95 conversion. It's a Lisp method that will be called when the 96 AppKit sends the Objective-C message "convertCurrency:atRate:" 97 It's very simple—really, it just multiples 96 98 <code>currency</code> times <code>rate</code>. Most of the text in the definition is 97 Objective C bridge code that links the definition to the right99 Objective-C bridge code that links the definition to the right 98 100 class with the right argument and return types.</p> 99 101 100 102 <p><code>objc:defmethod</code> is a version of DEFMETHOD that 101 creates Objective C method definitions.</p> 103 creates methods that can execute in response to Objective-C 104 message-sends.</p> 102 105 103 106 <p>The syntax <code>#/convertCurrency:atRate:</code> uses the 104 107 "#/" reader macro to read a symbol with case preserved, so that 105 you can see in your code the same name that Objective C uses for108 you can see in your code the same name that Objective-C uses for 106 109 the method, without worrying about how the name might be 107 converted between Lisp and Objective C conventions.</p>108 109 <p>The number of arguments to an Objective C method is the110 converted between Lisp and Objective-C conventions.</p> 111 112 <p>The number of arguments to an Objective-C method is the 110 113 number of colons in the name, plus one. Each colon indicates an 111 114 argument, and there is always an extra "self" argument that 112 115 refers to the object that receives the message. These are normal 113 Objective C conventions, but we perhaps need to emphasize the114 details, since we are using Lisp code to call the Objective C116 Objective-C conventions, but we perhaps need to emphasize the 117 details, since we are using Lisp code to call the Objective-C 115 118 methods.</p> 116 119 … … 163 166 </pre> 164 167 165 <p>Once again we use the Objective C bridge to define an166 Objective C class. This time, we provide several168 <p>Once again we use the Objective-C bridge to define an 169 Objective-C class. This time, we provide several 167 170 instance-variable definitions in the class, and name accessors 168 171 for each of them explicitly. The <code>:FOREIGN-TYPE</code> 169 initargs enable us to specify the type of thefield in the170 foreign (Objective C) class.</p>172 initargs enable us to specify the type of each field in the 173 foreign (Objective-C) class.</p> 171 174 172 175 <p>Each field in the definition of the ConverterController class 173 176 is an outlet that will be used to store a reference to one of 174 the UIfields that you created in InterfaceBuilder. For177 the text fields that you created in InterfaceBuilder. For 175 178 example, <code>amount-field</code> will be connected to the 176 "Amount" text field.</p> 179 "Amount" text field.</p> 177 180 178 181 <p>Why did we spell the name "amount-field" in Lisp code, and 179 182 "amountField" when creating the outlet in InterfaceBuilder? The 180 Objective C bridge automatically converts Lisp-style field names181 (like "amount-field") to Objective C-style field names (like183 Objective-C bridge automatically converts Lisp-style field names 184 (like "amount-field") to Objective-C-style field names (like 182 185 "amountField"), when handling class definitions.</p> 183 186 … … 209 212 conversion. The only significant difference between this 210 213 implementation and Apple's is that the code is written in Lisp 211 rather than Objective C.</p>214 rather than Objective-C.</p> 212 215 213 216 <p>This completes the definition of the CurrencyConverter's 214 behavior. All that remains is to actually build the cocoa217 behavior. All that remains is to actually build the Cocoa 215 218 application. The next section shows how to do that.</p> 216 219 -
branches/gz-working/lib/backtrace.lisp
r8285 r8465 443 443 name 444 444 (position name names :from-end t)))) 445 (if (and pos (< pos nargs))445 (if pos 446 446 (map-entry-value context cfp lfun pc (nth pos indices) unavailable) 447 447 unavailable)) -
branches/gz-working/lisp-kernel/x86-exceptions.c
r8408 r8465 1473 1473 quit_handler(int signum, siginfo_t *info, ExceptionInformation *xp) 1474 1474 { 1475 #ifdef DARWIN_GS_HACK 1476 Boolean gs_was_tcr = ensure_gs_pthread(); 1477 #endif 1475 1478 TCR *tcr = get_tcr(false); 1476 1479 area *a;
Note:
See TracChangeset
for help on using the changeset viewer.
