From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Gustaf Waldemarson Newsgroups: gmane.emacs.bugs Subject: bug#59730: gdb-mi.el: Local variables reordering Date: Wed, 30 Nov 2022 23:09:14 +0100 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="0000000000008c13a205eeb75bdc" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="36501"; mail-complaints-to="usenet@ciao.gmane.io" To: 59730@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Nov 30 23:10:26 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1p0VHc-0009IE-Ry for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 30 Nov 2022 23:10:25 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1p0VHK-0002yQ-Ue; Wed, 30 Nov 2022 17:10:06 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p0VHJ-0002yE-48 for bug-gnu-emacs@gnu.org; Wed, 30 Nov 2022 17:10:05 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1p0VHH-0002GM-3y for bug-gnu-emacs@gnu.org; Wed, 30 Nov 2022 17:10:04 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1p0VHG-0004c5-GQ for bug-gnu-emacs@gnu.org; Wed, 30 Nov 2022 17:10:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Gustaf Waldemarson Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 30 Nov 2022 22:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 59730 X-GNU-PR-Package: emacs X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.166984617917714 (code B ref -1); Wed, 30 Nov 2022 22:10:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 30 Nov 2022 22:09:39 +0000 Original-Received: from localhost ([127.0.0.1]:35393 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p0VGr-0004be-Gg for submit@debbugs.gnu.org; Wed, 30 Nov 2022 17:09:38 -0500 Original-Received: from lists.gnu.org ([209.51.188.17]:54920) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p0VGm-0004bY-94 for submit@debbugs.gnu.org; Wed, 30 Nov 2022 17:09:35 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p0VGm-0002uk-1D for bug-gnu-emacs@gnu.org; Wed, 30 Nov 2022 17:09:32 -0500 Original-Received: from mail-ed1-x535.google.com ([2a00:1450:4864:20::535]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1p0VGh-0002B6-T7 for bug-gnu-emacs@gnu.org; Wed, 30 Nov 2022 17:09:31 -0500 Original-Received: by mail-ed1-x535.google.com with SMTP id r26so23808142edc.10 for ; Wed, 30 Nov 2022 14:09:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=kEdxe/Fwt2e2mQkPHZ3mTltyzHRmls5QTARax5NMlU8=; b=hFL/5KiRDkQ81sH2dp3cVRTYmR0gjnP7mE8RbKWtS+ZuaY3OO0XuGDwtTONRYhnd99 Q7kMs+80No7sbfYTbxe0ZHyQ16GyCApeup7nNJJQ2m2yzPRuiOBvFQ32eO8txY72Vyxg cPJOKO+wUiHf/SxcPXfmUQlThuikyHKF24Y/qgFLpHXdkosGxQfQfRq8sfa6Px3jNaUe mQiAoCTfESPUkIle+e/XU6QvEMHWIKsQl+0mr4KpmWzEq8XbN9hZGx2E6Muip80WWmF+ K1aoHVrCel7Th93WGW9w1aYBPZXtZuZA0kqmOP3FKihfo8oNR5fW7mB9PZFQmrRtNSrv IcDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=kEdxe/Fwt2e2mQkPHZ3mTltyzHRmls5QTARax5NMlU8=; b=gu1EfQVlJgEDFfueAbiz+MmZLDdxqLqJDk7p9U+mJyZHEQDkSM9b+vUJ2TQuhkyAr9 jWZ+whuQXgotr/09jc/ca8N27RM6qhcgdow3T9nqpoxbasUvcgqQAMdFKsoh/fc1/mKj xoI/louqOnrbF/gxqCvaaM/aZe25ExvaZn4qqEuByw/PDpn1iZN/4bsX2/gESCdYm2dC RL6lAjavLmc5tQcRd2KDqnN0cRUqJVFxR7/sqD24hB35+nkUbTONVktS0Ak3e973Zadk VWSt1HsBGBC6bqp7Ndk2bmGI5dhXMbTORfw8J6CSUZ/xLewTFC1zFpbqYCBv/1bBh9tX 6xzA== X-Gm-Message-State: ANoB5plwM6CXt4/sSp398l3zMLs1de4Q8p3PxIFKPAIkGLB1nZJ8z/Fx Yk4hqqhmji7W5RctYK+Y/jLOIdp6GuVtJ6U76i35WXgpNLQ= X-Google-Smtp-Source: AA0mqf7zeUPX6eLR3sUZCgV54SxCbuwQ110BsD106Fi5YyVCuv0JYoZfzZ9hghc6HpseKgFswjnKbjugXD1XBiRspig= X-Received: by 2002:aa7:c690:0:b0:46a:e2b8:1be9 with SMTP id n16-20020aa7c690000000b0046ae2b81be9mr21617584edq.182.1669846165878; Wed, 30 Nov 2022 14:09:25 -0800 (PST) Received-SPF: pass client-ip=2a00:1450:4864:20::535; envelope-from=gustaf.waldemarson@gmail.com; helo=mail-ed1-x535.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:249576 Archived-At: --0000000000008c13a205eeb75bdc Content-Type: multipart/alternative; boundary="0000000000008c13a005eeb75bda" --0000000000008c13a005eeb75bda Content-Type: text/plain; charset="UTF-8" Hello, After about 3 years, I finally spent some time to actually change the order of local variables as I had originally suggest in an old feature (bug#34589). In summary, this patch does this: In gdb-mi.el mode, for local C/C++ variables that were previously written out: - | type | name | value| Now write them out as: - | name | type | value | Additionally, cap the string length of the name and type to `gdb-locals-max-name-length` and `gdb-locals-max-type-length` respectively (new custom variables with a default set to 20). I also changed the table to always left-align the values when we're printing the locals. Turns out it was really easy to fix, but I may have missed some subtleties, so feel free to give it a look or start a discussion whether this is a good idea or not. I personally prefer it this way since it is much easier and faster to see the values of individual variables, especially when the type-info get very long. Best regards, Gustaf In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.33, cairo version 1.16.0) of 2022-11-30 built on ShadowX Repository revision: ec759e82b39f6ee54e9187acc9525cd65d704c59 Repository branch: master System Description: Ubuntu 22.04.1 LTS Configured using: 'configure --prefix=/home/xaldew/.local '--program-transform-name=s/^ctags$/ctags.emacs/' --without-makeinfo --with-xpm=ifavailable --with-jpeg=ifavailable --with-gif=ifavailable --with-tiff=ifavailable' Configured features: CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG LCMS2 LIBSELINUX LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS WEBP X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB Important settings: value of $LANG: sv_SE.UTF-8 value of $XMODIFIERS: @im=ibus locale-coding-system: utf-8-unix Major mode: C++//l Minor modes in effect: lsp-diagnostics-mode: t lsp-headerline-breadcrumb-mode: t lsp-modeline-workspace-status-mode: t lsp-modeline-diagnostics-mode: t lsp-modeline-code-actions-mode: t dap-tooltip-mode: t dap-ui-many-windows-mode: t dap-ui-controls-mode: t dap-ui-mode: t gdb-many-windows: t beacon-mode: t modern-c++-font-lock-mode: t lsp-completion-mode: t treemacs-filewatch-mode: t treemacs-follow-mode: t treemacs-git-mode: t treemacs-fringe-indicator-mode: t dap-auto-configure-mode: t dap-mode: t flyspell-mode: t whitespace-mode: t rainbow-delimiters-mode: t hes-mode: t projectile-mode: t lsp-ui-mode: t lsp-ui-sideline-mode: t flycheck-mode: t lsp-managed-mode: t lsp-mode: t yas-global-mode: t yas-minor-mode: t global-company-mode: t company-mode: t global-undo-tree-mode: t undo-tree-mode: t global-anzu-mode: t anzu-mode: t perspeen-mode: t windmove-mode: t which-key-mode: t anyclip-mode: t override-global-mode: t cwarn-mode: t electric-pair-mode: t save-place-mode: t global-subword-mode: t subword-mode: t winner-mode: t global-auto-revert-mode: t xterm-mouse-mode: t savehist-mode: t ido-everywhere: t gud-tooltip-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t line-number-mode: t auto-fill-function: yas--auto-fill transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t abbrev-mode: t Load-path shadows: /home/xaldew/.config/emacs/elpa/transient-20221130.1823/transient hides /home/xaldew/.local/share/emacs/30.0.50/lisp/transient Features: (shadow sort bbdb-message guess-language mail-extr warnings emacsbug message yank-media dired dired-loaddefs rfc822 mml mml-sec epa derived gnus-util time-date mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils display-line-numbers server pinentry files-x lsp-diagnostics lsp-headerline lsp-icons lsp-modeline dap-mouse dap-ui gdb-mi bui bui-list bui-info bui-entry bui-core bui-history bui-button bui-utils lsp-lens beacon vc-git diff-mode vc-dispatcher modern-cpp-font-lock .yas-setup.el cc-mode/.yas-setup.el view lsp-zig lsp-steep lsp-svelte lsp-sqls lsp-ruby-syntax-tree lsp-yaml lsp-xml lsp-vimscript lsp-vhdl lsp-volar lsp-vetur lsp-html lsp-verilog lsp-vala lsp-v lsp-typeprof lsp-ttcn3 lsp-toml lsp-terraform lsp-tex lsp-sorbet lsp-solargraph lsp-rust lsp-rf lsp-remark lsp-racket lsp-r lsp-purescript lsp-pylsp lsp-pyls lsp-pwsh lsp-php lsp-pls lsp-perlnavigator lsp-perl lsp-openscad lsp-ocaml lsp-magik lsp-nix lsp-nim lsp-nginx lsp-mint lsp-marksman lsp-markdown lsp-lua lsp-ltex lsp-kotlin lsp-json lsp-javascript lsp-idris lsp-haxe lsp-groovy lsp-hack lsp-graphql lsp-gleam lsp-go lsp-completion lsp-gdscript lsp-fsharp lsp-fortran lsp-eslint lsp-erlang lsp-emmet lsp-elixir lsp-elm lsp-dockerfile lsp-dhall lsp-d lsp-css lsp-csharp gnutls lsp-crystal lsp-cmake lsp-clojure lsp-treemacs lsp-treemacs-generic lsp-treemacs-themes treemacs-treelib treemacs treemacs-header-line treemacs-compatibility treemacs-mode treemacs-interface treemacs-persistence treemacs-filewatch-mode treemacs-follow-mode treemacs-rendering treemacs-annotations treemacs-async treemacs-workspaces treemacs-dom treemacs-visuals treemacs-fringe-indicator treemacs-scope pulse treemacs-faces treemacs-icons treemacs-themes treemacs-core-utils pfuture hl-line treemacs-logging treemacs-customization treemacs-macros lsp-semantic-tokens lsp-clangd lsp-beancount lsp-bash lsp-astro lsp-ansible lsp-angular lsp-ada lsp-actionscript dap-gdb-lldb dap-utils dom xml dap-mode dap-tasks dap-launch lsp-docker yaml posframe dap-overlays term/tmux term/xterm xterm form-feed paredit nameless flyspell ispell whitespace rainbow-delimiters highlight-escape-sequences projectile lisp-mnt grep ibuf-ext ibuffer ibuffer-loaddefs lsp-ui lsp-ui-flycheck lsp-ui-doc goto-addr lsp-ui-imenu lsp-ui-peek lsp-ui-sideline flycheck lsp-mode tree-widget spinner network-stream puny nsm markdown-mode noutline outline inline imenu f f-shortdoc shortdoc ewoc epg rfc6068 epg-config compile text-property-search lsp-ui-util face-remap find-func lsp-protocol s ht dash py-snippets yasnippet-radical-snippets yasnippet-snippets yasnippet company-oddmuse company-keywords company-etags etags fileloop generator xref project company-gtags company-dabbrev-code company-dabbrev company-files company-clang company-capf company-cmake company-semantic company-template company-bbdb company undo-tree diff queue anzu thingatpt atomic-chrome websocket bindat let-alist color-theme-approximate perspeen perspeen-tab powerline advice powerline-separators color powerline-themes delim-col hydra-examples windmove rect hydra lv bbdb bbdb-site timezone cus-edit pp cus-load icons wid-edit ace-link avy pcase which-key anyclip-mode cl-extra help-mode edmacro kmacro diminish use-package use-package-ensure use-package-delight use-package-diminish use-package-bind-key bind-key easy-mmode use-package-core finder-inf local-autoloads cwarn cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs elec-pair saveplace cap-words superword subword winner autorevert filenotify xt-mouse tango-dark-theme savehist ido gud comint ansi-osc ansi-color ring keybinds terminals ace-link-autoloads unfill-autoloads company-auctex-autoloads gl-conf-mode-autoloads spacemacs-theme-autoloads css-eldoc-autoloads beacon-autoloads emms-autoloads paredit-autoloads glsl-mode-autoloads highlight-escape-sequences-autoloads evil-autoloads powershell-autoloads gnuplot-mode-autoloads cuda-mode-autoloads ein-autoloads debbugs-autoloads ssh-config-mode-autoloads gnuplot-autoloads perspeen-autoloads cider-autoloads sesman-autoloads clojure-mode-autoloads dart-mode-autoloads sublime-themes-autoloads coffee-mode-autoloads opencl-mode-autoloads json-mode-autoloads rx company-anaconda-autoloads pinentry-autoloads rainbow-mode-autoloads htmlize-autoloads flycheck-rust-autoloads kotlin-mode-autoloads lsp-ltex-autoloads bbdb-vcard-autoloads ebdb-autoloads projectile-autoloads jira-markup-mode-autoloads browse-kill-ring-autoloads slime-autoloads macrostep-autoloads helm-dash-autoloads dap-mode-autoloads lsp-docker-autoloads yaml-autoloads lsp-treemacs-autoloads treemacs-autoloads cfrs-autoloads pfuture-autoloads bui-autoloads sx-autoloads jenkins-autoloads smart-jump-autoloads bbdb-autoloads parseedn-autoloads delight-autoloads anzu-autoloads x86-lookup-autoloads undo-tree-autoloads queue-autoloads langtool-autoloads parseclj-autoloads plantuml-mode-autoloads git-modes-autoloads ace-window-autoloads go-mode-autoloads powerline-autoloads lsp-ui-autoloads deferred-autoloads iedit-autoloads csv-mode-autoloads srefactor-autoloads abc-mode-autoloads autoinsert atomic-chrome-autoloads solarized-theme-autoloads anaconda-mode-autoloads web-mode-autoloads flycheck-kotlin-autoloads lua-mode-autoloads nov-autoloads dash-docs-autoloads rainbow-delimiters-autoloads form-feed-autoloads yasnippet-radical-snippets-autoloads cmake-mode-autoloads powerthesaurus-autoloads request-autoloads pyimport-autoloads shut-up-autoloads json-snatcher-autoloads helm-lsp-autoloads lsp-mode-autoloads spinner-autoloads ht-autoloads cargo-autoloads clang-format-autoloads toml-mode-autoloads diminish-autoloads websocket-autoloads yasnippet-snippets-autoloads nameless-autoloads cdlatex-autoloads eclim-autoloads anaphora-autoloads rust-mode-autoloads py-snippets-autoloads magit-gerrit-autoloads rmsbolt-autoloads magit-svn-autoloads pythonic-autoloads company-quickhelp-autoloads magit-annex-autoloads goto-chg-autoloads poly-markdown-autoloads markdown-mode-autoloads polymode-autoloads alert-autoloads gntp-autoloads log4e-autoloads color-theme-approximate-autoloads use-package-autoloads bind-key-autoloads calfw-autoloads graphviz-dot-mode-autoloads flycheck-package-autoloads package-lint-autoloads flycheck-autoloads pkg-info-autoloads epl-autoloads ecb-autoloads avy-autoloads modern-cpp-font-lock-autoloads dts-mode-autoloads zenburn-theme-autoloads yaml-mode-autoloads esxml-autoloads kv-autoloads elpy-autoloads pyvenv-autoloads highlight-indentation-autoloads ob-ipython-autoloads f-autoloads dash-functional-autoloads hydra-autoloads lv-autoloads auto-complete-auctex-autoloads auto-complete-autoloads yasnippet-autoloads auctex-latexmk-autoloads auctex-autoloads tex-site ahk-mode-autoloads magit-autoloads magit-section-autoloads git-commit-autoloads with-editor-autoloads transient-autoloads compat-autoloads cask-mode-autoloads company-c-headers-autoloads pos-tip-autoloads zerodark-theme-autoloads all-the-icons-autoloads image+-autoloads expand-region-autoloads gnus-desktop-notify-autoloads helm-autoloads helm-core-autoloads async-autoloads ggtags-autoloads mmm-mode-autoloads posframe-autoloads company-math-autoloads math-symbol-lists-autoloads company-autoloads ivy-autoloads uimage-autoloads guess-language-autoloads dumb-jump-autoloads popup-autoloads info dash-autoloads s-autoloads google-c-style-autoloads which-key-autoloads package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs password-cache json subr-x map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine 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 abbrev obarray oclosure cl-preloaded button loaddefs theme-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 lcms2 dynamic-setting system-font-setting font-render-setting cairo move-toolbar gtk x-toolkit xinput2 x multi-tty make-network-process emacs) Memory information: ((conses 16 465686 22927) (symbols 48 41605 1) (strings 32 144416 7236) (string-bytes 1 5047896) (vectors 16 74684) (vector-slots 8 1033911 12667) (floats 8 419 1011) (intervals 56 2262 292) (buffers 984 17)) --0000000000008c13a005eeb75bda Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hello,

