]> git.eshelyaron.com Git - emacs.git/commitdiff
Support menu separator types in tty menus (bug#74740)
authorGerd Möllmann <gerd@gnu.org>
Mon, 9 Dec 2024 14:08:01 +0000 (15:08 +0100)
committerEshel Yaron <me@eshelyaron.com>
Thu, 12 Dec 2024 15:46:48 +0000 (16:46 +0100)
* src/xdisp.c (display_tty_menu_item): Display "--" for all menu
separator types.

(cherry picked from commit d719a8140917e3b1dd6889f064ffb8e8b0621c7d)

src/xdisp.c

index 5c120386454510058cb87f861679e0cb0d765e3c..f02e6056253e78895f7d6e805ae825ed87522689 100644 (file)
@@ -27340,6 +27340,17 @@ display_tty_menu_item (const char *item_text, int width, int face_id,
       display_string (" >", Qnil, Qnil, 0, 0, &it, width, 0,
                      FRAME_COLS (f) - 1, -1);
     }
+   else if (menu_separator_name_p (item_text))
+    {
+      /* FIXME: This is only a "good enough for now" implementation of
+        menu separators as described in the Elisp info manual.  We
+        should probably ignore menu separators when computing the width
+        of a menu.  Secondly, we could draw actual horizontal lines of
+        different styles on ttys, maybe optionally using Unicode
+        characters via display table entries.  Patches very welcome.  */
+      display_string ("--", Qnil, Qnil, 0, 0, &it, width, 0,
+                     FRAME_COLS (f) - 1, -1);
+    }
   else
     display_string (item_text, Qnil, Qnil, 0, 0, &it,
                    width, 0, FRAME_COLS (f) - 1, -1);