Subject: 29.0.50; sqlite-mode--column-names doesn't handle fields with parens

From: Yoav Marco <[email-masked]>
Date: Wed, 11 May 2022 13:48:58 +0300

Viewing table columns with sqlite-mode-list-columns in sqlite-mode
doesn't work if a column has parentheses, like VARCHAR(1024).

It's caused by this line in sqlite-mode--column-names:

    (split-string (replace-regexp-in-string "^.*(\\|)$" "" sql) ","))))

So for a table made with e.g

   CREATE TABLE rss_feed (  rssurl VARCHAR(1024),  url VARCHAR(1024))

The displayed columns would be

  rssurl VARCHAR(1024

I attached a patch fixing this, but I don't have the copyright
assignment paperwork. Is the patch small enough to apply without? I
added a "Copyright-paperwork-exempt: yes" line to the commit message in
hope.

  - Yoav

In GNU Emacs 29.0.50 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.33, cairo version 1.17.6)
 of 2022-05-10 built on lipad
Repository revision: eebe5a1d6114ed54eb3cdd5576f43da76590b8fa
Repository branch: HEAD
System Description: Arch Linux

Configured using:
 'configure --prefix=/usr --with-sound=alsa --with-modules
 --with-x-toolkit=gtk3 --with-cairo --with-xwidgets --with-tree-sitter
 --with-native-compilation --with-pgtk --without-compress-install
 --without-gconf --without-gsettings --without-m17n-flt'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM HARFBUZZ JPEG JSON
TREE-SITTER LCMS2 LIBOTF LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY
INOTIFY PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS WEBP XIM XWIDGETS GTK3 ZLIB

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Fundamental

Minor modes in effect:
  pdf-occur-global-minor-mode: t
  global-anzu-mode: t
  anzu-mode: t
  evil-traces-mode: t
  diff-hl-margin-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  global-evil-surround-mode: t
  evil-surround-mode: t
  TeX-PDF-mode: t
  TeX-source-correlate-mode: t
  org-roam-db-autosync-mode: t
  gcmh-mode: t
  global-hl-line-mode: t
  winner-mode: t
  smartparens-global-mode: t
  smartparens-mode: t
  global-undo-fu-session-mode: t
  undo-fu-session-mode: t
  undo-fu-mode: t
  ws-butler-global-mode: t
  ws-butler-mode: t
  editorconfig-mode: t
  recentf-mode: t
  save-place-mode: t
  global-so-long-mode: t
  global-git-commit-mode: t
  projectile-mode: t
  which-key-mode: t
  savehist-mode: t
  better-jumper-mode: t
  better-jumper-local-mode: t
  global-company-mode: t
  company-mode: t
  vertico-mode: t
  marginalia-mode: t
  evil-goggles-mode: t
  evil-snipe-override-mode: t
  evil-snipe-mode: t
  evil-snipe-override-local-mode: t
  evil-snipe-local-mode: t
  persp-mode: t
  solaire-global-mode: t
  solaire-mode: t
  auto-image-file-mode: t
  global-flycheck-mode: t
  shell-dirtrack-mode: t
  evil-mode: t
  evil-local-mode: t
  windmove-mode: t
  +popup-mode: t
  +modeline-global-mode: t
  +modeline-mode: t
  override-global-mode: t
  general-override-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  window-divider-mode: t
  size-indication-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/home/ym/.config/emacs/.local/straight/build-29.0.50/cdlatex/cdlatex hides /home/ym/.config/emacs/.local/straight/build-29.0.50/laas/cdlatex
