From: martin rudalics <rudalics@gmx.at>
To: Dmitry Gutov <dgutov@yandex.ru>, Eli Zaretskii <eliz@gnu.org>
Cc: rpluim@gmail.com, 52493@debbugs.gnu.org
Subject: bug#52493: 29.0.50; Setting Inconsolata up in init.el makes default face rendered wrong
Date: Sat, 31 Dec 2022 20:01:32 +0100 [thread overview]
Message-ID: <cef93ef7-2ba5-482a-19d7-d837bc1f7091@gmx.at> (raw)
In-Reply-To: <de3af1b8-635c-debf-647d-93c7ac9884a9@yandex.ru>
[-- Attachment #1: Type: text/plain, Size: 5211 bytes --]
I've rewritten the output routines so they catch the width changes but
didn't change anything else. The output in *foo* should be almost
self-explanatory now but see first one I ran with emacs -Q and the
following four evaluations
(set-face-attribute 'default nil :height 120 :family "DejaVu Sans Mono")
(set-face-attribute 'default nil :height 140 :family "DejaVu Sans Mono")
(set-face-attribute 'default nil :height 130 :family "DejaVu Sans Mono")
(set-face-attribute 'default nil :height 120 :family "DejaVu Sans Mono")
here. This got me
adjust_frame_size old native pixels 80x25 new native pixels 80x25 old text pixels 80x25 new text pixels 80x24 old text chars 80x25 new text chars 80x24
adjust_frame_size old native pixels 80x25 new native pixels 736x450 old text pixels 80x25 new text pixels 720x450 old text chars 80x25 new text chars 80x25
adjust_frame_size old native pixels 736x450 new native pixels 736x648 old text pixels 720x450 new text pixels 720x648 old text chars 80x25 new text chars 80x36
adjust_frame_size old native pixels 736x648 new native pixels 752x648 old text pixels 720x648 new text pixels 720x648 old text chars 80x36 new text chars 80x36
xg_frame_set_char_size old native pixels 752x648 new native pixels 752x648 outer pixels 752x673
xg_wm_set_size_hint scale 1 char width 9 vscroll 16 fringes 16 borders 0 base width 41 width inc 9
char height 18 menubar 25 toolbar 0 hscroll 0 borders 0 base height 43 height inc 18
xg_wm_set_size_hint scale 1 char width 9 vscroll 16 fringes 16 borders 0 base width 41 width inc 9
char height 18 menubar 25 toolbar 41 hscroll 0 borders 0 base height 84 height inc 18
xg_frame_set_char_size old native pixels 752x648 new native pixels 752x648 outer pixels 752x714 outer rest 0x0
x_new_font old char size 9x18 new char size 10x19 text chars 80x36 old text pixels 720x648 new text pixels 800x684
xg_wm_set_size_hint scale 1 char width 10 vscroll 16 fringes 16 borders 0 base width 42 width inc 10
char height 19 menubar 25 toolbar 41 hscroll 0 borders 0 base height 85 height inc 19
xg_frame_set_char_size old native pixels 752x648 new native pixels 832x684 outer pixels 832x750 outer rest 0x0
xg_frame_resized old native pixels 752x648 new native pixels 832x684
adjust_frame_size old native pixels 752x648 new native pixels 832x684 old text pixels 720x648 new text pixels 800x684 old text chars 80x36 new text chars 80x36
x_new_font old char size 10x19 new char size 11x23 text chars 80x36 old text pixels 800x684 new text pixels 880x828
xg_wm_set_size_hint scale 1 char width 11 vscroll 16 fringes 16 borders 0 base width 43 width inc 11
char height 23 menubar 25 toolbar 41 hscroll 0 borders 0 base height 89 height inc 23
xg_frame_set_char_size old native pixels 832x684 new native pixels 912x828 outer pixels 912x894 outer rest 0x0
xg_frame_resized old native pixels 832x684 new native pixels 912x828
adjust_frame_size old native pixels 832x684 new native pixels 912x828 old text pixels 800x684 new text pixels 880x828 old text chars 80x36 new text chars 80x36
x_new_font old char size 11x23 new char size 10x21 text chars 80x36 old text pixels 880x828 new text pixels 800x756
xg_wm_set_size_hint scale 1 char width 10 vscroll 16 fringes 16 borders 0 base width 42 width inc 10
char height 21 menubar 25 toolbar 41 hscroll 0 borders 0 base height 87 height inc 21
xg_frame_set_char_size old native pixels 912x828 new native pixels 832x756 outer pixels 832x822 outer rest 0x0
xg_frame_resized old native pixels 912x828 new native pixels 832x756
adjust_frame_size old native pixels 912x828 new native pixels 832x756 old text pixels 880x828 new text pixels 800x756 old text chars 80x36 new text chars 80x36
x_new_font old char size 10x21 new char size 10x19 text chars 80x36 old text pixels 800x756 new text pixels 800x684
xg_wm_set_size_hint scale 1 char width 10 vscroll 16 fringes 16 borders 0 base width 42 width inc 10
char height 19 menubar 25 toolbar 41 hscroll 0 borders 0 base height 85 height inc 19
xg_frame_set_char_size old native pixels 832x756 new native pixels 832x684 outer pixels 832x750 outer rest 0x0
xg_frame_resized old native pixels 832x756 new native pixels 832x684
adjust_frame_size old native pixels 832x756 new native pixels 832x684 old text pixels 800x756 new text pixels 800x684 old text chars 80x36 new text chars 80x36
where each x_new_font paragraph corresponds to one evaluation above.
Note the following two properties:
- As soon as things clear up, the size of the frame in text characters
is 80x36 and never changes after that. The same will have to hold for
your 'set-face-attribute' calls regardless of what the pixel sizes
say.
- "outer rest 0x0" stands for a zero rest when dividing the requested
size minus the base size by the size increments. The same will have
to hold for your 'set-face-attribute' calls.
Maybe I'm just lucky here or it's because I do not scale. I invite
everyone on GTK with some spare time to apply the attached
x_scale_font.diff, do some random 'set-face-attribute' calls and consult
the contents of the *foo* buffer. If the two properties don't hold,
something might be wrong and we should investigate that.
martin
[-- Attachment #2: x_scale_font.diff --]
[-- Type: text/x-patch, Size: 9076 bytes --]
diff --git a/lisp/window.el b/lisp/window.el
index a11293d372..706c988b2e 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -10596,6 +10596,21 @@ window-prefix-map
"0" #'delete-windows-on)
(define-key ctl-x-map "w" window-prefix-map)
+(defun foo-it (&rest rest)
+ (with-current-buffer (get-buffer-create "*foo*")
+ (goto-char (point-max))
+ (when rest
+ (if (consp (car rest))
+ (insert (format "%sx%s" (caar rest) (cdar rest)))
+ (insert (format "%s" (car rest))))
+ (setq rest (cdr rest))
+ (while rest
+ (if (consp (car rest))
+ (insert (format " %sx%s" (caar rest) (cdar rest)))
+ (insert (format " %s" (car rest))))
+ (setq rest (cdr rest)))
+ (insert "\n"))))
+
(provide 'window)
;;; window.el ends here
diff --git a/src/frame.c b/src/frame.c
index b57b296be5..d7d069d908 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -906,6 +906,32 @@ adjust_frame_size (struct frame *f, int new_text_width, int new_text_height,
unblock_input ();
+ if (old_native_width != new_native_width
+ || old_native_height != new_native_height
+ || old_text_width != new_text_width
+ || old_text_height != new_text_height
+ || old_text_cols != new_text_cols
+ || old_text_lines != new_text_lines)
+ CALLN (Ffuncall, Qfoo_it, intern ("adjust_frame_size"),
+ intern ("old native pixels"),
+ Fcons (make_fixnum (old_native_width),
+ make_fixnum (old_native_height)),
+ intern ("new native pixels"),
+ Fcons (make_fixnum (new_native_width),
+ make_fixnum (new_native_height)),
+ intern ("old text pixels"),
+ Fcons (make_fixnum (old_text_width),
+ make_fixnum (old_text_height)),
+ intern ("new text pixels"),
+ Fcons (make_fixnum (new_text_width),
+ make_fixnum (new_text_height)),
+ intern ("old text chars"),
+ Fcons (make_fixnum (old_text_cols),
+ make_fixnum (old_text_lines)),
+ intern ("new text chars"),
+ Fcons (make_fixnum (new_text_cols),
+ make_fixnum (new_text_lines)));
+
#ifdef HAVE_WINDOW_SYSTEM
{
/* Adjust size of F's child frames. */
diff --git a/src/gtkutil.c b/src/gtkutil.c
index a6bba096a4..16e906269a 100644
--- a/src/gtkutil.c
+++ b/src/gtkutil.c
@@ -1149,6 +1149,14 @@ xg_frame_resized (struct frame *f, int width, int height)
f->new_size_p ? f->new_height : -1);
FRAME_RIF (f)->clear_under_internal_border (f);
+
+ CALLN (Ffuncall, Qfoo_it, intern ("xg_frame_resized"),
+ intern ("old native pixels"),
+ Fcons (make_fixnum (FRAME_PIXEL_WIDTH (f)),
+ make_fixnum (FRAME_PIXEL_HEIGHT (f))),
+ intern ("new native pixels"),
+ Fcons (make_fixnum (width), make_fixnum (height)));
+
change_frame_size (f, width, height, false, true, false);
SET_FRAME_GARBAGED (f);
cancel_mouse_face (f);
@@ -1174,6 +1182,18 @@ xg_frame_set_char_size (struct frame *f, int width, int height)
int outer_width = width + FRAME_TOOLBAR_WIDTH (f);
bool was_visible = false;
bool hide_child_frame;
+ int scale = xg_get_scale (f);
+ GdkGeometry size_hints;
+
+ if (scale != 1 && !frame_resize_pixelwise)
+ {
+ width = width + (width % (FRAME_COLUMN_WIDTH (f) / scale));
+ outer_width = width + FRAME_TOOLBAR_WIDTH (f);
+
+ height = height + (height % (FRAME_LINE_HEIGHT (f) / scale));
+ outer_height
+ = height + FRAME_TOOLBAR_HEIGHT (f) + FRAME_MENUBAR_HEIGHT (f);
+ }
#ifndef HAVE_PGTK
gtk_window_get_size (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)),
@@ -1196,8 +1216,8 @@ xg_frame_set_char_size (struct frame *f, int width, int height)
/* Do this before resize, as we don't know yet if we will be resized. */
FRAME_RIF (f)->clear_under_internal_border (f);
- outer_height /= xg_get_scale (f);
- outer_width /= xg_get_scale (f);
+ outer_height /= scale;
+ outer_width /= scale;
xg_wm_set_size_hint (f, 0, 0);
@@ -1317,6 +1337,30 @@ xg_frame_set_char_size (struct frame *f, int width, int height)
SET_FRAME_GARBAGED (f);
cancel_mouse_face (f);
+ size_hints = f->output_data.xp->size_hints;
+ if (outer_width > 0 && size_hints.base_width > 0 && size_hints.width_inc > 0
+ && outer_height > 0 && size_hints.base_height > 0 && size_hints.height_inc > 0)
+ CALLN (Ffuncall, Qfoo_it, intern ("xg_frame_set_char_size"),
+ intern ("old native pixels"),
+ Fcons (make_fixnum (FRAME_PIXEL_WIDTH (f)),
+ make_fixnum (FRAME_PIXEL_HEIGHT (f))),
+ intern ("new native pixels"),
+ Fcons (make_fixnum (width), make_fixnum (height)),
+ intern ("outer pixels"),
+ Fcons (make_fixnum (outer_width), make_fixnum (outer_height)),
+ intern ("outer rest"),
+ Fcons (make_fixnum ((outer_width - size_hints.base_width) % size_hints.width_inc),
+ make_fixnum ((outer_height - size_hints.base_height) % size_hints.height_inc)));
+ else
+ CALLN (Ffuncall, Qfoo_it, intern ("xg_frame_set_char_size"),
+ intern ("old native pixels"),
+ Fcons (make_fixnum (FRAME_PIXEL_WIDTH (f)),
+ make_fixnum (FRAME_PIXEL_HEIGHT (f))),
+ intern ("new native pixels"),
+ Fcons (make_fixnum (width), make_fixnum (height)),
+ intern ("outer pixels"),
+ Fcons (make_fixnum (outer_width), make_fixnum (outer_height)));
+
/* We can not call change_frame_size for a mapped frame,
we can not set pixel width/height either. The window manager may
override our resize request, XMonad does this all the time.
@@ -2028,6 +2072,23 @@ xg_wm_set_size_hint (struct frame *f, long int flags, bool user_position)
&f->output_data.xp->size_hints,
sizeof (size_hints)) != 0)
{
+ CALLN (Ffuncall, Qfoo_it, intern ("xg_wm_set_size_hint"),
+ intern ("scale"), make_fixnum (scale),
+ intern ("char width"), make_fixnum (FRAME_COLUMN_WIDTH (f)),
+ intern ("vscroll"), make_fixnum (FRAME_SCROLL_BAR_AREA_WIDTH (f)),
+ intern ("fringes"), make_fixnum (FRAME_TOTAL_FRINGE_WIDTH (f)),
+ intern ("borders"), make_fixnum (2 * FRAME_INTERNAL_BORDER_WIDTH (f)),
+ intern ("base width"), make_fixnum (size_hints.base_width),
+ intern ("width inc"), make_fixnum (size_hints.width_inc));
+ CALLN (Ffuncall, Qfoo_it, intern (" "),
+ intern ("char height"), make_fixnum (FRAME_LINE_HEIGHT (f)),
+ intern ("menubar"), make_fixnum (FRAME_MENUBAR_HEIGHT (f)),
+ intern ("toolbar"), make_fixnum (FRAME_TOOLBAR_HEIGHT (f)),
+ intern ("hscroll"), make_fixnum (FRAME_SCROLL_BAR_AREA_HEIGHT (f)),
+ intern ("borders"), make_fixnum (2 * FRAME_INTERNAL_BORDER_WIDTH (f)),
+ intern ("base height"), make_fixnum (size_hints.base_height),
+ intern ("height inc"), make_fixnum (size_hints.height_inc));
+
block_input ();
gtk_window_set_geometry_hints (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)),
NULL, &size_hints, hint_flags);
diff --git a/src/window.c b/src/window.c
index f116b9a9d7..c090f29461 100644
--- a/src/window.c
+++ b/src/window.c
@@ -8394,6 +8394,7 @@ syms_of_window (void)
DEFSYM (Qheader_line_format, "header-line-format");
DEFSYM (Qtab_line_format, "tab-line-format");
DEFSYM (Qno_other_window, "no-other-window");
+ DEFSYM (Qfoo_it, "foo-it");
DEFVAR_LISP ("temp-buffer-show-function", Vtemp_buffer_show_function,
doc: /* Non-nil means call as function to display a help buffer.
diff --git a/src/xterm.c b/src/xterm.c
index 7eaf59d54b..b2e689fe84 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -26160,6 +26160,8 @@ x_new_font (struct frame *f, Lisp_Object font_object, int fontset)
{
struct font *font = XFONT_OBJECT (font_object);
int unit, font_ascent, font_descent;
+ int old_width = FRAME_COLUMN_WIDTH (f);
+ int old_height = FRAME_LINE_HEIGHT (f);
if (fontset < 0)
fontset = fontset_from_font (font_object);
@@ -26197,9 +26199,27 @@ x_new_font (struct frame *f, Lisp_Object font_object, int fontset)
because it's done in Fx_show_tip, and it leads to problems because
the tip frame has no widget. */
if (FRAME_X_WINDOW (f) != 0 && !FRAME_TOOLTIP_P (f))
- adjust_frame_size
- (f, FRAME_COLS (f) * FRAME_COLUMN_WIDTH (f),
- FRAME_LINES (f) * FRAME_LINE_HEIGHT (f), 3, false, Qfont);
+ {
+ CALLN (Ffuncall, Qfoo_it, intern ("\nx_new_font"),
+ intern ("old char size"),
+ Fcons (make_fixnum (old_width), make_fixnum (old_height)),
+ intern ("new char size"),
+ Fcons (make_fixnum (FRAME_COLUMN_WIDTH (f)),
+ make_fixnum (FRAME_LINE_HEIGHT (f))),
+ intern ("text chars"),
+ Fcons (make_fixnum (FRAME_COLS (f)),
+ make_fixnum (FRAME_LINES (f))),
+ intern ("old text pixels"),
+ Fcons (make_fixnum (FRAME_TEXT_WIDTH (f)),
+ make_fixnum (FRAME_TEXT_HEIGHT (f))),
+ intern ("new text pixels"),
+ Fcons (make_fixnum (FRAME_COLS (f) * FRAME_COLUMN_WIDTH (f)),
+ make_fixnum (FRAME_LINES (f) * FRAME_LINE_HEIGHT (f))));
+
+ adjust_frame_size
+ (f, FRAME_COLS (f) * FRAME_COLUMN_WIDTH (f),
+ FRAME_LINES (f) * FRAME_LINE_HEIGHT (f), 3, false, Qfont);
+ }
#ifdef HAVE_X_I18N
if (FRAME_XIC (f)
next prev parent reply other threads:[~2022-12-31 19:01 UTC|newest]
Thread overview: 169+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-14 23:43 bug#52493: 29.0.50; Setting Inconsolata up in init.el makes default face rendered wrong Dmitry Gutov
2021-12-15 14:57 ` Eli Zaretskii
2021-12-15 22:43 ` Dmitry Gutov
2021-12-16 7:29 ` Eli Zaretskii
2021-12-16 13:01 ` Dmitry Gutov
2021-12-16 13:31 ` Eli Zaretskii
2021-12-16 13:42 ` Dmitry Gutov
2021-12-16 14:08 ` Eli Zaretskii
2021-12-16 14:57 ` Dmitry Gutov
2021-12-16 15:15 ` Eli Zaretskii
2021-12-16 15:34 ` Eli Zaretskii
2021-12-16 15:42 ` Dmitry Gutov
2021-12-16 16:56 ` Eli Zaretskii
2021-12-17 0:49 ` Dmitry Gutov
2021-12-17 7:37 ` Eli Zaretskii
2021-12-17 7:46 ` Lars Ingebrigtsen
2021-12-17 8:38 ` Eli Zaretskii
2022-12-21 1:14 ` Dmitry Gutov
2022-12-21 9:38 ` Gregory Heytings
2022-12-21 12:49 ` Eli Zaretskii
2022-12-21 23:39 ` Gregory Heytings
2022-12-22 7:18 ` Eli Zaretskii
2022-12-25 22:42 ` Gregory Heytings
2022-12-21 13:40 ` Dmitry Gutov
2022-12-21 23:39 ` Gregory Heytings
2022-12-22 7:20 ` Eli Zaretskii
2022-12-25 22:42 ` Gregory Heytings
2022-12-26 12:20 ` Eli Zaretskii
2022-12-26 14:05 ` Gregory Heytings
2022-12-22 20:32 ` Dmitry Gutov
2022-12-25 22:42 ` Gregory Heytings
2022-12-26 0:46 ` Gregory Heytings
2022-12-26 12:25 ` Eli Zaretskii
2022-12-29 22:45 ` Gregory Heytings
2022-12-30 14:47 ` Eli Zaretskii
2022-12-30 15:40 ` Gregory Heytings
2022-12-30 16:14 ` Eli Zaretskii
2022-12-30 16:27 ` Gregory Heytings
2022-12-30 17:01 ` Eli Zaretskii
2022-12-30 17:28 ` Gregory Heytings
2022-12-26 15:48 ` Dmitry Gutov
2022-12-26 16:19 ` Gregory Heytings
2022-12-27 2:04 ` Dmitry Gutov
2022-12-28 15:20 ` Gregory Heytings
2022-12-28 17:01 ` Eli Zaretskii
2022-12-27 1:58 ` Dmitry Gutov
2022-12-28 15:19 ` Gregory Heytings
2022-12-21 12:11 ` Eli Zaretskii
2021-12-17 12:30 ` Dmitry Gutov
2021-12-17 13:01 ` Eli Zaretskii
2021-12-17 13:21 ` Dmitry Gutov
2021-12-17 13:46 ` Eli Zaretskii
2021-12-17 14:06 ` Dmitry Gutov
2021-12-17 14:42 ` Eli Zaretskii
2021-12-17 19:17 ` martin rudalics
2022-12-21 1:08 ` Dmitry Gutov
2022-12-21 9:22 ` martin rudalics
2022-12-21 12:56 ` Dmitry Gutov
2022-12-21 17:05 ` martin rudalics
2022-12-21 23:00 ` Dmitry Gutov
2022-12-22 10:15 ` martin rudalics
2022-12-22 20:39 ` Dmitry Gutov
2022-12-23 9:14 ` martin rudalics
2022-12-23 9:19 ` martin rudalics
2022-12-23 18:48 ` Dmitry Gutov
2022-12-24 9:27 ` martin rudalics
2022-12-24 13:38 ` Dmitry Gutov
2022-12-25 10:21 ` martin rudalics
2022-12-25 13:01 ` Dmitry Gutov
2022-12-25 16:07 ` martin rudalics
2022-12-25 16:52 ` Dmitry Gutov
2022-12-26 9:10 ` martin rudalics
2022-12-27 23:15 ` Dmitry Gutov
2022-12-28 10:08 ` martin rudalics
2022-12-28 12:31 ` Dmitry Gutov
2022-12-28 17:35 ` martin rudalics
2022-12-28 22:35 ` Dmitry Gutov
2022-12-29 9:05 ` martin rudalics
2022-12-29 22:29 ` Dmitry Gutov
2022-12-30 9:51 ` martin rudalics
2022-12-31 19:01 ` martin rudalics [this message]
2023-01-05 1:50 ` Dmitry Gutov
2023-01-05 9:47 ` martin rudalics
2023-01-05 14:14 ` Dmitry Gutov
2023-01-05 16:59 ` martin rudalics
2023-01-05 19:08 ` Dmitry Gutov
2023-01-06 17:47 ` martin rudalics
2023-01-06 18:14 ` Dmitry Gutov
2023-01-06 22:40 ` Gregory Heytings
2023-01-06 23:45 ` Dmitry Gutov
2023-01-06 23:49 ` Gregory Heytings
2023-01-07 0:48 ` Dmitry Gutov
2023-01-07 0:50 ` Gregory Heytings
2023-01-07 9:48 ` martin rudalics
2023-01-08 9:45 ` martin rudalics
2023-01-08 22:38 ` Gregory Heytings
2023-01-08 23:23 ` Gregory Heytings
2023-01-09 10:09 ` martin rudalics
2023-01-09 17:28 ` Eric Abrahamsen
2023-01-07 9:15 ` martin rudalics
2023-01-09 0:12 ` Dmitry Gutov
2023-01-09 10:07 ` martin rudalics
2023-01-09 20:50 ` Dmitry Gutov
2023-01-10 12:05 ` martin rudalics
2023-01-12 0:34 ` Dmitry Gutov
2023-01-12 9:31 ` martin rudalics
2023-01-12 9:46 ` Robert Pluim
2023-01-12 10:23 ` martin rudalics
2023-01-12 23:53 ` Dmitry Gutov
2023-01-13 0:36 ` Dmitry Gutov
2023-01-13 8:38 ` martin rudalics
2023-01-16 1:27 ` bug#60585: 30.0.50; global-text-scale-adjust shrinks window (was not before), was: " Dmitry Gutov
2023-01-16 10:03 ` martin rudalics
2023-01-16 12:44 ` Dmitry Gutov
2023-01-16 16:10 ` martin rudalics
2023-01-17 1:54 ` Dmitry Gutov
2023-01-17 10:04 ` martin rudalics
2023-01-17 17:35 ` Dmitry Gutov
2023-01-18 17:13 ` martin rudalics
2023-01-21 3:12 ` Dmitry Gutov
2023-01-21 10:08 ` martin rudalics
2023-01-22 1:56 ` Dmitry Gutov
2023-01-22 9:54 ` martin rudalics
2023-01-22 22:25 ` Dmitry Gutov
2023-01-24 10:50 ` martin rudalics
2023-01-25 4:20 ` Dmitry Gutov
2023-01-26 15:44 ` martin rudalics
2023-01-27 3:07 ` Dmitry Gutov
2023-01-27 9:35 ` martin rudalics
2023-01-28 0:22 ` Dmitry Gutov
2023-01-28 15:36 ` martin rudalics
2023-01-29 1:25 ` Dmitry Gutov
2023-01-30 9:28 ` martin rudalics
2023-02-09 19:40 ` Dmitry Gutov
2023-02-11 1:36 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-02-11 8:17 ` Eli Zaretskii
2023-02-11 9:30 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-02-11 10:39 ` Eli Zaretskii
2023-02-11 10:15 ` Dmitry Gutov
2023-02-11 10:22 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-02-11 22:08 ` Dmitry Gutov
2023-02-12 1:45 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-02-12 2:06 ` Dmitry Gutov
2023-02-12 3:26 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-02-12 12:41 ` Dmitry Gutov
2023-02-13 2:56 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-02-16 2:09 ` Dmitry Gutov
2023-02-16 3:00 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-02-16 22:18 ` Dmitry Gutov
2023-02-17 2:43 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-02-17 11:54 ` Dmitry Gutov
2023-02-12 12:55 ` Dmitry Gutov
2023-02-13 10:09 ` martin rudalics
2023-02-17 2:05 ` Dmitry Gutov
2023-02-20 9:05 ` martin rudalics
2023-02-22 1:42 ` Dmitry Gutov
2023-02-24 17:54 ` martin rudalics
2023-02-27 1:29 ` Dmitry Gutov
2022-12-21 13:43 ` Dmitry Gutov
2022-12-24 1:03 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-12-24 8:52 ` martin rudalics
2022-12-24 9:39 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-12-24 10:45 ` martin rudalics
2022-12-24 11:24 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-12-24 13:02 ` Dmitry Gutov
2022-12-25 22:52 ` Gregory Heytings
2021-12-16 15:36 ` Dmitry Gutov
2021-12-16 16:54 ` Eli Zaretskii
2021-12-17 0:13 ` Dmitry Gutov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cef93ef7-2ba5-482a-19d7-d837bc1f7091@gmx.at \
--to=rudalics@gmx.at \
--cc=52493@debbugs.gnu.org \
--cc=dgutov@yandex.ru \
--cc=eliz@gnu.org \
--cc=rpluim@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.