Subject: bug#75794: [PATCH] feat(icomplete): markers and vertical alignment

From: Eli Zaretskii <[email-masked]>
Date: Sat, 29 Mar 2025 13:15:54 +0300

> From: Rahul Martim Juliato <[email-masked]>
> Cc: Rahul Martim Juliato <[email-masked]>,  [email-masked],
>   [email-masked]
> Date: Wed, 26 Mar 2025 23:29:36 -0300
> 
> Please find attached the latest version of this patch:
> `0001-Enhance-icomplete-vertical-mode-2025-03-26.patch'

Thanks.  Compiling this produces the following warnings:

    ELC      icomplete.elc

  In icomplete--render-vertical:
  icomplete.el:1015:11: Warning: Unused lexical variable `comp'
  icomplete.el:1019:10: Warning: Unused lexical variable `comp'

Can you fix this, please?

Also, a couple of minor nits:

> --- a/etc/NEWS
> +++ b/etc/NEWS
> @@ -269,6 +269,23 @@ return value windows whose buffers share their text with BUFFER-OR-NAME.
>  With such an entry, 'display-buffer-reuse-window' may also choose a
>  window whose buffer shares text with the buffer to display.
>  
> +*** New user options for 'icomplete-vertical-mode'.
> +New user options have been added to enhance 'icomplete-vertical-mode':
> +- 'icomplete-vertical-in-buffer-adjust-list' aligns in-buffer
> +  completion to the original cursor column.
> +- 'icomplete-vertical-render-prefix-indicator' adds a prefix indicator
> +  to completion candidates.
> +- 'icomplete-vertical-selected-prefix-indicator' specifies the prefix
> +  string for the selected candidate.
> +- 'icomplete-vertical-unselected-prefix-indicator' specifies the prefix
> +  string for unselected candidates.
> +
> +*** New faces for 'icomplete-vertical-mode'.
> +New faces have been added to 'icomplete-vertical-mode':
> +- 'icomplete-vertical-selected-prefix-indicator-face' controls the
> +  appearance of the selected candidate prefix.
> +- 'icomplete-vertical-unselected-prefix-indicator-face' controls the
> +  appearance of unselected candidate prefixes.

These entries should be under "Changes in Specialized Modes and
Packages in Emacs 31.1", in a new sub-section "Icomplete".

> +(defcustom icomplete-vertical-in-buffer-adjust-list nil
> +  "Control whether in-buffer completion should align the cursor position.
> +If this is t and `icomplete-in-buffer' is t, and `icomplete-vertical-mode'
> +is activated, the in-buffer vertical completions are shown aligned to the
> +cursor position when the completion started, not on the first column, as
> +the default behaviour."
               ^^^^^^^^^
We use the US English spelling: "behavior".