Subject: 29.0.50; Horizontal scrolling doesn't work when compiled with pgtk
From: Andrey Listopadov <[email-masked]>
To: [email-masked]
Date: Mon, 20 Dec 2021 23:42:47 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

After PGTK was merged I've compiled Emacs with the required switch.  The
first thing I've noticed was that --with-xinput2 has no effect when
--with-pgtk switch is supplied, so I've removed it.  I'm not sure if
this is intentional or not.  The main issue now is that horizontal
scrolling with a touchpad no longer works for me. All horizontal events
are registered as mwheel-down events.

In GNU Emacs 29.0.50 (build 2, x86_64-pc-linux-gnu, GTK+ Version
3.24.30, cairo version 1.17.4)
 of 2021-12-20 built on toolbox
Repository revision: eaa44ca40e8da9ba86e6e03b76b41fd6843661d6
Repository branch: master
Windowing system distributor 'System Description: Fedora Linux 35
(Workstation Edition)

Configured using:
 'configure --with-native-compilation --with-pgtk
 --prefix=/home/alist/.local'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBOTF LIBSELINUX LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY
PDUMPER PGTK PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS XIM
GTK3 ZLIB

Important settings:
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  isayt-mode: t
  smartparens-strict-mode: t
  smartparens-mode: t
  hl-todo-mode: t
  global-auto-revert-mode: t
  gcmh-mode: t
  which-key-mode: t
  recentf-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  editorconfig-mode: t
  csv-field-index-mode: t
  shell-dirtrack-mode: t
  pixel-scroll-precision-mode: t
  corfu-global-mode: t
  corfu-mode: t
  marginalia-mode: t
  vertico-mode: t
  minions-mode: t
  delete-selection-mode: t
  savehist-mode: t
  common-lisp-modes-mode: t
  override-global-mode: t
  straight-use-package-mode: t
  straight-package-neutering-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-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
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t

Load-path shadows:
/home/alist/.config/emacs/straight/build-29.0.50/transient/transient
hides /home/alist/.local/share/emacs/29.0.50/lisp/transient
/home/alist/.config/emacs/straight/build-29.0.50/xref/xref hides
/home/alist/.local/share/emacs/29.0.50/lisp/progmodes/xref
/home/alist/.config/emacs/straight/build-29.0.50/project/project hides
/home/alist/.local/share/emacs/29.0.50/lisp/progmodes/project
/home/alist/.config/emacs/straight/build-29.0.50/map/map hides
/home/alist/.local/share/emacs/29.0.50/lisp/emacs-lisp/map
/home/alist/.config/emacs/straight/build-29.0.50/let-alist/let-alist
hides /home/alist/.local/share/emacs/29.0.50/lisp/emacs-lisp/let-alist
/home/alist/.local/share/emacs/29.0.50/lisp/emacs-lisp/eieio-compat
hides /home/alist/.local/share/emacs/29.0.50/lisp/obsolete/eieio-compat

