* bug#28533: 26.0.60; Native line numbers move with show-paren-mode enabled @ 2017-09-20 20:14 Romanos Skiadas 2017-09-20 20:42 ` Romanos Skiadas 2017-09-21 9:11 ` Eli Zaretskii 0 siblings, 2 replies; 6+ messages in thread From: Romanos Skiadas @ 2017-09-20 20:14 UTC (permalink / raw) To: 28533 Message-ID: <87bmm53zbd.fsf@gmail.com> --text follows this line-- As the subjects says, native line numbers move forward a bit with show paren mode enabled. To reproduce this behaviour: - Start emacs ./src/emacs -Q --eval "(add-hook 'text-mode-hook (lambda () (display-line-numbers-mode)))" --eval "(show-paren-mode 1)" /tmp/test.org - Write about 100 lines or so and fold the org header. Something like 1 * Foo...[100 lines folded here] - Enter a pair of parens under the folded header: 1 * Foo... 123 () - Move the point from left to right with C-f and the line number moves: 1 * Foo... 123 |() 123 (|) 123 ()| As far as I could tell, without the folded lines or show-paren-mode this does not happen. It can also be replicated in modes other than org by using set-selective-display. In GNU Emacs 26.0.60 (build 4, x86_64-pc-linux-gnu, GTK+ Version 3.22.11) of 2017-09-20 built on rski-ThinkPad-T470 Repository revision: 047f02f00f602b9aef63ae8938e12f3f0ab481eb Windowing system distributor 'The X.Org Foundation', version 11.0.11903000 System Description: Ubuntu 17.04 Recent messages: Loading /home/rski/.emacs.d/config.el (source)...done Loaded ~/.emacs.d/config.el Starting new Ispell process /usr/bin/aspell with default dictionary... For information about GNU Emacs and the GNU system, type C-h C-a. Setting up indent for shell type zsh Indentation variables are now local. Indentation setup for shell type zsh Package refresh done Mark set ../.emacs.d/elpa/helm-20170906.426/helm-elisp.el: ‘dont-compile’ is an obsolete macro (as of 24.4). Configured features: XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 LCMS2 Important settings: value of $LANG: en_IE.UTF-8 locale-coding-system: utf-8-unix Major mode: Org Minor modes in effect: flyspell-mode: t display-line-numbers-mode: t smartparens-mode: t display-battery-mode: t display-time-mode: t projectile-mode: t dumb-jump-mode: t org-bullets-mode: t global-hl-todo-mode: t show-paren-mode: t save-place-mode: t ws-butler-mode: t which-key-mode: t global-subword-mode: t subword-mode: t global-git-gutter-mode: t diff-auto-refine-mode: t yas-global-mode: t yas-minor-mode: t global-company-mode: t company-mode: t helm-mode: t async-bytecomp-package-mode: t flycheck-pos-tip-mode: t global-flycheck-mode: t flycheck-mode: t override-global-mode: t shell-dirtrack-mode: t tooltip-mode: t global-eldoc-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 auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t column-number-mode: 1 line-number-mode: t transient-mark-mode: t Load-path shadows: /home/rski/.emacs.d/elpa/org-20170906/org-lint hides /usr/local/share/emacs/26.0.60/lisp/org/org-lint /home/rski/.emacs.d/elpa/org-20170906/ob-ebnf hides /usr/local/share/emacs/26.0.60/lisp/org/ob-ebnf /home/rski/.emacs.d/elpa/org-20170906/ob-abc hides /usr/local/share/emacs/26.0.60/lisp/org/ob-abc /home/rski/.emacs.d/elpa/org-20170906/ob-eval hides /usr/local/share/emacs/26.0.60/lisp/org/ob-eval /home/rski/.emacs.d/elpa/org-20170906/org-capture hides /usr/local/share/emacs/26.0.60/lisp/org/org-capture /home/rski/.emacs.d/elpa/org-20170906/ob-org hides /usr/local/share/emacs/26.0.60/lisp/org/ob-org /home/rski/.emacs.d/elpa/org-20170906/ob-screen hides /usr/local/share/emacs/26.0.60/lisp/org/ob-screen /home/rski/.emacs.d/elpa/org-20170906/ob-ledger hides /usr/local/share/emacs/26.0.60/lisp/org/ob-ledger /home/rski/.emacs.d/elpa/org-20170906/ox-beamer hides /usr/local/share/emacs/26.0.60/lisp/org/ox-beamer /home/rski/.emacs.d/elpa/org-20170906/org-agenda hides /usr/local/share/emacs/26.0.60/lisp/org/org-agenda /home/rski/.emacs.d/elpa/org-20170906/ox-ascii hides /usr/local/share/emacs/26.0.60/lisp/org/ox-ascii /home/rski/.emacs.d/elpa/org-20170906/ob-calc hides /usr/local/share/emacs/26.0.60/lisp/org/ob-calc /home/rski/.emacs.d/elpa/org-20170906/ob-haskell hides /usr/local/share/emacs/26.0.60/lisp/org/ob-haskell /home/rski/.emacs.d/elpa/org-20170906/org-plot hides /usr/local/share/emacs/26.0.60/lisp/org/org-plot /home/rski/.emacs.d/elpa/org-20170906/ob-picolisp hides /usr/local/share/emacs/26.0.60/lisp/org/ob-picolisp /home/rski/.emacs.d/elpa/org-20170906/ob-dot hides /usr/local/share/emacs/26.0.60/lisp/org/ob-dot /home/rski/.emacs.d/elpa/org-20170906/ob-plantuml hides /usr/local/share/emacs/26.0.60/lisp/org/ob-plantuml /home/rski/.emacs.d/elpa/org-20170906/ox-publish hides /usr/local/share/emacs/26.0.60/lisp/org/ox-publish /home/rski/.emacs.d/elpa/org-20170906/org-gnus hides /usr/local/share/emacs/26.0.60/lisp/org/org-gnus /home/rski/.emacs.d/elpa/org-20170906/org-archive hides /usr/local/share/emacs/26.0.60/lisp/org/org-archive /home/rski/.emacs.d/elpa/org-20170906/org-datetree hides /usr/local/share/emacs/26.0.60/lisp/org/org-datetree /home/rski/.emacs.d/elpa/org-20170906/org-list hides /usr/local/share/emacs/26.0.60/lisp/org/org-list /home/rski/.emacs.d/elpa/org-20170906/ob-makefile hides /usr/local/share/emacs/26.0.60/lisp/org/ob-makefile /home/rski/.emacs.d/elpa/org-20170906/org-inlinetask hides /usr/local/share/emacs/26.0.60/lisp/org/org-inlinetask /home/rski/.emacs.d/elpa/org-20170906/ob-J hides /usr/local/share/emacs/26.0.60/lisp/org/ob-J /home/rski/.emacs.d/elpa/org-20170906/ob-stan hides /usr/local/share/emacs/26.0.60/lisp/org/ob-stan /home/rski/.emacs.d/elpa/org-20170906/org-element hides /usr/local/share/emacs/26.0.60/lisp/org/org-element /home/rski/.emacs.d/elpa/org-20170906/ob-scheme hides /usr/local/share/emacs/26.0.60/lisp/org/ob-scheme /home/rski/.emacs.d/elpa/org-20170906/ob-exp hides /usr/local/share/emacs/26.0.60/lisp/org/ob-exp /home/rski/.emacs.d/elpa/org-20170906/ob-ditaa hides /usr/local/share/emacs/26.0.60/lisp/org/ob-ditaa /home/rski/.emacs.d/elpa/org-20170906/ox-icalendar hides /usr/local/share/emacs/26.0.60/lisp/org/ox-icalendar /home/rski/.emacs.d/elpa/org-20170906/org-macro hides /usr/local/share/emacs/26.0.60/lisp/org/org-macro /home/rski/.emacs.d/elpa/org-20170906/org-eww hides /usr/local/share/emacs/26.0.60/lisp/org/org-eww /home/rski/.emacs.d/elpa/org-20170906/org-loaddefs hides /usr/local/share/emacs/26.0.60/lisp/org/org-loaddefs /home/rski/.emacs.d/elpa/org-20170906/org-eshell hides /usr/local/share/emacs/26.0.60/lisp/org/org-eshell /home/rski/.emacs.d/elpa/org-20170906/ob-io hides /usr/local/share/emacs/26.0.60/lisp/org/ob-io /home/rski/.emacs.d/elpa/org-20170906/ob-sed hides /usr/local/share/emacs/26.0.60/lisp/org/ob-sed /home/rski/.emacs.d/elpa/org-20170906/org-feed hides /usr/local/share/emacs/26.0.60/lisp/org/org-feed /home/rski/.emacs.d/elpa/org-20170906/ox-org hides /usr/local/share/emacs/26.0.60/lisp/org/ox-org /home/rski/.emacs.d/elpa/org-20170906/org-id hides /usr/local/share/emacs/26.0.60/lisp/org/org-id /home/rski/.emacs.d/elpa/org-20170906/ob-clojure hides /usr/local/share/emacs/26.0.60/lisp/org/ob-clojure /home/rski/.emacs.d/elpa/org-20170906/ox hides /usr/local/share/emacs/26.0.60/lisp/org/ox /home/rski/.emacs.d/elpa/org-20170906/org-info hides /usr/local/share/emacs/26.0.60/lisp/org/org-info /home/rski/.emacs.d/elpa/scala-mode-20170802.432/ob-scala hides /usr/local/share/emacs/26.0.60/lisp/org/ob-scala /home/rski/.emacs.d/elpa/org-20170906/ob-forth hides /usr/local/share/emacs/26.0.60/lisp/org/ob-forth /home/rski/.emacs.d/elpa/org-20170906/ob-lisp hides /usr/local/share/emacs/26.0.60/lisp/org/ob-lisp /home/rski/.emacs.d/elpa/org-20170906/org-footnote hides /usr/local/share/emacs/26.0.60/lisp/org/org-footnote /home/rski/.emacs.d/elpa/org-20170906/ox-texinfo hides /usr/local/share/emacs/26.0.60/lisp/org/ox-texinfo /home/rski/.emacs.d/elpa/org-20170906/org-indent hides /usr/local/share/emacs/26.0.60/lisp/org/org-indent /home/rski/.emacs.d/elpa/org-20170906/org-colview hides /usr/local/share/emacs/26.0.60/lisp/org/org-colview /home/rski/.emacs.d/elpa/org-20170906/org hides /usr/local/share/emacs/26.0.60/lisp/org/org /home/rski/.emacs.d/elpa/org-20170906/ob-sqlite hides /usr/local/share/emacs/26.0.60/lisp/org/ob-sqlite /home/rski/.emacs.d/elpa/org-20170906/ob-C hides /usr/local/share/emacs/26.0.60/lisp/org/ob-C /home/rski/.emacs.d/elpa/org-20170906/ob-lilypond hides /usr/local/share/emacs/26.0.60/lisp/org/ob-lilypond /home/rski/.emacs.d/elpa/org-20170906/org-irc hides /usr/local/share/emacs/26.0.60/lisp/org/org-irc /home/rski/.emacs.d/elpa/org-20170906/org-mobile hides /usr/local/share/emacs/26.0.60/lisp/org/org-mobile /home/rski/.emacs.d/elpa/org-20170906/ob-R hides /usr/local/share/emacs/26.0.60/lisp/org/ob-R /home/rski/.emacs.d/elpa/org-20170906/org-faces hides /usr/local/share/emacs/26.0.60/lisp/org/org-faces /home/rski/.emacs.d/elpa/org-20170906/org-attach hides /usr/local/share/emacs/26.0.60/lisp/org/org-attach /home/rski/.emacs.d/elpa/org-20170906/ob-tangle hides /usr/local/share/emacs/26.0.60/lisp/org/ob-tangle /home/rski/.emacs.d/elpa/org-20170906/org-bbdb hides /usr/local/share/emacs/26.0.60/lisp/org/org-bbdb /home/rski/.emacs.d/elpa/org-20170906/org-timer hides /usr/local/share/emacs/26.0.60/lisp/org/org-timer /home/rski/.emacs.d/elpa/org-20170906/ox-man hides /usr/local/share/emacs/26.0.60/lisp/org/ox-man /home/rski/.emacs.d/elpa/org-20170906/ob-ruby hides /usr/local/share/emacs/26.0.60/lisp/org/ob-ruby /home/rski/.emacs.d/elpa/org-20170906/ob-mscgen hides /usr/local/share/emacs/26.0.60/lisp/org/ob-mscgen /home/rski/.emacs.d/elpa/org-20170906/org-src hides /usr/local/share/emacs/26.0.60/lisp/org/org-src /home/rski/.emacs.d/elpa/org-20170906/org-install hides /usr/local/share/emacs/26.0.60/lisp/org/org-install /home/rski/.emacs.d/elpa/org-20170906/ob-emacs-lisp hides /usr/local/share/emacs/26.0.60/lisp/org/ob-emacs-lisp /home/rski/.emacs.d/elpa/org-20170906/ob-java hides /usr/local/share/emacs/26.0.60/lisp/org/ob-java /home/rski/.emacs.d/elpa/org-20170906/ob-table hides /usr/local/share/emacs/26.0.60/lisp/org/ob-table /home/rski/.emacs.d/elpa/org-20170906/ob-js hides /usr/local/share/emacs/26.0.60/lisp/org/ob-js /home/rski/.emacs.d/elpa/org-20170906/ob-shell hides /usr/local/share/emacs/26.0.60/lisp/org/ob-shell /home/rski/.emacs.d/elpa/org-20170906/ob-processing hides /usr/local/share/emacs/26.0.60/lisp/org/ob-processing /home/rski/.emacs.d/elpa/org-20170906/org-entities hides /usr/local/share/emacs/26.0.60/lisp/org/org-entities /home/rski/.emacs.d/elpa/org-20170906/org-w3m hides /usr/local/share/emacs/26.0.60/lisp/org/org-w3m /home/rski/.emacs.d/elpa/org-20170906/org-rmail hides /usr/local/share/emacs/26.0.60/lisp/org/org-rmail /home/rski/.emacs.d/elpa/org-20170906/ob-octave hides /usr/local/share/emacs/26.0.60/lisp/org/ob-octave /home/rski/.emacs.d/elpa/org-20170906/ob-latex hides /usr/local/share/emacs/26.0.60/lisp/org/ob-latex /home/rski/.emacs.d/elpa/org-20170906/ob-gnuplot hides /usr/local/share/emacs/26.0.60/lisp/org/ob-gnuplot /home/rski/.emacs.d/elpa/org-20170906/ob-keys hides /usr/local/share/emacs/26.0.60/lisp/org/ob-keys /home/rski/.emacs.d/elpa/org-20170906/ob-fortran hides /usr/local/share/emacs/26.0.60/lisp/org/ob-fortran /home/rski/.emacs.d/elpa/org-20170906/ob-matlab hides /usr/local/share/emacs/26.0.60/lisp/org/ob-matlab /home/rski/.emacs.d/elpa/org-20170906/ox-md hides /usr/local/share/emacs/26.0.60/lisp/org/ox-md /home/rski/.emacs.d/elpa/org-20170906/org-crypt hides /usr/local/share/emacs/26.0.60/lisp/org/org-crypt /home/rski/.emacs.d/elpa/org-20170906/ob-coq hides /usr/local/share/emacs/26.0.60/lisp/org/ob-coq /home/rski/.emacs.d/elpa/org-20170906/org-ctags hides /usr/local/share/emacs/26.0.60/lisp/org/org-ctags /home/rski/.emacs.d/elpa/org-20170906/org-clock hides /usr/local/share/emacs/26.0.60/lisp/org/org-clock /home/rski/.emacs.d/elpa/org-20170906/ob-groovy hides /usr/local/share/emacs/26.0.60/lisp/org/ob-groovy /home/rski/.emacs.d/elpa/org-20170906/ob hides /usr/local/share/emacs/26.0.60/lisp/org/ob /home/rski/.emacs.d/elpa/org-20170906/org-mhe hides /usr/local/share/emacs/26.0.60/lisp/org/org-mhe /home/rski/.emacs.d/elpa/org-20170906/org-habit hides /usr/local/share/emacs/26.0.60/lisp/org/org-habit /home/rski/.emacs.d/elpa/org-20170906/ob-comint hides /usr/local/share/emacs/26.0.60/lisp/org/ob-comint /home/rski/.emacs.d/elpa/org-20170906/ob-python hides /usr/local/share/emacs/26.0.60/lisp/org/ob-python /home/rski/.emacs.d/elpa/org-20170906/ob-shen hides /usr/local/share/emacs/26.0.60/lisp/org/ob-shen /home/rski/.emacs.d/elpa/org-20170906/org-docview hides /usr/local/share/emacs/26.0.60/lisp/org/org-docview /home/rski/.emacs.d/elpa/org-20170906/org-version hides /usr/local/share/emacs/26.0.60/lisp/org/org-version /home/rski/.emacs.d/elpa/org-20170906/org-macs hides /usr/local/share/emacs/26.0.60/lisp/org/org-macs /home/rski/.emacs.d/elpa/org-20170906/org-bibtex hides /usr/local/share/emacs/26.0.60/lisp/org/org-bibtex /home/rski/.emacs.d/elpa/org-20170906/ox-html hides /usr/local/share/emacs/26.0.60/lisp/org/ox-html /home/rski/.emacs.d/elpa/org-20170906/org-mouse hides /usr/local/share/emacs/26.0.60/lisp/org/org-mouse /home/rski/.emacs.d/elpa/org-20170906/org-compat hides /usr/local/share/emacs/26.0.60/lisp/org/org-compat /home/rski/.emacs.d/elpa/org-20170906/ob-sql hides /usr/local/share/emacs/26.0.60/lisp/org/ob-sql /home/rski/.emacs.d/elpa/org-20170906/org-pcomplete hides /usr/local/share/emacs/26.0.60/lisp/org/org-pcomplete /home/rski/.emacs.d/elpa/org-20170906/org-protocol hides /usr/local/share/emacs/26.0.60/lisp/org/org-protocol /home/rski/.emacs.d/elpa/org-20170906/ox-odt hides /usr/local/share/emacs/26.0.60/lisp/org/ox-odt /home/rski/.emacs.d/elpa/org-20170906/ob-lua hides /usr/local/share/emacs/26.0.60/lisp/org/ob-lua /home/rski/.emacs.d/elpa/org-20170906/ox-latex hides /usr/local/share/emacs/26.0.60/lisp/org/ox-latex /home/rski/.emacs.d/elpa/org-20170906/ob-css hides /usr/local/share/emacs/26.0.60/lisp/org/ob-css /home/rski/.emacs.d/elpa/org-20170906/ob-lob hides /usr/local/share/emacs/26.0.60/lisp/org/ob-lob /home/rski/.emacs.d/elpa/org-20170906/ob-perl hides /usr/local/share/emacs/26.0.60/lisp/org/ob-perl /home/rski/.emacs.d/elpa/org-20170906/org-table hides /usr/local/share/emacs/26.0.60/lisp/org/org-table /home/rski/.emacs.d/elpa/org-20170906/ob-asymptote hides /usr/local/share/emacs/26.0.60/lisp/org/ob-asymptote /home/rski/.emacs.d/elpa/org-20170906/ob-sass hides /usr/local/share/emacs/26.0.60/lisp/org/ob-sass /home/rski/.emacs.d/elpa/org-20170906/ob-core hides /usr/local/share/emacs/26.0.60/lisp/org/ob-core /home/rski/.emacs.d/elpa/org-20170906/ob-maxima hides /usr/local/share/emacs/26.0.60/lisp/org/ob-maxima /home/rski/.emacs.d/elpa/org-20170906/ob-ocaml hides /usr/local/share/emacs/26.0.60/lisp/org/ob-ocaml /home/rski/.emacs.d/elpa/org-20170906/ob-ref hides /usr/local/share/emacs/26.0.60/lisp/org/ob-ref /home/rski/.emacs.d/elpa/org-20170906/ob-awk hides /usr/local/share/emacs/26.0.60/lisp/org/ob-awk Features: (shadow sort mail-extr emacsbug sendmail helm-command helm-elisp helm-eval edebug helm-info sh-script smie executable org-rmail org-mhe org-irc org-info org-gnus nnir org-docview doc-view org-bibtex bibtex org-bbdb org-w3m winner mm-archive flyspell ispell display-line-numbers smartparens-config smartparens-text smartparens-rust smartparens-python smartparens-lua smartparens-html smartparens company-oddmuse company-keywords company-etags company-gtags company-dabbrev-code company-dabbrev company-files company-capf company-cmake company-xcode company-clang company-semantic company-eclim company-css company-nxml company-bbdb flycheck-ledger ledger-mode ledger-check ledger-texi ledger-test ledger-sort ledger-report ledger-reconcile ledger-occur ledger-fontify ledger-state ledger-fonts ledger-complete ledger-schedule ledger-init ledger-xact ledger-post ledger-exec ledger-navigate ledger-context ledger-commodities esh-var esh-io esh-cmd esh-opt esh-ext esh-proc esh-groups eshell esh-module esh-mode esh-arg esh-util cus-edit ledger-regex battery time helm-projectile projectile skeleton ibuf-macs ibuf-ext ibuffer ibuffer-loaddefs dumb-jump gnuplot info-look find-lisp htmlize ox-reveal ox-odt rng-loc rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex ox-icalendar ox-html table ox-ascii ox-publish ox org-bullets monokai-theme hl-todo better-defaults paren saveplace ws-butler which-key cap-words superword subword hydra lv git-gutter racer flycheck-rust rust-mode protobuf-mode go-playground time-stamp gotest go-guru go-eldoc company-go company-template go-mode find-file etags xref project company-nixos-options nixos-options nix-mode yang-mode cc-langs cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs company-c-headers emmet-mode web-mode disp-table lua-mode ensime ensime-sbt sbt-mode sbt-mode-rgrep grep sbt-mode-comint sbt-mode-buffer sbt-mode-project sbt-mode-vars ensime-http ensime-ui ensime-semantic-highlight ensime-doc ensime-search ensime-undo ensime-startup ensime-refactor diff-mode ensime-popup ensime-notes ensime-model ensime-mode ensime-inspector imenu ensime-goto-testfile ensime-editor popup ensime-debug gdb-mi bindat gud ensime-stacktrace ensime-inf ensime-completion-util scala-mode-syntax ensime-config ensime-util ensime-client ensime-vars flymake flymake-proc flymake-ui hideshow pp arc-mode archive-mode ensime-macros puppet-mode align company-anaconda anaconda-mode pythonic f s python tramp-sh yasnippet elec-pair company helm-mode helm-files image-dired image-mode dired-x dired-aux ffap thingatpt helm-buffers helm-tags helm-locate helm-grep helm-regexp helm-external helm-net browse-url xml helm-utils helm-help helm-types helm helm-source eieio-compat helm-multi-match helm-lib wdired helm-config helm-easymenu async-bytecomp async flycheck-pos-tip pos-tip flycheck cl-extra json map help-mode rx dash jka-compr compile let-alist try use-package diminish cl bind-key network-stream starttls url-http url-gw nsm url-cache url-auth url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util mailcap org-element avl-tree generator org org-macro org-footnote org-pcomplete org-list org-faces org-entities noutline outline org-version ob-emacs-lisp ob ob-tangle org-src easy-mmode ob-ref ob-lob ob-table ob-keys ob-exp ob-comint ob-core ob-eval org-compat org-macs pcase org-loaddefs find-func cal-menu calendar cal-loaddefs gnus-sum gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source tls gnutls utf7 netrc nnoo gnus-spec gnus-int gnus-range message subr-x puny dired dired-loaddefs rfc822 mml mml-sec epa derived epg mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader gnus-win gnus nnheader gnus-util rmail rmail-loaddefs rfc2047 rfc2045 ietf-drums mail-utils mm-util mail-prsvr wid-edit tramp tramp-compat tramp-loaddefs trampver ucs-normalize shell pcomplete comint ansi-color ring parse-time format-spec advice cus-start cus-load finder-inf edmacro kmacro info package easymenu epg-config url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache url-vars seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib time-date mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type 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 elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame 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 charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 1352576 57186) (symbols 48 70356 14) (miscs 40 183 488) (strings 32 201896 4285) (string-bytes 1 7876708) (vectors 16 80891) (vector-slots 8 2061006 174113) (floats 8 361 385) (intervals 56 1278 157) (buffers 992 20)) ^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#28533: 26.0.60; Native line numbers move with show-paren-mode enabled 2017-09-20 20:14 bug#28533: 26.0.60; Native line numbers move with show-paren-mode enabled Romanos Skiadas @ 2017-09-20 20:42 ` Romanos Skiadas 2017-09-21 9:11 ` Eli Zaretskii 1 sibling, 0 replies; 6+ messages in thread From: Romanos Skiadas @ 2017-09-20 20:42 UTC (permalink / raw) To: 28533 Oh no,the whitespace showing the problem disappeared. Treating undescores as space: __1 * Foo... 123 |() _123 (|) 123 ()| - Romanos On 20/09/17 21:14, Romanos Skiadas wrote: > Message-ID: <87bmm53zbd.fsf@gmail.com> > --text follows this line-- > > As the subjects says, native line numbers move forward a bit with show > paren mode enabled. > To reproduce this behaviour: > > - Start emacs > ./src/emacs -Q --eval "(add-hook 'text-mode-hook (lambda () > (display-line-numbers-mode)))" --eval "(show-paren-mode 1)" /tmp/test.org > > - Write about 100 lines or so and fold the org header. Something like > 1 * Foo...[100 lines folded here] > > - Enter a pair of parens under the folded header: > 1 * Foo... > 123 () > > - Move the point from left to right with C-f and the line number moves: > 1 * Foo... > 123 |() > 123 (|) > 123 ()| > > As far as I could tell, without the folded lines or show-paren-mode this > does not happen. It can also be replicated in modes other than org by > using set-selective-display. > > In GNU Emacs 26.0.60 (build 4, x86_64-pc-linux-gnu, GTK+ Version 3.22.11) > of 2017-09-20 built on rski-ThinkPad-T470 > Repository revision: 047f02f00f602b9aef63ae8938e12f3f0ab481eb > Windowing system distributor 'The X.Org Foundation', version > 11.0.11903000 > System Description: Ubuntu 17.04 > > Recent messages: > Loading /home/rski/.emacs.d/config.el (source)...done > Loaded ~/.emacs.d/config.el > Starting new Ispell process /usr/bin/aspell with default dictionary... > For information about GNU Emacs and the GNU system, type C-h C-a. > Setting up indent for shell type zsh > Indentation variables are now local. > Indentation setup for shell type zsh > Package refresh done > Mark set > ../.emacs.d/elpa/helm-20170906.426/helm-elisp.el: ‘dont-compile’ is an > obsolete macro (as of 24.4). > > Configured features: > XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS NOTIFY > ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB > TOOLKIT_SCROLL_BARS GTK3 X11 LCMS2 > > Important settings: > value of $LANG: en_IE.UTF-8 > locale-coding-system: utf-8-unix > > Major mode: Org > > Minor modes in effect: > flyspell-mode: t > display-line-numbers-mode: t > smartparens-mode: t > display-battery-mode: t > display-time-mode: t > projectile-mode: t > dumb-jump-mode: t > org-bullets-mode: t > global-hl-todo-mode: t > show-paren-mode: t > save-place-mode: t > ws-butler-mode: t > which-key-mode: t > global-subword-mode: t > subword-mode: t > global-git-gutter-mode: t > diff-auto-refine-mode: t > yas-global-mode: t > yas-minor-mode: t > global-company-mode: t > company-mode: t > helm-mode: t > async-bytecomp-package-mode: t > flycheck-pos-tip-mode: t > global-flycheck-mode: t > flycheck-mode: t > override-global-mode: t > shell-dirtrack-mode: t > tooltip-mode: t > global-eldoc-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 > auto-composition-mode: t > auto-encryption-mode: t > auto-compression-mode: t > column-number-mode: 1 > line-number-mode: t > transient-mark-mode: t > > Load-path shadows: > /home/rski/.emacs.d/elpa/org-20170906/org-lint hides > /usr/local/share/emacs/26.0.60/lisp/org/org-lint > /home/rski/.emacs.d/elpa/org-20170906/ob-ebnf hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-ebnf > /home/rski/.emacs.d/elpa/org-20170906/ob-abc hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-abc > /home/rski/.emacs.d/elpa/org-20170906/ob-eval hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-eval > /home/rski/.emacs.d/elpa/org-20170906/org-capture hides > /usr/local/share/emacs/26.0.60/lisp/org/org-capture > /home/rski/.emacs.d/elpa/org-20170906/ob-org hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-org > /home/rski/.emacs.d/elpa/org-20170906/ob-screen hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-screen > /home/rski/.emacs.d/elpa/org-20170906/ob-ledger hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-ledger > /home/rski/.emacs.d/elpa/org-20170906/ox-beamer hides > /usr/local/share/emacs/26.0.60/lisp/org/ox-beamer > /home/rski/.emacs.d/elpa/org-20170906/org-agenda hides > /usr/local/share/emacs/26.0.60/lisp/org/org-agenda > /home/rski/.emacs.d/elpa/org-20170906/ox-ascii hides > /usr/local/share/emacs/26.0.60/lisp/org/ox-ascii > /home/rski/.emacs.d/elpa/org-20170906/ob-calc hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-calc > /home/rski/.emacs.d/elpa/org-20170906/ob-haskell hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-haskell > /home/rski/.emacs.d/elpa/org-20170906/org-plot hides > /usr/local/share/emacs/26.0.60/lisp/org/org-plot > /home/rski/.emacs.d/elpa/org-20170906/ob-picolisp hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-picolisp > /home/rski/.emacs.d/elpa/org-20170906/ob-dot hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-dot > /home/rski/.emacs.d/elpa/org-20170906/ob-plantuml hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-plantuml > /home/rski/.emacs.d/elpa/org-20170906/ox-publish hides > /usr/local/share/emacs/26.0.60/lisp/org/ox-publish > /home/rski/.emacs.d/elpa/org-20170906/org-gnus hides > /usr/local/share/emacs/26.0.60/lisp/org/org-gnus > /home/rski/.emacs.d/elpa/org-20170906/org-archive hides > /usr/local/share/emacs/26.0.60/lisp/org/org-archive > /home/rski/.emacs.d/elpa/org-20170906/org-datetree hides > /usr/local/share/emacs/26.0.60/lisp/org/org-datetree > /home/rski/.emacs.d/elpa/org-20170906/org-list hides > /usr/local/share/emacs/26.0.60/lisp/org/org-list > /home/rski/.emacs.d/elpa/org-20170906/ob-makefile hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-makefile > /home/rski/.emacs.d/elpa/org-20170906/org-inlinetask hides > /usr/local/share/emacs/26.0.60/lisp/org/org-inlinetask > /home/rski/.emacs.d/elpa/org-20170906/ob-J hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-J > /home/rski/.emacs.d/elpa/org-20170906/ob-stan hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-stan > /home/rski/.emacs.d/elpa/org-20170906/org-element hides > /usr/local/share/emacs/26.0.60/lisp/org/org-element > /home/rski/.emacs.d/elpa/org-20170906/ob-scheme hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-scheme > /home/rski/.emacs.d/elpa/org-20170906/ob-exp hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-exp > /home/rski/.emacs.d/elpa/org-20170906/ob-ditaa hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-ditaa > /home/rski/.emacs.d/elpa/org-20170906/ox-icalendar hides > /usr/local/share/emacs/26.0.60/lisp/org/ox-icalendar > /home/rski/.emacs.d/elpa/org-20170906/org-macro hides > /usr/local/share/emacs/26.0.60/lisp/org/org-macro > /home/rski/.emacs.d/elpa/org-20170906/org-eww hides > /usr/local/share/emacs/26.0.60/lisp/org/org-eww > /home/rski/.emacs.d/elpa/org-20170906/org-loaddefs hides > /usr/local/share/emacs/26.0.60/lisp/org/org-loaddefs > /home/rski/.emacs.d/elpa/org-20170906/org-eshell hides > /usr/local/share/emacs/26.0.60/lisp/org/org-eshell > /home/rski/.emacs.d/elpa/org-20170906/ob-io hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-io > /home/rski/.emacs.d/elpa/org-20170906/ob-sed hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-sed > /home/rski/.emacs.d/elpa/org-20170906/org-feed hides > /usr/local/share/emacs/26.0.60/lisp/org/org-feed > /home/rski/.emacs.d/elpa/org-20170906/ox-org hides > /usr/local/share/emacs/26.0.60/lisp/org/ox-org > /home/rski/.emacs.d/elpa/org-20170906/org-id hides > /usr/local/share/emacs/26.0.60/lisp/org/org-id > /home/rski/.emacs.d/elpa/org-20170906/ob-clojure hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-clojure > /home/rski/.emacs.d/elpa/org-20170906/ox hides > /usr/local/share/emacs/26.0.60/lisp/org/ox > /home/rski/.emacs.d/elpa/org-20170906/org-info hides > /usr/local/share/emacs/26.0.60/lisp/org/org-info > /home/rski/.emacs.d/elpa/scala-mode-20170802.432/ob-scala hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-scala > /home/rski/.emacs.d/elpa/org-20170906/ob-forth hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-forth > /home/rski/.emacs.d/elpa/org-20170906/ob-lisp hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-lisp > /home/rski/.emacs.d/elpa/org-20170906/org-footnote hides > /usr/local/share/emacs/26.0.60/lisp/org/org-footnote > /home/rski/.emacs.d/elpa/org-20170906/ox-texinfo hides > /usr/local/share/emacs/26.0.60/lisp/org/ox-texinfo > /home/rski/.emacs.d/elpa/org-20170906/org-indent hides > /usr/local/share/emacs/26.0.60/lisp/org/org-indent > /home/rski/.emacs.d/elpa/org-20170906/org-colview hides > /usr/local/share/emacs/26.0.60/lisp/org/org-colview > /home/rski/.emacs.d/elpa/org-20170906/org hides > /usr/local/share/emacs/26.0.60/lisp/org/org > /home/rski/.emacs.d/elpa/org-20170906/ob-sqlite hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-sqlite > /home/rski/.emacs.d/elpa/org-20170906/ob-C hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-C > /home/rski/.emacs.d/elpa/org-20170906/ob-lilypond hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-lilypond > /home/rski/.emacs.d/elpa/org-20170906/org-irc hides > /usr/local/share/emacs/26.0.60/lisp/org/org-irc > /home/rski/.emacs.d/elpa/org-20170906/org-mobile hides > /usr/local/share/emacs/26.0.60/lisp/org/org-mobile > /home/rski/.emacs.d/elpa/org-20170906/ob-R hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-R > /home/rski/.emacs.d/elpa/org-20170906/org-faces hides > /usr/local/share/emacs/26.0.60/lisp/org/org-faces > /home/rski/.emacs.d/elpa/org-20170906/org-attach hides > /usr/local/share/emacs/26.0.60/lisp/org/org-attach > /home/rski/.emacs.d/elpa/org-20170906/ob-tangle hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-tangle > /home/rski/.emacs.d/elpa/org-20170906/org-bbdb hides > /usr/local/share/emacs/26.0.60/lisp/org/org-bbdb > /home/rski/.emacs.d/elpa/org-20170906/org-timer hides > /usr/local/share/emacs/26.0.60/lisp/org/org-timer > /home/rski/.emacs.d/elpa/org-20170906/ox-man hides > /usr/local/share/emacs/26.0.60/lisp/org/ox-man > /home/rski/.emacs.d/elpa/org-20170906/ob-ruby hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-ruby > /home/rski/.emacs.d/elpa/org-20170906/ob-mscgen hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-mscgen > /home/rski/.emacs.d/elpa/org-20170906/org-src hides > /usr/local/share/emacs/26.0.60/lisp/org/org-src > /home/rski/.emacs.d/elpa/org-20170906/org-install hides > /usr/local/share/emacs/26.0.60/lisp/org/org-install > /home/rski/.emacs.d/elpa/org-20170906/ob-emacs-lisp hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-emacs-lisp > /home/rski/.emacs.d/elpa/org-20170906/ob-java hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-java > /home/rski/.emacs.d/elpa/org-20170906/ob-table hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-table > /home/rski/.emacs.d/elpa/org-20170906/ob-js hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-js > /home/rski/.emacs.d/elpa/org-20170906/ob-shell hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-shell > /home/rski/.emacs.d/elpa/org-20170906/ob-processing hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-processing > /home/rski/.emacs.d/elpa/org-20170906/org-entities hides > /usr/local/share/emacs/26.0.60/lisp/org/org-entities > /home/rski/.emacs.d/elpa/org-20170906/org-w3m hides > /usr/local/share/emacs/26.0.60/lisp/org/org-w3m > /home/rski/.emacs.d/elpa/org-20170906/org-rmail hides > /usr/local/share/emacs/26.0.60/lisp/org/org-rmail > /home/rski/.emacs.d/elpa/org-20170906/ob-octave hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-octave > /home/rski/.emacs.d/elpa/org-20170906/ob-latex hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-latex > /home/rski/.emacs.d/elpa/org-20170906/ob-gnuplot hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-gnuplot > /home/rski/.emacs.d/elpa/org-20170906/ob-keys hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-keys > /home/rski/.emacs.d/elpa/org-20170906/ob-fortran hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-fortran > /home/rski/.emacs.d/elpa/org-20170906/ob-matlab hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-matlab > /home/rski/.emacs.d/elpa/org-20170906/ox-md hides > /usr/local/share/emacs/26.0.60/lisp/org/ox-md > /home/rski/.emacs.d/elpa/org-20170906/org-crypt hides > /usr/local/share/emacs/26.0.60/lisp/org/org-crypt > /home/rski/.emacs.d/elpa/org-20170906/ob-coq hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-coq > /home/rski/.emacs.d/elpa/org-20170906/org-ctags hides > /usr/local/share/emacs/26.0.60/lisp/org/org-ctags > /home/rski/.emacs.d/elpa/org-20170906/org-clock hides > /usr/local/share/emacs/26.0.60/lisp/org/org-clock > /home/rski/.emacs.d/elpa/org-20170906/ob-groovy hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-groovy > /home/rski/.emacs.d/elpa/org-20170906/ob hides > /usr/local/share/emacs/26.0.60/lisp/org/ob > /home/rski/.emacs.d/elpa/org-20170906/org-mhe hides > /usr/local/share/emacs/26.0.60/lisp/org/org-mhe > /home/rski/.emacs.d/elpa/org-20170906/org-habit hides > /usr/local/share/emacs/26.0.60/lisp/org/org-habit > /home/rski/.emacs.d/elpa/org-20170906/ob-comint hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-comint > /home/rski/.emacs.d/elpa/org-20170906/ob-python hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-python > /home/rski/.emacs.d/elpa/org-20170906/ob-shen hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-shen > /home/rski/.emacs.d/elpa/org-20170906/org-docview hides > /usr/local/share/emacs/26.0.60/lisp/org/org-docview > /home/rski/.emacs.d/elpa/org-20170906/org-version hides > /usr/local/share/emacs/26.0.60/lisp/org/org-version > /home/rski/.emacs.d/elpa/org-20170906/org-macs hides > /usr/local/share/emacs/26.0.60/lisp/org/org-macs > /home/rski/.emacs.d/elpa/org-20170906/org-bibtex hides > /usr/local/share/emacs/26.0.60/lisp/org/org-bibtex > /home/rski/.emacs.d/elpa/org-20170906/ox-html hides > /usr/local/share/emacs/26.0.60/lisp/org/ox-html > /home/rski/.emacs.d/elpa/org-20170906/org-mouse hides > /usr/local/share/emacs/26.0.60/lisp/org/org-mouse > /home/rski/.emacs.d/elpa/org-20170906/org-compat hides > /usr/local/share/emacs/26.0.60/lisp/org/org-compat > /home/rski/.emacs.d/elpa/org-20170906/ob-sql hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-sql > /home/rski/.emacs.d/elpa/org-20170906/org-pcomplete hides > /usr/local/share/emacs/26.0.60/lisp/org/org-pcomplete > /home/rski/.emacs.d/elpa/org-20170906/org-protocol hides > /usr/local/share/emacs/26.0.60/lisp/org/org-protocol > /home/rski/.emacs.d/elpa/org-20170906/ox-odt hides > /usr/local/share/emacs/26.0.60/lisp/org/ox-odt > /home/rski/.emacs.d/elpa/org-20170906/ob-lua hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-lua > /home/rski/.emacs.d/elpa/org-20170906/ox-latex hides > /usr/local/share/emacs/26.0.60/lisp/org/ox-latex > /home/rski/.emacs.d/elpa/org-20170906/ob-css hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-css > /home/rski/.emacs.d/elpa/org-20170906/ob-lob hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-lob > /home/rski/.emacs.d/elpa/org-20170906/ob-perl hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-perl > /home/rski/.emacs.d/elpa/org-20170906/org-table hides > /usr/local/share/emacs/26.0.60/lisp/org/org-table > /home/rski/.emacs.d/elpa/org-20170906/ob-asymptote hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-asymptote > /home/rski/.emacs.d/elpa/org-20170906/ob-sass hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-sass > /home/rski/.emacs.d/elpa/org-20170906/ob-core hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-core > /home/rski/.emacs.d/elpa/org-20170906/ob-maxima hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-maxima > /home/rski/.emacs.d/elpa/org-20170906/ob-ocaml hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-ocaml > /home/rski/.emacs.d/elpa/org-20170906/ob-ref hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-ref > /home/rski/.emacs.d/elpa/org-20170906/ob-awk hides > /usr/local/share/emacs/26.0.60/lisp/org/ob-awk > > Features: > (shadow sort mail-extr emacsbug sendmail helm-command helm-elisp > helm-eval edebug helm-info sh-script smie executable org-rmail org-mhe > org-irc org-info org-gnus nnir org-docview doc-view org-bibtex bibtex > org-bbdb org-w3m winner mm-archive flyspell ispell display-line-numbers > smartparens-config smartparens-text smartparens-rust smartparens-python > smartparens-lua smartparens-html smartparens company-oddmuse > company-keywords company-etags company-gtags company-dabbrev-code > company-dabbrev company-files company-capf company-cmake company-xcode > company-clang company-semantic company-eclim company-css company-nxml > company-bbdb flycheck-ledger ledger-mode ledger-check ledger-texi > ledger-test ledger-sort ledger-report ledger-reconcile ledger-occur > ledger-fontify ledger-state ledger-fonts ledger-complete ledger-schedule > ledger-init ledger-xact ledger-post ledger-exec ledger-navigate > ledger-context ledger-commodities esh-var esh-io esh-cmd esh-opt esh-ext > esh-proc esh-groups eshell esh-module esh-mode esh-arg esh-util cus-edit > ledger-regex battery time helm-projectile projectile skeleton ibuf-macs > ibuf-ext ibuffer ibuffer-loaddefs dumb-jump gnuplot info-look find-lisp > htmlize ox-reveal ox-odt rng-loc rng-uri rng-parse rng-match rng-dt > rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex > ox-icalendar ox-html table ox-ascii ox-publish ox org-bullets > monokai-theme hl-todo better-defaults paren saveplace ws-butler > which-key cap-words superword subword hydra lv git-gutter racer > flycheck-rust rust-mode protobuf-mode go-playground time-stamp gotest > go-guru go-eldoc company-go company-template go-mode find-file etags > xref project company-nixos-options nixos-options nix-mode yang-mode > cc-langs cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align > cc-engine cc-vars cc-defs company-c-headers emmet-mode web-mode > disp-table lua-mode ensime ensime-sbt sbt-mode sbt-mode-rgrep grep > sbt-mode-comint sbt-mode-buffer sbt-mode-project sbt-mode-vars > ensime-http ensime-ui ensime-semantic-highlight ensime-doc ensime-search > ensime-undo ensime-startup ensime-refactor diff-mode ensime-popup > ensime-notes ensime-model ensime-mode ensime-inspector imenu > ensime-goto-testfile ensime-editor popup ensime-debug gdb-mi bindat gud > ensime-stacktrace ensime-inf ensime-completion-util scala-mode-syntax > ensime-config ensime-util ensime-client ensime-vars flymake flymake-proc > flymake-ui hideshow pp arc-mode archive-mode ensime-macros puppet-mode > align company-anaconda anaconda-mode pythonic f s python tramp-sh > yasnippet elec-pair company helm-mode helm-files image-dired image-mode > dired-x dired-aux ffap thingatpt helm-buffers helm-tags helm-locate > helm-grep helm-regexp helm-external helm-net browse-url xml helm-utils > helm-help helm-types helm helm-source eieio-compat helm-multi-match > helm-lib wdired helm-config helm-easymenu async-bytecomp async > flycheck-pos-tip pos-tip flycheck cl-extra json map help-mode rx dash > jka-compr compile let-alist try use-package diminish cl bind-key > network-stream starttls url-http url-gw nsm url-cache url-auth url > url-proxy url-privacy url-expand url-methods url-history url-cookie > url-domsuf url-util mailcap org-element avl-tree generator org org-macro > org-footnote org-pcomplete org-list org-faces org-entities noutline > outline org-version ob-emacs-lisp ob ob-tangle org-src easy-mmode ob-ref > ob-lob ob-table ob-keys ob-exp ob-comint ob-core ob-eval org-compat > org-macs pcase org-loaddefs find-func cal-menu calendar cal-loaddefs > gnus-sum gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail > mail-source tls gnutls utf7 netrc nnoo gnus-spec gnus-int gnus-range > message subr-x puny dired dired-loaddefs rfc822 mml mml-sec epa derived > epg mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev > gmm-utils mailheader gnus-win gnus nnheader gnus-util rmail > rmail-loaddefs rfc2047 rfc2045 ietf-drums mail-utils mm-util mail-prsvr > wid-edit tramp tramp-compat tramp-loaddefs trampver ucs-normalize shell > pcomplete comint ansi-color ring parse-time format-spec advice cus-start > cus-load finder-inf edmacro kmacro info package easymenu epg-config > url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs > eieio-loaddefs password-cache url-vars seq byte-opt gv bytecomp > byte-compile cconv cl-loaddefs cl-lib time-date mule-util tooltip eldoc > electric uniquify ediff-hook vc-hooks lisp-float-type 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 elisp-mode lisp-mode > prog-mode register page menu-bar rfn-eshadow isearch timer select > scroll-bar mouse jit-lock font-lock syntax facemenu font-core > term/tty-colors frame 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 charscript charprop case-table epa-hook jka-cmpr-hook > help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs > button faces cus-face macroexp files text-properties overlay sha1 md5 > base64 format env code-pages mule custom widget hashtable-print-readable > backquote dbusbind inotify lcms2 dynamic-setting system-font-setting > font-render-setting move-toolbar gtk x-toolkit x multi-tty > make-network-process emacs) > > Memory information: > ((conses 16 1352576 57186) > (symbols 48 70356 14) > (miscs 40 183 488) > (strings 32 201896 4285) > (string-bytes 1 7876708) > (vectors 16 80891) > (vector-slots 8 2061006 174113) > (floats 8 361 385) > (intervals 56 1278 157) > (buffers 992 20)) > > > ^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#28533: 26.0.60; Native line numbers move with show-paren-mode enabled 2017-09-20 20:14 bug#28533: 26.0.60; Native line numbers move with show-paren-mode enabled Romanos Skiadas 2017-09-20 20:42 ` Romanos Skiadas @ 2017-09-21 9:11 ` Eli Zaretskii 2017-09-21 21:11 ` Romanos Skiadas 1 sibling, 1 reply; 6+ messages in thread From: Eli Zaretskii @ 2017-09-21 9:11 UTC (permalink / raw) To: Romanos Skiadas; +Cc: 28533 > From: Romanos Skiadas <rom.skiad@gmail.com> > Date: Wed, 20 Sep 2017 21:14:02 +0100 > > - Start emacs > ./src/emacs -Q --eval "(add-hook 'text-mode-hook (lambda () > (display-line-numbers-mode)))" --eval "(show-paren-mode 1)" /tmp/test.org > > - Write about 100 lines or so and fold the org header. Something like > 1 * Foo...[100 lines folded here] > > - Enter a pair of parens under the folded header: > 1 * Foo... > 123 () > > - Move the point from left to right with C-f and the line number moves: > 1 * Foo... > 123 |() > 123 (|) > 123 ()| > > As far as I could tell, without the folded lines or show-paren-mode this > does not happen. It can also be replicated in modes other than org by > using set-selective-display. In modes that hide many lines from display, you should customize display-line-numbers-width-start to a non-nil value, or manually set display-line-numbers-width to a value large enough to accommodate the last physical line of the file (e.g., in file-local variables). Otherwise the default calculation of the width required for line numbers will come up with a value that is lower than necessary, and you will frequently see that some lines displayed in the window are shifted to the right due to this miscalculation. This issue is part of that more general problem. What happens here is that the original calculation of the width of line-number display is incorrect, and the additional redisplay cycle caused by moving the show-parent overlay "corrects" it. Note that this effect is only seen on the last line of the file, and AFAICS only as long as you don't save the buffer. Based on the fact that having line numbers in buffers under selective-display requires customization of the provided options, which then makes this problem go away, I don't think any fix is required for this use case. If you agree, I will close this bug. Thanks. ^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#28533: 26.0.60; Native line numbers move with show-paren-mode enabled 2017-09-21 9:11 ` Eli Zaretskii @ 2017-09-21 21:11 ` Romanos Skiadas 2017-09-22 7:22 ` Eli Zaretskii 0 siblings, 1 reply; 6+ messages in thread From: Romanos Skiadas @ 2017-09-21 21:11 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 28533 Hi Eli, Thanks for your very detailed reply. I kind of get what you mean, although I am not very (read: not at all) familiar with redisplay code so my understanding of why this is happening might be wrong. In any case, I would expect line numbers not to move regardless of whatever reasonable condition the buffer is in, hence I still think that this bug should remain open. If you think it is a WONTFIX kind of deal, I'm ok with closing it. As far as I can tell the customizations you suggested are not somewhere in the docs. Should they added in NEWS and in any other relevant documentation? > Note that this effect is only seen on the last line of the file, I can see it in a setup as described in the bug report in a buffer like (substitute _ with space): __ 1* foo...[100 lines] 121()| ____\n 123() Pressing space makes the numbers move forward: __ 1* foo...[100 lines] _121()_| ____\n 123() >and AFAICS only as long as you don't save the buffer. I can reproduce this in *scratch* which is not visiting any file with M-x org-mode RET and following the previous steps. >In modes that hide many lines from display, you should customize display-line-numbers-width-start to a non-nil value This only fixes the problem is the lines are already in the buffer. If you write and fold 100 lines in an empty buffer, the issue still shows up. >or manually set display-line-numbers-width to a value large enough to accommodate the last physical line of the file (e.g., in file-local variables). This works, but I expect Emacs to be able to calculate this correctly out of the box without any kind of intervention. Note that when I say expect I don't mean "I expect you to fix it now!" but rather "This is what is happening vs what I implicitly expected and this is confusing me". Thanks for all your work in Emacs. Best, Romanos ^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#28533: 26.0.60; Native line numbers move with show-paren-mode enabled 2017-09-21 21:11 ` Romanos Skiadas @ 2017-09-22 7:22 ` Eli Zaretskii [not found] ` <985db77a-8f22-34c8-a60c-45fe2c2999ea@gmail.com> 0 siblings, 1 reply; 6+ messages in thread From: Eli Zaretskii @ 2017-09-22 7:22 UTC (permalink / raw) To: Romanos Skiadas; +Cc: 28533 > Cc: 28533@debbugs.gnu.org > From: Romanos Skiadas <rom.skiad@gmail.com> > Date: Thu, 21 Sep 2017 22:11:48 +0100 > > In any case, I would expect line numbers not to move regardless of > whatever reasonable condition the buffer is in, hence I still think that > this bug should remain open. Fine with me. > If you think it is a WONTFIX kind of deal, I'm ok with closing it. As > far as I can tell the customizations you suggested are not somewhere in > the docs. Should they added in NEWS and in any other relevant documentation? Not sure what you mean: the variables I mentioned are AFAIK documented in the Emacs manual. > >In modes that hide many lines from display, you should customize > display-line-numbers-width-start to a non-nil value > > This only fixes the problem is the lines are already in the buffer. If > you write and fold 100 lines in an empty buffer, the issue still shows up. > > >or manually set display-line-numbers-width to a value large enough to > accommodate the last physical line of the file (e.g., in file-local > variables). > > This works, but I expect Emacs to be able to calculate this correctly > out of the box without any kind of intervention. IMO, this should be brought up to the attention of the Org developers. Org mode has special needs when non-relative line numbers are displayed, and the solution should IMO be in Org, not in Emacs core, because solving that in core would mean significant run-time penalties for everyone who uses line-number display. I'm sure that these issues can be quite easily fixed on the Lisp level by Org mode itself. Thanks. ^ permalink raw reply [flat|nested] 6+ messages in thread
[parent not found: <985db77a-8f22-34c8-a60c-45fe2c2999ea@gmail.com>]
[parent not found: <83h8vtc3jf.fsf@gnu.org>]
* bug#28533: 26.0.60; Native line numbers move with show-paren-mode enabled [not found] ` <83h8vtc3jf.fsf@gnu.org> @ 2017-09-23 8:49 ` Romanos Skiadas 0 siblings, 0 replies; 6+ messages in thread From: Romanos Skiadas @ 2017-09-23 8:49 UTC (permalink / raw) To: 28533 > But why in private email? Because I keep accidentally pressing C-r on thunderbird instead of C-R. This is the third time this week I've done this that I know of, sorry. Thanks for taking the time to explain all these things to me. Feel free to close the bug now if you haven't already. >>>> If you think it is a WONTFIX kind of deal, I'm ok with closing it. As >>>> far as I can tell the customizations you suggested are not somewhere in >>>> the docs. Should they added in NEWS and in any other relevant documentation? >>> Not sure what you mean: the variables I mentioned are AFAIK documented >>> in the Emacs manual. >> They are documented, but using them in a way to circumvent this problem >> is not. I might be wrong, so if that is the case let me know. A mention >> in the display-numbers-mode docstring along the lines of "if you fold >> lines in the buffer set such and such variable to X value" would be useful. > I added that now to the Emacs manual. Thanks, I saw that. > >>> Org mode has special needs when non-relative line numbers are >>> displayed, and the solution should IMO be in Org, not in Emacs core, >> There are other ways to hide line numbers, such as >> set-selective-display, which can be used in any mode. There other are >> minor modes that do that too like evil & origami. > they should all adapt, if their users use line-number display a lot. > >>> because solving that in core would mean significant run-time penalties >> How significant? > Very significant: they would require doing each redisplay cycle twice. > > You must understand the problem to see the difficulty: the display > engine calculates the space needed for line-number display just once, > at the beginning, when it is about to display the first line, and then > reuses the result of that calculation for all the subsequent lines. > It estimates the maximum number of lines that can be visible in the > window to do that, but it cannot know in advance how many lines will > be hidden from display without displaying them first. So it would > need to display twice. This is what linum-mode did, and that's the > reason why it was so slow. I don't think it's right to bring that > slowdown back, when reasonable solutions exist on the Lisp level. I see. Thanks for explaining. > , that is good. > >> on the other hand, solving it in core means that every >> mode that folds buffers won't have to solve it themselves or ask their >> users to solve it. > Yes, and why is that a problem? Many modes already have > accommodations for popular minor modes, including linum-mode. Why > cannot they accommodate this new feature as well? > > Solving everything in the core has a price, and good engineering > doesn't punish everyone on behalf of the needs of a few. Let those > few pay the price in adapting. Fair point. > >> Also, on the point of what Emacs calculates as the minimum width, I >> checked with other editors (gedit, the one that starts with V and ends >> with IM) and they calculate the size of the width to be the one of the >> last line in their buffers. > That's what display-line-numbers-width-start does in Emacs. But it > does that once, when the buffer is first created. Counting all the > lines in the buffer upon each redisplay cycle would be prohibitively > slow in large buffers, so Emacs doesn't do that. However, if you > customize display-line-numbers-grow-only as well, you will have the > best of all worlds. > >> So if the last line is 1234 the width is 4 regardless of where you >> are in the buffer. The problem wouldn't show up if Emacs calculated >> the width this way, would it? This way of calculating things has the >> added benefit that if you scroll up the buffer when line ~100 is at >> the bottom the text doesn't suddenly shift right by one, which I >> find really annoying. > If this annoys you, you should set display-line-numbers-grow-only > non-nil. Ah, thanks. ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2017-09-23 8:49 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-09-20 20:14 bug#28533: 26.0.60; Native line numbers move with show-paren-mode enabled Romanos Skiadas 2017-09-20 20:42 ` Romanos Skiadas 2017-09-21 9:11 ` Eli Zaretskii 2017-09-21 21:11 ` Romanos Skiadas 2017-09-22 7:22 ` Eli Zaretskii [not found] ` <985db77a-8f22-34c8-a60c-45fe2c2999ea@gmail.com> [not found] ` <83h8vtc3jf.fsf@gnu.org> 2017-09-23 8:49 ` Romanos Skiadas
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).