Funny enough, that's *exactly* what I tried to do, but I ran into problems getting the variable to display in customize-variable (a problem with what I put in cus-start.el?) and if I manually used setq it didn't seem to get translated correctly by the way I coded the macro.

However, I'll try again next weekend and maybe you'll see a pull request from me sometime.

Michael

On Mon, Sep 13, 2021 at 12:05 PM Eli Zaretskii <eliz@gnu.org> wrote:
> From: Michael Gallagher - NOAA Affiliate <michael.r.gallagher@noaa.gov>
> Date: Mon, 13 Sep 2021 11:54:59 -0600
> Cc: Eli Zaretskii <eliz@gnu.org>, 50506@debbugs.gnu.org
>
> Eli, as far as your suggestions, these requirements make sense to me. I took a crack at modifying xdisp.c
> and was able to display ascii characters by appending to lnum_buf before the numbers are displayed.
> However, when I tried to hook that into the lisp code and add a variable so that it wouldn't be hardcoded (a
> must, of course) I fell flat on my face. Converting between character lisp variables to the appropriate C types
> is above my "undergrad CSCI refresher" pay grade. I wish I could be more helpful but if I were to be the one
> to submit a pull request I would probably need someone to hold my hand.

It's not too complicated.  A character is just an integer in Emacs,
and the way to get a C integer from a Lisp integer is by using the
XFIXNAT macro.

Look for the code which handles display-fill-column-indicator-mode, in
particular how it takes the indicator character from
Vdisplay_fill_column_indicator_character and adds it to a screen line.
What you need to do is very similar.


--
Michael Gallagher, PhD
CIRES Research Scientist
Polar Observations and Processes Team (ESRL/NOAA/PSD)
325 Broadway, Boulder, Colorado 80305