summaryrefslogtreecommitdiff
path: root/tex/context/base/publ-aut.lua
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/publ-aut.lua')
-rw-r--r--tex/context/base/publ-aut.lua34
1 files changed, 20 insertions, 14 deletions
diff --git a/tex/context/base/publ-aut.lua b/tex/context/base/publ-aut.lua
index 266740ea2..ea86e702a 100644
--- a/tex/context/base/publ-aut.lua
+++ b/tex/context/base/publ-aut.lua
@@ -229,8 +229,7 @@ local function the_initials(initials,symbol,connector)
end
r = r + 1 ; result[r] = concat(set)
else
- r = r + 1 ; result[r] = initial
- r = r + 1 ; result[r] = symbol
+ r = r + 1 ; result[r] = initial .. symbol
end
end
return result
@@ -462,6 +461,7 @@ end
local function indexer(dataset,list,method)
local current = datasets[dataset]
local luadata = current.luadata
+ local details = current.details
local result = { }
local splitted = newsplitter(splitter) -- saves mem
local snippets = { } -- saves mem
@@ -473,8 +473,9 @@ local function indexer(dataset,list,method)
local index = tostring(i)
local entry = luadata[tag]
if entry then
- local value = getcasted(current,entry,field) or ""
+ local value = getcasted(current,tag,field) or ""
local mainkey = writer(value,snippets)
+ local detail = details[tag]
result[i] = {
index = i,
split = {
@@ -515,17 +516,22 @@ local function indexer(dataset,list,method)
return result
end
-local function sorted(dataset,list,sorttype) -- experimental
- local valid = indexer(dataset,list,sorttype)
- if #valid == 0 or #valid ~= #list then
- return list
- else
- sorters.sort(valid,function(a,b) return a ~= b and compare(a,b) == -1 end)
- for i=1,#valid do
- valid[i] = valid[i].index
- end
- return valid
- end
+-- local function sorted(dataset,list) -- experimental
+-- local valid = indexer(dataset,list,sorttype)
+-- if #valid == 0 or #valid ~= #list then
+-- return list
+-- else
+-- sorters.sort(valid,function(a,b) return a ~= b and compare(a,b) == -1 end)
+-- for i=1,#valid do
+-- valid[i] = valid[i].index
+-- end
+-- return valid
+-- end
+-- end
+
+local function sorted(dataset,valid) -- experimental
+ sorters.sort(valid,compare)
+ return valid
end
-- made public