Subject: 26.1; next-logical-line different behaviour when global-display-line-numbers-mode is on

From: Maxim Kim <[email-masked]>
Date: Tue, 5 Jun 2018 17:51:06 +0300

1. open emacs with `runemacs.exe -Q`

2. add some text to the scratch buffer:

;; This buffer is for text that is not saved, and for Lisp evaluation.
;; To create a file, visit it with C-x C-f and enter text in its buffer.

Hello WORLD, this is barebone EMACS here.
And next-logical-line function behaves strange when
global-display-line-numbers-mode is activated.

3. activate global-display-line-numbers-mode

4. put your cursor on the blank line above ‘Hello WORLD...' row:

;; To create a file, visit it with C-x C-f and enter text in its buffer.
<<CURSOR ON COL 0>>
Hello WORLD, this is barebone EMACS here.

5. press C-n to go-to ‘Hello WORLD’ row, cursor is on ‘H' letter

6. invoke ‘next-logical-line' interactive command with M-x
next-logical-line, your cursor will be on the second word of the
next row (marked as <<n>>):

Hello WORLD, this is barebone EMACS here.
And <<n>>ext-logical-line function behaves strange when

Without global-display-line-numbers-mode cursor moves to the same column
on the next row (of course if there are enough columns for that).

This behaviour breaks multiple cursors package for me -- when I try to
create several cursors for consequent rows.

In GNU Emacs 26.1 (build 1, x86_64-w64-mingw32)
 of 2018-05-30 built on CIRROCUMULUS
Repository revision: 07f8f9bc5a51f5aa94eb099f3e15fbe0c20ea1ea
Windowing system distributor 'Microsoft Corp.', version 10.0.10586
Recent messages:
Aggressive-Indent mode disabled in current buffer
Auto-saving...done
Type "q" in help window to restore its previous buffer, C-M-v to scroll
help.
Company mode disabled in current buffer
Smartparens mode disabled in current buffer
Global Display-Line-Numbers mode disabled
line-move-to-column: Wrong type argument: wholenump, -6
ivy-read: Command attempted to use minibuffer while in minibuffer
Quit
Auto-saving...done

Configured using:
 'configure --without-dbus --host=x86_64-w64-mingw32
 --without-compress-install 'CFLAGS=-O2 -static -g3''

Configured features:
XPM JPEG TIFF GIF PNG RSVG SOUND NOTIFY ACL GNUTLS LIBXML2 ZLIB
TOOLKIT_SCROLL_BARS THREADS LCMS2

Important settings:
  value of $LANG: RUS
  locale-coding-system: cp1251

Major mode: Emacs-Lisp

Minor modes in effect:
  global-magit-file-mode: t
  magit-auto-revert-mode: t
  global-git-commit-mode: t
  async-bytecomp-package-mode: t
  shell-dirtrack-mode: t
  counsel-projectile-mode: t
  projectile-mode: t
  diff-auto-refine-mode: t
  counsel-mode: t
  diredfl-global-mode: t
  global-git-gutter-mode: t
  which-key-mode: t
  global-whitespace-cleanup-mode: t
  whitespace-cleanup-mode: t
  company-childframe-mode: t
  company-flx-mode: t
  global-company-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  winner-mode: t
  hl-lisp-globals-mode: t
  rainbow-delimiters-mode: t
  show-smartparens-global-mode: t
  show-smartparens-mode: t
  smartparens-global-mode: t
  ivy-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  override-global-mode: t
  savehist-mode: t
  save-place-mode: t
  recentf-mode: t
  show-paren-mode: t
  global-subword-mode: t
  subword-mode: t
  delete-selection-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-quote-mode: t
  electric-layout-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  global-visual-line-mode: t
  visual-line-mode: t
  transient-mark-mode: t
  abbrev-mode: t

Load-path shadows:
c:/Users/maksim.kim/.emacs.d/kosmos-theme/kosmos-theme hides
c:/Users/maksim.kim/.emacs.d/elpa/kosmos-theme-20170502.1150/kosmos-theme

Features:
(shadow sort mail-extr emacsbug sendmail tabify cl-print debug pulse
eieio-opt speedbar sb-image ezimage dframe find-func help-fns radix-tree
magit-obsolete magit-blame magit-stash magit-bisect magit-remote
magit-commit magit-sequence magit-notes magit-worktree magit-tag
magit-merge magit-branch magit-reset magit-collab ghub url-http tls
gnutls url-gw nsm url-auth url url-proxy url-privacy url-expand
url-methods url-history url-cookie url-domsuf url-util mailcap let-alist
json map magit-files magit-refs magit-status magit magit-repos
magit-apply magit-wip magit-log magit-diff smerge-mode magit-core
magit-autorevert autorevert filenotify magit-process magit-margin
magit-mode git-commit magit-git magit-section magit-utils crm
magit-popup log-edit message rmc puny format-spec rfc822 mml mml-sec epa
epg gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-encode
mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr
mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log with-editor
async-bytecomp async shell pcomplete server browse-url dired-aux wdired
cus-start cus-load rotate goto-addr asciidoctor-mode derived noutline
outline expand-region text-mode-expansions er-basic-expansions
expand-region-core expand-region-custom ace-window avy
counsel-projectile projectile grep ibuf-ext ibuffer ibuffer-loaddefs
vc-git diff-mode light-blue-theme manoj-dark-theme leuven-theme
kosmos-theme haba-stuff cyberpunk-theme colir color smex ido counsel
diredfl dired-x dired dired-loaddefs compile comint ansi-color esh-util
swiper git-gutter-fringe fringe-helper git-gutter which-key
whitespace-cleanup-mode whitespace company-childframe posframe
company-oddmuse company-keywords company-etags etags xref project
company-gtags company-dabbrev-code company-dabbrev company-files
company-capf company-cmake company-xcode company-clang company-semantic
company-eclim company-template company-bbdb company-tng company-flx
company pcase multiple-cursors mc-hide-unmatched-lines-mode
mc-separate-operations rectangular-region-mode mc-mark-pop mc-mark-more
mc-cycle-cursors mc-edit-lines multiple-cursors-core rect
yasnippet-snippets yasnippet winner ring time aggressive-indent
hl-lisp-globals-mode rainbow-delimiters smartparens-config
smartparens-text smartparens advice dash elec-pair cal-menu calendar
cal-loaddefs ivy flx ivy-overlay ffap thingatpt diminish undo-tree diff
reverse-im quail habamax-theme cl-extra help-mode use-package
use-package-ensure use-package-delight use-package-diminish
use-package-bind-key bind-key easy-mmode use-package-core subr-x
finder-inf edmacro kmacro slime-autoloads info package 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 savehist saveplace recentf tree-widget wid-edit
cl-loaddefs cl-lib easymenu display-line-numbers paren cap-words
superword subword delsel time-date mule-util tooltip eldoc electric
uniquify ediff-hook vc-hooks lisp-float-type mwheel dos-w32 ls-lisp
disp-table term/w32-win w32-win w32-vars term/common-win 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 w32notify w32 lcms2
multi-tty make-network-process emacs)

Memory information:
((conses 16 577785 110119)
 (symbols 56 44308 2)
 (miscs 48 2656 3178)
 (strings 32 127306 5436)
 (string-bytes 1 4052192)
 (vectors 16 80410)
 (vector-slots 8 2568134 121894)
 (floats 8 437 741)
 (intervals 56 16495 1138)
 (buffers 992 34))