describe-patchesModule Manager Facilityget-directoryfinish-patchGoTo Top

finish-patch   form*[Macro]

Purpose
Finish the definition of a multiple top-level form patch to a module.

Package   :module-manager

Module   :module-manager

Arguments and values

form     A form

Errors
A patch has not been started with start-patch.

Description
The start-patch macro, along with continue-patch and finish-patch, can be used to define a patch as multiple top-level forms in the same patch file if a patch cannot be defined as a single patch form.

See also
    allow-redefinition
    continue-patch
    define-module
    describe-module
    describe-patches
    get-patch-description
    parse-date
    patch
    patch-loaded-p
    start-patch
    undefmethod

Example
Define a more complex patch (in a file named my-app-p002.lisp in the patches subdirectory of the module):

  (start-patch (2 "06-23-08" 
                  :author "Corkill"
                  :description "A more complex patch example")
      (printv "More complex example patch started!"))

  (eval-when (:compile-toplevel)
    (continue-patch
     (printv "Defining compile-time-only-macro-for-patch...")
     (defmacro compile-time-only-macro-for-patch (x)
       `',x)))

  (eval-when (:compile-toplevel :load-toplevel :execute)
    (continue-patch
     (printv "Defining macro-for-patch at compile & load time...")
     (defmacro macro-for-patch (x)
       `',x)))

  (continue-patch
   (printv "Using macro-for-patch at load time...")
   (macro-for-patch abc))

  (eval-when (:compile-toplevel :load-toplevel :execute)
    (continue-patch
     (printv "Using macro-for-patch at compile & load time...")
     (macro-for-patch xyz)))

  (eval-when (:compile-toplevel)
    (continue-patch
     (printv "Using compile-time-only-macro-for-patch...")
     (compile-time-only-macro-for-patch abc)))

  (finish-patch
   (printv "More complex example patch finished!"))


The GBBopen Project


describe-patchesModule Manager Facilityget-directoryfinish-patchGoTo Top