After about 3 years, I finally s= pent some time to actually change the order of local variables as I had ori= ginally suggest in an old feature (bug#34589).

In= summary, this patch does this: In gdb-mi.el mode, for local C/C++ variable= s that were previously written out:

- | type | nam= e | value|

Now write them out as:
- | name | type | value |

Additionall= y, cap the string length of the name and type to `gdb-locals-max-name-lengt= h` and `gdb-locals-max-type-length` respectively (new custom variables with= a default set to 20). I also changed the table to always left-align the va= lues when we're printing the locals.

Turns= out it was really easy to fix, but I may have missed some subtleties, so f= eel free to give it a look or start a discussion whether this is a good ide= a or not. I personally prefer it this way since it is much easier and faste= r to see the values of individual variables, especially when the type-info = get very long.

Best regards,
Gustaf<= br>

In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux= -gnu, GTK+ Version
=C2=A03.24.33, cairo version 1.16.0) of 2022-11-30 bu= ilt on ShadowX
Repository revision: ec759e82b39f6ee54e9187acc9525cd65d70= 4c59
Repository branch: master
System Description: Ubuntu 22.04.1 LTS=

Configured using:
=C2=A0'configure --prefix=3D/home/xaldew/.= local
=C2=A0'--program-transform-name=3Ds/^ctags$/ctags.emacs/' = --without-makeinfo
=C2=A0--with-xpm=3Difavailable --with-jpeg=3Difavaila= ble --with-gif=3Difavailable
=C2=A0--with-tiff=3Difavailable'
Configured features:
CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS = HARFBUZZ JPEG LCMS2
LIBSELINUX LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PN= G RSVG SECCOMP SOUND
THREADS TIFF TOOLKIT_SCROLL_BARS WEBP X11 XDBE XIM = XINPUT2 XPM GTK3 ZLIB

