Skip to content

Portuguese pretérito-perfeito 1st person plural (nós) forms truncate to stems for many regular -ar verbs #45

Description

@sshpiz

(I used an AI agent to reproduce and write below. I hope this is useful and not unuseful.)

Version tested: verbecc 2.0.2 from PyPI

I can reproduce this in the library itself (not just in a downstream UI) for multiple regular Portuguese -ar verbs.

I also reproduced the same behavior against the current main branch on 2026-04-22 (commit 73480711fb18800533000e7f56ff7fcb4bbc964a).

Minimal reproduction:

from verbecc import CompleteConjugator, LangCodeISO639_1 as Lang, MoodPt, TensePt

verbs = ["contar", "pensar", "chegar", "passar", "deixar", "ajudar", "cantar", "comprar"]
cc = CompleteConjugator(Lang.pt)

for verb in verbs:
    forms = cc.conjugate(verb).get_moods()[MoodPt.Indicativo][TensePt.PretéritoPerfeito]
    print(verb, forms[5].get_data()["c"][0])

Observed output:

  • contar -> nós cont
  • pensar -> nós pens
  • chegar -> nós cheg
  • passar -> nós pass
  • deixar -> nós deix
  • ajudar -> nós ajud
  • cantar -> nós cant
  • comprar -> nós compr

Expected output:

  • contar -> nós contámos
  • pensar -> nós pensámos
  • chegar -> nós chegámos
  • passar -> nós passámos
  • deixar -> nós deixámos
  • ajudar -> nós ajudámos
  • cantar -> nós cantámos
  • comprar -> nós comprámos

So far this looks broader than a single verb and at least affects regular -ar templates.

I inspected the Portuguese conjugation XML in the installed package and noticed that the 4th slot of pretérito-perfeito is empty in at least these templates:

  • compr:ar
  • cheg:ar

For example, the pretérito-perfeito block contains an empty 4th <p><i/></p> entry where the nós form should be derived.

That seems consistent with the truncated outputs above.

As extra local investigation context: in an older vendored copy I also noticed malformed Portuguese template values such as ) and r) in related areas, but the current 2.0.2 package already reproduces the bug with the empty pretérito-perfeito slot(s) above.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions