[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