From c8c894f83fbb07b4f65b2ac8db639680062b25d9 Mon Sep 17 00:00:00 2001 From: Bart Schaefer Date: Tue, 31 Jan 2023 17:45:42 -0800 Subject: 51342: update PARAMDEF description --- Etc/zsh-development-guide | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'Etc') diff --git a/Etc/zsh-development-guide b/Etc/zsh-development-guide index 565b0b1d9..da6932003 100644 --- a/Etc/zsh-development-guide +++ b/Etc/zsh-development-guide @@ -612,7 +612,7 @@ For defining parameters, a module can call `createparam()' directly or use a table to describe them, e.g.: static struct paramdef patab[] = { - PARAMDEF("foo", PM_INTEGER, NULL, get_foo, set_foo, unset_foo), + PARAMDEF("foo", PM_INTEGER, NULL, foo_gsu), INTPARAMDEF("exint", &intparam), STRPARAMDEF("exstr", &strparam), ARRPARAMDEF("exarr", &arrparam), @@ -626,9 +626,9 @@ There are four macros used: in zsh.h) - optionally a pointer to a variable holding the value of the parameter - - three functions that will be used to get the value of the - parameter, store a value in the parameter, and unset the - parameter + - a GSU pointer to the three functions that will be used to get + the value of the parameter, store a value in the parameter, + and unset the parameter - the other macros provide simple ways to define the most common types of parameters; they get the name of the parameter and a pointer to a variable holding the value as arguments; they are @@ -636,6 +636,9 @@ There are four macros used: variables whose addresses are given should be of type `long', `char *', and `char **', respectively +GSU (get, set, unset) structures are defined in Src/zsh.h for each of +the parameter types scalar, integer, float, array, and hash. + For a description of how to write functions for getting or setting the value of parameters, or how to write a function to unset a parameter, see the description of the following functions in the `params.c' file: -- cgit 1.4.1