Important settings:
=C2=A0 value of $LANG: = sv_SE.UTF-8
=C2=A0 value of $XMODIFIERS: @im=3Dibus
=C2=A0 locale-cod= ing-system: utf-8-unix

Major mode: C++//l

Minor modes in effe= ct:
=C2=A0 lsp-diagnostics-mode: t
=C2=A0 lsp-headerline-breadcrumb-m= ode: t
=C2=A0 lsp-modeline-workspace-status-mode: t
=C2=A0 lsp-modeli= ne-diagnostics-mode: t
=C2=A0 lsp-modeline-code-actions-mode: t
=C2= =A0 dap-tooltip-mode: t
=C2=A0 dap-ui-many-windows-mode: t
=C2=A0 dap= -ui-controls-mode: t
=C2=A0 dap-ui-mode: t
=C2=A0 gdb-many-windows: t=
=C2=A0 beacon-mode: t
=C2=A0 modern-c++-font-lock-mode: t
=C2=A0 = lsp-completion-mode: t
=C2=A0 treemacs-filewatch-mode: t
=C2=A0 treem= acs-follow-mode: t
=C2=A0 treemacs-git-mode: t
=C2=A0 treemacs-fringe= -indicator-mode: t
=C2=A0 dap-auto-configure-mode: t
=C2=A0 dap-mode:= t
=C2=A0 flyspell-mode: t
=C2=A0 whitespace-mode: t
=C2=A0 rainbo= w-delimiters-mode: t
=C2=A0 hes-mode: t
=C2=A0 projectile-mode: t
= =C2=A0 lsp-ui-mode: t
=C2=A0 lsp-ui-sideline-mode: t
=C2=A0 flycheck-= mode: t
=C2=A0 lsp-managed-mode: t
=C2=A0 lsp-mode: t
=C2=A0 yas-g= lobal-mode: t
=C2=A0 yas-minor-mode: t
=C2=A0 global-company-mode: t<= br>=C2=A0 company-mode: t
=C2=A0 global-undo-tree-mode: t
=C2=A0 undo= -tree-mode: t
=C2=A0 global-anzu-mode: t
=C2=A0 anzu-mode: t
=C2= =A0 perspeen-mode: t
=C2=A0 windmove-mode: t
=C2=A0 which-key-mode: t=
=C2=A0 anyclip-mode: t
=C2=A0 override-global-mode: t
=C2=A0 cwar= n-mode: t
=C2=A0 electric-pair-mode: t
=C2=A0 save-place-mode: t
= =C2=A0 global-subword-mode: t
=C2=A0 subword-mode: t
=C2=A0 winner-mo= de: t
=C2=A0 global-auto-revert-mode: t
=C2=A0 xterm-mouse-mode: t=C2=A0 savehist-mode: t
=C2=A0 ido-everywhere: t
=C2=A0 gud-tooltip-= mode: t
=C2=A0 tooltip-mode: t
=C2=A0 global-eldoc-mode: t
=C2=A0 = eldoc-mode: t
=C2=A0 show-paren-mode: t
=C2=A0 electric-indent-mode: = t
=C2=A0 mouse-wheel-mode: t
=C2=A0 tool-bar-mode: t
=C2=A0 file-n= ame-shadow-mode: t
=C2=A0 global-font-lock-mode: t
=C2=A0 font-lock-m= ode: t
=C2=A0 blink-cursor-mode: t
=C2=A0 line-number-mode: t
=C2= =A0 auto-fill-function: yas--auto-fill
=C2=A0 transient-mark-mode: t
= =C2=A0 auto-composition-mode: t
=C2=A0 auto-encryption-mode: t
=C2=A0= auto-compression-mode: t
=C2=A0 abbrev-mode: t

