GNU bug report logs -
#77717
[PATCH] Add row-properties to 'vtable'
Previous Next
To reply to this bug, email your comments to 77717 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#77717
; Package
emacs
.
(Thu, 10 Apr 2025 22:11:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Ship Mints <shipmints <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Thu, 10 Apr 2025 22:11:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
This is useful for adding 'cursor-face or 'mouse-face to each row. I've
been advising 'vtable--insert-line' with an after advice. This is better.
Example:
(make-vtable
:columns
'(( :name "Foo"
:primary ascending
))
:allow-other-keys t ; backward compatibility for :row-properties
:row-properties '( mouse-face highlight
cursor-face region)
-Stephane
[Message part 2 (text/html, inline)]
[0001-Add-row-properties-to-vtable.patch (application/octet-stream, attachment)]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#77717
; Package
emacs
.
(Fri, 11 Apr 2025 20:03:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 77717 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
On Thu, Apr 10, 2025 at 6:11 PM Ship Mints <shipmints <at> gmail.com> wrote:
> This is useful for adding 'cursor-face or 'mouse-face to each row. I've
> been advising 'vtable--insert-line' with an after advice. This is better.
>
> Example:
>
> (make-vtable
> :columns
> '(( :name "Foo"
> :primary ascending
> ))
> :allow-other-keys t ; backward compatibility for :row-properties
> :row-properties '( mouse-face highlight
> cursor-face region)
>
Revised patch attached with the bug number and with 'keymap now applied to
the whole row vs. just the row text. This ensures that keys (e.g., "q" to
quit) operate correctly if point is at the newline.
-Stephane
[Message part 2 (text/html, inline)]
[0001-Fix-row-keymap-and-add-row-properties-to-vtable-bug-.patch (application/octet-stream, attachment)]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#77717
; Package
emacs
.
(Sat, 12 Apr 2025 11:53:06 GMT)
Full text and
rfc822 format available.
Message #11 received at 77717 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
On Fri, Apr 11, 2025 at 4:02 PM Ship Mints <shipmints <at> gmail.com> wrote:
> On Thu, Apr 10, 2025 at 6:11 PM Ship Mints <shipmints <at> gmail.com> wrote:
>
>> This is useful for adding 'cursor-face or 'mouse-face to each row. I've
>> been advising 'vtable--insert-line' with an after advice. This is better.
>>
>> Example:
>>
>> (make-vtable
>> :columns
>> '(( :name "Foo"
>> :primary ascending
>> ))
>> :allow-other-keys t ; backward compatibility for
>> :row-properties
>> :row-properties '( mouse-face highlight
>> cursor-face region)
>>
>
> Revised patch attached with the bug number and with 'keymap now applied to
> the whole row vs. just the row text. This ensures that keys (e.g., "q" to
> quit) operate correctly if point is at the newline.
>
While I have vtable cracked open, this revised patch now includes unsort.
vtable is nice. Now, a bit nicer.
-Stephane
[Message part 2 (text/html, inline)]
[0001-vtable-row-keymap-row-properties-unsort-bug-77717.patch (application/octet-stream, attachment)]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#77717
; Package
emacs
.
(Sat, 12 Apr 2025 12:45:05 GMT)
Full text and
rfc822 format available.
Message #14 received at 77717 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
On Sat, Apr 12, 2025 at 7:51 AM Ship Mints <shipmints <at> gmail.com> wrote:
> On Fri, Apr 11, 2025 at 4:02 PM Ship Mints <shipmints <at> gmail.com> wrote:
>
>> On Thu, Apr 10, 2025 at 6:11 PM Ship Mints <shipmints <at> gmail.com> wrote:
>>
>>> This is useful for adding 'cursor-face or 'mouse-face to each row. I've
>>> been advising 'vtable--insert-line' with an after advice. This is better.
>>>
>>> Example:
>>>
>>> (make-vtable
>>> :columns
>>> '(( :name "Foo"
>>> :primary ascending
>>> ))
>>> :allow-other-keys t ; backward compatibility for
>>> :row-properties
>>> :row-properties '( mouse-face highlight
>>> cursor-face region)
>>>
>>
>> Revised patch attached with the bug number and with 'keymap now applied
>> to the whole row vs. just the row text. This ensures that keys (e.g., "q"
>> to quit) operate correctly if point is at the newline.
>>
>
> While I have vtable cracked open, this revised patch now includes unsort.
> vtable is nice. Now, a bit nicer.
>
Now with a complete sentence in 'vtable-unsort' docstring.
[Message part 2 (text/html, inline)]
[0001-vtable-row-keymap-row-properties-unsort-bug-77717.patch (application/octet-stream, attachment)]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#77717
; Package
emacs
.
(Mon, 21 Apr 2025 20:21:05 GMT)
Full text and
rfc822 format available.
Message #17 received at 77717 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
On Sat, Apr 12, 2025 at 8:44 AM Ship Mints <shipmints <at> gmail.com> wrote:
> On Sat, Apr 12, 2025 at 7:51 AM Ship Mints <shipmints <at> gmail.com> wrote:
>
>> On Fri, Apr 11, 2025 at 4:02 PM Ship Mints <shipmints <at> gmail.com> wrote:
>>
>>> On Thu, Apr 10, 2025 at 6:11 PM Ship Mints <shipmints <at> gmail.com> wrote:
>>>
>>>> This is useful for adding 'cursor-face or 'mouse-face to each row.
>>>> I've been advising 'vtable--insert-line' with an after advice. This is
>>>> better.
>>>>
>>>> Example:
>>>>
>>>> (make-vtable
>>>> :columns
>>>> '(( :name "Foo"
>>>> :primary ascending
>>>> ))
>>>> :allow-other-keys t ; backward compatibility for
>>>> :row-properties
>>>> :row-properties '( mouse-face highlight
>>>> cursor-face region)
>>>>
>>>
>>> Revised patch attached with the bug number and with 'keymap now applied
>>> to the whole row vs. just the row text. This ensures that keys (e.g., "q"
>>> to quit) operate correctly if point is at the newline.
>>>
>>
>> While I have vtable cracked open, this revised patch now includes
>> unsort. vtable is nice. Now, a bit nicer.
>>
>
> Now with a complete sentence in 'vtable-unsort' docstring.
>
I've expanded the scope of this bug to include additional enhancements, all
intended to be backwardly compatible, yet provide some very nice
customization features.
The biggest issues I wanted to address were that display-line-numbers was
not correctly supported when using the header-line, and that
text-scale-mode did not work well.
Along the way, I added custom faces for the header, column names,
column-width computation optionally includes column name width, an unsort
command, skipping the divider on the last column (this one was an outright
bug), an option to make the divider intangible, an option to not produce
dividers on the header, customizable sort indicators and faces.
As test jigs, I've been using some code I wrote for tab-bar that presents
all open tabs from across all frames and in a useful way for frame/tab
switching (discussed in a few open bugs with Juri), and a project-list tool
(discussed in an open bug with Dmitry). vtable is great for these use
cases. I will share those for feedback after the vtable work.
I have a couple more minor vtable things to do, and I figured if anyone is
interested in vtable as the wonderful addition to Emacs it is (thanks
Lars!), I wanted to share the work in process for feedback. I will update
the documentation and I might go through flymake noise and add docstrings
while I'm at it.
Patch attached.
-Stephane
[Message part 2 (text/html, inline)]
[0001-vtable-enhancements-bug-77747.patch (application/octet-stream, attachment)]
This bug report was last modified 58 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.