From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Platon Pronko Newsgroups: gmane.emacs.bugs Subject: bug#62540: 30.0.50; incorrect cursor positioning after overlay when put-text-property 'cursor t Date: Thu, 30 Mar 2023 18:59:15 +0800 Message-ID: <608539f1-df76-c667-ed13-57ef31b0d081@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="24989"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 To: 62540@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Mar 30 13:00:43 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1phq1K-0006Kn-Py for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 30 Mar 2023 13:00:42 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1phq0j-00005U-EO; Thu, 30 Mar 2023 07:00:05 -0400 Original-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 1phq0h-000059-QF for bug-gnu-emacs@gnu.org; Thu, 30 Mar 2023 07:00:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1phq0h-0001L6-2Q for bug-gnu-emacs@gnu.org; Thu, 30 Mar 2023 07:00:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1phq0g-0006Dy-EX for bug-gnu-emacs@gnu.org; Thu, 30 Mar 2023 07:00:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Platon Pronko Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 30 Mar 2023 11:00:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 62540 X-GNU-PR-Package: emacs X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.168017397223858 (code B ref -1); Thu, 30 Mar 2023 11:00:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 30 Mar 2023 10:59:32 +0000 Original-Received: from localhost ([127.0.0.1]:55902 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1phq0B-0006Ch-P3 for submit@debbugs.gnu.org; Thu, 30 Mar 2023 06:59:32 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:40942) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1phq08-0006CZ-PC for submit@debbugs.gnu.org; Thu, 30 Mar 2023 06:59:29 -0400 Original-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 1phq07-0008UZ-FY for bug-gnu-emacs@gnu.org; Thu, 30 Mar 2023 06:59:28 -0400 Original-Received: from mail-pj1-x102a.google.com ([2607:f8b0:4864:20::102a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1phq03-0001Ew-Ie for bug-gnu-emacs@gnu.org; Thu, 30 Mar 2023 06:59:26 -0400 Original-Received: by mail-pj1-x102a.google.com with SMTP id r7-20020a17090b050700b002404be7920aso17500589pjz.5 for ; Thu, 30 Mar 2023 03:59:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680173961; x=1682765961; h=content-transfer-encoding:subject:from:to:content-language :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=HrR1WkcjKEhZYZoWE+oTLw1Tl03Ha8J8AwfCeGZTMIE=; b=nsJJEln2sXiGSYFinIXvg9K4emJDCi9bsuZe9NQoKK2ntSxupTdYng+n0sBo6c0ZHc FBOGVsobFCnR309nagrKXzFod+0R1gTA+us9Z6R0Vr74iyuVqbHMI9RAXA/xXORoNHJS Iehg7Db1AHwDGxQUcfhMeYB9jaa1mOWVva09gQHYe94IehjFFa+nDkhYRvgo+nwD4on/ P2e3qZ9Ec1M6+MeBN99rlwxl7mKjl911WL5bwM072T/ldxBmFgSd7db+KWyblHlGPZIG +yPhBvcaQWa6uEK+/Ah4qyLdppjCLAasia23dMy3zc0Ek3hh+/VS+Bkh2iYsnKm5GWm2 o7Gw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680173961; x=1682765961; h=content-transfer-encoding:subject:from:to:content-language :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=HrR1WkcjKEhZYZoWE+oTLw1Tl03Ha8J8AwfCeGZTMIE=; b=ILghUTsMlVKs7GJ/PTvGhF323IhPeVniVvPlhIB574Pbr9fhe2HKaArOLHb/7FSVp6 bgp+ipfVPL1VKfha3SMNW+DruRlKFxH/mCtSdu4gd7xoV7OpAudvvblN4NE/MEh8gKU1 sHDfo0jSj/GJAL3XbLTUSky0QQtscr/ZEo+ErqMezJL5SN93XFzwdUGXAQWj3MZa7Z2x WkZtfrumcfBzlRTKsaAFFC53EXIlafYnhJXHfDCXOAJmFRuPWoo1OyiAEctsAiVTG0Lp BvN2GA8lEF5G7vwXJv5xdUbNK3Jr8iOZF2/ji4iYqF1IKgCbbuCoX78aKVT2uyHTOX42 M4Fw== X-Gm-Message-State: AO0yUKWEnmpnsWn1VekHQ9nJ7lypbchofNeE2GTX54PyNL3e5j2uhyYr z32/JRo4FDZExkW8Ep/6c5QHsFI6H8Y= X-Google-Smtp-Source: AK7set8ETm/f2QIaz7j4d6E858syTWNgC7aqtcXBN0haQrVZ4UvfNBXSKnes3tUzOw5ZVOV7UxN7eA== X-Received: by 2002:a05:6a20:8c14:b0:db:da69:3deb with SMTP id j20-20020a056a208c1400b000dbda693debmr18568473pzh.21.1680173960573; Thu, 30 Mar 2023 03:59:20 -0700 (PDT) Original-Received: from [192.170.1.133] ([103.24.106.35]) by smtp.gmail.com with ESMTPSA id j17-20020aa78dd1000000b005d6999eec90sm10117882pfr.120.2023.03.30.03.59.19 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 30 Mar 2023 03:59:20 -0700 (PDT) Content-Language: en-US Received-SPF: pass client-ip=2607:f8b0:4864:20::102a; envelope-from=platon7pronko@gmail.com; helo=mail-pj1-x102a.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, 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-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:258919 Archived-At: According to documentation, if a character in the overlay text string has 'cursor property set to t, then cursor should be shown on that character while point is in the overlay. However, it seems that this doesn't work at the moment - cursor is still shown after the overlay. Here's a test file to reproduce the problem: ``` AD (defun test-overlay-cursor (completion pt) (remove-overlays) (save-excursion (let* ((p-completion (propertize completion 'face 'error)) (ov (make-overlay pt pt nil t t))) ;; doesn't work, cursor is shown after overlay (put-text-property 0 1 'cursor t p-completion) ;; works, cursor is shown before overlay ;; (put-text-property 0 1 'cursor 1 p-completion) (overlay-put ov 'display "") (overlay-put ov 'after-string p-completion))) (goto-char 2)) (test-overlay-cursor "BC" 2) ``` When I run the last sexp I observe the cusor being shown after the overlay: ABCD While the expected position is: ABCD Workaround is to use the integer argument instead of t. In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.37, cairo version 1.17.8) of 2023-03-29 built on the-big-maker Repository revision: 2002ac376c97382cace161ef0832a6faf6f376e8 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12101007 System Description: Arch Linux Configured using: 'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib --localstatedir=/var --mandir=/usr/share/man --with-gameuser=:games --with-modules --without-libotf --without-m17n-flt --without-gconf --with-native-compilation=no --with-xinput2 --with-x-toolkit=gtk3 --without-xaw3d --with-sound=no --with-tree-sitter --without-gpm --without-compress-install '--program-transform-name=s/\([ec]tags\)/\1.emacs/' 'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection' LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBSYSTEMD LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB Important settings: value of $LC_TIME: en_SE.UTF-8 value of $LANG: en_US.utf8 locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: recentf-mode: t rainbow-delimiters-mode: t global-so-long-mode: t global-git-gutter-mode: t global-git-commit-mode: t magit-auto-revert-mode: t server-mode: t counsel-mode: t ivy-mode: t smartparens-strict-mode: t smartparens-mode: t shell-dirtrack-mode: t global-auto-revert-mode: t global-whitespace-mode: t whitespace-mode: t global-dvorak-mode: t dvorak-minor-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Features: (shadow sort mail-extr emacsbug mule-util cal-move org-indent oc-basic conf-mode make-mode yaml-mode scroll-lock sh-script smie executable dabbrev pulse recentf magit-bookmark bookmark pp shortdoc ediff ediff-merg ediff-mult ediff-wind ediff-diff ediff-help ediff-init ediff-util ace-window smartparens-javascript js c-ts-common typescript-mode smartparens-c cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs bs sql tramp-sh tramp-cache time-stamp smartparens-scala scala-mode scala-mode-prettify-symbols scala-mode-imenu scala-mode-map scala-mode-fontlock scala-mode-indent scala-mode-paragraph scala-mode-syntax scala-mode-lib goto-addr vc vc-dispatcher bug-reference magit-extras face-remap flymake-proc flymake lsp-diagnostics company-oddmuse company-keywords company-etags company-gtags company-dabbrev-code company-dabbrev company-files company-clang company-capf company-cmake company-semantic company-template company-bbdb lsp-modeline lsp-lens misearch multi-isearch view lsp-zig lsp-tilt lsp-steep lsp-svelte lsp-sqls lsp-ruby-syntax-tree lsp-ruby-lsp lsp-yaml lsp-xml lsp-vimscript lsp-vhdl lsp-volar lsp-vetur lsp-html lsp-verilog lsp-vala lsp-v lsp-typeprof lsp-ttcn3 lsp-toml lsp-terraform lsp-tex lsp-sorbet lsp-solargraph lsp-rust lsp-rf lsp-ruff-lsp lsp-remark lsp-racket lsp-r lsp-purescript lsp-pylsp lsp-pyls lsp-pwsh lsp-php lsp-pls lsp-perlnavigator lsp-perl lsp-openscad lsp-ocaml lsp-magik lsp-nix lsp-nim lsp-nginx lsp-mint lsp-marksman lsp-markdown lsp-lua lsp-kotlin lsp-json lsp-javascript lsp-idris lsp-haxe lsp-groovy lsp-hack lsp-graphql lsp-gleam lsp-go lsp-completion lsp-gdscript lsp-fsharp lsp-fortran lsp-eslint lsp-erlang lsp-emmet lsp-elixir lsp-elm lsp-dockerfile lsp-dhall lsp-d lsp-css lsp-csharp lsp-crystal lsp-cmake lsp-clojure lsp-semantic-tokens lsp-clangd lsp-beancount lsp-bash lsp-astro lsp-ansible lsp-angular lsp-ada lsp-actionscript smartparens-python python treesit ffap rainbow-delimiters ol-w3m ol-rmail ol-mhe ol-irc ol-info org-habit org-agenda org-element org-persist org-id avl-tree org-refile ol-gnus nnselect gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig gnus-sum gnus-group gnus-undo gnus-start gnus-dbus dbus gnus-cloud nnimap nnmail mail-source utf7 nnoo gnus-spec gnus-int gnus-range gnus-win ol-eww eww url-queue shr pixel-fill kinsoku url-file svg xml dom mm-url gnus nnheader range ol-docview doc-view jka-compr image-mode exif ol-bibtex bibtex ol-bbdb copilot editorconfig editorconfig-core editorconfig-core-handle editorconfig-fnmatch jsonrpc warnings so-long lsp lsp-mode lsp-protocol tree-widget wid-edit spinner network-stream nsm smartparens-markdown markdown-mode inline ht f f-shortdoc s ewoc company-box company-box-doc frame-local company-box-icons company git-gutter-fringe fringe-helper git-gutter magit-submodule magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit magit-sequence magit-notes magit-worktree magit-tag magit-merge magit-branch magit-reset magit-files magit-refs magit-status magit magit-repos magit-apply magit-wip magit-log which-func imenu magit-diff smerge-mode diff diff-mode git-commit log-edit message sendmail yank-media puny rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log magit-core magit-autorevert magit-margin magit-transient magit-process with-editor server magit-mode transient magit-git magit-base magit-section crm compat org-archive lispy lispy-inline avy etags fileloop generator edebug debug backtrace help-fns radix-tree lispy-tags mode-local zoutline smartparens-org org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src ob-comint org-pcomplete org-list org-footnote org-faces org-entities ob-emacs-lisp ob-core ob-eval org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs find-func cal-menu calendar cal-loaddefs org-version org-compat org-macs noutline outline icons counsel xdg xref project dired dired-loaddefs swiper ivy delsel ivy-faces ivy-overlay colir color cl-extra hydra lv edmacro kmacro smartparens-config smartparens-text smartparens-rust smartparens advice loadhist dash tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat shell pcomplete parse-time iso8601 time-date ls-lisp format-spec lpr rust-utils thingatpt rust-mode rx rust-rustfmt rust-playpen rust-compile compile text-property-search comint ansi-osc ansi-color ring rust-cargo autorevert filenotify disp-table whitespace quail help-mode easy-mmode darcula-theme finder-inf rust-mode-autoloads editorconfig-autoloads web-mode-autoloads smartparens-autoloads magit-autoloads pcase haskell-mode-autoloads wgrep-autoloads git-commit-autoloads transient-autoloads php-mode-autoloads yaml-mode-autoloads typescript-mode-autoloads solidity-mode-autoloads magit-section-autoloads lsp-mode-autoloads markdown-mode-autoloads ht-autoloads scala-mode-autoloads f-autoloads with-editor-autoloads compat-autoloads git-gutter-autoloads lorem-ipsum-autoloads go-mode-autoloads lispy-autoloads ace-window-autoloads company-box-autoloads company-autoloads dash-autoloads counsel-autoloads swiper-autoloads hydra-autoloads info ivy-autoloads s-autoloads frame-local-autoloads avy-autoloads package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs password-cache json subr-x map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd 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 nadvice seq simple cl-generic indonesian philippine 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 abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo move-toolbar gtk x-toolkit xinput2 x multi-tty make-network-process emacs) Memory information: ((conses 16 904294 1544161) (symbols 48 56550 9) (strings 32 251815 84039) (string-bytes 1 7281465) (vectors 16 121863) (vector-slots 8 2259338 974086) (floats 8 633 12970) (intervals 56 40467 9510) (buffers 984 80))