/home/ym/.config/emacs/.local/straight/build-29.0.50/ivy/elpa hides /home/ym/.config/emacs/.local/straight/build-29.0.50/lispy/elpa
/home/ym/.config/emacs/.local/straight/build-29.0.50/bind-key/bind-key hides /home/ym/.config/emacs/.local/straight/repos/use-package/bind-key
/home/ym/.config/emacs/.local/straight/build-29.0.50/use-package/use-package-jump hides /home/ym/.config/emacs/.local/straight/repos/use-package/use-package-jump
/home/ym/.config/emacs/.local/straight/build-29.0.50/use-package/use-package-ensure hides /home/ym/.config/emacs/.local/straight/repos/use-package/use-package-ensure
/home/ym/.config/emacs/.local/straight/build-29.0.50/use-package/use-package hides /home/ym/.config/emacs/.local/straight/repos/use-package/use-package
/home/ym/.config/emacs/.local/straight/build-29.0.50/use-package/use-package-diminish hides /home/ym/.config/emacs/.local/straight/repos/use-package/use-package-diminish
/home/ym/.config/emacs/.local/straight/build-29.0.50/use-package/use-package-core hides /home/ym/.config/emacs/.local/straight/repos/use-package/use-package-core
/home/ym/.config/emacs/.local/straight/build-29.0.50/use-package/use-package-bind-key hides /home/ym/.config/emacs/.local/straight/repos/use-package/use-package-bind-key
/home/ym/.config/emacs/.local/straight/build-29.0.50/use-package/use-package-delight hides /home/ym/.config/emacs/.local/straight/repos/use-package/use-package-delight
/home/ym/.config/emacs/.local/straight/build-29.0.50/use-package/use-package-lint hides /home/ym/.config/emacs/.local/straight/repos/use-package/use-package-lint
/home/ym/.config/emacs/.local/straight/build-29.0.50/straight/straight-x hides /home/ym/.config/emacs/.local/straight/repos/straight.el/straight-x
/home/ym/.config/emacs/.local/straight/build-29.0.50/straight/straight hides /home/ym/.config/emacs/.local/straight/repos/straight.el/straight
/home/ym/.config/emacs/.local/straight/build-29.0.50/straight/straight-ert-print-hack hides /home/ym/.config/emacs/.local/straight/repos/straight.el/straight-ert-print-hack
/home/ym/.config/emacs/.local/straight/build-29.0.50/cmake-mode/cmake-mode hides /usr/share/emacs/site-lisp/cmake-mode
/home/ym/.config/emacs/.local/straight/repos/straight.el/indent hides /home/ym/programs/emacs/tree-sitter/lisp/indent
/home/ym/.config/emacs/.local/straight/build-29.0.50/transient/transient hides /home/ym/programs/emacs/tree-sitter/lisp/transient
/home/ym/.config/emacs/.local/straight/build-29.0.50/xref/xref hides /home/ym/programs/emacs/tree-sitter/lisp/progmodes/xref
/home/ym/.config/emacs/.local/straight/build-29.0.50/project/project hides /home/ym/programs/emacs/tree-sitter/lisp/progmodes/project
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-colview hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-colview
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-org hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-org
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-octave hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-octave
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ox-md hides /home/ym/programs/emacs/tree-sitter/lisp/org/ox-md
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ox-koma-letter hides /home/ym/programs/emacs/tree-sitter/lisp/org/ox-koma-letter
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-clock hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-clock
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-duration hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-duration
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-ditaa hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-ditaa
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/oc hides /home/ym/programs/emacs/tree-sitter/lisp/org/oc
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-macs hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-macs
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-processing hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-processing
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-comint hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-comint
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-exp hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-exp
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-tangle hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-tangle
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ol-w3m hides /home/ym/programs/emacs/tree-sitter/lisp/org/ol-w3m
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ol-irc hides /home/ym/programs/emacs/tree-sitter/lisp/org/ol-irc
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-emacs-lisp hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-emacs-lisp
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ol-docview hides /home/ym/programs/emacs/tree-sitter/lisp/org/ol-docview
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-goto hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-goto
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ox-icalendar hides /home/ym/programs/emacs/tree-sitter/lisp/org/ox-icalendar
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-sqlite hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-sqlite
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-screen hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-screen
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-clojure hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-clojure
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-perl hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-perl
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-fortran hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-fortran
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-pcomplete hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-pcomplete
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-keys hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-keys
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-list hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-list
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-capture hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-capture
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ol-man hides /home/ym/programs/emacs/tree-sitter/lisp/org/ol-man
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-src hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-src
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ol-bbdb hides /home/ym/programs/emacs/tree-sitter/lisp/org/ol-bbdb
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ol-mhe hides /home/ym/programs/emacs/tree-sitter/lisp/org/ol-mhe
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org hides /home/ym/programs/emacs/tree-sitter/lisp/org/org
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-scheme hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-scheme
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ox-latex hides /home/ym/programs/emacs/tree-sitter/lisp/org/ox-latex
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-agenda hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-agenda
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-indent hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-indent
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ox-html hides /home/ym/programs/emacs/tree-sitter/lisp/org/ox-html
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-faces hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-faces
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-eshell hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-eshell
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-num hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-num
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-R hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-R
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-plantuml hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-plantuml
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ox-publish hides /home/ym/programs/emacs/tree-sitter/lisp/org/ox-publish
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/oc-csl hides /home/ym/programs/emacs/tree-sitter/lisp/org/oc-csl
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ox-beamer hides /home/ym/programs/emacs/tree-sitter/lisp/org/ox-beamer
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-refile hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-refile
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-lilypond hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-lilypond
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-crypt hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-crypt
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/oc-biblatex hides /home/ym/programs/emacs/tree-sitter/lisp/org/oc-biblatex
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-timer hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-timer
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ol-eww hides /home/ym/programs/emacs/tree-sitter/lisp/org/ol-eww
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-datetree hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-datetree
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-eval hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-eval
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-maxima hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-maxima
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-tempo hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-tempo
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-haskell hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-haskell
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-python hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-python
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ol-gnus hides /home/ym/programs/emacs/tree-sitter/lisp/org/ol-gnus
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ol-info hides /home/ym/programs/emacs/tree-sitter/lisp/org/ol-info
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-shell hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-shell
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-attach hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-attach
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-sql hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-sql
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-table hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-table
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-entities hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-entities
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-lint hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-lint
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-matlab hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-matlab
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-macro hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-macro
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-protocol hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-protocol
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ox-man hides /home/ym/programs/emacs/tree-sitter/lisp/org/ox-man
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-sed hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-sed
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-forth hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-forth
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-ctags hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-ctags
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/oc-natbib hides /home/ym/programs/emacs/tree-sitter/lisp/org/oc-natbib
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-mouse hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-mouse
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-java hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-java
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-latex hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-latex
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-plot hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-plot
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-id hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-id
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-css hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-css
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-attach-git hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-attach-git
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-habit hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-habit
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-groovy hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-groovy
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-compat hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-compat
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-C hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-C
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ol-rmail hides /home/ym/programs/emacs/tree-sitter/lisp/org/ol-rmail
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-js hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-js
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-sass hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-sass
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-feed hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-feed
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ol-bibtex hides /home/ym/programs/emacs/tree-sitter/lisp/org/ol-bibtex
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ol hides /home/ym/programs/emacs/tree-sitter/lisp/org/ol
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-awk hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-awk
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-archive hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-archive
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-core hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-core
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-version hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-version
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-lua hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-lua
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-table hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-table
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-ref hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-ref
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/oc-basic hides /home/ym/programs/emacs/tree-sitter/lisp/org/oc-basic
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-julia hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-julia
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ol-eshell hides /home/ym/programs/emacs/tree-sitter/lisp/org/ol-eshell
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ox-org hides /home/ym/programs/emacs/tree-sitter/lisp/org/ox-org
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-dot hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-dot
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-gnuplot hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-gnuplot
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-lisp hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-lisp
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-element hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-element
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-mobile hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-mobile
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-lob hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-lob
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-makefile hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-makefile
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ox-ascii hides /home/ym/programs/emacs/tree-sitter/lisp/org/ox-ascii
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-install hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-install
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ox-odt hides /home/ym/programs/emacs/tree-sitter/lisp/org/ox-odt
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ol-doi hides /home/ym/programs/emacs/tree-sitter/lisp/org/ol-doi
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ox-texinfo hides /home/ym/programs/emacs/tree-sitter/lisp/org/ox-texinfo
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ox hides /home/ym/programs/emacs/tree-sitter/lisp/org/ox
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-footnote hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-footnote
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-ruby hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-ruby
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-inlinetask hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-inlinetask
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/org-loaddefs hides /home/ym/programs/emacs/tree-sitter/lisp/org/org-loaddefs
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-calc hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-calc
/home/ym/.config/emacs/.local/straight/build-29.0.50/org/ob-ocaml hides /home/ym/programs/emacs/tree-sitter/lisp/org/ob-ocaml

