From debbugs-submit-bounces@debbugs.gnu.org Wed Aug 20 11:44:40 2025 Received: (at submit) by debbugs.gnu.org; 20 Aug 2025 15:44:40 +0000 Received: from localhost ([127.0.0.1]:57401 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uokzP-0007NE-Lv for submit@debbugs.gnu.org; Wed, 20 Aug 2025 11:44:40 -0400 Received: from lists.gnu.org ([2001:470:142::17]:47532) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uokzL-0007Mr-Pp for submit@debbugs.gnu.org; Wed, 20 Aug 2025 11:44:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uokzG-0006m7-6N for bug-gnu-emacs@gnu.org; Wed, 20 Aug 2025 11:44:30 -0400 Received: from mail-lj1-x234.google.com ([2a00:1450:4864:20::234]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uokzD-0001cU-RL for bug-gnu-emacs@gnu.org; Wed, 20 Aug 2025 11:44:29 -0400 Received: by mail-lj1-x234.google.com with SMTP id 38308e7fff4ca-333f8f22292so84081fa.1 for ; Wed, 20 Aug 2025 08:44:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1755704665; x=1756309465; darn=gnu.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=qKpFb1fA2vLT17VtDOBFVXPp1aP6x3Z2IZzFF+gYthE=; b=FpIBKcG2mV5Pc1c64PLc1iec1+Td8f1TbuXpaiXMlpODRc0PiT1j2goJjNiDA6+Dxg zK8gwk36vfk07jO3DzTU00ajZ7cVfNOgGFea9/rTOiyn2w03RqZypwhET29XtVFEj4Ar B455ZxNBFK/K/XisNvBHN0QM9OENHh0fxGjDOkDbjCgYsm1RwaBZRH3FRCBpcMww1CgI 5Y5GMPsPvL4gMir4wTcv4CY/pFw91V1J0aNc5dCC1NcGJ2YrvyXo1luAmTXs1pUK2P6I SJAV1cmM60r68PqK7f/8UGqycMLOC3QUB8F+TiUnWFBZNsurFuPBUgiwEUwX4xiwgFlm MOaw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755704665; x=1756309465; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=qKpFb1fA2vLT17VtDOBFVXPp1aP6x3Z2IZzFF+gYthE=; b=VMpnQmhnL6DkucchxDny3w5fJPF5E+aLaxeJJGY81Pt/oDTFZTu0TkGSlgkloHB8Pc BhtwCVnlw1OA1CIMvSgyFACEdhuJehcB0gznF8akNdPOp46h9Ch+6VTIJdtT2wNviuGQ +k4usyrOsVf5FiMlK00vpftDGuzlZ0AQMEurll80GRy/jryiqLu/HiYVnQsgaMBQeouS C5LA0ixxjMq4jqD8VSZHbDmrIcbL7+3ZITGvses6MXds6anj5Z/QLm1Baa70XXfj96TD vKZ8pgpUeY6FbLi1ng7bJ++wUYwSEUl9dJ4VYWFmbilFTCefV+7+yH9kRuz/mzNqqB4S x7mg== X-Gm-Message-State: AOJu0Yy9up955yMmc1ofgt2ft0dzaSEMeiOBcg2UgorlA52OfM+M/lS4 Qs99Cq64oOJwrzCfQkQXwU9adsertMal6VVKIV4LS7oCJq34IoQIlCZlAb6chab5Ux9wF+4rW4v sdw4JdS6zREqw8pjeMXQSwBB16TmoaW7dNmaY X-Gm-Gg: ASbGncsPA1iwKrJsMKYHZXEWn7SkA+n3OyUn6jKY4emU2l+VAsJxmlf2L9Tvm0rsWL1 mfDU69261XQy/LjqaO9sVERoChT7Y7Yr0iaQ4cjltRmcuff44iBRE7eUEvLglKhIsN/4dNkEThv je0AbOJAVjbBRAzXP1CRpxoyZnE3Z7vxlyVQ3HUAc3pNz8ZtVOFCb6JRUHcNwoOdZMFT1pBOB6n eyyQdcmYQ3kAcmuRRBphdGFLP5jSyR5PXjcNZk= X-Google-Smtp-Source: AGHT+IHav3Y+Hx0mozf2U/LHXssK8JXmtHQqoHQbsJP3/0V3S/H+FololiInLk8rQkQ5LDMz4VoaoLhXqhwPzKw2pOc= X-Received: by 2002:a05:651c:20da:20b0:32a:6e77:3e57 with SMTP id 38308e7fff4ca-3353bd0b03fmr5471901fa.21.1755704664505; Wed, 20 Aug 2025 08:44:24 -0700 (PDT) MIME-Version: 1.0 From: Dmitry Safronov Date: Wed, 20 Aug 2025 17:44:12 +0200 X-Gm-Features: Ac12FXxqogiftEdkjV_eTKD-vnkwBbHs6XAEutVpScrNJmGIYlCct99VXCfbeQU Message-ID: Subject: 28.2; Combining characters cause formatting problems when showing CAP candidates To: bug-gnu-emacs@gnu.org Content-Type: multipart/mixed; boundary="000000000000dbe424063ccdd85f" Received-SPF: pass client-ip=2a00:1450:4864:20::234; envelope-from=saf.dmitry@gmail.com; helo=mail-lj1-x234.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DC_PNG_UNO_LARGO=0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --000000000000dbe424063ccdd85f Content-Type: text/plain; charset="UTF-8" When triggering completion-at-point for a Unicode symbol in Julia mode, description strings for some completion candidates in the minibuffer appear misaligned, when the first character in a description string is a combining diacritical mark (see the attached screenshot). This is apparently because the space character immediately preseeding the combining diacritical mark gets "consumed", that is, combined with the diacritical mark. This issue is not specific to Julia mode, but appears to be a more general problem of presenting text containing leading combining characters. In GNU Emacs 28.2 (build 1, x86_64-apple-darwin18.7.0, NS appkit-1671.60 Version 10.14.6 (Build 18G95)) of 2022-09-12 built on builder10-14.lan Windowing system distributor 'Apple', version 10.3.1894 System Description: Mac OS X 10.15.7 Configured using: 'configure --with-ns '--enable-locallisppath=/Library/Application Support/Emacs/${version}/site-lisp:/Library/Application Support/Emacs/ site-lisp' --with-modules' Configured features: ACL GMP GNUTLS JSON LIBXML2 MODULES NOTIFY KQUEUE NS PDUMPER THREADS TOOLKIT_SCROLL_BARS ZLIB Important settings: value of $LC_ALL: en_US.UTF-8 value of $LC_CTYPE: UTF-8 value of $LANG: en_US locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: shell-dirtrack-mode: t display-line-numbers-mode: t vertico-mode: t global-company-mode: t company-mode: t yas-global-mode: t yas-minor-mode: t global-auto-revert-mode: t save-place-mode: t adaptive-wrap-prefix-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t window-divider-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t column-number-mode: t line-number-mode: t global-visual-line-mode: t visual-line-mode: t transient-mark-mode: t auto-save-visited-mode: t Load-path shadows: ~/.emacs.d/lisp/markdown-mode hides /Users/dmitry/.emacs.d/elpa/markdown-mode-20250403.1127/markdown-mode /Users/dmitry/.emacs.d/elpa/jsonrpc-1.0.25/jsonrpc hides /Applications/Emacs.app/Contents/Resources/lisp/jsonrpc /Users/dmitry/.emacs.d/elpa/xref-1.7.0/xref hides /Applications/Emacs.app/Contents/Resources/lisp/progmodes/xref /Users/dmitry/.emacs.d/elpa/project-0.11.1/project hides /Applications/Emacs.app/Contents/Resources/lisp/progmodes/project /Users/dmitry/.emacs.d/elpa/eldoc-1.15.0/eldoc hides /Applications/Emacs.app/Contents/Resources/lisp/emacs-lisp/eldoc Features: (whitespace pp shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs rfc822 mml mml-sec epa epg rfc6068 epg-config gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm- util mail-prsvr mail-utils imenu eieio-opt speedbar ezimage dframe find- func shortdoc text-property-search help-fns radix-tree python tramp-sh tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat shell pcomplete ls-lisp format-spec markdown-mode color thingatpt vc-git diff-mode vc-dispatcher server display-line-numbers bm neotree vertico compat compat-29 company-dabbrev-code company-dabbrev company-keywords company-yasnippet company-capf company yasnippet pcase cl-extra help- mode julia-mode derived julia-mode-latexsubs lua-mode advice rx comint ansi-color ring deft edmacro kmacro taskpaper-mode cal-iso parse-time iso8601 time-date noutline outline holidays-de holidays hol-loaddefs cal -menu calendar cal-loaddefs autorevert filenotify hl-line saveplace adaptive-wrap easy-mmode disp-table atom-one-dark-theme finder-inf info package browse-url url url-proxy url-privacy url-expand url-methods url- history url-cookie url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password- cache json subr-x map url-vars seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/ns- win ns-win ucs-normalize mule-util term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp -mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font- core term/tty-colors frame minibuffer cl-generic cham georgian utf-8- lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case- table epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button loaddefs faces cus-face macroexp files window text- properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads kqueue cocoa ns multi- tty make-network-process emacs) Memory information: ((conses 16 498967 48249) (symbols 48 27693 3) (strings 32 168335 5079) (string-bytes 1 3797261) (vectors 16 42646) (vector-slots 8 1438070 195491) (floats 8 254 307) (intervals 56 942 365) (buffers 992 17)) --000000000000dbe424063ccdd85f Content-Type: image/png; name="Screen Shot 2025-08-20 at 17.08.48.png" Content-Disposition: attachment; filename="Screen Shot 2025-08-20 at 17.08.48.png" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mek4vfgn0 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 DFOEycg8IZNifQHs5KQY/zJpupPjVC4yojYxH8fH3+oBgOsA4KtkfHxsx/j4171IsXcB6Myd0vkT hkXefsrNNTEqwVdsThWAv9nUO8Cfevz7DCYqcAZ/n/8JyH4iOp54fiQAAABiZVhJZk1NACoAAAAI AAIBEgADAAAAAQABAACHaQAEAAAAAQAAACYAAAAAAAOShgAHAAAAEgAAAFCgAgAEAAAAAQAAAxCg AwAEAAAAAQAAAVEAAAAAQVNDSUkAAABTY3JlZW5zaG90Osby9gAAAj1pVFh0WE1MOmNvbS5hZG9i ZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhN UCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8x OTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJv dXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEu MC8iCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAv Ij4KICAgICAgICAgPGV4aWY6VXNlckNvbW1lbnQ+U2NyZWVuc2hvdDwvZXhpZjpVc2VyQ29tbWVu dD4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjc4NDwvZXhpZjpQaXhlbFhEaW1lbnNp b24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMzc8L2V4aWY6UGl4ZWxZRGltZW5z aW9uPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAg ICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KmPxrIwAAQABJ REFUeAHsvQe4VMeZ511cXXIGkUTOIIEQkghCEkJIKFk52JalseWobxxmPWE93t0Z787n2Wc8Mx77 847XYcb2jLNlS1bOAUWUAAFCIBACkXMWWaCvfnX5N3WbDtWXvpdueN/nOV11qt6qU/U/dc55/5W6 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 vwAgahlkEn4OPwAAAABJRU5ErkJggg== --000000000000dbe424063ccdd85f-- From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 21 01:04:29 2025 Received: (at 79279) by debbugs.gnu.org; 21 Aug 2025 05:04:29 +0000 Received: from localhost ([127.0.0.1]:58495 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uoxTQ-0004Rh-MW for submit@debbugs.gnu.org; Thu, 21 Aug 2025 01:04:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44950) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uoxTF-0004RB-5k for 79279@debbugs.gnu.org; Thu, 21 Aug 2025 01:04:22 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uoxT9-0000iG-CW; Thu, 21 Aug 2025 01:04:11 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=4ZpJ/9Hs2kcPqY+TlKFq9A7G0/coQ3NjtpUP0tmfGXs=; b=boyd0VfBHSNg 1ZNIXiBt5pHJLSMFCvklZovY0xyDUEXDHhP2t9Yt3+i/5RiWotNakx3aiDAKxlp26keARFbs4ra0R wzVvQtxWNSw8GE7N6vvilE+vpecRyP1i/WXGiKViAjqESTfS0xYQlbOJsYPGdqL8yeG1eJmWIYEgL Pe0Hbbj6AFHj48+ueq0pIUJrrrSfMbXLktzKL/PPNjhdMCelYRMTArKmBl+XDE/RUiDGEe9rLMsL/ m/Xb/wVzG5BvWIG8isjCxWJlDhmvnCtPUn2fBCnXYxsl5awnBNLvkp/DcHt1Nbd1+B89Xn700hFS1 AhVaWqIKvaZe9AW7AkOPUw==; Date: Thu, 21 Aug 2025 08:04:06 +0300 Message-Id: <861pp5fepl.fsf@gnu.org> From: Eli Zaretskii To: Dmitry Safronov In-Reply-To: (message from Dmitry Safronov on Wed, 20 Aug 2025 17:44:12 +0200) Subject: Re: bug#79279: 28.2; Combining characters cause formatting problems when showing CAP candidates References: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 79279 Cc: 79279@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Dmitry Safronov > Date: Wed, 20 Aug 2025 17:44:12 +0200 > > When triggering completion-at-point for a Unicode symbol in Julia > mode, description > strings for some completion candidates in the minibuffer appear > misaligned, when the first character in a description string is a > combining diacritical mark (see the > attached screenshot). This is apparently because the space character immediately > preseeding the combining diacritical mark gets "consumed", that is, combined > with the diacritical mark. This issue is not specific to Julia mode, > but appears to be a more general problem of presenting text containing > leading combining characters. Thanks. However, I'm not sure I understand which part of Emacs or of some add-on package produces this display, so it is hard to guess where to look for code which needs to be fixed to avoid this problem. And you haven't provided a recipe for reproducing the issue, which makes it harder yet. Presenting text which starts with a combining character indeed needs some special code, but that code should be in the Lisp program which creates the text. And given what you tell, I don't yet have an idea where that Lisp program is: in Emacs core, in Julia, somewhere else? Could you show a recipe for reproducing the problem? Preferably, such a recipe should start from "emacs -Q" and turn on any optional features needed to show the problem. If possible, the recipe should not include any third-party packages if you can demonstrate the problematic completion buffer display without those packages. E.g., if the problem is in completion-at-point, can you show which commands to invoke to produce display such as in your screenshot, preferably without involving Julia? From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 21 10:01:07 2025 Received: (at 79279) by debbugs.gnu.org; 21 Aug 2025 14:01:07 +0000 Received: from localhost ([127.0.0.1]:60703 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1up5ql-0000aB-5X for submit@debbugs.gnu.org; Thu, 21 Aug 2025 10:01:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38450) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1up5qh-0000ZT-WE for 79279@debbugs.gnu.org; Thu, 21 Aug 2025 10:01:04 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1up5qa-00034L-Lp; Thu, 21 Aug 2025 10:00:56 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=f0rU6AQLV6GdW8+cUzq8Pnb+5uqPlEWqYxoSy1AhY6U=; b=R0sXpWPaEpV+ WMEtgBR9M7rm8/awtT/xW9SqEH60R+BneyZAkG8bfVzndaNuYU1/myqNztHoV1A8EelMftWburF5t NevhaDePtrCIVav12uVs0dy585EZ46K3pTRJvSlJX7k0ntmZCQ7mWgywqjUk3Dj6Z+AtNRGlC3uBL X0oi4x1wbmqsIpikVmpnovFK8uez0KbqmOxRBbITf4aGE9ycdDHEWVl5Bl+RGNfkBIYYjAlhidB2H qdQ2hiRjHsO8SklMV5A/zbVR0R+tK4v1KnrSQ7/RF05FksOeVVz4Fcue6vFzxkecrQsu7vOvFrtLT 0irNFEjfuwBBQ9iX1Stw2Q==; Date: Thu, 21 Aug 2025 17:00:52 +0300 Message-Id: <864iu0epuz.fsf@gnu.org> From: Eli Zaretskii To: Dmitry Safronov , Stefan Monnier , Juri Linkov In-Reply-To: (message from Dmitry Safronov on Thu, 21 Aug 2025 13:25:58 +0200) Subject: Re: bug#79279: 28.2; Combining characters cause formatting problems when showing CAP candidates References: <861pp5fepl.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 79279 Cc: 79279@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) [Please use Reply All to reply, to keep the bug tracker on the CC list.] > From: Dmitry Safronov > Date: Thu, 21 Aug 2025 13:25:58 +0200 > > > Presenting text which starts with a combining character indeed needs > some special code, but that code should be in the Lisp program which > creates the text. And given what you tell, I don't yet have an idea > where that Lisp program is: in Emacs core, in Julia, somewhere else? > > The text was indeed produced by the julia-mode package, namely by the > `julia--latexsub-capf-list` function for creating a CAPF completion > table for that mode. > However, the list of completion candidates (based on that completion > table) in the > "*Completions*" buffer was produced by the Emacs core (`display-completion-list` > function defined in `minibuffer.el`). > > Therefore, I think, a proper handling of annotation text which starts with a > combining character should nevertheless be addressed in Emacs core (for example, > by prepending annotations starting with a combining character by a > zero-width space > U+200B). But display-completion-list just shows the strings it gets as its argument. AFAIU, theses strings already include both the completion candidate and its visualization (which causes the problem). If that is correct, then the code which generates those strings is the one we need to fix. Can you (or someone else of the people I CC) point to the code which generates those strings? From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 21 12:04:57 2025 Received: (at 79279) by debbugs.gnu.org; 21 Aug 2025 16:04:57 +0000 Received: from localhost ([127.0.0.1]:60933 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1up7mb-0006UI-3y for submit@debbugs.gnu.org; Thu, 21 Aug 2025 12:04:57 -0400 Received: from mout-p-201.mailbox.org ([80.241.56.171]:56168) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1up7mY-0006Tv-0P for 79279@debbugs.gnu.org; Thu, 21 Aug 2025 12:04:54 -0400 Received: from smtp202.mailbox.org (smtp202.mailbox.org [IPv6:2001:67c:2050:b231:465::202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-201.mailbox.org (Postfix) with ESMTPS id 4c77SF5hk4z9tgR; Thu, 21 Aug 2025 18:04:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linkov.net; s=MBO0001; t=1755792285; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=uQlUa2dz4pTo6mZo1Ljb9ZkDJraGh9UZT9sZZxxbhRw=; b=G06C50XiGRFAuv3STE8rOqse4dEIv0gecDG/FfkXqlEKfaQuEzthEDgdwEqqSakNcLKJ+Y 6PtoKTOlNpEScEkDtIqqye6QewabrWpMPWukA4ZrAWkI6fcTflY/Bba6J4dTky6m5ihbAQ yLrie5E09ltjG0HnqLVGxuCWD3Mq3VtTRQTGWKqe6HWmupPxVQuaxv+u37dAPtXfL1kp3y mWs/ZRpve39lvpGzGPbqTcM/GaSY8UlKh/XckD1fm0B0239NnzuFPiUwYxt+c32Xg6AP3x VB2fWzWpwY7obyHRg2nXSdpuqfAoD6bSxsC7sZJI7EmFrFNek/4zeDZrjXJkDA== Authentication-Results: outgoing_mbo_mout; dkim=none; spf=pass (outgoing_mbo_mout: domain of juri@linkov.net designates 2001:67c:2050:b231:465::202 as permitted sender) smtp.mailfrom=juri@linkov.net From: Juri Linkov To: Eli Zaretskii Subject: Re: bug#79279: 28.2; Combining characters cause formatting problems when showing CAP candidates In-Reply-To: <864iu0epuz.fsf@gnu.org> Organization: LINKOV.NET References: <861pp5fepl.fsf@gnu.org> <864iu0epuz.fsf@gnu.org> Date: Thu, 21 Aug 2025 19:04:17 +0300 Message-ID: <87tt20acja.fsf@mail.linkov.net> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Rspamd-Queue-Id: 4c77SF5hk4z9tgR X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 79279 Cc: 79279@debbugs.gnu.org, Stefan Monnier , Dmitry Safronov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --=-=-= Content-Type: text/plain >> The text was indeed produced by the julia-mode package, namely by the >> `julia--latexsub-capf-list` function for creating a CAPF completion >> table for that mode. >> However, the list of completion candidates (based on that completion >> table) in the >> "*Completions*" buffer was produced by the Emacs core (`display-completion-list` >> function defined in `minibuffer.el`). > > But display-completion-list just shows the strings it gets as its > argument. AFAIU, theses strings already include both the completion > candidate and its visualization (which causes the problem). If that > is correct, then the code which generates those strings is the one we > need to fix. Can you (or someone else of the people I CC) point to > the code which generates those strings? This was already fixed in julia-mode long ago. The current version adds the preceding space character: :annotation-function (lambda (s) (concat " " (gethash s julia-mode-latexsubs))) So there is no such problem anymore: --=-=-= Content-Type: image/png Content-Disposition: attachment; filename=vec.png Content-Transfer-Encoding: base64 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 rkJggg== --=-=-= Content-Type: text/plain PS: To make it even nicer, it's better to show the character before completions like in 'C-x 8 RET TAB' with something like: :affixation-function (lambda (strings) (mapcar (lambda (s) (list s (concat (gethash s julia-mode-latexsubs) "\t") "")) strings)) --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 21 14:19:25 2025 Received: (at 79279) by debbugs.gnu.org; 21 Aug 2025 18:19:25 +0000 Received: from localhost ([127.0.0.1]:32932 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1up9si-0004PY-Kn for submit@debbugs.gnu.org; Thu, 21 Aug 2025 14:19:24 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44306) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1up9sg-0004PJ-T9 for 79279@debbugs.gnu.org; Thu, 21 Aug 2025 14:19:23 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1up9sa-0006yU-LJ; Thu, 21 Aug 2025 14:19:16 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=sFDfMTwCQeQKG5Tpe2p431ahv9oH4mHwUA6JkAygxKw=; b=LEpnICFAbixj vNTLfoUync53rlPOXP0xP4tyt1NZm/s1hyRze/zQyYfsTL/baUqrstVRz9cZNlUb/OsDTAmSXqAHz zNdtXPORe2mFT1qdnFGvcXWnLLRcsGEPZPlAij9nCfrl9Ssj5YOAXlBGuEHF+nprD3yXYhS9g73b5 Hh1D63xjLupNnLeJmF1jKUC05BAd9StwSiztl/wkIKwHDNuesGU3PrE95G95mSBpPY53cWcMILL6l boERXTUZFCLtX79x+16bsLLJWbVM4fHZ/efm4I/zd6MsA+CC+wPymAayNbtBDLLxwk9zBYJ8FP5vq MwNI/+j67CRyvH5OLGJN4w==; Date: Thu, 21 Aug 2025 21:19:12 +0300 Message-Id: <86y0rcczbz.fsf@gnu.org> From: Eli Zaretskii To: Juri Linkov In-Reply-To: <87tt20acja.fsf@mail.linkov.net> (message from Juri Linkov on Thu, 21 Aug 2025 19:04:17 +0300) Subject: Re: bug#79279: 28.2; Combining characters cause formatting problems when showing CAP candidates References: <861pp5fepl.fsf@gnu.org> <864iu0epuz.fsf@gnu.org> <87tt20acja.fsf@mail.linkov.net> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 79279 Cc: 79279@debbugs.gnu.org, monnier@iro.umontreal.ca, saf.dmitry@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Juri Linkov > Cc: Dmitry Safronov , Stefan Monnier > , 79279@debbugs.gnu.org > Date: Thu, 21 Aug 2025 19:04:17 +0300 > > >> The text was indeed produced by the julia-mode package, namely by the > >> `julia--latexsub-capf-list` function for creating a CAPF completion > >> table for that mode. > >> However, the list of completion candidates (based on that completion > >> table) in the > >> "*Completions*" buffer was produced by the Emacs core (`display-completion-list` > >> function defined in `minibuffer.el`). > > > > But display-completion-list just shows the strings it gets as its > > argument. AFAIU, theses strings already include both the completion > > candidate and its visualization (which causes the problem). If that > > is correct, then the code which generates those strings is the one we > > need to fix. Can you (or someone else of the people I CC) point to > > the code which generates those strings? > > This was already fixed in julia-mode long ago. > The current version adds the preceding space character: > > :annotation-function (lambda (s) > (concat " " (gethash s julia-mode-latexsubs))) > > So there is no such problem anymore: So you think we don't need to solve this in minibuffer.el for all the users of this? From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 21 14:25:44 2025 Received: (at 79279) by debbugs.gnu.org; 21 Aug 2025 18:25:44 +0000 Received: from localhost ([127.0.0.1]:32953 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1up9yq-0004mK-FH for submit@debbugs.gnu.org; Thu, 21 Aug 2025 14:25:44 -0400 Received: from mout-p-103.mailbox.org ([80.241.56.161]:38868) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1up9yo-0004m3-Bj for 79279@debbugs.gnu.org; Thu, 21 Aug 2025 14:25:43 -0400 Received: from smtp1.mailbox.org (smtp1.mailbox.org [10.196.197.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-103.mailbox.org (Postfix) with ESMTPS id 4c7BZk09bSz9tpV; Thu, 21 Aug 2025 20:25:34 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linkov.net; s=MBO0001; t=1755800734; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Ww54Rl7YUdEhzJw0mCdnvJeKV5gN9IVreI4IS3wt1u8=; b=xgWbxhR1Hpco5nVDre/8bqX8EHKb+88IuB/UAL3cJyO12lbKpfq86Jkgr8c5JdDua/xkBY 2pI4riUKHxI0P7OCOuzwt3SiGUZbfAhthJOtvcNJOUbxdPTnbS0uB28i6mSDcHPDEGobud s3vRgg/aWBwOrNzFPsNskhGycdUJF1FTE2TdjXGXU1U7V/tXEuNPIV3270f9u81uyYumqB VBvZc6vCAMozvsb85XZIgnHSWRQPw8X4B18Sa5pjH50q2Bkn/cv5dgE4oux2CsuEY1o+74 WutonzcoCU6yX/R3b7qxhU0t4QJBZ9xF5/0Yn8gu8+Sgg1CRg+ENsQd0M4iB/Q== From: Juri Linkov To: Eli Zaretskii Subject: Re: bug#79279: 28.2; Combining characters cause formatting problems when showing CAP candidates In-Reply-To: <86y0rcczbz.fsf@gnu.org> Organization: LINKOV.NET References: <861pp5fepl.fsf@gnu.org> <864iu0epuz.fsf@gnu.org> <87tt20acja.fsf@mail.linkov.net> <86y0rcczbz.fsf@gnu.org> Date: Thu, 21 Aug 2025 21:24:51 +0300 Message-ID: <874iu07css.fsf@mail.linkov.net> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 79279 Cc: 79279@debbugs.gnu.org, monnier@iro.umontreal.ca, saf.dmitry@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) >> >> The text was indeed produced by the julia-mode package, namely by the >> >> `julia--latexsub-capf-list` function for creating a CAPF completion >> >> table for that mode. >> >> However, the list of completion candidates (based on that completion >> >> table) in the >> >> "*Completions*" buffer was produced by the Emacs core (`display-completion-list` >> >> function defined in `minibuffer.el`). >> > >> > But display-completion-list just shows the strings it gets as its >> > argument. AFAIU, theses strings already include both the completion >> > candidate and its visualization (which causes the problem). If that >> > is correct, then the code which generates those strings is the one we >> > need to fix. Can you (or someone else of the people I CC) point to >> > the code which generates those strings? >> >> This was already fixed in julia-mode long ago. >> The current version adds the preceding space character: >> >> :annotation-function (lambda (s) >> (concat " " (gethash s julia-mode-latexsubs))) >> >> So there is no such problem anymore: > > So you think we don't need to solve this in minibuffer.el for all the > users of this? I think it's responsibility of the caller to add a space when it's known that the completion candidate might contain a combining character. From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 21 16:43:50 2025 Received: (at 79279) by debbugs.gnu.org; 21 Aug 2025 20:43:50 +0000 Received: from localhost ([127.0.0.1]:33188 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1upC8U-0002lE-6F for submit@debbugs.gnu.org; Thu, 21 Aug 2025 16:43:50 -0400 Received: from mail-lf1-x131.google.com ([2a00:1450:4864:20::131]:61636) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1upC8Q-0002kv-Ti for 79279@debbugs.gnu.org; Thu, 21 Aug 2025 16:43:47 -0400 Received: by mail-lf1-x131.google.com with SMTP id 2adb3069b0e04-55f2fdfe097so71264e87.2 for <79279@debbugs.gnu.org>; Thu, 21 Aug 2025 13:43:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1755809020; x=1756413820; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=qe6bmnlB6ha8PLIoIkC0droIZIlLfjVdN0d9rrBvsK8=; b=fI8+TxqC9cvNnk4WTJy29QmRDe9GnCK/wjt7dUKKfAvBrHfvQSLY8bOEL1y3vfkGNz tpU+9CKfWKmMvGkNnRXYJyEPWa5R6bZmq0qwmLAablLEpoc9Vv6J7PD2u6rVCxvUo+RV SIY9G1kqj1Ix2qKku02ZtPTPQogUA3PhkkKZQdSgJmHgaMOvTCjjvDep/CJl7Nha5c6Y 651Dyon46D9Wcv0WdSRcx6sXMvh/3mAfJhlu4zXk9QuAbPnjQC8kOAWKjYk7/Pg9BwV2 WIoClrsio/bufAE7vvxFva+BxDsXxNmkxht8MpJIyMwd9xL0h2isH2c5CTlfdZzJMFmF AR/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755809020; x=1756413820; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=qe6bmnlB6ha8PLIoIkC0droIZIlLfjVdN0d9rrBvsK8=; b=KIudIjHBgczvKz0Kz73jSnfXWbDd36bA6dVELgDVl1SjB2uNptSl2XKYe0diky4jov kZZzvigl2jHsuL6iqgCsGWxBa/16KmdRHDNJvxLF+at44Y0EDTCHXQCZCFIt/DMXrWoV a2peHSFN5MnWYaYXWjMFHA9HCFeogRgvgUNAE0yi0rzMBv1fjR9/oyLxjNjA8T+s2Oze 6af6Jqn6ypHlhotKm+ZP/C9K/cUyprQrSC6EKIdJEtgLQCShZlnF0bNJscAW1iH1bLNK dBzGwVuvH6BOGxqUEQm0/smiyWkxXbfiRrUjg9v4Y7Q54dh1KIiQpd1jUZI1JXTOLfgg 2Qsg== X-Forwarded-Encrypted: i=1; AJvYcCX4VuYxlnl0nu4ON+n1a0M7OLYM9nfn1p2G0SEYhRSKumV58ONablkuXQu3GAFPpH5nwcflVA==@debbugs.gnu.org X-Gm-Message-State: AOJu0YzJy/f95ikpUuAmKsduaISXurVQ3mupzeMm5K6Uqo+Jlv3lC16e NVrw9SJFqNM/0xcSKWhW6Z4KqWpYtZLHFJdVSer6vaMOzbh5oa2xo9C7bvJHx9oUt/pFoEr+XpB Py2OojhYEnSKiPLApMuSasPRlC0F7ZjY= X-Gm-Gg: ASbGncsi7ktmV1MufAHkjr2eXUXI17kwilZo+cwpLSg858ZIfgu4KAyLRXBnbokd5Zj viaQ8/b0yi6rKVYXsymEB6LRocyo6WciA5kNN+fyU+cQ/QceBJCCkZx5DP9EC+APWtAx55CsEJ1 KCr5PSRlZ03ZUUr5ryHMhU0vMOz/C8upONgxYHDgSShgMMD1kXrpncvSNvwL4cy8OHLnsVTGMJp wR5RGqN2NUegGxF77CXomdZiwrZZ3jDbBHfFlA= X-Google-Smtp-Source: AGHT+IEpu4jJxb8CXvddKHE98ZlFGuMeen5Es44eKOKTi1FsakXdnNmdkvx5YIJUAc8vMnxBGN20uwpjL1ZfUTzsGEY= X-Received: by 2002:a05:6512:308b:b0:553:2ee0:7728 with SMTP id 2adb3069b0e04-55f0c3dd370mr372321e87.0.1755809019992; Thu, 21 Aug 2025 13:43:39 -0700 (PDT) MIME-Version: 1.0 References: <861pp5fepl.fsf@gnu.org> <864iu0epuz.fsf@gnu.org> <87tt20acja.fsf@mail.linkov.net> <86y0rcczbz.fsf@gnu.org> <874iu07css.fsf@mail.linkov.net> In-Reply-To: <874iu07css.fsf@mail.linkov.net> From: Dmitry Safronov Date: Thu, 21 Aug 2025 22:43:26 +0200 X-Gm-Features: Ac12FXzWtWADEntTAz05_nQV6JkAe9-lvbalyUoqL5wGmQ8Zem3oYBSOHejEWZs Message-ID: Subject: Re: bug#79279: 28.2; Combining characters cause formatting problems when showing CAP candidates To: Juri Linkov Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 79279 Cc: 79279@debbugs.gnu.org, Eli Zaretskii , monnier@iro.umontreal.ca X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) I experimented a bit using different fonts and came to the conclusion that the formatting issue appears only if a font does not support proper rendering of combined characters. Ironically, the JuliaMono font does support it and it causes the formatting problem described in the original post. > I think it's responsibility of the caller to add a space > when it's known that the completion candidate might contain > a combining character. So well, nevermind, I will open an issue at . On Thu, 21 Aug 2025 at 20:25, Juri Linkov wrote: > > >> >> The text was indeed produced by the julia-mode package, namely by the > >> >> `julia--latexsub-capf-list` function for creating a CAPF completion > >> >> table for that mode. > >> >> However, the list of completion candidates (based on that completion > >> >> table) in the > >> >> "*Completions*" buffer was produced by the Emacs core (`display-completion-list` > >> >> function defined in `minibuffer.el`). > >> > > >> > But display-completion-list just shows the strings it gets as its > >> > argument. AFAIU, theses strings already include both the completion > >> > candidate and its visualization (which causes the problem). If that > >> > is correct, then the code which generates those strings is the one we > >> > need to fix. Can you (or someone else of the people I CC) point to > >> > the code which generates those strings? > >> > >> This was already fixed in julia-mode long ago. > >> The current version adds the preceding space character: > >> > >> :annotation-function (lambda (s) > >> (concat " " (gethash s julia-mode-latexsubs))) > >> > >> So there is no such problem anymore: > > > > So you think we don't need to solve this in minibuffer.el for all the > > users of this? > > I think it's responsibility of the caller to add a space > when it's known that the completion candidate might contain > a combining character. From debbugs-submit-bounces@debbugs.gnu.org Fri Aug 22 02:23:55 2025 Received: (at 79279) by debbugs.gnu.org; 22 Aug 2025 06:23:55 +0000 Received: from localhost ([127.0.0.1]:34403 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1upLBq-0007Os-Rc for submit@debbugs.gnu.org; Fri, 22 Aug 2025 02:23:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34644) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1upLBo-0007Oc-20 for 79279@debbugs.gnu.org; Fri, 22 Aug 2025 02:23:53 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1upLBf-000784-HO; Fri, 22 Aug 2025 02:23:44 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=Nzi68Q9CuMao4orSSVYacuMtKkXtzXh6FokvymZMvt0=; b=WR9zRoRSXkF5 B+qZ02uQD46kmOgx8C7+BDoZ7UaqBWu1/o9LalW16ee0AR85Od23ui7ee2kWF3tiIRkxBK0tWogt/ k8cDEo2I3jpinowgkGhu+/2aoVgXpnB9QbnejeyqmxzTxBsXFNspeI27teG8IBDdxXPNAdwG6hRKL TrOE5jUbGNIothtmXwfDPTonaQRP1uAgc0Rqx2HXPuOAktx3h1ORZUa7+9+QVWYHpYoC1K0UW3ZDv Rn8gHTeFxHN2/1qUOH3WhngOmbsO3/1WspCTj3N7heKmiDja7jyOd/3fB4Ud/DZ1AX+Ep7R5rOfVc 0GV7luf/Sp4343aUISIK7g==; Date: Fri, 22 Aug 2025 09:23:39 +0300 Message-Id: <86wm6vdgd0.fsf@gnu.org> From: Eli Zaretskii To: Juri Linkov In-Reply-To: <874iu07css.fsf@mail.linkov.net> (message from Juri Linkov on Thu, 21 Aug 2025 21:24:51 +0300) Subject: Re: bug#79279: 28.2; Combining characters cause formatting problems when showing CAP candidates References: <861pp5fepl.fsf@gnu.org> <864iu0epuz.fsf@gnu.org> <87tt20acja.fsf@mail.linkov.net> <86y0rcczbz.fsf@gnu.org> <874iu07css.fsf@mail.linkov.net> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 79279 Cc: 79279@debbugs.gnu.org, monnier@iro.umontreal.ca, saf.dmitry@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Juri Linkov > Cc: saf.dmitry@gmail.com, monnier@iro.umontreal.ca, 79279@debbugs.gnu.org > Date: Thu, 21 Aug 2025 21:24:51 +0300 > > >> >> The text was indeed produced by the julia-mode package, namely by the > >> >> `julia--latexsub-capf-list` function for creating a CAPF completion > >> >> table for that mode. > >> >> However, the list of completion candidates (based on that completion > >> >> table) in the > >> >> "*Completions*" buffer was produced by the Emacs core (`display-completion-list` > >> >> function defined in `minibuffer.el`). > >> > > >> > But display-completion-list just shows the strings it gets as its > >> > argument. AFAIU, theses strings already include both the completion > >> > candidate and its visualization (which causes the problem). If that > >> > is correct, then the code which generates those strings is the one we > >> > need to fix. Can you (or someone else of the people I CC) point to > >> > the code which generates those strings? > >> > >> This was already fixed in julia-mode long ago. > >> The current version adds the preceding space character: > >> > >> :annotation-function (lambda (s) > >> (concat " " (gethash s julia-mode-latexsubs))) > >> > >> So there is no such problem anymore: > > > > So you think we don't need to solve this in minibuffer.el for all the > > users of this? > > I think it's responsibility of the caller to add a space > when it's known that the completion candidate might contain > a combining character. The alternative is for us to always add a special character there, like ZWNJ or maybe invisible TAB, like we do in other places where we want to prevent character composition. But if you think this is unnecessary, I'm okay with leaving that to the calling Lisp program. From debbugs-submit-bounces@debbugs.gnu.org Fri Aug 22 03:29:17 2025 Received: (at 79279) by debbugs.gnu.org; 22 Aug 2025 07:29:17 +0000 Received: from localhost ([127.0.0.1]:34588 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1upMD6-0002FT-Sz for submit@debbugs.gnu.org; Fri, 22 Aug 2025 03:29:17 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:32918) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1upMD4-0002FG-5D for 79279@debbugs.gnu.org; Fri, 22 Aug 2025 03:29:15 -0400 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id D9BD58166A; Fri, 22 Aug 2025 03:29:07 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1755847746; bh=+GEVyPQUEYSN7pGvReFu9+vJeIuGOSS/LiMZ9/X0Uf8=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=moZuDI4XkI7tDToYKhN1zy/ygwt2bEN6KvCT2hgCazWzXXv3Z9/EsCgFu88OmChfZ 60Tm3zGgsmoApcEOzdw/IUckSQrmuofo03ZBJP/MJAtp7+gpTQ33NZhP6p0S0zX+y5 OKsL8Hgo9hNYED/ar7+9Tf97q6S4Z7k1NjVRqxK68unHFQv9ABCoeGRGhmMxOT3ItM J9jhgQm8ZlFYoA6Vy+fc/pDtrj5iTFnirD0l7lHD7Yd1s8htzdP3slVy6ZCp9eFIme JgsrTneE4nr3BwufZsvd9NM3bo/xbLBUXRPxngHagw/GF7bK2eJWKpVJd94WKQwfzK jubbhJg/nJ8KQ== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id A70808000E; Fri, 22 Aug 2025 03:29:06 -0400 (EDT) Received: from asado (dyn.144-85-253-250.dsl.vtx.ch [144.85.253.250]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 31A9E12030F; Fri, 22 Aug 2025 03:29:04 -0400 (EDT) From: Stefan Monnier To: Eli Zaretskii Subject: Re: bug#79279: 28.2; Combining characters cause formatting problems when showing CAP candidates In-Reply-To: <86wm6vdgd0.fsf@gnu.org> Message-ID: References: <861pp5fepl.fsf@gnu.org> <864iu0epuz.fsf@gnu.org> <87tt20acja.fsf@mail.linkov.net> <86y0rcczbz.fsf@gnu.org> <874iu07css.fsf@mail.linkov.net> <86wm6vdgd0.fsf@gnu.org> Date: Fri, 22 Aug 2025 03:29:02 -0400 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.027 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 79279 Cc: 79279@debbugs.gnu.org, saf.dmitry@gmail.com, Juri Linkov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > The alternative is for us to always add a special character there, > like ZWNJ or maybe invisible TAB, like we do in other places where we > want to prevent character composition. That would be The Right Thing to do, I think. Stefan From debbugs-submit-bounces@debbugs.gnu.org Fri Aug 22 03:38:19 2025 Received: (at 79279) by debbugs.gnu.org; 22 Aug 2025 07:38:19 +0000 Received: from localhost ([127.0.0.1]:34684 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1upMLq-0002mp-S4 for submit@debbugs.gnu.org; Fri, 22 Aug 2025 03:38:19 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:50337) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1upMLm-0002mN-A9 for 79279@debbugs.gnu.org; Fri, 22 Aug 2025 03:38:15 -0400 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id D229D440F97; Fri, 22 Aug 2025 03:38:07 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1755848286; bh=wmpX5jAd2E9Egl4V+PqyO0l+jJ+B2rhABU16yaoOzWE=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=GyHm4boTBKqSGsQ/y+fWQK7sL+AFlYPR66LPwYi1PMJI93TZTcO7IitiN/CwdQ7C8 M4NLle+urUIzjUgWrrVfL5BbcBUq+m3kUlDQTfMzebmatZYokk/3Q992ArIUKtCgVX TOWIJJvwrDepmBC7EoTr9ortGRDrjxlVIImbPA7dYu0lePYuqTJ36Uz0VpZV2enSxx AxnD81p8bNcjLOM/JnB7BlIDbVq/SbUo4cSksE/C3VyKlxOlBZeON7fzdRD5OIUCpw rz2FX5q8mCrpFVenVHpfpnwbbDxQc4BBEdcYk/ultDFcw0TaYNXfSw8FyiOsWGfdji lKQsCkT6yMK4w== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id B67B44404BD; Fri, 22 Aug 2025 03:38:06 -0400 (EDT) Received: from asado (dyn.144-85-253-250.dsl.vtx.ch [144.85.253.250]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 416D9120512; Fri, 22 Aug 2025 03:38:05 -0400 (EDT) From: Stefan Monnier To: Eli Zaretskii Subject: Re: bug#79279: 28.2; Combining characters cause formatting problems when showing CAP candidates In-Reply-To: Message-ID: References: <861pp5fepl.fsf@gnu.org> <864iu0epuz.fsf@gnu.org> <87tt20acja.fsf@mail.linkov.net> <86y0rcczbz.fsf@gnu.org> <874iu07css.fsf@mail.linkov.net> <86wm6vdgd0.fsf@gnu.org> Date: Fri, 22 Aug 2025 03:38:02 -0400 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL 0.057 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 79279 Cc: 79279@debbugs.gnu.org, saf.dmitry@gmail.com, Juri Linkov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) >> The alternative is for us to always add a special character there, >> like ZWNJ or maybe invisible TAB, like we do in other places where we >> want to prevent character composition. > That would be The Right Thing to do, I think. [ Sorry, sent it a bit precipitously. ] In practice it's rare for completion candidates to start with combining characters, so it's maybe not a bad tradeoff to dump that burden on the few completion tables where we know it's more likely to occur. Still, if it can be done cheaply enough in `minibuffer.el`, it's much better, because the poor souls writing those completion tables are unlikely to be familiar with the issue and how best to circumvent it. Stefan From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 23 08:59:46 2025 Received: (at 79279) by debbugs.gnu.org; 23 Aug 2025 12:59:46 +0000 Received: from localhost ([127.0.0.1]:39042 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1upnqT-0006V6-Ne for submit@debbugs.gnu.org; Sat, 23 Aug 2025 08:59:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:47432) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1upnqR-0006Un-7b for 79279@debbugs.gnu.org; Sat, 23 Aug 2025 08:59:44 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1upnqK-0003tb-Qv; Sat, 23 Aug 2025 08:59:36 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=R8Il0E1Zs2teq+NOYdSlWDsVDYI5JtLfCtD/V6BlCIY=; b=Mw4ekZVZzwmH vfq07jFYX7McfAft4FQd0nC1ijK4g1LdIgrIzKDS1bofdbGIRFFbhGrpF0q17KDe/2QpaYlO87kD4 Vu7sGY5uXdvDrK0cLshgBEFvhsoNEmNF0YiSAGVDKs8Xm4v4aOxf9JWRFzX7TfdcpGhj1e8qD808x bpLucjdCHr9hZOfXqHukhBHtg3+Fv1E6AHab2Yvy4Eksxhy9B6i33nDr0dfDuYMaYiTCrj+06afuz OqmK4nVC7lmS825Jh0tb0D0kbPwywW9UpEgPaKFeHPc0nFX5YLZRkm6aBtSpk/ZYlxA+fOp7ttA4P v925nhTEuGJ9FV5VKT9b0A==; Date: Sat, 23 Aug 2025 15:59:30 +0300 Message-Id: <86y0ra9ost.fsf@gnu.org> From: Eli Zaretskii To: Stefan Monnier In-Reply-To: (message from Stefan Monnier on Fri, 22 Aug 2025 03:38:02 -0400) Subject: Re: bug#79279: 28.2; Combining characters cause formatting problems when showing CAP candidates References: <861pp5fepl.fsf@gnu.org> <864iu0epuz.fsf@gnu.org> <87tt20acja.fsf@mail.linkov.net> <86y0rcczbz.fsf@gnu.org> <874iu07css.fsf@mail.linkov.net> <86wm6vdgd0.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 79279 Cc: 79279@debbugs.gnu.org, saf.dmitry@gmail.com, juri@linkov.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Stefan Monnier > Cc: Juri Linkov , saf.dmitry@gmail.com, > 79279@debbugs.gnu.org > Date: Fri, 22 Aug 2025 03:38:02 -0400 > > >> The alternative is for us to always add a special character there, > >> like ZWNJ or maybe invisible TAB, like we do in other places where we > >> want to prevent character composition. > > That would be The Right Thing to do, I think. > > [ Sorry, sent it a bit precipitously. ] > > In practice it's rare for completion candidates to start with combining > characters, so it's maybe not a bad tradeoff to dump that burden on the > few completion tables where we know it's more likely to occur. > > Still, if it can be done cheaply enough in `minibuffer.el`, it's much > better, because the poor souls writing those completion tables are > unlikely to be familiar with the issue and how best to circumvent it. AFAIU, the problem happens when we insert two strings one after the other in completion--insert: ;; If `str' is a list that has 2 elements, ;; then the second element is a suffix annotation. ;; If `str' has 3 elements, then the second element ;; is a prefix, and the third element is a suffix. (let* ((prefix (when (nth 2 str) (nth 1 str))) (suffix (or (nth 2 str) (nth 1 str)))) (when prefix (let ((beg (point)) (end (progn (insert prefix) (point)))) (add-text-properties beg end `(mouse-face nil completion--string ,(car str))))) (completion--insert (car str) group-fun) (let ((beg (point)) (end (progn (insert suffix) (point)))) We could handle the problem there, I think.