Load-path shadows= :
/home/xaldew/.config/emacs/elpa/transient-20221130.1823/transient hide= s /home/xaldew/.local/share/emacs/30.0.50/lisp/transient

Features:(shadow sort bbdb-message guess-language mail-extr warnings emacsbug
m= essage yank-media dired dired-loaddefs rfc822 mml mml-sec epa derived
gn= us-util time-date mm-decode mm-bodies mm-encode mail-parse rfc2231
maila= bbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util m= ail-prsvr mail-utils display-line-numbers server pinentry
files-x lsp-di= agnostics lsp-headerline lsp-icons lsp-modeline dap-mouse
dap-ui gdb-mi = bui bui-list bui-info bui-entry bui-core bui-history
bui-button bui-util= s lsp-lens beacon vc-git diff-mode vc-dispatcher
modern-cpp-font-lock .y= as-setup.el cc-mode/.yas-setup.el view lsp-zig
lsp-steep lsp-svelte lsp-= sqls lsp-ruby-syntax-tree lsp-yaml lsp-xml
lsp-vimscript lsp-vhdl lsp-vo= lar lsp-vetur lsp-html lsp-verilog lsp-vala
lsp-v lsp-typeprof lsp-ttcn3= lsp-toml lsp-terraform lsp-tex lsp-sorbet
lsp-solargraph lsp-rust lsp-r= f lsp-remark lsp-racket lsp-r
lsp-purescript lsp-pylsp lsp-pyls lsp-pwsh= lsp-php lsp-pls
lsp-perlnavigator lsp-perl lsp-openscad lsp-ocaml lsp-m= agik lsp-nix
lsp-nim lsp-nginx lsp-mint lsp-marksman lsp-markdown lsp-lu= a lsp-ltex
lsp-kotlin lsp-json lsp-javascript lsp-idris lsp-haxe lsp-gro= ovy
lsp-hack lsp-graphql lsp-gleam lsp-go lsp-completion lsp-gdscriptlsp-fsharp lsp-fortran lsp-eslint lsp-erlang lsp-emmet lsp-elixir
lsp-e= lm lsp-dockerfile lsp-dhall lsp-d lsp-css lsp-csharp gnutls
lsp-crystal = lsp-cmake lsp-clojure lsp-treemacs lsp-treemacs-generic
lsp-treemacs-the= mes treemacs-treelib treemacs treemacs-header-line
treemacs-compatibilit= y treemacs-mode treemacs-interface
treemacs-persistence treemacs-filewat= ch-mode treemacs-follow-mode
treemacs-rendering treemacs-annotations tre= emacs-async
treemacs-workspaces treemacs-dom treemacs-visuals
treemac= s-fringe-indicator treemacs-scope pulse treemacs-faces
treemacs-icons tr= eemacs-themes treemacs-core-utils pfuture hl-line
treemacs-logging treem= acs-customization treemacs-macros
lsp-semantic-tokens lsp-clangd lsp-bea= ncount lsp-bash lsp-astro
lsp-ansible lsp-angular lsp-ada lsp-actionscri= pt dap-gdb-lldb dap-utils
dom xml dap-mode dap-tasks dap-launch lsp-dock= er yaml posframe
dap-overlays term/tmux term/xterm xterm form-feed pared= it nameless
flyspell ispell whitespace rainbow-delimiters highlight-esca= pe-sequences
projectile lisp-mnt grep ibuf-ext ibuffer ibuffer-loaddefs = lsp-ui
lsp-ui-flycheck lsp-ui-doc goto-addr lsp-ui-imenu lsp-ui-peek
= lsp-ui-sideline flycheck lsp-mode tree-widget spinner network-stream
pun= y nsm markdown-mode noutline outline inline imenu f f-shortdoc
shortdoc = ewoc epg rfc6068 epg-config compile text-property-search
lsp-ui-util fac= e-remap find-func lsp-protocol s ht dash py-snippets
yasnippet-radical-s= nippets yasnippet-snippets yasnippet company-oddmuse
company-keywords co= mpany-etags etags fileloop generator xref project
company-gtags company-= dabbrev-code company-dabbrev company-files
company-clang company-capf co= mpany-cmake company-semantic
company-template company-bbdb company undo-= tree diff queue anzu
thingatpt atomic-chrome websocket bindat let-alist<= br>color-theme-approximate perspeen perspeen-tab powerline advice
powerl= ine-separators color powerline-themes delim-col hydra-examples
windmove = rect hydra lv bbdb bbdb-site timezone cus-edit pp cus-load
icons wid-edi= t ace-link avy pcase which-key anyclip-mode cl-extra
help-mode edmacro k= macro diminish use-package use-package-ensure
use-package-delight use-pa= ckage-diminish use-package-bind-key bind-key
easy-mmode use-package-core= finder-inf local-autoloads cwarn cc-mode
cc-fonts cc-guess cc-menus cc-= cmds cc-styles cc-align cc-engine cc-vars
cc-defs elec-pair saveplace ca= p-words superword subword winner
autorevert filenotify xt-mouse tango-da= rk-theme savehist ido gud comint
ansi-osc ansi-color ring keybinds termi= nals ace-link-autoloads
unfill-autoloads company-auctex-autoloads gl-con= f-mode-autoloads
spacemacs-theme-autoloads css-eldoc-autoloads beacon-au= toloads
emms-autoloads paredit-autoloads glsl-mode-autoloads
highligh= t-escape-sequences-autoloads evil-autoloads powershell-autoloads
gnuplot= -mode-autoloads cuda-mode-autoloads ein-autoloads
debbugs-autoloads ssh-= config-mode-autoloads gnuplot-autoloads
perspeen-autoloads cider-autoloa= ds sesman-autoloads
clojure-mode-autoloads dart-mode-autoloads sublime-t= hemes-autoloads
coffee-mode-autoloads opencl-mode-autoloads json-mode-au= toloads rx
company-anaconda-autoloads pinentry-autoloads rainbow-mode-au= toloads
htmlize-autoloads flycheck-rust-autoloads kotlin-mode-autoloads<= br>lsp-ltex-autoloads bbdb-vcard-autoloads ebdb-autoloads
projectile-aut= oloads jira-markup-mode-autoloads
browse-kill-ring-autoloads slime-autol= oads macrostep-autoloads
helm-dash-autoloads dap-mode-autoloads lsp-dock= er-autoloads
yaml-autoloads lsp-treemacs-autoloads treemacs-autoloads cf= rs-autoloads
pfuture-autoloads bui-autoloads sx-autoloads jenkins-autolo= ads
smart-jump-autoloads bbdb-autoloads parseedn-autoloads delight-autol= oads
anzu-autoloads x86-lookup-autoloads undo-tree-autoloads queue-autol= oads
langtool-autoloads parseclj-autoloads plantuml-mode-autoloads
gi= t-modes-autoloads ace-window-autoloads go-mode-autoloads
powerline-autol= oads lsp-ui-autoloads deferred-autoloads iedit-autoloads
csv-mode-autolo= ads srefactor-autoloads abc-mode-autoloads autoinsert
atomic-chrome-auto= loads solarized-theme-autoloads
anaconda-mode-autoloads web-mode-autoloa= ds flycheck-kotlin-autoloads
lua-mode-autoloads nov-autoloads dash-docs-= autoloads
rainbow-delimiters-autoloads form-feed-autoloads
yasnippet-= radical-snippets-autoloads cmake-mode-autoloads
powerthesaurus-autoloads= request-autoloads pyimport-autoloads
shut-up-autoloads json-snatcher-au= toloads helm-lsp-autoloads
lsp-mode-autoloads spinner-autoloads ht-autol= oads cargo-autoloads
clang-format-autoloads toml-mode-autoloads diminish= -autoloads
websocket-autoloads yasnippet-snippets-autoloads nameless-aut= oloads
cdlatex-autoloads eclim-autoloads anaphora-autoloads rust-mode-au= toloads
py-snippets-autoloads magit-gerrit-autoloads rmsbolt-autoloadsmagit-svn-autoloads pythonic-autoloads company-quickhelp-autoloads
mag= it-annex-autoloads goto-chg-autoloads poly-markdown-autoloads
markdown-m= ode-autoloads polymode-autoloads alert-autoloads
gntp-autoloads log4e-au= toloads color-theme-approximate-autoloads
use-package-autoloads bind-key= -autoloads calfw-autoloads
graphviz-dot-mode-autoloads flycheck-package-= autoloads
package-lint-autoloads flycheck-autoloads pkg-info-autoloadsepl-autoloads ecb-autoloads avy-autoloads modern-cpp-font-lock-autoloads<= br>dts-mode-autoloads zenburn-theme-autoloads yaml-mode-autoloads
esxml-= autoloads kv-autoloads elpy-autoloads pyvenv-autoloads
highlight-indenta= tion-autoloads ob-ipython-autoloads f-autoloads
dash-functional-autoload= s hydra-autoloads lv-autoloads
auto-complete-auctex-autoloads auto-compl= ete-autoloads
yasnippet-autoloads auctex-latexmk-autoloads auctex-autolo= ads tex-site
ahk-mode-autoloads magit-autoloads magit-section-autoloads<= br>git-commit-autoloads with-editor-autoloads transient-autoloads
compat= -autoloads cask-mode-autoloads company-c-headers-autoloads
pos-tip-autol= oads zerodark-theme-autoloads all-the-icons-autoloads
image+-autoloads e= xpand-region-autoloads gnus-desktop-notify-autoloads
helm-autoloads helm= -core-autoloads async-autoloads ggtags-autoloads
mmm-mode-autoloads posf= rame-autoloads company-math-autoloads
math-symbol-lists-autoloads compan= y-autoloads ivy-autoloads
uimage-autoloads guess-language-autoloads dumb= -jump-autoloads
popup-autoloads info dash-autoloads s-autoloads google-c= -style-autoloads
which-key-autoloads package browse-url url url-proxy ur= l-privacy
url-expand url-methods url-history url-cookie generate-lisp-fi= le
url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq=
eieio eieio-core cl-macs password-cache json subr-x map byte-opt gv
= bytecomp byte-compile url-vars cl-loaddefs cl-lib rmc iso-transl tooltipcconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-typeelisp-mode mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd
f= ontset image regexp-opt fringe tabulated-list replace newcomment
text-mo= de lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow
isearc= h easymenu timer select scroll-bar mouse jit-lock font-lock syntax
font-= core term/tty-colors frame minibuffer nadvice seq simple cl-generic
indo= nesian philippine 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 abbrev ob= array oclosure cl-preloaded button loaddefs
theme-loaddefs faces cus-fac= e macroexp files window text-properties
overlay sha1 md5 base64 format e= nv code-pages mule custom widget keymap
hashtable-print-readable backquo= te threads dbusbind inotify lcms2
dynamic-setting system-font-setting fo= nt-render-setting cairo
move-toolbar gtk x-toolkit xinput2 x multi-tty m= ake-network-process
emacs)

