Package: emacs;
Reported by: Yikai Zhao <yikai <at> z1k.dev>
Date: Fri, 15 Apr 2022 02:27:01 UTC
Severity: normal
Tags: moreinfo
Found in version 28.1
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: help-debbugs <at> gnu.org (GNU bug Tracking System) To: Yikai Zhao <yikai <at> z1k.dev> Subject: bug#54946: closed (Re: bug#54946: 28.1; next-line skip one line when overlay is added in newline) Date: Sat, 16 Apr 2022 08:10:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report #54946: 28.1; next-line skip one line when overlay is added in newline which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 54946 <at> debbugs.gnu.org. -- 54946: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=54946 GNU Bug Tracking System Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Eli Zaretskii <eliz <at> gnu.org> To: "Yikai Zhao" <yikai <at> z1k.dev> Cc: 54946-done <at> debbugs.gnu.org Subject: Re: bug#54946: 28.1; next-line skip one line when overlay is added in newline Date: Sat, 16 Apr 2022 11:09:13 +0300> Date: Sat, 16 Apr 2022 15:09:22 +0800 > From: "Yikai Zhao" <yikai <at> z1k.dev> > Cc: 54946 <at> debbugs.gnu.org > > > Should be fixed now on the emacs-28 branch. > > Thank you so much for fixing it so quickly! > > > This is a very old bug, and rears its ugly head only of > > line-move-visual is disabled. > > Yes. `line-move-visual` is enabled by default by evil-mode, so I guess it affected a large group of users. Thanks for testing, I'm therefore closing this bug.
[Message part 3 (message/rfc822, inline)]
From: Yikai Zhao <yikai <at> z1k.dev> To: bug-gnu-emacs <at> gnu.org Subject: 28.1; next-line skip one line when overlay is added in newline Date: Fri, 15 Apr 2022 10:25:50 +0800I encountered this issue when I'm editing some code using flycheck-mode and evil-mode: after flycheck-mode added an error region at the end of the line, press <down> on this line should forward two lines instead of one. Here's the recipe to reproduce it using 'emacs -Q': (with-current-buffer (get-buffer-create "test") (setq truncate-lines t line-move-visual nil) (erase-buffer) (insert (make-string 1000 ?x) "\nHELLO\nWORLD\n") (let ((ov (make-overlay 1001 1002))) (overlay-put ov 'before-string (propertize "!" 'display '(left-fringe right-arrow error)))) (beginning-of-buffer) (switch-to-buffer (current-buffer))) After executing the code, press <down>, the cursor would move to line 3; but I think the expected behavior is that the cursor would move to line 2. Thanks! In GNU Emacs 28.1 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.33, cairo version 1.17.6) of 2022-04-10 built on frederik Windowing system distributor 'The X.Org Foundation', version 11.0.12101003 System Description: Arch Linux Configured using: 'configure --with-native-compilation --without-compress-install --sysconfdir=/etc --prefix=/usr --libexecdir=/usr/lib --localstatedir=/var --with-cairo --with-harfbuzz --with-modules --with-wide-int --with-x-toolkit=gtk3 --with-xft '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 -g -ffile-prefix-map=/build/emacs/src=/usr/src/debug -flto=auto' 'LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -flto=auto'' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM GTK3 ZLIB Important settings: value of $LC_CTYPE: zh_CN.UTF-8 value of $LANG: en_US.UTF-8 value of $XMODIFIERS: @im=fcitx locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: global-git-commit-mode: t recentf-mode: t dap-tooltip-mode: t dap-ui-many-windows-mode: t dap-ui-controls-mode: t dap-ui-mode: t dap-auto-configure-mode: t dap-mode: t treemacs-filewatch-mode: t treemacs-follow-mode: t treemacs-git-mode: t treemacs-fringe-indicator-mode: t ligature-mode: t outline-minor-mode: t whitespace-mode: t hl-line-mode: t display-line-numbers-mode: t electric-pair-mode: t hl-todo-mode: t dtrt-indent-mode: t projectile-mode: t yas-minor-mode: t company-mode: t flycheck-posframe-mode: t flycheck-mode: t winner-mode: t global-auto-revert-mode: t save-place-mode: t override-global-mode: t vertico-mode: t which-key-mode: t global-evil-vimish-fold-mode: t evil-vimish-fold-mode: t vimish-fold-global-mode: t vimish-fold-mode: t global-evil-surround-mode: t evil-surround-mode: t evil-commentary-mode: t shell-dirtrack-mode: t evil-mode: t evil-local-mode: t windmove-mode: t straight-use-package-mode: t straight-package-neutering-mode: t straight-live-modifications-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 auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t transient-mark-mode: t Load-path shadows: /home/blahgeek/.emacs.d/straight/build/protobuf-mode/protobuf-mode hides /usr/share/emacs/site-lisp/protobuf-mode /home/blahgeek/.emacs.d/straight/build/cmake-mode/cmake-mode hides /usr/share/emacs/site-lisp/cmake-mode /home/blahgeek/.emacs.d/straight/build/transient/transient hides /usr/share/emacs/28.1/lisp/transient /home/blahgeek/.emacs.d/straight/build/let-alist/let-alist hides /usr/share/emacs/28.1/lisp/emacs-lisp/let-alist Features: (shadow sort mail-extr emacsbug sendmail vc-mtn vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs vc bug-reference evil-collection-magit magit-bookmark magit-submodule magit-obsolete 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 evil-collection-package-menu package url-handlers magit-repos magit-apply magit-wip magit-log which-func magit-diff smerge-mode diff git-commit evil-collection-log-edit log-edit message rfc822 mml mml-sec evil-collection-epa epa derived mm-decode mm-bodies mm-encode mailabbrev gmm-utils pcvs-util add-log magit-core magit-autorevert magit-margin magit-transient magit-process with-editor magit-mode transient magit-git magit-base magit-section tabify crm mule-util evil-collection-yaml-mode yaml-mode undo-fu descr-text cl-print evil-collection-debug debug backtrace consult-xref evil-collection-consult consult-vertico consult recentf eieio-opt evil-collection-speedbar speedbar ezimage dframe evil-collection-shortdoc shortdoc help-fns radix-tree url-file url-dired url-cache url-auth vertico-directory orderless cursor-sensor devdocs-browser evil-collection-eww eww xdg url-queue mm-url evil-collection-gnus gnus nnheader gnus-util rmail rmail-loaddefs shr kinsoku svg browse-url lsp-diagnostics lsp-modeline dap-mouse dap-ui gdb-mi gud bui bui-list bui-info bui-entry bui-core bui-history bui-button bui-utils evil-collection-custom cus-edit cus-start lsp-lens evil-collection-view view lsp-zig lsp-steep lsp-svelte lsp-sqls 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-remark lsp-r lsp-purescript lsp-pylsp lsp-pyls lsp-pwsh lsp-php lsp-perlnavigator lsp-perl lsp-ocaml lsp-magik lsp-nix lsp-nim lsp-nginx lsp-markdown lsp-lua lsp-kotlin lsp-json lsp-javascript lsp-idris lsp-haxe lsp-groovy lsp-hack lsp-graphql 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 gnutls lsp-crystal lsp-cmake lsp-clojure lsp-semantic-tokens lsp-clangd dom lsp-beancount lsp-bash lsp-ansible lsp-angular lsp-ada lsp-actionscript evil-collection-vc-git vc-git evil-collection-diff-mode diff-mode vc-dispatcher lsp-haskell lsp-pyright dap-java dap-mode dap-launch dap-overlays lsp-java request mailheader mail-utils lsp-treemacs lsp-treemacs-themes treemacs treemacs-header-line treemacs-compatibility treemacs-mode treemacs-bookmarks treemacs-interface treemacs-extensions treemacs-mouse-interface treemacs-tags treemacs-persistence treemacs-filewatch-mode treemacs-follow-mode treemacs-rendering treemacs-async treemacs-workspaces treemacs-dom treemacs-visuals treemacs-fringe-indicator treemacs-scope pulse treemacs-faces treemacs-icons treemacs-themes treemacs-core-utils pfuture treemacs-logging treemacs-customization treemacs-macros cc-mode cc-fonts cc-guess cc-menus cc-cmds lsp-mode lsp-protocol tree-widget wid-edit spinner network-stream puny nsm rmc evil-collection-markdown-mode markdown-mode lv inline ht ewoc epg rfc6068 epg-config ligature evil-collection-outline noutline outline whitespace hl-line display-line-numbers elec-pair git-gutter-fringe fringe-helper git-gutter hl-todo dtrt-indent projectile lisp-mnt mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr evil-collection-grep grep ibuf-ext evil-collection-ibuffer ibuffer ibuffer-loaddefs yasnippet company-keywords company-etags company-gtags company-template company-dabbrev-code company-dabbrev company-capf company-yasnippet company-files company pcase flycheck-posframe posframe flycheck-google-cpplint evil-collection-flycheck flycheck evil-collection-imenu imenu evil-collection-go-mode go-mode url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util mailcap find-file ffap url-parse url-vars etags fileloop generator evil-collection-xref xref project time pydoc-autoloads suggest-autoloads loop-autoloads devdocs-browser-autoloads server sudo-edit-autoloads dumb-jump-autoloads popup-autoloads fcitx dbus xml fcitx-autoloads wgrep-ag-autoloads wgrep-autoloads ag-autoloads git-link-autoloads pr-review-autoloads ghub-autoloads treepy-autoloads magit-autoloads magit-section-autoloads git-commit-autoloads transient-autoloads lsp-haskell-autoloads lsp-pyright-autoloads lsp-java-autoloads dap-mode-autoloads lsp-treemacs-autoloads bui-autoloads treemacs-autoloads cfrs-autoloads hydra-autoloads pfuture-autoloads ace-window-autoloads avy-autoloads request-autoloads lsp-mode-autoloads lv-autoloads spinner-autoloads ht-autoloads flycheck-posframe-autoloads posframe-autoloads flycheck-package-autoloads package-lint-autoloads consult-flycheck-autoloads flycheck-autoloads let-alist-autoloads pkg-info-autoloads epl-autoloads company-emoji-autoloads company-autoloads yasnippet-autoloads winner projectile-autoloads vterm evil-collection-bookmark bookmark pp tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat parse-time iso8601 time-date ls-lisp format-spec auth-source eieio eieio-core eieio-loaddefs password-cache json map face-remap evil-collection-compile compile text-property-search evil-collection-term term disp-table ehelp find-func vterm-module term/xterm xterm vterm-autoloads with-editor-autoloads org-tree-slide-autoloads cc-styles cc-align cc-engine cc-vars cc-defs google-c-style google-c-style-autoloads cuda-mode-autoloads bpftrace-mode-autoloads dockerfile-mode-autoloads jsonnet-mode-autoloads haskell-mode-autoloads lua-mode-autoloads web-mode-autoloads typescript-mode-autoloads go-mode-autoloads markdown-mode-autoloads xonsh-mode-autoloads groovy-mode-autoloads kotlin-mode-autoloads yaml-mode-autoloads bazel-autoloads gn-mode-autoloads protobuf-mode-autoloads jinja2-mode-autoloads vimrc-mode-autoloads fish-mode-autoloads cmake-mode-autoloads dtrt-indent-autoloads hl-todo-autoloads rainbow-mode-autoloads git-gutter-fringe-autoloads fringe-helper-autoloads git-gutter-autoloads autorevert filenotify saveplace cus-load embark-consult-autoloads embark-autoloads consult-autoloads use-package-bind-key bind-key easy-mmode evil-collection-vertico vertico vertico-autoloads orderless-autoloads evil-collection-which-key which-key which-key-autoloads fringe-scale emacs-fringe-scale-autoloads add-node-modules-path-autoloads exec-path-from-shell-autoloads switch-buffer-functions switch-buffer-functions-autoloads solarized-light-theme solarized-theme solarized solarized-faces color solarized-theme-autoloads evil-vimish-fold evil-vimish-fold-autoloads vimish-fold f dash s vimish-fold-autoloads f-autoloads dash-autoloads s-autoloads evil-surround evil-surround-autoloads evil-commentary evil-commentary-integration evil-commentary-autoloads use-package-delight evil-collection-tabulated-list evil-collection-tab-bar evil-collection-simple evil-collection-process-menu evil-collection-occur evil-collection-info evil-collection-indent evil-collection-image image-mode evil-collection-dired dired dired-loaddefs exif evil-collection-help evil-collection-elisp-mode evil-collection-comint calc-ext evil-collection-calc evil-collection-buff-menu evil-collection annalist evil-collection-autoloads annalist-autoloads evil evil-integration evil-maps evil-commands reveal flyspell ispell evil-jumps evil-command-window evil-search evil-ex shell pcomplete comint ansi-color evil-types evil-macros evil-repeat evil-states evil-core advice evil-common windmove calc calc-loaddefs calc-macs thingatpt rect evil-digraphs evil-vars ring edmacro kmacro evil-autoloads goto-chg-autoloads undo-fu-autoloads ligature-autoloads delight comp comp-cstr warnings rx delight-autoloads finder-inf use-package-core use-package-autoloads bind-key-autoloads straight-autoloads cl-seq info cl-extra help-mode seq byte-opt straight subr-x cl-macs gv cl-loaddefs cl-lib bytecomp byte-compile cconv china-util iso-transl tooltip 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 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 dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo move-toolbar gtk x-toolkit x multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 1441246 611296) (symbols 48 65553 5) (strings 32 473408 32915) (string-bytes 1 15632293) (vectors 16 113819) (vector-slots 8 3290339 1027112) (floats 8 1043 959) (intervals 56 47613 5332) (buffers 992 39))
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.