Features:
(shadow cl-print magit-extras emacsbug evil-multiedit iedit iedit-lib
mc-hide-unmatched-lines-mode mc-mark-more mc-cycle-cursors
multiple-cursors-core semantic/ia semantic/analyze/refs semantic/db-find
semantic/db-ref semantic/senator semantic/decorate semantic/analyze
semantic/sort semantic/scope semantic/analyze/fcn semantic/db eieio-base
semantic/ctxt semantic/format ezimage semantic/tag-ls semantic/find
evil-collection-wdired wdired evil-collection-tabulated-list pdf-sync
pdf-annot pdf-outline pdf-links pdf-history pdf-occur
evil-collection-tablist tablist tablist-filter semantic/wisent/comp
semantic/wisent semantic/wisent/wisent semantic/util-modes semantic/util
semantic semantic/tag semantic/lex semantic/fw cedet pdf-isearch
pdf-misc evil-collection-pdf pdf-tools saveplace-pdf-view pdf-view
pdf-cache pdf-info tq pdf-util pdf-macs shr-color
evil-collection-quickrun quickrun em-banner evil-collection-eshell
em-prompt eshell esh-mode esh-cmd esh-ext esh-opt esh-proc esh-io
esh-arg esh-module esh-groups esh-util doom-spacegrey-theme two-column
sqlite-mode gnus-html url-queue url-cache mm-url mm-archive autoconf
autoconf-mode evil-collection-sh-script sh-script smie executable
consult-xref elisp-def ert lexic visual-fill-column descr-text preview
adaptive-wrap reftex-dcr reftex-auc evil-collection-reftex reftex-toc
reftex-cite reftex-ref reftex-parse reftex reftex-loaddefs reftex-vars
tex-fold font-latex tex-mode laas-unicode math-symbol-lists quail
magit-patch embark-consult evil-collection-embark embark char-fold
evil-nerd-commenter evil-nerd-commenter-operator evil-nerd-commenter-sdk
html-mode-expansions smartparens-html sgml-mode facemenu magit-gitflow
ffap evil-textobj-anyblock consult-imenu tramp-archive tramp-gvfs tabify
org-music epa-file ox-odt rng-loc rng-parse rng-match rng-dt rng-util
rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex
ox-icalendar ox-ascii ox-md ox-html table ox-publish ox rng-uri
dumb-jump cua-base evil-collection-evil-mc evil-mc
evil-mc-command-execute evil-mc-command-record evil-mc-cursor-make
evil-mc-region evil-mc-cursor-state evil-mc-undo evil-mc-vars
evil-mc-known-commands evil-mc-common evil-collection-help sort smiley
gnus-cite mail-extr textsec uni-scripts idna-mapping ucs-normalize
uni-confusable textsec-check qp hebrew-mode evil-collection-mu4e mu4e
mu4e-org mu4e-main mu4e-view mu4e-view-gnus gnus-art mm-uu mml2015
mm-view mml-smime smime dig gnus-sum gnus-group gnus-undo gnus-start
gnus-dbus gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo gnus-spec
gnus-int gnus-range gnus-win evil-collection-gnus gnus nnheader range
mu4e-view-common mu4e-headers mu4e-compose mu4e-context mu4e-draft
mu4e-actions ido rfc2368 smtpmail mu4e-mark mu4e-proc mu4e-utils
evil-collection-doc-view doc-view mu4e-lists mu4e-message flow-fill
mu4e-vars elisp-demos evil-collection-indent info-colors mule-util
evil-collection-helpful helpful trace info-look evil-collection-info
info evil-collection-elisp-refs elisp-refs evil-anzu anzu
evil-collection-vterm vterm tramp tramp-loaddefs trampver
tramp-integration cus-start files-x tramp-compat ls-lisp
evil-collection-term term ehelp vterm-module term/xterm xterm
evil-traces evil-ex make-mode vertico-directory hide-mode-line benchmark
treesit cursor-sensor vertico-repeat consult-flycheck
evil-collection-consult consult-vertico consult org-agenda
evil-collection-magit-todos magit-todos pcre2el rxt re-builder async
code-review code-review-actions code-review-comment code-review-section
code-review-bitbucket code-review-faces shr pixel-fill kinsoku url-file
url-dired svg emojify evil-collection-apropos apropos
evil-collection-tar-mode tar-mode evil-collection-arc-mode arc-mode
archive-mode code-review-gitlab code-review-utils evil-collection-forge
forge-list forge-commands forge-semi forge-bitbucket buck forge-gogs
gogs forge-gitea gtea forge-gitlab glab forge-github forge-notify
forge-revnote forge-pullreq forge-issue forge-topic yaml parse-time
forge-post forge-repo forge forge-core forge-db code-review-parse-hunk
code-review-github code-review-db uuidgen calc-misc calc-ext a
code-review-interfaces deferred ghub-graphql treepy gsexp ghub closql
evil-collection-magit magit-bookmark magit-autoloads magit-submodule
magit-obsolete magit-popup magit-blame magit-stash magit-reflog
magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote
magit-commit magit-sequence magit-notes magit-worktree magit-tag
magit-merge magit-branch magit-reset magit-files magit-refs magit-status
magit magit-repos magit-apply magit-wip magit-log which-func magit-diff
smerge-mode diff magit-core magit-autorevert magit-margin
magit-transient magit-process company-yasnippet lsp-diagnostics
lsp-modeline lsp-lens lsp-ui lsp-ui-flycheck lsp-ui-doc
evil-collection-xwidget xwidget image-mode exif evil-collection-bookmark
bookmark goto-addr evil-collection-lsp-ui-imenu lsp-ui-imenu lsp-ui-peek
lsp-ui-sideline lsp-ui-util evil-collection-view view lsp-zig lsp-steep
lsp-svelte lsp-sqls 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-r lsp-purescript lsp-pylsp lsp-pyls lsp-pwsh lsp-php
lsp-perlnavigator lsp-perl lsp-ocaml lsp-magik lsp-nix lsp-nim lsp-nginx
lsp-markdown lsp-lua lsp-kotlin lsp-json lsp-javascript lsp-idris
lsp-haxe lsp-groovy lsp-hack lsp-graphql 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-semantic-tokens lsp-clangd
dom lsp-beancount lsp-bash lsp-ansible lsp-angular lsp-ada
lsp-actionscript lsp-racket org-crypt diredfl diff-hl-margin
diff-hl-dired evil-collection-diff-hl diff-hl evil-collection-log-view
log-view evil-collection-vc-dir vc-dir all-the-icons-dired dired-x
flycheck-cask lispyville lispy hydra delsel lispy-inline avy etags
fileloop evil-collection-edebug edebug evil-collection-debug debug
backtrace help-fns radix-tree lispy-tags mode-local highlight-quoted
git-gutter-fringe fringe-helper git-gutter ccls ccls-member-hierarchy
ccls-inheritance-hierarchy ccls-call-hierarchy ccls-tree ccls-code-lens
ccls-semantic-highlight ccls-common lsp-mode lsp-protocol
evil-collection-xref xref spinner network-stream smartparens-markdown
evil-collection-markdown-mode markdown-mode edit-indirect lv inline ht f
ewoc evil-collection-vc-git vc-git evil-collection-diff-mode diff-mode
vc vc-dispatcher bug-reference macrostep-c cmacexp
evil-collection-macrostep macrostep rainbow-delimiters highlight-numbers
parent-mode hl-todo cc-mode-expansions smartparens-c cc-mode cc-fonts
cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
editorconfig-core editorconfig-core-handle editorconfig-fnmatch
jka-compr auto-minor-mode whitespace org-eldoc toc-org evil-org
mixed-pitch laas doom-snippets doom-snippets-lib yasnippet
flycheck-popup-tip evil-collection-popup popup
evil-collection-elisp-mode elisp-mode aas evil-embrace embrace
expand-region text-mode-expansions the-org-mode-expansions
latex-mode-expansions er-basic-expansions expand-region-core
expand-region-custom evil-surround evil-tex smartparens-latex
auctex-latexmk tex-buf latex latex-flymake evil-collection-flymake
flymake-proc flymake project tex-ispell tex-style tex dbus xml texmathp
display-line-numbers org-indent oc-basic disp-table ol-bibtex bibtex
iso8601 evil-collection-org org-roam-migrate org-roam-mode
org-roam-capture org-roam-id org-roam-node org-roam-db org-roam-utils
org-roam-compat org-roam org-capture emacsql-sqlite url-http url-auth
url-gw nsm emacsql emacsql-compiler smartparens-org org-yt org-element
org-persist xdg org-id org-refile avl-tree generator org ob ob-tangle
ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-src ob-comint
org-pcomplete org-list org-faces org-entities noutline outline
org-version ob-emacs-lisp ob-core ob-eval org-table ol org-keys oc
org-compat org-macs org-loaddefs evil-collection-calendar cal-menu
calendar cal-loaddefs gcmh hl-line winner smartparens-config
smartparens-text smartparens undo-fu-session undo-fu ws-butler
editorconfig recentf tree-widget saveplace so-long git-commit
with-editor evil-collection-log-edit log-edit message sendmail
yank-media rmc puny rfc822 mml mml-sec evil-collection-epa epa epg
rfc6068 epg-config gnus-util time-date 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 magit-mode
transient magit-git magit-base magit-section format-spec crm projectile
evil-collection-grep grep ibuffer-vc ibuf-ext evil-collection-ibuffer
ibuffer ibuffer-loaddefs evil-collection-which-key which-key savehist
better-jumper company-capf company evil-collection-vertico vertico
orderless marginalia evil-goggles evil-easymotion evil-snipe server
autorevert filenotify nav-flash pulse color persp-mode dtrt-indent
doom-themes-ext-org solaire-mode face-remap doom-one-light-theme
doom-themes doom-themes-base image-file image-converter mu4e-meta
html2text flycheck-package package-lint evil-collection-imenu imenu
evil-collection-finder finder finder-inf lisp-mnt
evil-collection-package-menu core-packages package browse-url url
url-proxy url-privacy url-expand url-methods url-history url-cookie
url-domsuf url-util mailcap url-handlers url-parse auth-source eieio
eieio-core eieio-loaddefs password-cache url-vars
evil-collection-flycheck flycheck json find-func dash smartparens-lua
evil-textobj-tree-sitter ts-fold ts-fold-summary ts-fold-parsers
ts-fold-util s tree-sitter tree-sitter-load tree-sitter-cli map tsc
tsc-dyn tsc-dyn-get evil-collection-compile compile text-property-search
dired-aux evil-collection-dired evil-collection-custom cus-edit cus-load
wid-edit evil-collection-comint evil-collection annalist dired
dired-loaddefs tsc-obsolete ibuf-macs evil evil-integration evil-maps
evil-commands reveal flyspell ispell evil-jumps evil-command-window
evil-search shell pcomplete comint ansi-color evil-types evil-macros
evil-repeat evil-states evil-core advice evil-common windmove calc
calc-loaddefs calc-macs thingatpt rect evil-digraphs evil-vars ring
edmacro kmacro all-the-icons all-the-icons-faces data-material
data-weathericons data-octicons data-fileicons data-faicons
data-alltheicons let-alist derived use-package-bind-key bind-key
core-editor core-projects core-ui easy-mmode core-keybinds pp general
use-package-core core-modules tex-site core comp comp-cstr warnings rx
cl-seq cl-extra help-mode seq subr-x byte-opt bytecomp byte-compile
cconv core-lib pcase cl-macs gv cl-loaddefs cl-lib iso-transl tooltip
eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type 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 nadvice simple 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 abbrev obarray oclosure
cl-preloaded 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
xwidget-internal dbusbind inotify dynamic-setting font-render-setting
cairo gtk pgtk lcms2 multi-tty make-network-process native-compile
emacs)