Features:
(shadow mail-extr emacsbug message yank-media rmc rfc822 mml mml-sec epa
epg rfc6068 epg-config mm-decode mm-bodies mm-encode mailabbrev
gmm-utils mailheader sendmail mule-util isayt disp-table flyspell ispell
smartparens-config smartparens-text smartparens-html smartparens-elixir
smartparens-clojure smartparens dumb-jump popup s hl-todo autorevert
filenotify init aoc ht aoc-autoloads ht-autoloads jdecomp-autoloads
esh-mode esh-cmd esh-ext esh-opt esh-proc esh-io esh-arg esh-module
esh-groups esh-util isayt-autoloads gcmh gcmh-autoloads which-key
which-key-autoloads dumb-jump-autoloads popup-autoloads recentf
tree-widget separedit-autoloads edit-indirect-autoloads server
project-autoloads xref-autoloads magit-todos-autoloads pcre2el-autoloads
hl-todo-autoloads f-autoloads s-autoloads async-autoloads
magit-autoloads magit-section-autoloads git-commit-autoloads
with-editor-autoloads transient-autoloads undo-tree diff
undo-tree-autoloads smartparens-autoloads flycheck-package package-lint
finder package url-handlers flycheck-package-autoloads
package-lint-autoloads let-alist pcase flymake-proc flymake editorconfig
editorconfig-autoloads vterm-autoloads doc-view jka-compr image-mode
exif dired dired-loaddefs elixir-mode elixir-format elixir-smie
elixir-mode-autoloads erlang tempo erlang-autoloads csv-mode sort
csv-mode-autoloads json-mode-autoloads json-snatcher-autoloads css-mode
smie sgml-mode facemenu eww xdg url-queue shr pixel-fill kinsoku svg xml
dom browse-url url url-proxy url-privacy url-expand url-methods
url-history url-cookie url-domsuf url-util url-parse auth-source eieio
eieio-core eieio-loaddefs password-cache url-vars mailcap puny mm-url
gnus nnheader gnus-util time-date mail-utils color lua-mode-autoloads
yaml-mode yaml-mode-autoloads racket-mode-autoloads sly-autoloads
clj-refactor-autoloads hydra-autoloads lv-autoloads
inflections-autoloads multiple-cursors-autoloads paredit-autoloads
yasnippet-autoloads flycheck-clj-kondo flycheck json map find-func dash
flycheck-clj-kondo-autoloads flycheck-autoloads let-alist-autoloads
dash-autoloads cider-autoloads sesman vc vc-dispatcher sesman-autoloads
spinner-autoloads queue-autoloads pkg-info-autoloads epl-autoloads
finder-inf parseedn-autoloads map-autoloads parseclj-autoloads
inferior-clojure derived clojure-mode lisp-mnt mail-parse rfc2231
rfc2047 rfc2045 mm-util ietf-drums mail-prsvr align thingatpt imenu
inf-lisp shell pcomplete clojure-mode-autoloads fennel-mode-autoloads
geiser-guile info-look geiser geiser-repl compile text-property-search
geiser-image geiser-company geiser-doc geiser-menu geiser-edit etags
fileloop generator xref project geiser-completion geiser-autodoc advice
geiser-eval geiser-connection tq geiser-syntax scheme geiser-log comint
ansi-color geiser-popup view geiser-guile-autoloads geiser-impl help-fns
radix-tree geiser-custom geiser-base geiser-autoloads
markdown-mode-autoloads ox-hugo-autoloads pixel-scroll ring formfeed
cape cape-autoloads corfu corfu-autoloads consult-autoloads marginalia
marginalia-autoloads vertico vertico-autoloads minions minions-autoloads
display-line-numbers modus-vivendi-theme modus-themes
modus-themes-autoloads delsel savehist comp comp-cstr warnings rx novice
cus-edit pp cus-load wid-edit font defaults edmacro kmacro
common-lisp-modes-mode functions local-config use-package
use-package-ensure use-package-delight use-package-diminish
use-package-bind-key bind-key easy-mmode use-package-core
use-package-autoloads bind-key-autoloads early-init straight-autoloads
info cl-seq cl-extra help-mode seq byte-opt straight subr-x cl-macs gv
cl-loaddefs cl-lib bytecomp byte-compile cconv iso-transl tooltip eldoc
paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode
mwheel term/pgtk-win pgtk-win term/common-win tool-bar dnd fontset image
regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu
timer select scroll-bar mouse jit-lock font-lock syntax font-core
term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese composite emoji-zwj charscript charprop case-table
epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice
button loaddefs faces cus-face macroexp files window text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads dbusbind inotify
dynamic-setting system-font-setting font-render-setting cairo
move-toolbar gtk x-toolkit pgtk lcms2 multi-tty make-network-process
native-compile emacs)

Memory information:
((conses 16 439300 347003)
 (symbols 48 49273 658)
 (strings 32 120328 161276)
 (string-bytes 1 4376451)
 (vectors 16 46029)
 (vector-slots 8 783458 512099)
 (floats 8 340 1112)
 (intervals 56 409 120)
 (buffers 992 12))

-- 
Andrey Listopadov