home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / x / volume18 / xbae / patch2 < prev    next >
Encoding:
Internet Message Format  |  1992-08-26  |  14.7 KB

  1. Path: uunet!dtix!darwin.sura.net!mips!msi!dcmartin
  2. From: aw@bae.bellcore.com (Andrew Wason)
  3. Newsgroups: comp.sources.x
  4. Subject: v18i098: Xbae 3.6 -> 3.7, Patch2, Part01/01
  5. Message-ID: <1992Aug27.155115.24908@msi.com>
  6. Date: 27 Aug 92 15:51:15 GMT
  7. References: <csx-18i098-xbae@uunet.UU.NET>
  8. Sender: dcmartin@msi.com (David C. Martin - Moderator)
  9. Organization: Molecular Simulations, Inc.
  10. Lines: 580
  11. Approved: dcmartin@msi.com
  12. Originator: dcmartin@fascet
  13.  
  14. Submitted-by: Andrew Wason <aw@bae.bellcore.com>
  15. Posting-number: Volume 18, Issue 98
  16. Archive-name: xbae/patch2
  17. Patch-To: xbae: Volume 17, Issue 75
  18.  
  19. This is the second patch to the Xbae widget set originally posted
  20. as Volume 17 Issue 28.  The first patch was Volume 17 Issue 75.
  21.  
  22. Andrew
  23.  
  24. #!/bin/sh
  25. # This is a shell archive (produced by shar 3.50)
  26. # To extract the files from this archive, save it to a file, remove
  27. # everything above the "!/bin/sh" line above, and type "sh file_name".
  28. #
  29. # made 07/28/1992 13:57 UTC by aw@jello
  30. # Source directory /fs/11/m/acp/aw/Xbae-rls/Xbae-7-public/patch
  31. #
  32. # existing files will NOT be overwritten unless -c is specified
  33. #
  34. # This shar contains:
  35. # length  mode       name
  36. # ------ ---------- ------------------------------------------
  37. #    380 -rw-r--r-- README.patch
  38. #  11929 -rw-r--r-- patch-3.6-to-3.7
  39. #
  40. # ============= README.patch ==============
  41. if test -f 'README.patch' -a X"$1" != X"-c"; then
  42.     echo 'x - skipping README.patch (File already exists)'
  43. else
  44. echo 'x - extracting README.patch (Text)'
  45. sed 's/^X//' << 'SHAR_EOF' > 'README.patch' &&
  46. This patch brings Xbae 3.6 up to version 3.7.  See the patched
  47. README for what was changed.  This patch does *not* patch the
  48. PostScript documents.  If you want the new docs, ftp the
  49. entire 3.7 distribution from export.lcs.mit.edu in
  50. contrib/Xbae-widgets-3.7.tar.Z.
  51. X
  52. To apply the patch, cd to the toplevel directory in the Xbae
  53. distribution, and do
  54. X
  55. X  patch -p0 < patch-3.6-to-3.7
  56. SHAR_EOF
  57. chmod 0644 README.patch ||
  58. echo 'restore of README.patch failed'
  59. Wc_c="`wc -c < 'README.patch'`"
  60. test 380 -eq "$Wc_c" ||
  61.     echo 'README.patch: original size 380, current size' "$Wc_c"
  62. fi
  63. # ============= patch-3.6-to-3.7 ==============
  64. if test -f 'patch-3.6-to-3.7' -a X"$1" != X"-c"; then
  65.     echo 'x - skipping patch-3.6-to-3.7 (File already exists)'
  66. else
  67. echo 'x - extracting patch-3.6-to-3.7 (Text)'
  68. sed 's/^X//' << 'SHAR_EOF' > 'patch-3.6-to-3.7' &&
  69. *** ../../Xbae-6-public/Xbae-3.6/README    Fri Apr 10 10:47:44 1992
  70. --- README    Wed Jul  8 15:53:08 1992
  71. ***************
  72. *** 1,5 ****
  73. ! Xbae Library Version 3.6 (see src/version.c)
  74. ! Xbae 3.6 is the second public release.
  75. X  
  76. X  The Xbae library is a set of two Motif widgets, XbaeMatrix and
  77. X  XbaeCaption.  It was developed using X11R4/X11R5 and Motif 1.1.[0-4]
  78. --- 1,5 ----
  79. ! Xbae Library Version 3.7 (see src/version.c)
  80. ! Xbae 3.7 is the third public release.
  81. X  
  82. X  The Xbae library is a set of two Motif widgets, XbaeMatrix and
  83. X  XbaeCaption.  It was developed using X11R4/X11R5 and Motif 1.1.[0-4]
  84. ***************
  85. *** 51,56 ****
  86. --- 51,68 ----
  87. X     "Group Box", but with more flexibility.  XbaeCaption is also useful
  88. X     for associating labels with individual XmTextField widgets.
  89. X  
  90. + Bugs fixed in version 3.7:
  91. +  * XbaeMatrix would occasionally steal the focus from other widgets
  92. +    in the same shell.  The Clip widget was changed to only respond
  93. +    to synthetic FocusIn events.
  94. +  * XbaeMatrix StringToAlignmentArray converter should free the array
  95. +    when the conversion fails.
  96. +  * All header files now use a more specific inclusion protection symbol
  97. +    to avoid conflicts with other packages.
  98. +  * The XbaeMatrix documentation incorrectly documented the
  99. +    XbaeMatrixLeaveCellCallbackStruct.
  100. +  
  101. X  Bugs fixed in version 3.6:
  102. X  
  103. X   * XbaeMatrix computes a bad width when XmNvisibleColumns == XmNcolumns.
  104. *** ../../Xbae-6-public/Xbae-3.6/src/Caption.c    Thu Apr  9 11:25:46 1992
  105. --- src/Caption.c    Wed Jul  8 15:43:12 1992
  106. ***************
  107. *** 34,40 ****
  108. X  #include <Xbae/CaptionP.h>
  109. X  
  110. X  #ifndef SABER
  111. ! static char sccsid[] = "@(#)Caption.c    1.7 3/17/92";
  112. X  #endif
  113. X  
  114. X  
  115. --- 34,40 ----
  116. X  #include <Xbae/CaptionP.h>
  117. X  
  118. X  #ifndef SABER
  119. ! static char sccsid[] = "@(#)Caption.c    1.8 7/8/92";
  120. X  #endif
  121. X  
  122. X  
  123. ***************
  124. *** 166,172 ****
  125. X      /* extension            */  NULL
  126. X      },
  127. X      {
  128. !     /* matrix_class fields */
  129. X      /* extension            */ NULL,
  130. X      }
  131. X  };
  132. --- 166,172 ----
  133. X      /* extension            */  NULL
  134. X      },
  135. X      {
  136. !     /* caption_class fields */
  137. X      /* extension            */ NULL,
  138. X      }
  139. X  };
  140. ***************
  141. *** 234,240 ****
  142. X       */
  143. X      (void)
  144. X      XtVaCreateManagedWidget(XtName(new),
  145. !                 xmLabelWidgetClass, new,
  146. X                  XmNbackground,    new->core.background_pixel,
  147. X                  XmNforeground,    new->manager.foreground,
  148. X                  XmNfontList,    new->caption.font_list,
  149. --- 234,240 ----
  150. X       */
  151. X      (void)
  152. X      XtVaCreateManagedWidget(XtName(new),
  153. !                 xmLabelWidgetClass, (Widget)new,
  154. X                  XmNbackground,    new->core.background_pixel,
  155. X                  XmNforeground,    new->manager.foreground,
  156. X                  XmNfontList,    new->caption.font_list,
  157. *** ../../Xbae-6-public/Xbae-3.6/src/Caption.h    Thu Apr  9 11:25:46 1992
  158. --- src/Caption.h    Wed Jul  8 15:43:13 1992
  159. ***************
  160. *** 22,32 ****
  161. X   * CaptionWidget Author: Andrew Wason, Bellcore, aw@bae.bellcore.com
  162. X   */
  163. X  
  164. ! #ifndef _Caption_h
  165. ! #define _Caption_h
  166. X  
  167. X  /*
  168. !  *  "@(#)Caption.h    1.4 2/18/92"
  169. X   */
  170. X  
  171. X  /*
  172. --- 22,32 ----
  173. X   * CaptionWidget Author: Andrew Wason, Bellcore, aw@bae.bellcore.com
  174. X   */
  175. X  
  176. ! #ifndef _Xbae_Caption_h
  177. ! #define _Xbae_Caption_h
  178. X  
  179. X  /*
  180. !  *  "@(#)Caption.h    1.5 7/8/92"
  181. X   */
  182. X  
  183. X  /*
  184. ***************
  185. *** 91,96 ****
  186. X      XbaeAlignmentBottomOrRight
  187. X  } XbaeLabelAlignment;
  188. X  
  189. ! #endif /* _Caption_h */
  190. X  /* DON'T ADD STUFF AFTER THIS #endif */
  191. X  
  192. --- 91,96 ----
  193. X      XbaeAlignmentBottomOrRight
  194. X  } XbaeLabelAlignment;
  195. X  
  196. ! #endif /* _Xbae_Caption_h */
  197. X  /* DON'T ADD STUFF AFTER THIS #endif */
  198. X  
  199. *** ../../Xbae-6-public/Xbae-3.6/src/CaptionP.h    Thu Apr  9 11:25:47 1992
  200. --- src/CaptionP.h    Wed Jul  8 15:43:13 1992
  201. ***************
  202. *** 26,36 ****
  203. X   * CaptionP.h - Private definitions for Caption widget
  204. X   */
  205. X  
  206. ! #ifndef _CaptionP_h
  207. ! #define _CaptionP_h
  208. X  
  209. X  /*
  210. !  *  "@(#)CaptionP.h    1.4 2/18/92"
  211. X   */
  212. X  
  213. X  #include <Xm/XmP.h>
  214. --- 26,36 ----
  215. X   * CaptionP.h - Private definitions for Caption widget
  216. X   */
  217. X  
  218. ! #ifndef _Xbae_CaptionP_h
  219. ! #define _Xbae_CaptionP_h
  220. X  
  221. X  /*
  222. !  *  "@(#)CaptionP.h    1.5 7/8/92"
  223. X   */
  224. X  
  225. X  #include <Xm/XmP.h>
  226. ***************
  227. *** 86,89 ****
  228. X      XbaeCaptionPart    caption;
  229. X  } XbaeCaptionRec;
  230. X  
  231. ! #endif /* _CaptionP_h */
  232. --- 86,89 ----
  233. X      XbaeCaptionPart    caption;
  234. X  } XbaeCaptionRec;
  235. X  
  236. ! #endif /* _Xbae_CaptionP_h */
  237. *** ../../Xbae-6-public/Xbae-3.6/src/Clip.c    Thu Apr  9 11:26:16 1992
  238. --- src/Clip.c    Wed Jul  8 15:42:52 1992
  239. ***************
  240. *** 31,37 ****
  241. X  #include <Xbae/ClipP.h>
  242. X  
  243. X  #ifndef SABER
  244. ! static char sccsid[] = "@(#)Clip.c    3.3 2/18/92";
  245. X  #endif
  246. X  
  247. X  static char defaultTranslations[] =
  248. --- 31,37 ----
  249. X  #include <Xbae/ClipP.h>
  250. X  
  251. X  #ifndef SABER
  252. ! static char sccsid[] = "@(#)Clip.c    3.4 5/13/92";
  253. X  #endif
  254. X  
  255. X  static char defaultTranslations[] =
  256. ***************
  257. *** 214,220 ****
  258. X  String *params;
  259. X  Cardinal *nparams;
  260. X  {
  261. !     if (event->xany.type != FocusIn)
  262. X      return;
  263. X  
  264. X      if (cw->clip.focus_callback)
  265. --- 214,220 ----
  266. X  String *params;
  267. X  Cardinal *nparams;
  268. X  {
  269. !     if (event->xany.type != FocusIn || !event->xfocus.send_event)
  270. X      return;
  271. X  
  272. X      if (cw->clip.focus_callback)
  273. *** ../../Xbae-6-public/Xbae-3.6/src/Clip.h    Thu Apr  9 11:26:16 1992
  274. --- src/Clip.h    Wed Jul  8 15:42:53 1992
  275. ***************
  276. *** 26,36 ****
  277. X   * Clip.h - Public definitions for Clip widget
  278. X   */
  279. X  
  280. ! #ifndef _Clip_h
  281. ! #define _Clip_h
  282. X  
  283. X  /*
  284. !  *  "@(#)Clip.h    3.3 2/18/92"
  285. X   */
  286. X  
  287. X  #include <Xm/Xm.h>
  288. --- 26,36 ----
  289. X   * Clip.h - Public definitions for Clip widget
  290. X   */
  291. X  
  292. ! #ifndef _Xbae_Clip_h
  293. ! #define _Xbae_Clip_h
  294. X  
  295. X  /*
  296. !  *  "@(#)Clip.h    3.4 7/8/92"
  297. X   */
  298. X  
  299. X  #include <Xm/Xm.h>
  300. ***************
  301. *** 73,76 ****
  302. X  }
  303. X  #endif
  304. X  
  305. ! #endif /* _Clip_h */
  306. --- 73,76 ----
  307. X  }
  308. X  #endif
  309. X  
  310. ! #endif /* _Xbae_Clip_h */
  311. *** ../../Xbae-6-public/Xbae-3.6/src/ClipP.h    Thu Apr  9 11:26:16 1992
  312. --- src/ClipP.h    Wed Jul  8 15:42:53 1992
  313. ***************
  314. *** 26,36 ****
  315. X   * ClipP.h - Private definitions for Clip widget
  316. X   */
  317. X  
  318. ! #ifndef _ClipP_h
  319. ! #define _ClipP_h
  320. X  
  321. X  /*
  322. !  *  "@(#)ClipP.h    3.3 2/18/92"
  323. X   */
  324. X  
  325. X  #include <Xm/XmP.h>
  326. --- 26,36 ----
  327. X   * ClipP.h - Private definitions for Clip widget
  328. X   */
  329. X  
  330. ! #ifndef _Xbae_ClipP_h
  331. ! #define _Xbae_ClipP_h
  332. X  
  333. X  /*
  334. !  *  "@(#)ClipP.h    3.4 7/8/92"
  335. X   */
  336. X  
  337. X  #include <Xm/XmP.h>
  338. ***************
  339. *** 96,99 ****
  340. X      XbaeClipPart    clip;
  341. X  } XbaeClipRec;
  342. X  
  343. ! #endif /* _ClipP_h */
  344. --- 96,99 ----
  345. X      XbaeClipPart    clip;
  346. X  } XbaeClipRec;
  347. X  
  348. ! #endif /* _Xbae_ClipP_h */
  349. *** ../../Xbae-6-public/Xbae-3.6/src/Matrix.h    Thu Apr  9 11:26:22 1992
  350. --- src/Matrix.h    Wed Jul  8 15:42:51 1992
  351. ***************
  352. *** 22,32 ****
  353. X   * MatrixWidget Author: Andrew Wason, Bellcore, aw@bae.bellcore.com
  354. X   */
  355. X  
  356. ! #ifndef _Matrix_h
  357. ! #define _Matrix_h
  358. X  
  359. X  /*
  360. !  *  "@(#)Matrix.h    3.7 3/11/92"
  361. X   */
  362. X  
  363. X  /*
  364. --- 22,32 ----
  365. X   * MatrixWidget Author: Andrew Wason, Bellcore, aw@bae.bellcore.com
  366. X   */
  367. X  
  368. ! #ifndef _Xbae_Matrix_h
  369. ! #define _Xbae_Matrix_h
  370. X  
  371. X  /*
  372. !  *  "@(#)Matrix.h    3.8 7/8/92"
  373. X   */
  374. X  
  375. X  /*
  376. ***************
  377. *** 371,376 ****
  378. X  } XbaeMatrixSelectCellCallbackStruct;
  379. X  
  380. X  
  381. ! #endif /* _Matrix_h */
  382. X  /* DON'T ADD STUFF AFTER THIS #endif */
  383. X  
  384. --- 371,376 ----
  385. X  } XbaeMatrixSelectCellCallbackStruct;
  386. X  
  387. X  
  388. ! #endif /* _Xbae_Matrix_h */
  389. X  /* DON'T ADD STUFF AFTER THIS #endif */
  390. X  
  391. *** ../../Xbae-6-public/Xbae-3.6/src/MatrixP.h    Thu Apr  9 11:26:22 1992
  392. --- src/MatrixP.h    Wed Jul  8 15:42:52 1992
  393. ***************
  394. *** 26,36 ****
  395. X   * MatrixP.h - Private definitions for Matrix widget
  396. X   */
  397. X  
  398. ! #ifndef _MatrixP_h
  399. ! #define _MatrixP_h
  400. X  
  401. X  /*
  402. !  *  "@(#)MatrixP.h    3.8 4/8/92"
  403. X   */
  404. X  
  405. X  #include <Xm/XmP.h>
  406. --- 26,36 ----
  407. X   * MatrixP.h - Private definitions for Matrix widget
  408. X   */
  409. X  
  410. ! #ifndef _Xbae_MatrixP_h
  411. ! #define _Xbae_MatrixP_h
  412. X  
  413. X  /*
  414. !  *  "@(#)MatrixP.h    3.11 7/8/92"
  415. X   */
  416. X  
  417. X  #include <Xm/XmP.h>
  418. ***************
  419. *** 415,418 ****
  420. X      XbaeMatrixPart    matrix;
  421. X  } XbaeMatrixRec;
  422. X  
  423. ! #endif /* _MatrixP_h */
  424. --- 415,418 ----
  425. X      XbaeMatrixPart    matrix;
  426. X  } XbaeMatrixRec;
  427. X  
  428. ! #endif /* _Xbae_MatrixP_h */
  429. *** ../../Xbae-6-public/Xbae-3.6/src/version.c    Thu Apr  9 11:26:22 1992
  430. --- src/version.c    Wed Jul  8 16:28:45 1992
  431. ***************
  432. *** 21,27 ****
  433. X   */
  434. X  
  435. X  #ifndef SABER
  436. ! static char sccsid[] = "@(#)version.c    3.6 4/9/92";
  437. X  #endif
  438. X  
  439. X  /*
  440. --- 21,27 ----
  441. X   */
  442. X  
  443. X  #ifndef SABER
  444. ! static char sccsid[] = "@(#)version.c    3.7 7/8/92";
  445. X  #endif
  446. X  
  447. X  /*
  448. ***************
  449. *** 29,42 ****
  450. X    This file contains version information for a given Xbae release.
  451. X    The SCCSID of this file should be used as the Xbae release number.
  452. X  
  453. !   Matrix.h    3.7
  454. !   MatrixP.h    3.8
  455. !   Matrix.c    3.16
  456. !   Clip.h    3.3
  457. !   ClipP.h    3.3
  458. !   Clip.c    3.3
  459. !   Caption.h    1.4
  460. !   CaptionP.h    1.4
  461. !   Caption.c    1.7
  462. X  
  463. X  */
  464. --- 29,46 ----
  465. X    This file contains version information for a given Xbae release.
  466. X    The SCCSID of this file should be used as the Xbae release number.
  467. X  
  468. !   Matrix.h    3.8
  469. !   MatrixP.h    3.11
  470. !   Matrix.c    3.20
  471. !   Clip.h    3.4
  472. !   ClipP.h    3.4
  473. !   Clip.c    3.4
  474. !   Caption.h    1.5
  475. !   CaptionP.h    1.5
  476. !   Caption.c    1.8
  477. !   // BusyWindow not included in public release
  478. !   BusyWindow.c    1.4
  479. !   BusyWindoP.h    1.3
  480. !   BusyWindow.h    1.3
  481. X  
  482. X  */
  483. *** ../../Xbae-6-public/Xbae-3.6/src/Matrix.c    Thu Apr  9 11:26:20 1992
  484. --- src/Matrix.c    Wed Jul  8 16:28:47 1992
  485. ***************
  486. *** 38,44 ****
  487. X  #include <Xbae/MatrixP.h>
  488. X  
  489. X  #ifndef SABER
  490. ! static char sccsid[] = "@(#)Matrix.c    3.16 4/9/92";
  491. X  #endif
  492. X  
  493. X  #ifndef XlibSpecificationRelease
  494. --- 38,44 ----
  495. X  #include <Xbae/MatrixP.h>
  496. X  
  497. X  #ifndef SABER
  498. ! static char sccsid[] = "@(#)Matrix.c    3.20 7/8/92";
  499. X  #endif
  500. X  
  501. X  #ifndef XlibSpecificationRelease
  502. ***************
  503. *** 1044,1050 ****
  504. X       */
  505. X  
  506. X      (void) XtVaCreateWidget("horizScroll",
  507. !                 xmScrollBarWidgetClass, new,
  508. X                  XmNorientation,    XmHORIZONTAL,
  509. X                  XmNdragCallback,    HSCallback,
  510. X                  XmNvalueChangedCallback, HSCallback,
  511. --- 1044,1050 ----
  512. X       */
  513. X  
  514. X      (void) XtVaCreateWidget("horizScroll",
  515. !                 xmScrollBarWidgetClass, (Widget)new,
  516. X                  XmNorientation,    XmHORIZONTAL,
  517. X                  XmNdragCallback,    HSCallback,
  518. X                  XmNvalueChangedCallback, HSCallback,
  519. ***************
  520. *** 1065,1071 ****
  521. X      HORIZ_ORIGIN(new) = 0;
  522. X  
  523. X      (void) XtVaCreateWidget("vertScroll",
  524. !                 xmScrollBarWidgetClass, new,
  525. X                  XmNorientation,        XmVERTICAL,
  526. X                  XmNdragCallback,        VSCallback,
  527. X                  XmNvalueChangedCallback,    VSCallback,
  528. --- 1065,1071 ----
  529. X      HORIZ_ORIGIN(new) = 0;
  530. X  
  531. X      (void) XtVaCreateWidget("vertScroll",
  532. !                 xmScrollBarWidgetClass,     (Widget)new,
  533. X                  XmNorientation,        XmVERTICAL,
  534. X                  XmNdragCallback,        VSCallback,
  535. X                  XmNvalueChangedCallback,    VSCallback,
  536. ***************
  537. *** 1091,1097 ****
  538. X       * Create the Clip widget managed so we can use it for traversal
  539. X       */
  540. X      (void) XtVaCreateManagedWidget("clip",
  541. !                    xbaeClipWidgetClass, new,
  542. X                     XmNexposeProc,    ClipRedisplay,
  543. X                     XmNtraversalOn,
  544. X                         new->manager.traversal_on,
  545. --- 1091,1097 ----
  546. X       * Create the Clip widget managed so we can use it for traversal
  547. X       */
  548. X      (void) XtVaCreateManagedWidget("clip",
  549. !                    xbaeClipWidgetClass, (Widget)new,
  550. X                     XmNexposeProc,    ClipRedisplay,
  551. X                     XmNtraversalOn,
  552. X                         new->manager.traversal_on,
  553. ***************
  554. *** 1111,1117 ****
  555. X       * in Realize to be a subwindow of Clip
  556. X       */
  557. X      (void) XtVaCreateWidget("textField",
  558. !                 xmTextFieldWidgetClass,  new,
  559. X                  XmNmarginWidth,    new->matrix.cell_margin_width,
  560. X                  XmNmarginHeight,    new->matrix.cell_margin_height,
  561. X                  XmNtranslations,    new->matrix.text_translations,
  562. --- 1111,1117 ----
  563. X       * in Realize to be a subwindow of Clip
  564. X       */
  565. X      (void) XtVaCreateWidget("textField",
  566. !                 xmTextFieldWidgetClass,  (Widget)new,
  567. X                  XmNmarginWidth,    new->matrix.cell_margin_width,
  568. X                  XmNmarginHeight,    new->matrix.cell_margin_height,
  569. X                  XmNtranslations,    new->matrix.text_translations,
  570. ***************
  571. *** 7597,7602 ****
  572. --- 7597,7603 ----
  573. X          else {
  574. X          XtDisplayStringConversionWarning(dpy, from->addr,
  575. X                           XmRAlignmentArray);
  576. +         XtFree(array);
  577. X          return False;
  578. X          }
  579. X  
  580. SHAR_EOF
  581. chmod 0644 patch-3.6-to-3.7 ||
  582. echo 'restore of patch-3.6-to-3.7 failed'
  583. Wc_c="`wc -c < 'patch-3.6-to-3.7'`"
  584. test 11929 -eq "$Wc_c" ||
  585.     echo 'patch-3.6-to-3.7: original size 11929, current size' "$Wc_c"
  586. fi
  587. exit 0
  588. -- 
  589. Senior Systems Scientist        mail: dcmartin@msi.com
  590. Molecular Simulations, Inc.        uucp: uunet!dcmartin
  591. 796 North Pastoria Avenue        at&t: 408/522-9236
  592. Sunnyvale, California 94086        fax: 408/732-0831
  593.