[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Exporting a Symbol in a Patch File




I'm trying to figure out a foolproof incantation within a Genera patch file to do the
following: 
  1. Define a new function F in package A.
  2. Export symbol F from package A.
  3. Change an existing function in package B to reference function F as an external
     symbol in package A ... that is, A:F.
 
For example, I have a patch file of the following form:



;;; -*- Mode: LISP; Syntax: Common-lisp; Package: USER; Base: 10; Patch-File: T -*-
;;; Patch file for Private version 0.0

[...]

;=====================================
(SYSTEM-INTERNALS:BEGIN-PATCH-SECTION)
(SYSTEM-INTERNALS:PATCH-SECTION-SOURCE-FILE "AISIS-V2:GANTT;INTERFACE.LISP.11")
(SYSTEM-INTERNALS:PATCH-SECTION-ATTRIBUTES
  "-*- Syntax: Common-lis1p0; Mode: LISP; Default-character-style: (:FIX :ROMAN :NORMAL); Package: GANTT; Lowercase: Yes -*-")

(defun 2rename 0(old-name new-name &key (must-be-current t))
	...)

(eval-when (load)
  (export '(gantt::rename) "gantt"))



;=====================================
(SYSTEM-INTERNALS:BEGIN-PATCH-SECTION)
(SYSTEM-INTERNALS:PATCH-SECTION-SOURCE-FILE "AISIS-V2:INTERFACES;DATA-MEDIATION.LISP.16")
(SYSTEM-INTERNALS:PATCH-SECTION-ATTRIBUTES
  "-*- Syntax: Common-lisp;1 0Package: AISIS;1 0Mode: LISP; Default-character-style: (:FIX :ROMAN :NORMAL); Lowercase: Yes -*-")

(defun 2create-mediated-gantt-chart 0(new-schedule-start-ut new-schedule-duration
				    &key model-major-class gi-data)
	...
	(gantt:rename :foo :bar)
	...)



If I reboot, load the appropriate systems, then load this patch file, I get some message
to the effect that I'm trying to reference external symbol gantt:rename which has not been
exported.  I made sure that gantt:rename was exported in my world when I compiled the
patch file, but still no go.  What's the secret??

-Dave