Memory information:
((conses 16 465= 686 22927)
=C2=A0(symbols 48 41605 1)
=C2=A0(strings 32 144416 7236)<= br>=C2=A0(string-bytes 1 5047896)
=C2=A0(vectors 16 74684)
=C2=A0(vec= tor-slots 8 1033911 12667)
=C2=A0(floats 8 419 1011)
=C2=A0(intervals= 56 2262 292)
=C2=A0(buffers 984 17))

--0000000000008c13a005eeb75bda-- --0000000000008c13a205eeb75bdc Content-Type: application/x-patch; name="0001-gdb-mi.el-Swap-type-and-name-column-in-locals.patch" Content-Disposition: attachment; filename="0001-gdb-mi.el-Swap-type-and-name-column-in-locals.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lb2t4plo0 RnJvbSA3YTg0MzUxYTVhZDVlZTg3YTU5ODM5MmRjY2VhMDYwNGU2MmZhNTFiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBHdXN0YWYgV2FsZGVtYXJzb24gPGd1c3RhZi53YWxkZW1hcnNv bkBnbWFpbC5jb20+CkRhdGU6IFR1ZSwgMjkgTm92IDIwMjIgMjM6NDA6MjMgKzAxMDAKU3ViamVj dDogW1BBVENIXSBnZGItbWkuZWw6IFN3YXAgdHlwZSBhbmQgbmFtZSBjb2x1bW4gaW4gbG9jYWxz LgoKLS0tCiBsaXNwL3Byb2dtb2Rlcy9nZGItbWkuZWwgfCAxOCArKysrKysrKysrKysrKysrKy0K IDEgZmlsZSBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0t Z2l0IGEvbGlzcC9wcm9nbW9kZXMvZ2RiLW1pLmVsIGIvbGlzcC9wcm9nbW9kZXMvZ2RiLW1pLmVs CmluZGV4IGU4ZDhmOTEwNGU0Li4yNmYwZjhlNTE5MSAxMDA2NDQKLS0tIGEvbGlzcC9wcm9nbW9k ZXMvZ2RiLW1pLmVsCisrKyBiL2xpc3AvcHJvZ21vZGVzL2dkYi1taS5lbApAQCAtNDM1NSw2ICs0 MzU1LDE5IEBAIGdkYi1sb2NhbHMtdmFsdWUtbGltaXQKICAgOmdyb3VwICdndWQKICAgOnZlcnNp b24gIjI5LjEiKQogCisoZGVmY3VzdG9tIGdkYi1sb2NhbHMtbWF4LXR5cGUtbGVuZ3RoIDIwCisg ICJNYXhpbXVtIG51bWJlciBvZiBjaGFyYWN0ZXIgdG8gZGlzcGxheSBpbiB0aGUgbG9jYWwgdmFy aWFibGVzIHR5cGUgY29sdW1uLiIKKyAgOnR5cGUgJ2ludGVnZXIKKyAgOmdyb3VwICdndWQKKyAg OnZlcnNpb24gIjMwLjAiKQorCisoZGVmY3VzdG9tIGdkYi1sb2NhbHMtbWF4LW5hbWUtbGVuZ3Ro IDIwCisgICJNYXhpbXVtIG51bWJlciBvZiBjaGFyYWN0ZXIgdG8gZGlzcGxheSBpbiB0aGUgbG9j YWwgdmFyaWFibGVzIG5hbWUgY29sdW1uLiIKKyAgOnR5cGUgJ2ludGVnZXIKKyAgOmdyb3VwICdn dWQKKyAgOnZlcnNpb24gIjMwLjAiKQorCisKIChkZWZ2YXIgZ2RiLWxvY2Fscy12YWx1ZXMtdGFi bGUgKG1ha2UtaGFzaC10YWJsZSA6dGVzdCAjJ2VxdWFsKQogICAiTWFwcGluZyBvZiBsb2NhbCB2 YXJpYWJsZSBuYW1lcyB0byBhIHN0cmluZyB3aXRoIHRoZWlyIHZhbHVlLiIpCiAKQEAgLTQ0MzEs MTEgKzQ0NDQsMTQgQEAgZ2RiLWxvY2Fscy1oYW5kbGVyLWN1c3RvbQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwLWVjaG8gIm1vdXNlLTI6IGVkaXQgdmFs dWUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsLW1h cCAsZ2RiLWVkaXQtbG9jYWxzLW1hcC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHZhbHVlKSkKKyAgICAgICAgKHNldHEgbmFtZSAoc3Vic3RyaW5nIG5hbWUgMCAobWluIChsZW5n dGggbmFtZSkgZ2RiLWxvY2Fscy1tYXgtbmFtZS1sZW5ndGgpKSkKKyAgICAgICAgKHNldHEgdHlw ZSAoc3Vic3RyaW5nIHR5cGUgMCAobWluIChsZW5ndGggdHlwZSkgZ2RiLWxvY2Fscy1tYXgtdHlw ZS1sZW5ndGgpKSkKKyAgICAgICAgKHNldGYgKGdkYi10YWJsZS1yaWdodC1hbGlnbiB0YWJsZSkg dCkKICAgICAgICAgKGdkYi10YWJsZS1hZGQtcm93CiAgICAgICAgICB0YWJsZQogICAgICAgICAg KGxpc3QKLSAgICAgICAgICAocHJvcGVydGl6ZSB0eXBlICdmb250LWxvY2stZmFjZSBmb250LWxv Y2stdHlwZS1mYWNlKQogICAgICAgICAgIChwcm9wZXJ0aXplIG5hbWUgJ2ZvbnQtbG9jay1mYWNl IGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2UpCisgICAgICAgICAgKHByb3BlcnRpemUgdHlw ZSAnZm9udC1sb2NrLWZhY2UgZm9udC1sb2NrLXR5cGUtZmFjZSkKICAgICAgICAgICB2YWx1ZSkK ICAgICAgICAgIGAoZ2RiLWxvY2FsLXZhcmlhYmxlICxsb2NhbCkpKSkKICAgICAoaW5zZXJ0IChn ZGItdGFibGUtc3RyaW5nIHRhYmxlICIgIikpCi0tIAoyLjM0LjEKCg== --0000000000008c13a205eeb75bdc--