[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

"args-out-of-range" error when using data from external process on Windo

From: Alexis
Subject: "args-out-of-range" error when using data from external process on Windows
Date: Thu, 18 Apr 2024 16:11:02 +1000
User-agent: mu4e 1.12.4; emacs 29.3

[Second attempt, after the formatting somehow got messed by the sending process up on the first attempt, sorry ....]

[Not currently subscribed to the list, so please cc me on replies.]

Hi all,

A user of my `Ebuku` package has reported an "args-out-of-range" error that i'm out of my depth trying to diagnose. Here's the GitHub issue:

i can't reproduce the issue on my own system:

* Gentoo + Emacs 29.3
* LANG=en_AU.UTF-8
* The only set LC_* variables are:
* current-language-environment: "English"
* locale-coding-system: utf-8-unix

Their system:

* Windows 11, using Emacs 29.2, obtained via Scoop package manager; not using WSL
* LANG=zh_CN.UTF-8, LC_ALL=zh_CN.UTF-8
* current-language-environment: UTF-8 locale-coding-system: cp936
* default-process-coding-system: '(utf-8-dos . utf-8-unix)

`Ebuku` uses `call-process` to call the Python-based `buku` * bookmark database manager and present the resulting output in Emacs. buku stores data in an SQLite database.


The link:

in the buku database results in:

Debugger entered--Lisp error: (args-out-of-range "1884. Welcome to Comprehensive Rust 🦀 - Comprehens..." 15862 15893) match-string(1 "1884. Welcome to Comprehensive Rust 🦀 - Comprehensive Rust 🦀")
 ebuku--search-helper("--print" "[all]" "-1000" "")
 ebuku-show-all() ebuku()
 command-execute(ebuku record)
 execute-extended-command(nil "ebuku""ebuku")
funcall-interactively(execute-extended-command nil "ebuku" "ebuku")

Once the Unicode CRAB emoji is removed, there's no issue. The link:

in the buku database results in:

Debugger entered--Lisp error:
(args-out-of-range "2027. Taking org-roam everywhere with logseq • Core Dumped" 32318 32355) match-string(1 "2027. Taking org-roam everywhere with logseq • Cor...") (setq tags (match-string 1 line)) (progn (string-match "^\\s-*[#] \\(.*\\)$" line)
 (setq tags (match-string 1 line)))
 [snip rest of traceback]

The user has confirmed that the buku database is UTF-8.

Does anyone have any suggestions about what might be happening? i presume my code is making some incorrect assumptions, or not doing some encoding stuff that it should be. i really want to get encoding and language support right, so even outside of this specific issue, general comments about things i need to fix in this regard would be most welcome. :-)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]