![]() | ![]() | ![]() | start-patch | ![]() |
|
| (id date
&key author description)
form* | [Macro] |
Purpose
Start the definition of a multiple top-level form patch to
a module.
Package :module-manager
Module :module-manager
Arguments and values
| id | An object | |
| date | A string representing a date (parsed by parse-date) | |
| author | A string (default is "Anonymous")
| |
| description | A string or a list of strings (default is nil)
| |
| form | A form |
Description
The source file for a patch should be placed in a subdirectory named
patches in the module's source-files directory.
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
finish-patch
get-patch-description
parse-date
patch
patch-loaded-p
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
![]() | ![]() | ![]() | start-patch | ![]() |