Memory information:
((conses 16 1825503 300967)
 (symbols 48 116791 49)
 (strings 32 561126 64795)
 (string-bytes 1 18026092)
 (vectors 16 223190)
 (vector-slots 8 4911414 314519)
 (floats 8 4959 2544)
 (intervals 56 21634 7611)
 (buffers 992 73))
>From 5dcb98705bf7404d73dfdb9d5d64a384f99fb534 Mon Sep 17 00:00:00 2001
From: Yoav Marco <[email-masked]>
Date: Wed, 11 May 2022 13:42:04 +0300
Subject: [PATCH] * lisp/sqlite-mode.el (sqlite-mode--column-names): Suppport
 nested parens

Copyright-paperwork-exempt: yes
---
 lisp/sqlite-mode.el | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/lisp/sqlite-mode.el b/lisp/sqlite-mode.el
index ba1b81ef..8cdff96d 100644
--- a/lisp/sqlite-mode.el
+++ b/lisp/sqlite-mode.el
@@ -129,15 +129,21 @@ sqlite-mode-list-columns
             (insert (format "  %s\n" column))))))))
 
 (defun sqlite-mode--column-names (table)
-  (let ((sql
-         (caar
-          (sqlite-select
-           sqlite--db
-           "select sql from sqlite_master where tbl_name = ? AND type = 'table'"
-           (list table)))))
-    (mapcar
-     #'string-trim
-     (split-string (replace-regexp-in-string "^.*(\\|)$" "" sql) ","))))
+  "Return a list of the column names for TABLE."
+  (let ((sql (caar
+              (sqlite-select
+               sqlite--db
+               "select sql from sqlite_master where tbl_name = ? AND type = 'table'"
+               (list table)))))
+    (with-temp-buffer
+      (insert sql)
+      (mapcar #'string-trim
+              (split-string
+               ;; Extract the args to CREATE TABLE. Point is currently at its end
+               (buffer-substring
+                (1- (point))                        ; right before )
+                (1+ (progn (backward-sexp) (point)))) ; right after (
+               ",")))))
 
 (defun sqlite-mode-list-data ()
   "List the data from the table under point."
-- 
2.35.3