Skip to content

Incorrect ARCHIVE_CATEGORY when archiving second-level headline #882

Closed
@iordanisg

Description

@iordanisg

Describe the bug

When archiving a second-level headline that inherits its category from the parent headline, the ARCHIVE_CATEGORY is wrong, if the second-level headline is the last entry before another first-level headline with a different category.

Steps to reproduce

  1. Create an org file with the following contents:
* Project goal goes here
:PROPERTIES:
:CATEGORY: categoryA
:END:
** TODO This is a project task
* This is another project goal
:PROPERTIES:
:CATEGORY: categoryB
:END:
** TODO This is another project task
  1. Archive task This is a project task
  2. Check ARCHIVE_CATEGORY in the archive file and notice that it's categoryB, instead of categoryA

Expected behavior

ARCHIVE_CATEGORY should be the parent task category, i.e. categoryA in this case.

Emacs functionality

No response

Minimal init.lua

local tmp_dir = vim.env.TMPDIR or vim.env.TMP or vim.env.TEMP or '/tmp'
local nvim_root = tmp_dir .. '/nvim_orgmode'
local lazy_root = nvim_root .. '/lazy'
local lazypath = lazy_root .. '/lazy.nvim'

for _, name in ipairs({ "config", "data", "state", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = nvim_root .. "/" .. name
end

-- Install lazy.nvim if not already installed
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({
    'git',
    'clone',
    '--filter=blob:none',
    'https://github.com/folke/lazy.nvim.git',
    '--branch=stable', -- latest stable release
    lazypath,
  })
end
vim.opt.rtp:prepend(lazypath)

require('lazy').setup({
  {
    'nvim-orgmode/orgmode',
    event = 'VeryLazy',
    ft = { 'org' },
    config = function()
      require('orgmode').setup()
    end,
  },
}, {
  root = lazy_root,
  lockfile = nvim_root .. '/lazy.json',
  install = {
    missing = false,
  },
})

require('lazy').sync({
  wait = true,
  show = false,
})

Screenshots and recordings

No response

OS / Distro

macOS 15.2

Neovim version/commit

0.10.4

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions