[luatex] documentation typo of `pdf_start_link` whatsit?
luigi scarso
luigi.scarso at gmail.com
Wed Jul 26 08:44:11 CEST 2023
On Tue, 25 Jul 2023 at 16:21, Werner LEMBERG <wl at gnu.org> wrote:
>
> In `luatex.pdf` (version 1.16 from April 2023), page 142, field
> `link_attr` of the `pdf_start_link` whatsit is described as being of
> type 'table'. Is this correct? It rather seems to me that it is of
> type 'string', at least according to what `debugger.lua` reports...
>
>
> Werner
>
Both, I guess:
pdf_link_attr(n) = nodelib_gettoks(L, 3)
#define nodelib_gettoks(L,a) tokenlist_from_lua(L, a)
int tokenlist_from_lua(lua_State * L, int index)
{
const char *s;
int tok, t;
size_t i, j;
halfword p, q, r;
r = get_avail();
token_info(r) = 0;
token_link(r) = null;
p = r;
t = lua_type(L, index);
if (t == LUA_TTABLE) {
j = lua_rawlen(L, index);
if (j > 0) {
for (i = 1; i <= j; i++) {
lua_rawgeti(L, index, (int) i);
tok = token_from_lua(L);
if (tok >= 0) {
store_new_token(tok);
}
lua_pop(L, 1);
};
}
return r;
} else if (t == LUA_TSTRING) {
s = lua_tolstring(L, index, &j);
for (i = 0; i < j; i++) {
if (s[i] == 32) {
tok = token_val(10, s[i]);
} else {
int j1 = (int) str2uni((const unsigned char *) (s + i));
i = i + (size_t) (utf8_size(j1) - 1);
tok = token_val(12, j1);
}
store_new_token(tok);
}
return r;
} else {
free_avail(r);
return null;
}
}
--
luigi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://tug.org/pipermail/luatex/attachments/20230726/6522e27b/attachment.htm>
More information about the luatex
mailing list.