unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* 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

* 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).