unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#55199: 28.1; rcirc auth-source integration doesn't handle port being a number
@ 2022-04-30 19:15 Javier Olaechea
  2022-05-18 23:26 ` Philip Kaludercic
  0 siblings, 1 reply; 7+ messages in thread
From: Javier Olaechea @ 2022-04-30 19:15 UTC (permalink / raw)
  To: 55199

[-- Attachment #1: Type: text/plain, Size: 22832 bytes --]

If rcirc-server-alist is set using the customize interface, the port in the
plist is going to be a number, not a string. AUTH-SOURCE-SEARCH expects the
port to be a string. So M-x rcirc  with the following value

'(rcirc-server-alist
   '(("irc.libera.chat" :nick "PuercoPop" :port 6697 :user-name "PuercoPop"
:channels
      ("#emacs" "#rcirc")
      :encryption tls)))

results in AUTH-SOURCE-SEARCH throwing an error. The fix could be as
straighforward ensureing the port is a string before calling
auth-source-search[0]. ej. (if (numberp port) (number-to-string port) port)

[0]:
https://github.com/emacs-mirror/emacs/blob/95dbe4b6ae2e88213835a8ded3928b6769d78f2c/lisp/net/rcirc.el#L576

That is how I've fixed the issue locally. Not sure if other parts of rcirc
assume port will be a string.

In GNU Emacs 28.1 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo version
1.16.0, Xaw scroll bars)
 of 2022-04-10 built on PuercoDesktop
Windowing system distributor 'The X.Org Foundation', version 11.0.12013000
System Description: Ubuntu 20.04.4 LTS

Configured using:
 'configure --prefix=/usr/local --with-x-toolkit=lucid
 --with-native-compiler'

Configured features:
CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON
LCMS2 LIBSELINUX LIBSYSTEMD LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG
RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM
LUCID ZLIB

Important settings:
  value of $LC_COLLATE: en_US.UTF-8
  value of $LC_CTYPE: en_US.UTF-8
  value of $LC_MESSAGES: en_US.UTF-8
  value of $LC_MONETARY: es_PE.UTF-8
  value of $LC_NUMERIC: en_US.UTF-8
  value of $LC_TIME: en_US.UTF-8
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: rcirc

Minor modes in effect:
  flyspell-mode: t
  sly-symbol-completion-mode: t
  electric-pair-mode: t
  magit-wip-initial-backup-mode: t
  magit-wip-before-change-mode: t
  magit-wip-after-apply-mode: t
  magit-wip-after-save-mode: t
  magit-wip-mode: t
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  winner-mode: t
  helm-descbinds-mode: t
  helm-fuz-mode: t
  helm-adaptive-mode: t
  global-anzu-mode: t
  anzu-mode: t
  recentf-mode: t
  minions-mode: t
  savehist-mode: t
  delete-selection-mode: t
  global-auto-revert-mode: t
  minibuffer-depth-indicate-mode: t
  auto-compile-on-load-mode: t
  auto-compile-on-save-mode: t
  override-global-mode: t
  rcirc-track-minor-mode: t
  rcirc-omit-mode: t
  helm-mode: t
  helm-minibuffer-history-mode: t
  shell-dirtrack-mode: t
  helm--remap-mouse-mode: t
  async-bytecomp-package-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  use-hard-newlines: 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
  transient-mark-mode: t

Load-path shadows:
/home/puercopop/.emacs.d/site-lisp/sly/sly-autoloads hides
/home/puercopop/.emacs.d/lib/sly/sly-autoloads
/home/puercopop/.emacs.d/site-lisp/sly/sly hides
/home/puercopop/.emacs.d/lib/sly/sly
/home/puercopop/.emacs.d/lib/telega/test hides
/home/puercopop/.emacs.d/lib/paredit/test
/home/puercopop/.emacs.d/lib/telega/test hides
/home/puercopop/.emacs.d/lib/libgit/test
/home/puercopop/.emacs.d/lib/telega/test hides
/home/puercopop/.emacs.d/lib/easy-kill/test
/home/puercopop/.emacs.d/lib/org/lisp/ox-latex hides
/usr/local/share/emacs/28.1/lisp/org/ox-latex
/home/puercopop/.emacs.d/lib/org/lisp/ob-ref hides
/usr/local/share/emacs/28.1/lisp/org/ob-ref
/home/puercopop/.emacs.d/lib/org/lisp/org-compat hides
/usr/local/share/emacs/28.1/lisp/org/org-compat
/home/puercopop/.emacs.d/lib/org/lisp/org-src hides
/usr/local/share/emacs/28.1/lisp/org/org-src
/home/puercopop/.emacs.d/lib/org/lisp/oc-biblatex hides
/usr/local/share/emacs/28.1/lisp/org/oc-biblatex
/home/puercopop/.emacs.d/lib/org/lisp/org-list hides
/usr/local/share/emacs/28.1/lisp/org/org-list
/home/puercopop/.emacs.d/lib/org/lisp/org-lint hides
/usr/local/share/emacs/28.1/lisp/org/org-lint
/home/puercopop/.emacs.d/lib/org/lisp/ob-ditaa hides
/usr/local/share/emacs/28.1/lisp/org/ob-ditaa
/home/puercopop/.emacs.d/lib/org/lisp/ob-sed hides
/usr/local/share/emacs/28.1/lisp/org/ob-sed
/home/puercopop/.emacs.d/lib/org/lisp/oc-basic hides
/usr/local/share/emacs/28.1/lisp/org/oc-basic
/home/puercopop/.emacs.d/lib/org/lisp/ox-texinfo hides
/usr/local/share/emacs/28.1/lisp/org/ox-texinfo
/home/puercopop/.emacs.d/lib/org/lisp/org-colview hides
/usr/local/share/emacs/28.1/lisp/org/org-colview
/home/puercopop/.emacs.d/lib/org/lisp/ol-rmail hides
/usr/local/share/emacs/28.1/lisp/org/ol-rmail
/home/puercopop/.emacs.d/lib/org/lisp/org-macs hides
/usr/local/share/emacs/28.1/lisp/org/org-macs
/home/puercopop/.emacs.d/lib/org/lisp/org-mouse hides
/usr/local/share/emacs/28.1/lisp/org/org-mouse
/home/puercopop/.emacs.d/lib/org/lisp/org-footnote hides
/usr/local/share/emacs/28.1/lisp/org/org-footnote
/home/puercopop/.emacs.d/lib/org/lisp/ob-exp hides
/usr/local/share/emacs/28.1/lisp/org/ob-exp
/home/puercopop/.emacs.d/lib/org/lisp/ob-screen hides
/usr/local/share/emacs/28.1/lisp/org/ob-screen
/home/puercopop/.emacs.d/lib/org/lisp/ox-odt hides
/usr/local/share/emacs/28.1/lisp/org/ox-odt
/home/puercopop/.emacs.d/lib/org/lisp/ob-lua hides
/usr/local/share/emacs/28.1/lisp/org/ob-lua
/home/puercopop/.emacs.d/lib/org/lisp/org-habit hides
/usr/local/share/emacs/28.1/lisp/org/org-habit
/home/puercopop/.emacs.d/lib/org/lisp/org-agenda hides
/usr/local/share/emacs/28.1/lisp/org/org-agenda
/home/puercopop/.emacs.d/lib/org/lisp/ob-sass hides
/usr/local/share/emacs/28.1/lisp/org/ob-sass
/home/puercopop/.emacs.d/lib/org/lisp/ol-docview hides
/usr/local/share/emacs/28.1/lisp/org/ol-docview
/home/puercopop/.emacs.d/lib/org/lisp/org-macro hides
/usr/local/share/emacs/28.1/lisp/org/org-macro
/home/puercopop/.emacs.d/lib/org/lisp/org-duration hides
/usr/local/share/emacs/28.1/lisp/org/org-duration
/home/puercopop/.emacs.d/lib/org/lisp/org-table hides
/usr/local/share/emacs/28.1/lisp/org/org-table
/home/puercopop/.emacs.d/lib/org/lisp/org-mobile hides
/usr/local/share/emacs/28.1/lisp/org/org-mobile
/home/puercopop/.emacs.d/lib/org/lisp/ob-latex hides
/usr/local/share/emacs/28.1/lisp/org/ob-latex
/home/puercopop/.emacs.d/lib/org/lisp/org-element hides
/usr/local/share/emacs/28.1/lisp/org/org-element
/home/puercopop/.emacs.d/lib/org/lisp/ob-css hides
/usr/local/share/emacs/28.1/lisp/org/ob-css
/home/puercopop/.emacs.d/lib/org/lisp/org-entities hides
/usr/local/share/emacs/28.1/lisp/org/org-entities
/home/puercopop/.emacs.d/lib/org/lisp/ob-awk hides
/usr/local/share/emacs/28.1/lisp/org/ob-awk
/home/puercopop/.emacs.d/lib/org/lisp/ol-eww hides
/usr/local/share/emacs/28.1/lisp/org/ol-eww
/home/puercopop/.emacs.d/lib/org/lisp/ob-perl hides
/usr/local/share/emacs/28.1/lisp/org/ob-perl
/home/puercopop/.emacs.d/lib/org/lisp/ob-ruby hides
/usr/local/share/emacs/28.1/lisp/org/ob-ruby
/home/puercopop/.emacs.d/lib/org/lisp/ob-haskell hides
/usr/local/share/emacs/28.1/lisp/org/ob-haskell
/home/puercopop/.emacs.d/lib/org/lisp/ob-processing hides
/usr/local/share/emacs/28.1/lisp/org/ob-processing
/home/puercopop/.emacs.d/lib/org/lisp/org hides
/usr/local/share/emacs/28.1/lisp/org/org
/home/puercopop/.emacs.d/lib/org/lisp/ol-bibtex hides
/usr/local/share/emacs/28.1/lisp/org/ol-bibtex
/home/puercopop/.emacs.d/lib/org/lisp/ob-emacs-lisp hides
/usr/local/share/emacs/28.1/lisp/org/ob-emacs-lisp
/home/puercopop/.emacs.d/lib/org/lisp/ob-gnuplot hides
/usr/local/share/emacs/28.1/lisp/org/ob-gnuplot
/home/puercopop/.emacs.d/lib/org/lisp/ob-groovy hides
/usr/local/share/emacs/28.1/lisp/org/ob-groovy
/home/puercopop/.emacs.d/lib/org/lisp/org-keys hides
/usr/local/share/emacs/28.1/lisp/org/org-keys
/home/puercopop/.emacs.d/lib/org/lisp/org-feed hides
/usr/local/share/emacs/28.1/lisp/org/org-feed
/home/puercopop/.emacs.d/lib/org/lisp/ol-man hides
/usr/local/share/emacs/28.1/lisp/org/ol-man
/home/puercopop/.emacs.d/lib/org/lisp/ob-eshell hides
/usr/local/share/emacs/28.1/lisp/org/ob-eshell
/home/puercopop/.emacs.d/lib/org/lisp/org-indent hides
/usr/local/share/emacs/28.1/lisp/org/org-indent
/home/puercopop/.emacs.d/lib/org/lisp/ob-table hides
/usr/local/share/emacs/28.1/lisp/org/ob-table
/home/puercopop/.emacs.d/lib/org/lisp/ob-fortran hides
/usr/local/share/emacs/28.1/lisp/org/ob-fortran
/home/puercopop/.emacs.d/lib/org/lisp/org-clock hides
/usr/local/share/emacs/28.1/lisp/org/org-clock
/home/puercopop/.emacs.d/lib/org/lisp/org-plot hides
/usr/local/share/emacs/28.1/lisp/org/org-plot
/home/puercopop/.emacs.d/lib/org/lisp/ol-info hides
/usr/local/share/emacs/28.1/lisp/org/ol-info
/home/puercopop/.emacs.d/lib/org/lisp/ob-shell hides
/usr/local/share/emacs/28.1/lisp/org/ob-shell
/home/puercopop/.emacs.d/lib/org/lisp/ob-lilypond hides
/usr/local/share/emacs/28.1/lisp/org/ob-lilypond
/home/puercopop/.emacs.d/lib/org/lisp/org-archive hides
/usr/local/share/emacs/28.1/lisp/org/org-archive
/home/puercopop/.emacs.d/lib/org/lisp/ob hides
/usr/local/share/emacs/28.1/lisp/org/ob
/home/puercopop/.emacs.d/lib/org/lisp/ob-dot hides
/usr/local/share/emacs/28.1/lisp/org/ob-dot
/home/puercopop/.emacs.d/lib/org/lisp/ol-bbdb hides
/usr/local/share/emacs/28.1/lisp/org/ol-bbdb
/home/puercopop/.emacs.d/lib/org/lisp/ox-beamer hides
/usr/local/share/emacs/28.1/lisp/org/ox-beamer
/home/puercopop/.emacs.d/lib/org/lisp/ox-ascii hides
/usr/local/share/emacs/28.1/lisp/org/ox-ascii
/home/puercopop/.emacs.d/lib/org/lisp/ox-md hides
/usr/local/share/emacs/28.1/lisp/org/ox-md
/home/puercopop/.emacs.d/lib/org/lisp/ob-matlab hides
/usr/local/share/emacs/28.1/lisp/org/ob-matlab
/home/puercopop/.emacs.d/lib/org/lisp/org-ctags hides
/usr/local/share/emacs/28.1/lisp/org/org-ctags
/home/puercopop/.emacs.d/lib/org/lisp/ol-w3m hides
/usr/local/share/emacs/28.1/lisp/org/ol-w3m
/home/puercopop/.emacs.d/lib/org/lisp/ox-man hides
/usr/local/share/emacs/28.1/lisp/org/ox-man
/home/puercopop/.emacs.d/lib/org/lisp/ob-octave hides
/usr/local/share/emacs/28.1/lisp/org/ob-octave
/home/puercopop/.emacs.d/lib/org/lisp/org-goto hides
/usr/local/share/emacs/28.1/lisp/org/org-goto
/home/puercopop/.emacs.d/lib/org/lisp/ol-eshell hides
/usr/local/share/emacs/28.1/lisp/org/ol-eshell
/home/puercopop/.emacs.d/lib/org/lisp/ob-lob hides
/usr/local/share/emacs/28.1/lisp/org/ob-lob
/home/puercopop/.emacs.d/lib/org/lisp/ox-org hides
/usr/local/share/emacs/28.1/lisp/org/ox-org
/home/puercopop/.emacs.d/lib/org/lisp/ob-core hides
/usr/local/share/emacs/28.1/lisp/org/ob-core
/home/puercopop/.emacs.d/lib/org/lisp/org-protocol hides
/usr/local/share/emacs/28.1/lisp/org/org-protocol
/home/puercopop/.emacs.d/lib/org/lisp/ob-forth hides
/usr/local/share/emacs/28.1/lisp/org/ob-forth
/home/puercopop/.emacs.d/lib/org/lisp/ob-eval hides
/usr/local/share/emacs/28.1/lisp/org/ob-eval
/home/puercopop/.emacs.d/lib/org/lisp/ob-lisp hides
/usr/local/share/emacs/28.1/lisp/org/ob-lisp
/home/puercopop/.emacs.d/lib/org/lisp/ob-comint hides
/usr/local/share/emacs/28.1/lisp/org/ob-comint
/home/puercopop/.emacs.d/lib/org/lisp/org-crypt hides
/usr/local/share/emacs/28.1/lisp/org/org-crypt
/home/puercopop/.emacs.d/lib/org/lisp/ox-icalendar hides
/usr/local/share/emacs/28.1/lisp/org/ox-icalendar
/home/puercopop/.emacs.d/lib/org/lisp/oc-csl hides
/usr/local/share/emacs/28.1/lisp/org/oc-csl
/home/puercopop/.emacs.d/lib/org/lisp/org-faces hides
/usr/local/share/emacs/28.1/lisp/org/org-faces
/home/puercopop/.emacs.d/lib/org/lisp/org-datetree hides
/usr/local/share/emacs/28.1/lisp/org/org-datetree
/home/puercopop/.emacs.d/lib/org/lisp/ob-julia hides
/usr/local/share/emacs/28.1/lisp/org/ob-julia
/home/puercopop/.emacs.d/lib/org/lisp/ox-publish hides
/usr/local/share/emacs/28.1/lisp/org/ox-publish
/home/puercopop/.emacs.d/lib/org/lisp/org-refile hides
/usr/local/share/emacs/28.1/lisp/org/org-refile
/home/puercopop/.emacs.d/lib/org/lisp/ox hides
/usr/local/share/emacs/28.1/lisp/org/ox
/home/puercopop/.emacs.d/lib/org/lisp/ob-sql hides
/usr/local/share/emacs/28.1/lisp/org/ob-sql
/home/puercopop/.emacs.d/lib/org/lisp/org-num hides
/usr/local/share/emacs/28.1/lisp/org/org-num
/home/puercopop/.emacs.d/lib/org/lisp/ob-sqlite hides
/usr/local/share/emacs/28.1/lisp/org/ob-sqlite
/home/puercopop/.emacs.d/lib/org/lisp/org-attach hides
/usr/local/share/emacs/28.1/lisp/org/org-attach
/home/puercopop/.emacs.d/lib/org/lisp/ob-plantuml hides
/usr/local/share/emacs/28.1/lisp/org/ob-plantuml
/home/puercopop/.emacs.d/lib/org/lisp/ox-html hides
/usr/local/share/emacs/28.1/lisp/org/ox-html
/home/puercopop/.emacs.d/lib/org/lisp/ob-scheme hides
/usr/local/share/emacs/28.1/lisp/org/ob-scheme
/home/puercopop/.emacs.d/lib/org/lisp/ob-ocaml hides
/usr/local/share/emacs/28.1/lisp/org/ob-ocaml
/home/puercopop/.emacs.d/lib/org/lisp/org-id hides
/usr/local/share/emacs/28.1/lisp/org/org-id
/home/puercopop/.emacs.d/lib/org/lisp/ol-irc hides
/usr/local/share/emacs/28.1/lisp/org/ol-irc
/home/puercopop/.emacs.d/lib/org/lisp/ob-java hides
/usr/local/share/emacs/28.1/lisp/org/ob-java
/home/puercopop/.emacs.d/lib/org/lisp/org-attach-git hides
/usr/local/share/emacs/28.1/lisp/org/org-attach-git
/home/puercopop/.emacs.d/lib/org/lisp/org-timer hides
/usr/local/share/emacs/28.1/lisp/org/org-timer
/home/puercopop/.emacs.d/lib/org/lisp/ob-maxima hides
/usr/local/share/emacs/28.1/lisp/org/ob-maxima
/home/puercopop/.emacs.d/lib/org/lisp/ox-koma-letter hides
/usr/local/share/emacs/28.1/lisp/org/ox-koma-letter
/home/puercopop/.emacs.d/lib/org/lisp/ob-org hides
/usr/local/share/emacs/28.1/lisp/org/ob-org
/home/puercopop/.emacs.d/lib/org/lisp/ob-clojure hides
/usr/local/share/emacs/28.1/lisp/org/ob-clojure
/home/puercopop/.emacs.d/lib/org/lisp/ol-doi hides
/usr/local/share/emacs/28.1/lisp/org/ol-doi
/home/puercopop/.emacs.d/lib/org/lisp/org-capture hides
/usr/local/share/emacs/28.1/lisp/org/org-capture
/home/puercopop/.emacs.d/lib/org/lisp/org-inlinetask hides
/usr/local/share/emacs/28.1/lisp/org/org-inlinetask
/home/puercopop/.emacs.d/lib/org/lisp/ob-makefile hides
/usr/local/share/emacs/28.1/lisp/org/ob-makefile
/home/puercopop/.emacs.d/lib/org/lisp/org-tempo hides
/usr/local/share/emacs/28.1/lisp/org/org-tempo
/home/puercopop/.emacs.d/lib/org/lisp/ol-mhe hides
/usr/local/share/emacs/28.1/lisp/org/ol-mhe
/home/puercopop/.emacs.d/lib/org/lisp/ob-C hides
/usr/local/share/emacs/28.1/lisp/org/ob-C
/home/puercopop/.emacs.d/lib/org/lisp/org-install hides
/usr/local/share/emacs/28.1/lisp/org/org-install
/home/puercopop/.emacs.d/lib/org/lisp/ob-R hides
/usr/local/share/emacs/28.1/lisp/org/ob-R
/home/puercopop/.emacs.d/lib/org/lisp/ol-gnus hides
/usr/local/share/emacs/28.1/lisp/org/ol-gnus
/home/puercopop/.emacs.d/lib/org/lisp/ob-tangle hides
/usr/local/share/emacs/28.1/lisp/org/ob-tangle
/home/puercopop/.emacs.d/lib/org/lisp/org-version hides
/usr/local/share/emacs/28.1/lisp/org/org-version
/home/puercopop/.emacs.d/lib/org/lisp/oc hides
/usr/local/share/emacs/28.1/lisp/org/oc
/home/puercopop/.emacs.d/lib/org/lisp/oc-natbib hides
/usr/local/share/emacs/28.1/lisp/org/oc-natbib
/home/puercopop/.emacs.d/lib/org/lisp/ob-calc hides
/usr/local/share/emacs/28.1/lisp/org/ob-calc
/home/puercopop/.emacs.d/lib/org/lisp/ol hides
/usr/local/share/emacs/28.1/lisp/org/ol
/home/puercopop/.emacs.d/lib/org/lisp/org-pcomplete hides
/usr/local/share/emacs/28.1/lisp/org/org-pcomplete
/home/puercopop/.emacs.d/lib/org/lisp/ob-python hides
/usr/local/share/emacs/28.1/lisp/org/ob-python
/home/puercopop/.emacs.d/lib/org/lisp/org-loaddefs hides
/usr/local/share/emacs/28.1/lisp/org/org-loaddefs
/home/puercopop/.emacs.d/lib/org/lisp/ob-js hides
/usr/local/share/emacs/28.1/lisp/org/ob-js

Features:
(shadow sort mail-extr emacsbug sendmail cus-edit disp-table
network-stream helm-external misearch multi-isearch vc-hg help-fns
cl-print cus-start secrets tramp-archive tramp-gvfs tramp-cache zeroconf
doom-1337-theme paredit circe lui-irc-colors irc lcs lui-logging
lui-format lui tracking shorten flyspell ispell circe-compat elfeed-show
elfeed-search elfeed-csv elfeed elfeed-curl elfeed-log elfeed-db
elfeed-lib avl-tree xml-query mastodon mastodon-toot emojify ht socks
elpher honcho sly sly-completion sly-buttons sly-messages sly-common
apropos hyperspec shackle trace terraform-mode hcl-mode graphql-mode
ediprolog rust-utils rust-mode rust-rustfmt rust-playpen rust-compile
rust-cargo sql view qml-mode go-dlv go-mode find-file ffap gud bundler
inf-ruby ruby-mode rails-log-mode chruby eglot array jsonrpc ert ewoc
debug flymake-proc flymake warnings compile-eslint xref-js2 js2-mode
etags fileloop tree-sitter-query scheme tree-sitter-debug generator
tree-sitter-langs tree-sitter-langs-build tar-mode arc-mode archive-mode
tree-sitter-hl tree-sitter tree-sitter-load tree-sitter-cli tsc tsc-dyn
tsc-dyn-get dired-aux tsc-obsolete yaml-mode css-mode smie sgml-mode
facemenu eww xdg url-queue shr kinsoku svg dom mm-url gnus nnheader
elec-pair man xref dired-x notmuch hl-line notmuch-hello notmuch-tree
notmuch-show notmuch-print notmuch-crypto notmuch-mua notmuch-message
notmuch-draft notmuch-maildir-fcc notmuch-address notmuch-company
notmuch-parser notmuch-wash coolj notmuch-query goto-addr icalendar
diary-lib diary-loaddefs notmuch-tag notmuch-lib notmuch-version
notmuch-compat mm-view mml-smime smime dig org-pomodoro alert
notifications dbus org-timer org-feed helm-org org-protocol org-agenda
org-refile org-archive org-datetree org-clock ob-shell ob-sql org
org-macro org-footnote org-pcomplete org-list org-faces org-entities
org-version ob-emacs-lisp org-table org-loaddefs cal-menu calendar
cal-loaddefs es-mode request js cc-mode cc-fonts cc-guess cc-menus
cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs ob-restclient ob
ob-tangle ol org-src ob-ref ob-lob ob-table ob-exp ob-comint ob-core
ob-eval org-keys oc org-compat org-macs restclient-helm restclient
htmlize xterm-color moody doom-themes doom-themes-base tron-legacy-theme
tangotango-theme exotica-theme acme-theme parchment-theme autothemer
cyberpunk-theme moe-theme moe-dark-theme moe-light-theme gh-notify
forge-list forge-commands forge-semi forge-bitbucket buck forge-gogs
gogs forge-gitea gtea forge-gitlab glab forge-github ghub-graphql treepy
gsexp ghub let-alist forge-notify forge-revnote forge-pullreq
forge-issue forge-topic yaml bug-reference forge-post markdown-mode
color noutline outline forge-repo forge forge-core forge-db closql
emacsql-sqlite emacsql emacsql-compiler url-http url-auth url-gw nsm
magit-bookmark magit-submodule magit-obsolete 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 package url-handlers magit-repos magit-apply
magit-wip magit-log which-func imenu magit-diff smerge-mode git-commit
log-edit message rmc rfc822 mml mml-sec gnus-util rmail rmail-loaddefs
mm-decode mm-bodies mm-encode mailabbrev mail-utils gmm-utils mailheader
pcvs-util add-log magit-core magit-autorevert magit-margin
magit-transient magit-process with-editor server magit-mode magit-git
magit-base magit-section crm dash vc-annotate vc vc-git diff-mode
vc-dispatcher ediff ediff-merg ediff-mult ediff-wind ediff-diff
ediff-help ediff-init ediff-util winner ace-window avy password-vault+
epa-file epa derived epg rfc6068 epg-config pinentry transient darkroom
face-remap helm-dash dash-docs use-package-dash-docs gnutls puny
helm-descbinds helm-pages helm-bookmark helm-net browse-url xml url
url-proxy url-privacy url-expand url-methods url-history url-cookie
url-domsuf url-util url-parse url-vars mailcap helm-fuz helm-command
helm-elisp helm-eval edebug backtrace find-func helm-info fuz fuz-extra
inline fuz-core helm-adaptive consult easy-kill anzu advice thingatpt
project bookmark pp proced recentf tree-widget wid-edit minions savehist
jka-compr delsel autorevert mb-depth auto-compile packed use-package
use-package-ensure use-package-delight use-package-diminish
use-package-bind-key bind-key use-package-core rcirc helm-mode helm-misc
helm-files image-dired image-mode dired dired-loaddefs exif filenotify
tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat
shell pcomplete parse-time iso8601 time-date ls-lisp auth-source
password-cache json map helm-buffers helm-occur helm-tags helm-locate
helm-grep wgrep-helm wgrep grep compile text-property-search comint
ansi-color ring helm-regexp format-spec helm-utils helm-help helm-types
helm helm-core easy-mmode async-bytecomp helm-global-bindings
helm-source eieio eieio-core cl-macs eieio-loaddefs helm-multi-match
helm-lib async undo-tree diff queue cus-load edmacro kmacro rx
helm-easymenu cl-extra help-mode seq byte-opt gv cl-seq borg subr-x
pcase info cl-loaddefs cl-lib bytecomp byte-compile cconv autoload
radix-tree lisp-mnt mail-parse rfc2231 rfc2047 rfc2045 mm-util
ietf-drums mail-prsvr iso-transl tooltip 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 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
hashtable-print-readable backquote threads dbusbind inotify lcms2
dynamic-setting system-font-setting font-render-setting cairo x-toolkit
x multi-tty make-network-process emacs)

Memory information:
((conses 16 698099 57754)
 (symbols 48 56500 2)
 (strings 32 197929 10143)
 (string-bytes 1 6567580)
 (vectors 16 104864)
 (vector-slots 8 1221849 80720)
 (floats 8 724 375)
 (intervals 56 5608 1635)
 (buffers 992 33))

-- 
"I object to doing things that computers can do." — Olin Shivers

[-- Attachment #2: Type: text/html, Size: 23753 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#55199: 28.1; rcirc auth-source integration doesn't handle port being a number
  2022-04-30 19:15 bug#55199: 28.1; rcirc auth-source integration doesn't handle port being a number Javier Olaechea
@ 2022-05-18 23:26 ` Philip Kaludercic
  2022-06-11  3:46   ` Javier Olaechea
  0 siblings, 1 reply; 7+ messages in thread
From: Philip Kaludercic @ 2022-05-18 23:26 UTC (permalink / raw)
  To: Javier Olaechea; +Cc: 55199

Javier Olaechea <pirata@gmail.com> writes:

> If rcirc-server-alist is set using the customize interface, the port in the
> plist is going to be a number, not a string. AUTH-SOURCE-SEARCH expects the
> port to be a string. So M-x rcirc  with the following value
>
> '(rcirc-server-alist
>    '(("irc.libera.chat" :nick "PuercoPop" :port 6697 :user-name "PuercoPop"
> :channels
>       ("#emacs" "#rcirc")
>       :encryption tls)))
>
> results in AUTH-SOURCE-SEARCH throwing an error.

The default value is already a number, as is the value in my
configuration, and I have never encountered this issue.  Starting rcirc
emacs -Q also seems to have no issue with a number.  Could you ensure
that this is not an issue on your end?

> The fix could be as
> straighforward ensureing the port is a string before calling
> auth-source-search[0]. ej. (if (numberp port) (number-to-string port) port)
>
> [0]:
> https://github.com/emacs-mirror/emacs/blob/95dbe4b6ae2e88213835a8ded3928b6769d78f2c/lisp/net/rcirc.el#L576
>
> That is how I've fixed the issue locally. Not sure if other parts of rcirc
> assume port will be a string.
>
> In GNU Emacs 28.1 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo version
> 1.16.0, Xaw scroll bars)
>  of 2022-04-10 built on PuercoDesktop
> Windowing system distributor 'The X.Org Foundation', version 11.0.12013000
> System Description: Ubuntu 20.04.4 LTS
>
> Configured using:
>  'configure --prefix=/usr/local --with-x-toolkit=lucid
>  --with-native-compiler'
>
> Configured features:
> CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON
> LCMS2 LIBSELINUX LIBSYSTEMD LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG
> RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM
> LUCID ZLIB
>
> Important settings:
>   value of $LC_COLLATE: en_US.UTF-8
>   value of $LC_CTYPE: en_US.UTF-8
>   value of $LC_MESSAGES: en_US.UTF-8
>   value of $LC_MONETARY: es_PE.UTF-8
>   value of $LC_NUMERIC: en_US.UTF-8
>   value of $LC_TIME: en_US.UTF-8
>   value of $LANG: en_US.UTF-8
>   locale-coding-system: utf-8-unix
>
> Major mode: rcirc
>
> Minor modes in effect:
>   flyspell-mode: t
>   sly-symbol-completion-mode: t
>   electric-pair-mode: t
>   magit-wip-initial-backup-mode: t
>   magit-wip-before-change-mode: t
>   magit-wip-after-apply-mode: t
>   magit-wip-after-save-mode: t
>   magit-wip-mode: t
>   global-git-commit-mode: t
>   magit-auto-revert-mode: t
>   winner-mode: t
>   helm-descbinds-mode: t
>   helm-fuz-mode: t
>   helm-adaptive-mode: t
>   global-anzu-mode: t
>   anzu-mode: t
>   recentf-mode: t
>   minions-mode: t
>   savehist-mode: t
>   delete-selection-mode: t
>   global-auto-revert-mode: t
>   minibuffer-depth-indicate-mode: t
>   auto-compile-on-load-mode: t
>   auto-compile-on-save-mode: t
>   override-global-mode: t
>   rcirc-track-minor-mode: t
>   rcirc-omit-mode: t
>   helm-mode: t
>   helm-minibuffer-history-mode: t
>   shell-dirtrack-mode: t
>   helm--remap-mouse-mode: t
>   async-bytecomp-package-mode: t
>   global-undo-tree-mode: t
>   undo-tree-mode: t
>   tooltip-mode: t
>   global-eldoc-mode: t
>   show-paren-mode: t
>   electric-indent-mode: t
>   mouse-wheel-mode: t
>   use-hard-newlines: 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
>   transient-mark-mode: t
>
> Load-path shadows:
> /home/puercopop/.emacs.d/site-lisp/sly/sly-autoloads hides
> /home/puercopop/.emacs.d/lib/sly/sly-autoloads
> /home/puercopop/.emacs.d/site-lisp/sly/sly hides
> /home/puercopop/.emacs.d/lib/sly/sly
> /home/puercopop/.emacs.d/lib/telega/test hides
> /home/puercopop/.emacs.d/lib/paredit/test
> /home/puercopop/.emacs.d/lib/telega/test hides
> /home/puercopop/.emacs.d/lib/libgit/test
> /home/puercopop/.emacs.d/lib/telega/test hides
> /home/puercopop/.emacs.d/lib/easy-kill/test
> /home/puercopop/.emacs.d/lib/org/lisp/ox-latex hides
> /usr/local/share/emacs/28.1/lisp/org/ox-latex
> /home/puercopop/.emacs.d/lib/org/lisp/ob-ref hides
> /usr/local/share/emacs/28.1/lisp/org/ob-ref
> /home/puercopop/.emacs.d/lib/org/lisp/org-compat hides
> /usr/local/share/emacs/28.1/lisp/org/org-compat
> /home/puercopop/.emacs.d/lib/org/lisp/org-src hides
> /usr/local/share/emacs/28.1/lisp/org/org-src
> /home/puercopop/.emacs.d/lib/org/lisp/oc-biblatex hides
> /usr/local/share/emacs/28.1/lisp/org/oc-biblatex
> /home/puercopop/.emacs.d/lib/org/lisp/org-list hides
> /usr/local/share/emacs/28.1/lisp/org/org-list
> /home/puercopop/.emacs.d/lib/org/lisp/org-lint hides
> /usr/local/share/emacs/28.1/lisp/org/org-lint
> /home/puercopop/.emacs.d/lib/org/lisp/ob-ditaa hides
> /usr/local/share/emacs/28.1/lisp/org/ob-ditaa
> /home/puercopop/.emacs.d/lib/org/lisp/ob-sed hides
> /usr/local/share/emacs/28.1/lisp/org/ob-sed
> /home/puercopop/.emacs.d/lib/org/lisp/oc-basic hides
> /usr/local/share/emacs/28.1/lisp/org/oc-basic
> /home/puercopop/.emacs.d/lib/org/lisp/ox-texinfo hides
> /usr/local/share/emacs/28.1/lisp/org/ox-texinfo
> /home/puercopop/.emacs.d/lib/org/lisp/org-colview hides
> /usr/local/share/emacs/28.1/lisp/org/org-colview
> /home/puercopop/.emacs.d/lib/org/lisp/ol-rmail hides
> /usr/local/share/emacs/28.1/lisp/org/ol-rmail
> /home/puercopop/.emacs.d/lib/org/lisp/org-macs hides
> /usr/local/share/emacs/28.1/lisp/org/org-macs
> /home/puercopop/.emacs.d/lib/org/lisp/org-mouse hides
> /usr/local/share/emacs/28.1/lisp/org/org-mouse
> /home/puercopop/.emacs.d/lib/org/lisp/org-footnote hides
> /usr/local/share/emacs/28.1/lisp/org/org-footnote
> /home/puercopop/.emacs.d/lib/org/lisp/ob-exp hides
> /usr/local/share/emacs/28.1/lisp/org/ob-exp
> /home/puercopop/.emacs.d/lib/org/lisp/ob-screen hides
> /usr/local/share/emacs/28.1/lisp/org/ob-screen
> /home/puercopop/.emacs.d/lib/org/lisp/ox-odt hides
> /usr/local/share/emacs/28.1/lisp/org/ox-odt
> /home/puercopop/.emacs.d/lib/org/lisp/ob-lua hides
> /usr/local/share/emacs/28.1/lisp/org/ob-lua
> /home/puercopop/.emacs.d/lib/org/lisp/org-habit hides
> /usr/local/share/emacs/28.1/lisp/org/org-habit
> /home/puercopop/.emacs.d/lib/org/lisp/org-agenda hides
> /usr/local/share/emacs/28.1/lisp/org/org-agenda
> /home/puercopop/.emacs.d/lib/org/lisp/ob-sass hides
> /usr/local/share/emacs/28.1/lisp/org/ob-sass
> /home/puercopop/.emacs.d/lib/org/lisp/ol-docview hides
> /usr/local/share/emacs/28.1/lisp/org/ol-docview
> /home/puercopop/.emacs.d/lib/org/lisp/org-macro hides
> /usr/local/share/emacs/28.1/lisp/org/org-macro
> /home/puercopop/.emacs.d/lib/org/lisp/org-duration hides
> /usr/local/share/emacs/28.1/lisp/org/org-duration
> /home/puercopop/.emacs.d/lib/org/lisp/org-table hides
> /usr/local/share/emacs/28.1/lisp/org/org-table
> /home/puercopop/.emacs.d/lib/org/lisp/org-mobile hides
> /usr/local/share/emacs/28.1/lisp/org/org-mobile
> /home/puercopop/.emacs.d/lib/org/lisp/ob-latex hides
> /usr/local/share/emacs/28.1/lisp/org/ob-latex
> /home/puercopop/.emacs.d/lib/org/lisp/org-element hides
> /usr/local/share/emacs/28.1/lisp/org/org-element
> /home/puercopop/.emacs.d/lib/org/lisp/ob-css hides
> /usr/local/share/emacs/28.1/lisp/org/ob-css
> /home/puercopop/.emacs.d/lib/org/lisp/org-entities hides
> /usr/local/share/emacs/28.1/lisp/org/org-entities
> /home/puercopop/.emacs.d/lib/org/lisp/ob-awk hides
> /usr/local/share/emacs/28.1/lisp/org/ob-awk
> /home/puercopop/.emacs.d/lib/org/lisp/ol-eww hides
> /usr/local/share/emacs/28.1/lisp/org/ol-eww
> /home/puercopop/.emacs.d/lib/org/lisp/ob-perl hides
> /usr/local/share/emacs/28.1/lisp/org/ob-perl
> /home/puercopop/.emacs.d/lib/org/lisp/ob-ruby hides
> /usr/local/share/emacs/28.1/lisp/org/ob-ruby
> /home/puercopop/.emacs.d/lib/org/lisp/ob-haskell hides
> /usr/local/share/emacs/28.1/lisp/org/ob-haskell
> /home/puercopop/.emacs.d/lib/org/lisp/ob-processing hides
> /usr/local/share/emacs/28.1/lisp/org/ob-processing
> /home/puercopop/.emacs.d/lib/org/lisp/org hides
> /usr/local/share/emacs/28.1/lisp/org/org
> /home/puercopop/.emacs.d/lib/org/lisp/ol-bibtex hides
> /usr/local/share/emacs/28.1/lisp/org/ol-bibtex
> /home/puercopop/.emacs.d/lib/org/lisp/ob-emacs-lisp hides
> /usr/local/share/emacs/28.1/lisp/org/ob-emacs-lisp
> /home/puercopop/.emacs.d/lib/org/lisp/ob-gnuplot hides
> /usr/local/share/emacs/28.1/lisp/org/ob-gnuplot
> /home/puercopop/.emacs.d/lib/org/lisp/ob-groovy hides
> /usr/local/share/emacs/28.1/lisp/org/ob-groovy
> /home/puercopop/.emacs.d/lib/org/lisp/org-keys hides
> /usr/local/share/emacs/28.1/lisp/org/org-keys
> /home/puercopop/.emacs.d/lib/org/lisp/org-feed hides
> /usr/local/share/emacs/28.1/lisp/org/org-feed
> /home/puercopop/.emacs.d/lib/org/lisp/ol-man hides
> /usr/local/share/emacs/28.1/lisp/org/ol-man
> /home/puercopop/.emacs.d/lib/org/lisp/ob-eshell hides
> /usr/local/share/emacs/28.1/lisp/org/ob-eshell
> /home/puercopop/.emacs.d/lib/org/lisp/org-indent hides
> /usr/local/share/emacs/28.1/lisp/org/org-indent
> /home/puercopop/.emacs.d/lib/org/lisp/ob-table hides
> /usr/local/share/emacs/28.1/lisp/org/ob-table
> /home/puercopop/.emacs.d/lib/org/lisp/ob-fortran hides
> /usr/local/share/emacs/28.1/lisp/org/ob-fortran
> /home/puercopop/.emacs.d/lib/org/lisp/org-clock hides
> /usr/local/share/emacs/28.1/lisp/org/org-clock
> /home/puercopop/.emacs.d/lib/org/lisp/org-plot hides
> /usr/local/share/emacs/28.1/lisp/org/org-plot
> /home/puercopop/.emacs.d/lib/org/lisp/ol-info hides
> /usr/local/share/emacs/28.1/lisp/org/ol-info
> /home/puercopop/.emacs.d/lib/org/lisp/ob-shell hides
> /usr/local/share/emacs/28.1/lisp/org/ob-shell
> /home/puercopop/.emacs.d/lib/org/lisp/ob-lilypond hides
> /usr/local/share/emacs/28.1/lisp/org/ob-lilypond
> /home/puercopop/.emacs.d/lib/org/lisp/org-archive hides
> /usr/local/share/emacs/28.1/lisp/org/org-archive
> /home/puercopop/.emacs.d/lib/org/lisp/ob hides
> /usr/local/share/emacs/28.1/lisp/org/ob
> /home/puercopop/.emacs.d/lib/org/lisp/ob-dot hides
> /usr/local/share/emacs/28.1/lisp/org/ob-dot
> /home/puercopop/.emacs.d/lib/org/lisp/ol-bbdb hides
> /usr/local/share/emacs/28.1/lisp/org/ol-bbdb
> /home/puercopop/.emacs.d/lib/org/lisp/ox-beamer hides
> /usr/local/share/emacs/28.1/lisp/org/ox-beamer
> /home/puercopop/.emacs.d/lib/org/lisp/ox-ascii hides
> /usr/local/share/emacs/28.1/lisp/org/ox-ascii
> /home/puercopop/.emacs.d/lib/org/lisp/ox-md hides
> /usr/local/share/emacs/28.1/lisp/org/ox-md
> /home/puercopop/.emacs.d/lib/org/lisp/ob-matlab hides
> /usr/local/share/emacs/28.1/lisp/org/ob-matlab
> /home/puercopop/.emacs.d/lib/org/lisp/org-ctags hides
> /usr/local/share/emacs/28.1/lisp/org/org-ctags
> /home/puercopop/.emacs.d/lib/org/lisp/ol-w3m hides
> /usr/local/share/emacs/28.1/lisp/org/ol-w3m
> /home/puercopop/.emacs.d/lib/org/lisp/ox-man hides
> /usr/local/share/emacs/28.1/lisp/org/ox-man
> /home/puercopop/.emacs.d/lib/org/lisp/ob-octave hides
> /usr/local/share/emacs/28.1/lisp/org/ob-octave
> /home/puercopop/.emacs.d/lib/org/lisp/org-goto hides
> /usr/local/share/emacs/28.1/lisp/org/org-goto
> /home/puercopop/.emacs.d/lib/org/lisp/ol-eshell hides
> /usr/local/share/emacs/28.1/lisp/org/ol-eshell
> /home/puercopop/.emacs.d/lib/org/lisp/ob-lob hides
> /usr/local/share/emacs/28.1/lisp/org/ob-lob
> /home/puercopop/.emacs.d/lib/org/lisp/ox-org hides
> /usr/local/share/emacs/28.1/lisp/org/ox-org
> /home/puercopop/.emacs.d/lib/org/lisp/ob-core hides
> /usr/local/share/emacs/28.1/lisp/org/ob-core
> /home/puercopop/.emacs.d/lib/org/lisp/org-protocol hides
> /usr/local/share/emacs/28.1/lisp/org/org-protocol
> /home/puercopop/.emacs.d/lib/org/lisp/ob-forth hides
> /usr/local/share/emacs/28.1/lisp/org/ob-forth
> /home/puercopop/.emacs.d/lib/org/lisp/ob-eval hides
> /usr/local/share/emacs/28.1/lisp/org/ob-eval
> /home/puercopop/.emacs.d/lib/org/lisp/ob-lisp hides
> /usr/local/share/emacs/28.1/lisp/org/ob-lisp
> /home/puercopop/.emacs.d/lib/org/lisp/ob-comint hides
> /usr/local/share/emacs/28.1/lisp/org/ob-comint
> /home/puercopop/.emacs.d/lib/org/lisp/org-crypt hides
> /usr/local/share/emacs/28.1/lisp/org/org-crypt
> /home/puercopop/.emacs.d/lib/org/lisp/ox-icalendar hides
> /usr/local/share/emacs/28.1/lisp/org/ox-icalendar
> /home/puercopop/.emacs.d/lib/org/lisp/oc-csl hides
> /usr/local/share/emacs/28.1/lisp/org/oc-csl
> /home/puercopop/.emacs.d/lib/org/lisp/org-faces hides
> /usr/local/share/emacs/28.1/lisp/org/org-faces
> /home/puercopop/.emacs.d/lib/org/lisp/org-datetree hides
> /usr/local/share/emacs/28.1/lisp/org/org-datetree
> /home/puercopop/.emacs.d/lib/org/lisp/ob-julia hides
> /usr/local/share/emacs/28.1/lisp/org/ob-julia
> /home/puercopop/.emacs.d/lib/org/lisp/ox-publish hides
> /usr/local/share/emacs/28.1/lisp/org/ox-publish
> /home/puercopop/.emacs.d/lib/org/lisp/org-refile hides
> /usr/local/share/emacs/28.1/lisp/org/org-refile
> /home/puercopop/.emacs.d/lib/org/lisp/ox hides
> /usr/local/share/emacs/28.1/lisp/org/ox
> /home/puercopop/.emacs.d/lib/org/lisp/ob-sql hides
> /usr/local/share/emacs/28.1/lisp/org/ob-sql
> /home/puercopop/.emacs.d/lib/org/lisp/org-num hides
> /usr/local/share/emacs/28.1/lisp/org/org-num
> /home/puercopop/.emacs.d/lib/org/lisp/ob-sqlite hides
> /usr/local/share/emacs/28.1/lisp/org/ob-sqlite
> /home/puercopop/.emacs.d/lib/org/lisp/org-attach hides
> /usr/local/share/emacs/28.1/lisp/org/org-attach
> /home/puercopop/.emacs.d/lib/org/lisp/ob-plantuml hides
> /usr/local/share/emacs/28.1/lisp/org/ob-plantuml
> /home/puercopop/.emacs.d/lib/org/lisp/ox-html hides
> /usr/local/share/emacs/28.1/lisp/org/ox-html
> /home/puercopop/.emacs.d/lib/org/lisp/ob-scheme hides
> /usr/local/share/emacs/28.1/lisp/org/ob-scheme
> /home/puercopop/.emacs.d/lib/org/lisp/ob-ocaml hides
> /usr/local/share/emacs/28.1/lisp/org/ob-ocaml
> /home/puercopop/.emacs.d/lib/org/lisp/org-id hides
> /usr/local/share/emacs/28.1/lisp/org/org-id
> /home/puercopop/.emacs.d/lib/org/lisp/ol-irc hides
> /usr/local/share/emacs/28.1/lisp/org/ol-irc
> /home/puercopop/.emacs.d/lib/org/lisp/ob-java hides
> /usr/local/share/emacs/28.1/lisp/org/ob-java
> /home/puercopop/.emacs.d/lib/org/lisp/org-attach-git hides
> /usr/local/share/emacs/28.1/lisp/org/org-attach-git
> /home/puercopop/.emacs.d/lib/org/lisp/org-timer hides
> /usr/local/share/emacs/28.1/lisp/org/org-timer
> /home/puercopop/.emacs.d/lib/org/lisp/ob-maxima hides
> /usr/local/share/emacs/28.1/lisp/org/ob-maxima
> /home/puercopop/.emacs.d/lib/org/lisp/ox-koma-letter hides
> /usr/local/share/emacs/28.1/lisp/org/ox-koma-letter
> /home/puercopop/.emacs.d/lib/org/lisp/ob-org hides
> /usr/local/share/emacs/28.1/lisp/org/ob-org
> /home/puercopop/.emacs.d/lib/org/lisp/ob-clojure hides
> /usr/local/share/emacs/28.1/lisp/org/ob-clojure
> /home/puercopop/.emacs.d/lib/org/lisp/ol-doi hides
> /usr/local/share/emacs/28.1/lisp/org/ol-doi
> /home/puercopop/.emacs.d/lib/org/lisp/org-capture hides
> /usr/local/share/emacs/28.1/lisp/org/org-capture
> /home/puercopop/.emacs.d/lib/org/lisp/org-inlinetask hides
> /usr/local/share/emacs/28.1/lisp/org/org-inlinetask
> /home/puercopop/.emacs.d/lib/org/lisp/ob-makefile hides
> /usr/local/share/emacs/28.1/lisp/org/ob-makefile
> /home/puercopop/.emacs.d/lib/org/lisp/org-tempo hides
> /usr/local/share/emacs/28.1/lisp/org/org-tempo
> /home/puercopop/.emacs.d/lib/org/lisp/ol-mhe hides
> /usr/local/share/emacs/28.1/lisp/org/ol-mhe
> /home/puercopop/.emacs.d/lib/org/lisp/ob-C hides
> /usr/local/share/emacs/28.1/lisp/org/ob-C
> /home/puercopop/.emacs.d/lib/org/lisp/org-install hides
> /usr/local/share/emacs/28.1/lisp/org/org-install
> /home/puercopop/.emacs.d/lib/org/lisp/ob-R hides
> /usr/local/share/emacs/28.1/lisp/org/ob-R
> /home/puercopop/.emacs.d/lib/org/lisp/ol-gnus hides
> /usr/local/share/emacs/28.1/lisp/org/ol-gnus
> /home/puercopop/.emacs.d/lib/org/lisp/ob-tangle hides
> /usr/local/share/emacs/28.1/lisp/org/ob-tangle
> /home/puercopop/.emacs.d/lib/org/lisp/org-version hides
> /usr/local/share/emacs/28.1/lisp/org/org-version
> /home/puercopop/.emacs.d/lib/org/lisp/oc hides
> /usr/local/share/emacs/28.1/lisp/org/oc
> /home/puercopop/.emacs.d/lib/org/lisp/oc-natbib hides
> /usr/local/share/emacs/28.1/lisp/org/oc-natbib
> /home/puercopop/.emacs.d/lib/org/lisp/ob-calc hides
> /usr/local/share/emacs/28.1/lisp/org/ob-calc
> /home/puercopop/.emacs.d/lib/org/lisp/ol hides
> /usr/local/share/emacs/28.1/lisp/org/ol
> /home/puercopop/.emacs.d/lib/org/lisp/org-pcomplete hides
> /usr/local/share/emacs/28.1/lisp/org/org-pcomplete
> /home/puercopop/.emacs.d/lib/org/lisp/ob-python hides
> /usr/local/share/emacs/28.1/lisp/org/ob-python
> /home/puercopop/.emacs.d/lib/org/lisp/org-loaddefs hides
> /usr/local/share/emacs/28.1/lisp/org/org-loaddefs
> /home/puercopop/.emacs.d/lib/org/lisp/ob-js hides
> /usr/local/share/emacs/28.1/lisp/org/ob-js
>
> Features:
> (shadow sort mail-extr emacsbug sendmail cus-edit disp-table
> network-stream helm-external misearch multi-isearch vc-hg help-fns
> cl-print cus-start secrets tramp-archive tramp-gvfs tramp-cache zeroconf
> doom-1337-theme paredit circe lui-irc-colors irc lcs lui-logging
> lui-format lui tracking shorten flyspell ispell circe-compat elfeed-show
> elfeed-search elfeed-csv elfeed elfeed-curl elfeed-log elfeed-db
> elfeed-lib avl-tree xml-query mastodon mastodon-toot emojify ht socks
> elpher honcho sly sly-completion sly-buttons sly-messages sly-common
> apropos hyperspec shackle trace terraform-mode hcl-mode graphql-mode
> ediprolog rust-utils rust-mode rust-rustfmt rust-playpen rust-compile
> rust-cargo sql view qml-mode go-dlv go-mode find-file ffap gud bundler
> inf-ruby ruby-mode rails-log-mode chruby eglot array jsonrpc ert ewoc
> debug flymake-proc flymake warnings compile-eslint xref-js2 js2-mode
> etags fileloop tree-sitter-query scheme tree-sitter-debug generator
> tree-sitter-langs tree-sitter-langs-build tar-mode arc-mode archive-mode
> tree-sitter-hl tree-sitter tree-sitter-load tree-sitter-cli tsc tsc-dyn
> tsc-dyn-get dired-aux tsc-obsolete yaml-mode css-mode smie sgml-mode
> facemenu eww xdg url-queue shr kinsoku svg dom mm-url gnus nnheader
> elec-pair man xref dired-x notmuch hl-line notmuch-hello notmuch-tree
> notmuch-show notmuch-print notmuch-crypto notmuch-mua notmuch-message
> notmuch-draft notmuch-maildir-fcc notmuch-address notmuch-company
> notmuch-parser notmuch-wash coolj notmuch-query goto-addr icalendar
> diary-lib diary-loaddefs notmuch-tag notmuch-lib notmuch-version
> notmuch-compat mm-view mml-smime smime dig org-pomodoro alert
> notifications dbus org-timer org-feed helm-org org-protocol org-agenda
> org-refile org-archive org-datetree org-clock ob-shell ob-sql org
> org-macro org-footnote org-pcomplete org-list org-faces org-entities
> org-version ob-emacs-lisp org-table org-loaddefs cal-menu calendar
> cal-loaddefs es-mode request js cc-mode cc-fonts cc-guess cc-menus
> cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs ob-restclient ob
> ob-tangle ol org-src ob-ref ob-lob ob-table ob-exp ob-comint ob-core
> ob-eval org-keys oc org-compat org-macs restclient-helm restclient
> htmlize xterm-color moody doom-themes doom-themes-base tron-legacy-theme
> tangotango-theme exotica-theme acme-theme parchment-theme autothemer
> cyberpunk-theme moe-theme moe-dark-theme moe-light-theme gh-notify
> forge-list forge-commands forge-semi forge-bitbucket buck forge-gogs
> gogs forge-gitea gtea forge-gitlab glab forge-github ghub-graphql treepy
> gsexp ghub let-alist forge-notify forge-revnote forge-pullreq
> forge-issue forge-topic yaml bug-reference forge-post markdown-mode
> color noutline outline forge-repo forge forge-core forge-db closql
> emacsql-sqlite emacsql emacsql-compiler url-http url-auth url-gw nsm
> magit-bookmark magit-submodule magit-obsolete 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 package url-handlers magit-repos magit-apply
> magit-wip magit-log which-func imenu magit-diff smerge-mode git-commit
> log-edit message rmc rfc822 mml mml-sec gnus-util rmail rmail-loaddefs
> mm-decode mm-bodies mm-encode mailabbrev mail-utils gmm-utils mailheader
> pcvs-util add-log magit-core magit-autorevert magit-margin
> magit-transient magit-process with-editor server magit-mode magit-git
> magit-base magit-section crm dash vc-annotate vc vc-git diff-mode
> vc-dispatcher ediff ediff-merg ediff-mult ediff-wind ediff-diff
> ediff-help ediff-init ediff-util winner ace-window avy password-vault+
> epa-file epa derived epg rfc6068 epg-config pinentry transient darkroom
> face-remap helm-dash dash-docs use-package-dash-docs gnutls puny
> helm-descbinds helm-pages helm-bookmark helm-net browse-url xml url
> url-proxy url-privacy url-expand url-methods url-history url-cookie
> url-domsuf url-util url-parse url-vars mailcap helm-fuz helm-command
> helm-elisp helm-eval edebug backtrace find-func helm-info fuz fuz-extra
> inline fuz-core helm-adaptive consult easy-kill anzu advice thingatpt
> project bookmark pp proced recentf tree-widget wid-edit minions savehist
> jka-compr delsel autorevert mb-depth auto-compile packed use-package
> use-package-ensure use-package-delight use-package-diminish
> use-package-bind-key bind-key use-package-core rcirc helm-mode helm-misc
> helm-files image-dired image-mode dired dired-loaddefs exif filenotify
> tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat
> shell pcomplete parse-time iso8601 time-date ls-lisp auth-source
> password-cache json map helm-buffers helm-occur helm-tags helm-locate
> helm-grep wgrep-helm wgrep grep compile text-property-search comint
> ansi-color ring helm-regexp format-spec helm-utils helm-help helm-types
> helm helm-core easy-mmode async-bytecomp helm-global-bindings
> helm-source eieio eieio-core cl-macs eieio-loaddefs helm-multi-match
> helm-lib async undo-tree diff queue cus-load edmacro kmacro rx
> helm-easymenu cl-extra help-mode seq byte-opt gv cl-seq borg subr-x
> pcase info cl-loaddefs cl-lib bytecomp byte-compile cconv autoload
> radix-tree lisp-mnt mail-parse rfc2231 rfc2047 rfc2045 mm-util
> ietf-drums mail-prsvr iso-transl tooltip 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 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
> hashtable-print-readable backquote threads dbusbind inotify lcms2
> dynamic-setting system-font-setting font-render-setting cairo x-toolkit
> x multi-tty make-network-process emacs)
>
> Memory information:
> ((conses 16 698099 57754)
>  (symbols 48 56500 2)
>  (strings 32 197929 10143)
>  (string-bytes 1 6567580)
>  (vectors 16 104864)
>  (vector-slots 8 1221849 80720)
>  (floats 8 724 375)
>  (intervals 56 5608 1635)
>  (buffers 992 33))





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#55199: 28.1; rcirc auth-source integration doesn't handle port being a number
  2022-05-18 23:26 ` Philip Kaludercic
@ 2022-06-11  3:46   ` Javier Olaechea
  2022-08-21  6:00     ` Javier Olaechea
  0 siblings, 1 reply; 7+ messages in thread
From: Javier Olaechea @ 2022-06-11  3:46 UTC (permalink / raw)
  To: Philip Kaludercic; +Cc: 55199

[-- Attachment #1: Type: text/plain, Size: 25381 bytes --]

You are right I can't reproduce from emacs -Q. The only difference I can
see is that I have secrets:Login as an auth-source. auth-sources value is
("~/.authinfo.gpg" "~/.authinfo" "secrets:Login"). I'll look into how
secrets:Login is implemented to see if I can pin down the issue.

On Wed, May 18, 2022 at 6:26 PM Philip Kaludercic <philipk@posteo.net>
wrote:

> Javier Olaechea <pirata@gmail.com> writes:
>
> > If rcirc-server-alist is set using the customize interface, the port in
> the
> > plist is going to be a number, not a string. AUTH-SOURCE-SEARCH expects
> the
> > port to be a string. So M-x rcirc  with the following value
> >
> > '(rcirc-server-alist
> >    '(("irc.libera.chat" :nick "PuercoPop" :port 6697 :user-name
> "PuercoPop"
> > :channels
> >       ("#emacs" "#rcirc")
> >       :encryption tls)))
> >
> > results in AUTH-SOURCE-SEARCH throwing an error.
>
> The default value is already a number, as is the value in my
> configuration, and I have never encountered this issue.  Starting rcirc
> emacs -Q also seems to have no issue with a number.  Could you ensure
> that this is not an issue on your end?
>
> > The fix could be as
> > straighforward ensureing the port is a string before calling
> > auth-source-search[0]. ej. (if (numberp port) (number-to-string port)
> port)
> >
> > [0]:
> >
> https://github.com/emacs-mirror/emacs/blob/95dbe4b6ae2e88213835a8ded3928b6769d78f2c/lisp/net/rcirc.el#L576
> >
> > That is how I've fixed the issue locally. Not sure if other parts of
> rcirc
> > assume port will be a string.
> >
> > In GNU Emacs 28.1 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo version
> > 1.16.0, Xaw scroll bars)
> >  of 2022-04-10 built on PuercoDesktop
> > Windowing system distributor 'The X.Org Foundation', version
> 11.0.12013000
> > System Description: Ubuntu 20.04.4 LTS
> >
> > Configured using:
> >  'configure --prefix=/usr/local --with-x-toolkit=lucid
> >  --with-native-compiler'
> >
> > Configured features:
> > CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON
> > LCMS2 LIBSELINUX LIBSYSTEMD LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG
> > RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM
> > LUCID ZLIB
> >
> > Important settings:
> >   value of $LC_COLLATE: en_US.UTF-8
> >   value of $LC_CTYPE: en_US.UTF-8
> >   value of $LC_MESSAGES: en_US.UTF-8
> >   value of $LC_MONETARY: es_PE.UTF-8
> >   value of $LC_NUMERIC: en_US.UTF-8
> >   value of $LC_TIME: en_US.UTF-8
> >   value of $LANG: en_US.UTF-8
> >   locale-coding-system: utf-8-unix
> >
> > Major mode: rcirc
> >
> > Minor modes in effect:
> >   flyspell-mode: t
> >   sly-symbol-completion-mode: t
> >   electric-pair-mode: t
> >   magit-wip-initial-backup-mode: t
> >   magit-wip-before-change-mode: t
> >   magit-wip-after-apply-mode: t
> >   magit-wip-after-save-mode: t
> >   magit-wip-mode: t
> >   global-git-commit-mode: t
> >   magit-auto-revert-mode: t
> >   winner-mode: t
> >   helm-descbinds-mode: t
> >   helm-fuz-mode: t
> >   helm-adaptive-mode: t
> >   global-anzu-mode: t
> >   anzu-mode: t
> >   recentf-mode: t
> >   minions-mode: t
> >   savehist-mode: t
> >   delete-selection-mode: t
> >   global-auto-revert-mode: t
> >   minibuffer-depth-indicate-mode: t
> >   auto-compile-on-load-mode: t
> >   auto-compile-on-save-mode: t
> >   override-global-mode: t
> >   rcirc-track-minor-mode: t
> >   rcirc-omit-mode: t
> >   helm-mode: t
> >   helm-minibuffer-history-mode: t
> >   shell-dirtrack-mode: t
> >   helm--remap-mouse-mode: t
> >   async-bytecomp-package-mode: t
> >   global-undo-tree-mode: t
> >   undo-tree-mode: t
> >   tooltip-mode: t
> >   global-eldoc-mode: t
> >   show-paren-mode: t
> >   electric-indent-mode: t
> >   mouse-wheel-mode: t
> >   use-hard-newlines: 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
> >   transient-mark-mode: t
> >
> > Load-path shadows:
> > /home/puercopop/.emacs.d/site-lisp/sly/sly-autoloads hides
> > /home/puercopop/.emacs.d/lib/sly/sly-autoloads
> > /home/puercopop/.emacs.d/site-lisp/sly/sly hides
> > /home/puercopop/.emacs.d/lib/sly/sly
> > /home/puercopop/.emacs.d/lib/telega/test hides
> > /home/puercopop/.emacs.d/lib/paredit/test
> > /home/puercopop/.emacs.d/lib/telega/test hides
> > /home/puercopop/.emacs.d/lib/libgit/test
> > /home/puercopop/.emacs.d/lib/telega/test hides
> > /home/puercopop/.emacs.d/lib/easy-kill/test
> > /home/puercopop/.emacs.d/lib/org/lisp/ox-latex hides
> > /usr/local/share/emacs/28.1/lisp/org/ox-latex
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-ref hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-ref
> > /home/puercopop/.emacs.d/lib/org/lisp/org-compat hides
> > /usr/local/share/emacs/28.1/lisp/org/org-compat
> > /home/puercopop/.emacs.d/lib/org/lisp/org-src hides
> > /usr/local/share/emacs/28.1/lisp/org/org-src
> > /home/puercopop/.emacs.d/lib/org/lisp/oc-biblatex hides
> > /usr/local/share/emacs/28.1/lisp/org/oc-biblatex
> > /home/puercopop/.emacs.d/lib/org/lisp/org-list hides
> > /usr/local/share/emacs/28.1/lisp/org/org-list
> > /home/puercopop/.emacs.d/lib/org/lisp/org-lint hides
> > /usr/local/share/emacs/28.1/lisp/org/org-lint
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-ditaa hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-ditaa
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-sed hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-sed
> > /home/puercopop/.emacs.d/lib/org/lisp/oc-basic hides
> > /usr/local/share/emacs/28.1/lisp/org/oc-basic
> > /home/puercopop/.emacs.d/lib/org/lisp/ox-texinfo hides
> > /usr/local/share/emacs/28.1/lisp/org/ox-texinfo
> > /home/puercopop/.emacs.d/lib/org/lisp/org-colview hides
> > /usr/local/share/emacs/28.1/lisp/org/org-colview
> > /home/puercopop/.emacs.d/lib/org/lisp/ol-rmail hides
> > /usr/local/share/emacs/28.1/lisp/org/ol-rmail
> > /home/puercopop/.emacs.d/lib/org/lisp/org-macs hides
> > /usr/local/share/emacs/28.1/lisp/org/org-macs
> > /home/puercopop/.emacs.d/lib/org/lisp/org-mouse hides
> > /usr/local/share/emacs/28.1/lisp/org/org-mouse
> > /home/puercopop/.emacs.d/lib/org/lisp/org-footnote hides
> > /usr/local/share/emacs/28.1/lisp/org/org-footnote
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-exp hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-exp
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-screen hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-screen
> > /home/puercopop/.emacs.d/lib/org/lisp/ox-odt hides
> > /usr/local/share/emacs/28.1/lisp/org/ox-odt
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-lua hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-lua
> > /home/puercopop/.emacs.d/lib/org/lisp/org-habit hides
> > /usr/local/share/emacs/28.1/lisp/org/org-habit
> > /home/puercopop/.emacs.d/lib/org/lisp/org-agenda hides
> > /usr/local/share/emacs/28.1/lisp/org/org-agenda
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-sass hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-sass
> > /home/puercopop/.emacs.d/lib/org/lisp/ol-docview hides
> > /usr/local/share/emacs/28.1/lisp/org/ol-docview
> > /home/puercopop/.emacs.d/lib/org/lisp/org-macro hides
> > /usr/local/share/emacs/28.1/lisp/org/org-macro
> > /home/puercopop/.emacs.d/lib/org/lisp/org-duration hides
> > /usr/local/share/emacs/28.1/lisp/org/org-duration
> > /home/puercopop/.emacs.d/lib/org/lisp/org-table hides
> > /usr/local/share/emacs/28.1/lisp/org/org-table
> > /home/puercopop/.emacs.d/lib/org/lisp/org-mobile hides
> > /usr/local/share/emacs/28.1/lisp/org/org-mobile
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-latex hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-latex
> > /home/puercopop/.emacs.d/lib/org/lisp/org-element hides
> > /usr/local/share/emacs/28.1/lisp/org/org-element
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-css hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-css
> > /home/puercopop/.emacs.d/lib/org/lisp/org-entities hides
> > /usr/local/share/emacs/28.1/lisp/org/org-entities
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-awk hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-awk
> > /home/puercopop/.emacs.d/lib/org/lisp/ol-eww hides
> > /usr/local/share/emacs/28.1/lisp/org/ol-eww
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-perl hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-perl
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-ruby hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-ruby
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-haskell hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-haskell
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-processing hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-processing
> > /home/puercopop/.emacs.d/lib/org/lisp/org hides
> > /usr/local/share/emacs/28.1/lisp/org/org
> > /home/puercopop/.emacs.d/lib/org/lisp/ol-bibtex hides
> > /usr/local/share/emacs/28.1/lisp/org/ol-bibtex
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-emacs-lisp hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-emacs-lisp
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-gnuplot hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-gnuplot
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-groovy hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-groovy
> > /home/puercopop/.emacs.d/lib/org/lisp/org-keys hides
> > /usr/local/share/emacs/28.1/lisp/org/org-keys
> > /home/puercopop/.emacs.d/lib/org/lisp/org-feed hides
> > /usr/local/share/emacs/28.1/lisp/org/org-feed
> > /home/puercopop/.emacs.d/lib/org/lisp/ol-man hides
> > /usr/local/share/emacs/28.1/lisp/org/ol-man
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-eshell hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-eshell
> > /home/puercopop/.emacs.d/lib/org/lisp/org-indent hides
> > /usr/local/share/emacs/28.1/lisp/org/org-indent
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-table hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-table
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-fortran hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-fortran
> > /home/puercopop/.emacs.d/lib/org/lisp/org-clock hides
> > /usr/local/share/emacs/28.1/lisp/org/org-clock
> > /home/puercopop/.emacs.d/lib/org/lisp/org-plot hides
> > /usr/local/share/emacs/28.1/lisp/org/org-plot
> > /home/puercopop/.emacs.d/lib/org/lisp/ol-info hides
> > /usr/local/share/emacs/28.1/lisp/org/ol-info
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-shell hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-shell
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-lilypond hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-lilypond
> > /home/puercopop/.emacs.d/lib/org/lisp/org-archive hides
> > /usr/local/share/emacs/28.1/lisp/org/org-archive
> > /home/puercopop/.emacs.d/lib/org/lisp/ob hides
> > /usr/local/share/emacs/28.1/lisp/org/ob
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-dot hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-dot
> > /home/puercopop/.emacs.d/lib/org/lisp/ol-bbdb hides
> > /usr/local/share/emacs/28.1/lisp/org/ol-bbdb
> > /home/puercopop/.emacs.d/lib/org/lisp/ox-beamer hides
> > /usr/local/share/emacs/28.1/lisp/org/ox-beamer
> > /home/puercopop/.emacs.d/lib/org/lisp/ox-ascii hides
> > /usr/local/share/emacs/28.1/lisp/org/ox-ascii
> > /home/puercopop/.emacs.d/lib/org/lisp/ox-md hides
> > /usr/local/share/emacs/28.1/lisp/org/ox-md
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-matlab hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-matlab
> > /home/puercopop/.emacs.d/lib/org/lisp/org-ctags hides
> > /usr/local/share/emacs/28.1/lisp/org/org-ctags
> > /home/puercopop/.emacs.d/lib/org/lisp/ol-w3m hides
> > /usr/local/share/emacs/28.1/lisp/org/ol-w3m
> > /home/puercopop/.emacs.d/lib/org/lisp/ox-man hides
> > /usr/local/share/emacs/28.1/lisp/org/ox-man
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-octave hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-octave
> > /home/puercopop/.emacs.d/lib/org/lisp/org-goto hides
> > /usr/local/share/emacs/28.1/lisp/org/org-goto
> > /home/puercopop/.emacs.d/lib/org/lisp/ol-eshell hides
> > /usr/local/share/emacs/28.1/lisp/org/ol-eshell
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-lob hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-lob
> > /home/puercopop/.emacs.d/lib/org/lisp/ox-org hides
> > /usr/local/share/emacs/28.1/lisp/org/ox-org
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-core hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-core
> > /home/puercopop/.emacs.d/lib/org/lisp/org-protocol hides
> > /usr/local/share/emacs/28.1/lisp/org/org-protocol
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-forth hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-forth
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-eval hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-eval
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-lisp hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-lisp
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-comint hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-comint
> > /home/puercopop/.emacs.d/lib/org/lisp/org-crypt hides
> > /usr/local/share/emacs/28.1/lisp/org/org-crypt
> > /home/puercopop/.emacs.d/lib/org/lisp/ox-icalendar hides
> > /usr/local/share/emacs/28.1/lisp/org/ox-icalendar
> > /home/puercopop/.emacs.d/lib/org/lisp/oc-csl hides
> > /usr/local/share/emacs/28.1/lisp/org/oc-csl
> > /home/puercopop/.emacs.d/lib/org/lisp/org-faces hides
> > /usr/local/share/emacs/28.1/lisp/org/org-faces
> > /home/puercopop/.emacs.d/lib/org/lisp/org-datetree hides
> > /usr/local/share/emacs/28.1/lisp/org/org-datetree
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-julia hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-julia
> > /home/puercopop/.emacs.d/lib/org/lisp/ox-publish hides
> > /usr/local/share/emacs/28.1/lisp/org/ox-publish
> > /home/puercopop/.emacs.d/lib/org/lisp/org-refile hides
> > /usr/local/share/emacs/28.1/lisp/org/org-refile
> > /home/puercopop/.emacs.d/lib/org/lisp/ox hides
> > /usr/local/share/emacs/28.1/lisp/org/ox
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-sql hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-sql
> > /home/puercopop/.emacs.d/lib/org/lisp/org-num hides
> > /usr/local/share/emacs/28.1/lisp/org/org-num
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-sqlite hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-sqlite
> > /home/puercopop/.emacs.d/lib/org/lisp/org-attach hides
> > /usr/local/share/emacs/28.1/lisp/org/org-attach
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-plantuml hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-plantuml
> > /home/puercopop/.emacs.d/lib/org/lisp/ox-html hides
> > /usr/local/share/emacs/28.1/lisp/org/ox-html
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-scheme hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-scheme
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-ocaml hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-ocaml
> > /home/puercopop/.emacs.d/lib/org/lisp/org-id hides
> > /usr/local/share/emacs/28.1/lisp/org/org-id
> > /home/puercopop/.emacs.d/lib/org/lisp/ol-irc hides
> > /usr/local/share/emacs/28.1/lisp/org/ol-irc
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-java hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-java
> > /home/puercopop/.emacs.d/lib/org/lisp/org-attach-git hides
> > /usr/local/share/emacs/28.1/lisp/org/org-attach-git
> > /home/puercopop/.emacs.d/lib/org/lisp/org-timer hides
> > /usr/local/share/emacs/28.1/lisp/org/org-timer
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-maxima hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-maxima
> > /home/puercopop/.emacs.d/lib/org/lisp/ox-koma-letter hides
> > /usr/local/share/emacs/28.1/lisp/org/ox-koma-letter
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-org hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-org
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-clojure hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-clojure
> > /home/puercopop/.emacs.d/lib/org/lisp/ol-doi hides
> > /usr/local/share/emacs/28.1/lisp/org/ol-doi
> > /home/puercopop/.emacs.d/lib/org/lisp/org-capture hides
> > /usr/local/share/emacs/28.1/lisp/org/org-capture
> > /home/puercopop/.emacs.d/lib/org/lisp/org-inlinetask hides
> > /usr/local/share/emacs/28.1/lisp/org/org-inlinetask
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-makefile hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-makefile
> > /home/puercopop/.emacs.d/lib/org/lisp/org-tempo hides
> > /usr/local/share/emacs/28.1/lisp/org/org-tempo
> > /home/puercopop/.emacs.d/lib/org/lisp/ol-mhe hides
> > /usr/local/share/emacs/28.1/lisp/org/ol-mhe
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-C hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-C
> > /home/puercopop/.emacs.d/lib/org/lisp/org-install hides
> > /usr/local/share/emacs/28.1/lisp/org/org-install
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-R hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-R
> > /home/puercopop/.emacs.d/lib/org/lisp/ol-gnus hides
> > /usr/local/share/emacs/28.1/lisp/org/ol-gnus
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-tangle hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-tangle
> > /home/puercopop/.emacs.d/lib/org/lisp/org-version hides
> > /usr/local/share/emacs/28.1/lisp/org/org-version
> > /home/puercopop/.emacs.d/lib/org/lisp/oc hides
> > /usr/local/share/emacs/28.1/lisp/org/oc
> > /home/puercopop/.emacs.d/lib/org/lisp/oc-natbib hides
> > /usr/local/share/emacs/28.1/lisp/org/oc-natbib
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-calc hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-calc
> > /home/puercopop/.emacs.d/lib/org/lisp/ol hides
> > /usr/local/share/emacs/28.1/lisp/org/ol
> > /home/puercopop/.emacs.d/lib/org/lisp/org-pcomplete hides
> > /usr/local/share/emacs/28.1/lisp/org/org-pcomplete
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-python hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-python
> > /home/puercopop/.emacs.d/lib/org/lisp/org-loaddefs hides
> > /usr/local/share/emacs/28.1/lisp/org/org-loaddefs
> > /home/puercopop/.emacs.d/lib/org/lisp/ob-js hides
> > /usr/local/share/emacs/28.1/lisp/org/ob-js
> >
> > Features:
> > (shadow sort mail-extr emacsbug sendmail cus-edit disp-table
> > network-stream helm-external misearch multi-isearch vc-hg help-fns
> > cl-print cus-start secrets tramp-archive tramp-gvfs tramp-cache zeroconf
> > doom-1337-theme paredit circe lui-irc-colors irc lcs lui-logging
> > lui-format lui tracking shorten flyspell ispell circe-compat elfeed-show
> > elfeed-search elfeed-csv elfeed elfeed-curl elfeed-log elfeed-db
> > elfeed-lib avl-tree xml-query mastodon mastodon-toot emojify ht socks
> > elpher honcho sly sly-completion sly-buttons sly-messages sly-common
> > apropos hyperspec shackle trace terraform-mode hcl-mode graphql-mode
> > ediprolog rust-utils rust-mode rust-rustfmt rust-playpen rust-compile
> > rust-cargo sql view qml-mode go-dlv go-mode find-file ffap gud bundler
> > inf-ruby ruby-mode rails-log-mode chruby eglot array jsonrpc ert ewoc
> > debug flymake-proc flymake warnings compile-eslint xref-js2 js2-mode
> > etags fileloop tree-sitter-query scheme tree-sitter-debug generator
> > tree-sitter-langs tree-sitter-langs-build tar-mode arc-mode archive-mode
> > tree-sitter-hl tree-sitter tree-sitter-load tree-sitter-cli tsc tsc-dyn
> > tsc-dyn-get dired-aux tsc-obsolete yaml-mode css-mode smie sgml-mode
> > facemenu eww xdg url-queue shr kinsoku svg dom mm-url gnus nnheader
> > elec-pair man xref dired-x notmuch hl-line notmuch-hello notmuch-tree
> > notmuch-show notmuch-print notmuch-crypto notmuch-mua notmuch-message
> > notmuch-draft notmuch-maildir-fcc notmuch-address notmuch-company
> > notmuch-parser notmuch-wash coolj notmuch-query goto-addr icalendar
> > diary-lib diary-loaddefs notmuch-tag notmuch-lib notmuch-version
> > notmuch-compat mm-view mml-smime smime dig org-pomodoro alert
> > notifications dbus org-timer org-feed helm-org org-protocol org-agenda
> > org-refile org-archive org-datetree org-clock ob-shell ob-sql org
> > org-macro org-footnote org-pcomplete org-list org-faces org-entities
> > org-version ob-emacs-lisp org-table org-loaddefs cal-menu calendar
> > cal-loaddefs es-mode request js cc-mode cc-fonts cc-guess cc-menus
> > cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs ob-restclient ob
> > ob-tangle ol org-src ob-ref ob-lob ob-table ob-exp ob-comint ob-core
> > ob-eval org-keys oc org-compat org-macs restclient-helm restclient
> > htmlize xterm-color moody doom-themes doom-themes-base tron-legacy-theme
> > tangotango-theme exotica-theme acme-theme parchment-theme autothemer
> > cyberpunk-theme moe-theme moe-dark-theme moe-light-theme gh-notify
> > forge-list forge-commands forge-semi forge-bitbucket buck forge-gogs
> > gogs forge-gitea gtea forge-gitlab glab forge-github ghub-graphql treepy
> > gsexp ghub let-alist forge-notify forge-revnote forge-pullreq
> > forge-issue forge-topic yaml bug-reference forge-post markdown-mode
> > color noutline outline forge-repo forge forge-core forge-db closql
> > emacsql-sqlite emacsql emacsql-compiler url-http url-auth url-gw nsm
> > magit-bookmark magit-submodule magit-obsolete 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 package url-handlers magit-repos magit-apply
> > magit-wip magit-log which-func imenu magit-diff smerge-mode git-commit
> > log-edit message rmc rfc822 mml mml-sec gnus-util rmail rmail-loaddefs
> > mm-decode mm-bodies mm-encode mailabbrev mail-utils gmm-utils mailheader
> > pcvs-util add-log magit-core magit-autorevert magit-margin
> > magit-transient magit-process with-editor server magit-mode magit-git
> > magit-base magit-section crm dash vc-annotate vc vc-git diff-mode
> > vc-dispatcher ediff ediff-merg ediff-mult ediff-wind ediff-diff
> > ediff-help ediff-init ediff-util winner ace-window avy password-vault+
> > epa-file epa derived epg rfc6068 epg-config pinentry transient darkroom
> > face-remap helm-dash dash-docs use-package-dash-docs gnutls puny
> > helm-descbinds helm-pages helm-bookmark helm-net browse-url xml url
> > url-proxy url-privacy url-expand url-methods url-history url-cookie
> > url-domsuf url-util url-parse url-vars mailcap helm-fuz helm-command
> > helm-elisp helm-eval edebug backtrace find-func helm-info fuz fuz-extra
> > inline fuz-core helm-adaptive consult easy-kill anzu advice thingatpt
> > project bookmark pp proced recentf tree-widget wid-edit minions savehist
> > jka-compr delsel autorevert mb-depth auto-compile packed use-package
> > use-package-ensure use-package-delight use-package-diminish
> > use-package-bind-key bind-key use-package-core rcirc helm-mode helm-misc
> > helm-files image-dired image-mode dired dired-loaddefs exif filenotify
> > tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat
> > shell pcomplete parse-time iso8601 time-date ls-lisp auth-source
> > password-cache json map helm-buffers helm-occur helm-tags helm-locate
> > helm-grep wgrep-helm wgrep grep compile text-property-search comint
> > ansi-color ring helm-regexp format-spec helm-utils helm-help helm-types
> > helm helm-core easy-mmode async-bytecomp helm-global-bindings
> > helm-source eieio eieio-core cl-macs eieio-loaddefs helm-multi-match
> > helm-lib async undo-tree diff queue cus-load edmacro kmacro rx
> > helm-easymenu cl-extra help-mode seq byte-opt gv cl-seq borg subr-x
> > pcase info cl-loaddefs cl-lib bytecomp byte-compile cconv autoload
> > radix-tree lisp-mnt mail-parse rfc2231 rfc2047 rfc2045 mm-util
> > ietf-drums mail-prsvr iso-transl tooltip 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 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
> > hashtable-print-readable backquote threads dbusbind inotify lcms2
> > dynamic-setting system-font-setting font-render-setting cairo x-toolkit
> > x multi-tty make-network-process emacs)
> >
> > Memory information:
> > ((conses 16 698099 57754)
> >  (symbols 48 56500 2)
> >  (strings 32 197929 10143)
> >  (string-bytes 1 6567580)
> >  (vectors 16 104864)
> >  (vector-slots 8 1221849 80720)
> >  (floats 8 724 375)
> >  (intervals 56 5608 1635)
> >  (buffers 992 33))
>


-- 
"I object to doing things that computers can do." — Olin Shivers

[-- Attachment #2: Type: text/html, Size: 28511 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#55199: 28.1; rcirc auth-source integration doesn't handle port being a number
  2022-06-11  3:46   ` Javier Olaechea
@ 2022-08-21  6:00     ` Javier Olaechea
  2022-08-21  8:02       ` Michael Albinus
  0 siblings, 1 reply; 7+ messages in thread
From: Javier Olaechea @ 2022-08-21  6:00 UTC (permalink / raw)
  To: Philip Kaludercic; +Cc: 55199

[-- Attachment #1: Type: text/plain, Size: 26575 bytes --]

I have a simple way to reproduce the issue. Start emacs with emacs -Q. Then
evaluate the following snippet

(require 'auth-source)

(let ((auth-sources '("secrets:Login")))
  (auth-source-search :port 6697))

So the issue is not at all on rcirc, but that secrets backend assumes that
the search specs should be strings. I haven't researched the SecretService
API to know if this is a restriction of the underlying dbus service the
secrets backend works with or just a restrictive assumption of the code in
secrets.el.

On Fri, Jun 10, 2022 at 10:46 PM Javier Olaechea <pirata@gmail.com> wrote:

> You are right I can't reproduce from emacs -Q. The only difference I can
> see is that I have secrets:Login as an auth-source. auth-sources value is
> ("~/.authinfo.gpg" "~/.authinfo" "secrets:Login"). I'll look into how
> secrets:Login is implemented to see if I can pin down the issue.
>
> On Wed, May 18, 2022 at 6:26 PM Philip Kaludercic <philipk@posteo.net>
> wrote:
>
>> Javier Olaechea <pirata@gmail.com> writes:
>>
>> > If rcirc-server-alist is set using the customize interface, the port in
>> the
>> > plist is going to be a number, not a string. AUTH-SOURCE-SEARCH expects
>> the
>> > port to be a string. So M-x rcirc  with the following value
>> >
>> > '(rcirc-server-alist
>> >    '(("irc.libera.chat" :nick "PuercoPop" :port 6697 :user-name
>> "PuercoPop"
>> > :channels
>> >       ("#emacs" "#rcirc")
>> >       :encryption tls)))
>> >
>> > results in AUTH-SOURCE-SEARCH throwing an error.
>>
>> The default value is already a number, as is the value in my
>> configuration, and I have never encountered this issue.  Starting rcirc
>> emacs -Q also seems to have no issue with a number.  Could you ensure
>> that this is not an issue on your end?
>>
>> > The fix could be as
>> > straighforward ensureing the port is a string before calling
>> > auth-source-search[0]. ej. (if (numberp port) (number-to-string port)
>> port)
>> >
>> > [0]:
>> >
>> https://github.com/emacs-mirror/emacs/blob/95dbe4b6ae2e88213835a8ded3928b6769d78f2c/lisp/net/rcirc.el#L576
>> >
>> > That is how I've fixed the issue locally. Not sure if other parts of
>> rcirc
>> > assume port will be a string.
>> >
>> > In GNU Emacs 28.1 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo
>> version
>> > 1.16.0, Xaw scroll bars)
>> >  of 2022-04-10 built on PuercoDesktop
>> > Windowing system distributor 'The X.Org Foundation', version
>> 11.0.12013000
>> > System Description: Ubuntu 20.04.4 LTS
>> >
>> > Configured using:
>> >  'configure --prefix=/usr/local --with-x-toolkit=lucid
>> >  --with-native-compiler'
>> >
>> > Configured features:
>> > CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON
>> > LCMS2 LIBSELINUX LIBSYSTEMD LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG
>> > RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM
>> > LUCID ZLIB
>> >
>> > Important settings:
>> >   value of $LC_COLLATE: en_US.UTF-8
>> >   value of $LC_CTYPE: en_US.UTF-8
>> >   value of $LC_MESSAGES: en_US.UTF-8
>> >   value of $LC_MONETARY: es_PE.UTF-8
>> >   value of $LC_NUMERIC: en_US.UTF-8
>> >   value of $LC_TIME: en_US.UTF-8
>> >   value of $LANG: en_US.UTF-8
>> >   locale-coding-system: utf-8-unix
>> >
>> > Major mode: rcirc
>> >
>> > Minor modes in effect:
>> >   flyspell-mode: t
>> >   sly-symbol-completion-mode: t
>> >   electric-pair-mode: t
>> >   magit-wip-initial-backup-mode: t
>> >   magit-wip-before-change-mode: t
>> >   magit-wip-after-apply-mode: t
>> >   magit-wip-after-save-mode: t
>> >   magit-wip-mode: t
>> >   global-git-commit-mode: t
>> >   magit-auto-revert-mode: t
>> >   winner-mode: t
>> >   helm-descbinds-mode: t
>> >   helm-fuz-mode: t
>> >   helm-adaptive-mode: t
>> >   global-anzu-mode: t
>> >   anzu-mode: t
>> >   recentf-mode: t
>> >   minions-mode: t
>> >   savehist-mode: t
>> >   delete-selection-mode: t
>> >   global-auto-revert-mode: t
>> >   minibuffer-depth-indicate-mode: t
>> >   auto-compile-on-load-mode: t
>> >   auto-compile-on-save-mode: t
>> >   override-global-mode: t
>> >   rcirc-track-minor-mode: t
>> >   rcirc-omit-mode: t
>> >   helm-mode: t
>> >   helm-minibuffer-history-mode: t
>> >   shell-dirtrack-mode: t
>> >   helm--remap-mouse-mode: t
>> >   async-bytecomp-package-mode: t
>> >   global-undo-tree-mode: t
>> >   undo-tree-mode: t
>> >   tooltip-mode: t
>> >   global-eldoc-mode: t
>> >   show-paren-mode: t
>> >   electric-indent-mode: t
>> >   mouse-wheel-mode: t
>> >   use-hard-newlines: 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
>> >   transient-mark-mode: t
>> >
>> > Load-path shadows:
>> > /home/puercopop/.emacs.d/site-lisp/sly/sly-autoloads hides
>> > /home/puercopop/.emacs.d/lib/sly/sly-autoloads
>> > /home/puercopop/.emacs.d/site-lisp/sly/sly hides
>> > /home/puercopop/.emacs.d/lib/sly/sly
>> > /home/puercopop/.emacs.d/lib/telega/test hides
>> > /home/puercopop/.emacs.d/lib/paredit/test
>> > /home/puercopop/.emacs.d/lib/telega/test hides
>> > /home/puercopop/.emacs.d/lib/libgit/test
>> > /home/puercopop/.emacs.d/lib/telega/test hides
>> > /home/puercopop/.emacs.d/lib/easy-kill/test
>> > /home/puercopop/.emacs.d/lib/org/lisp/ox-latex hides
>> > /usr/local/share/emacs/28.1/lisp/org/ox-latex
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-ref hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-ref
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-compat hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-compat
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-src hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-src
>> > /home/puercopop/.emacs.d/lib/org/lisp/oc-biblatex hides
>> > /usr/local/share/emacs/28.1/lisp/org/oc-biblatex
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-list hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-list
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-lint hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-lint
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-ditaa hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-ditaa
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-sed hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-sed
>> > /home/puercopop/.emacs.d/lib/org/lisp/oc-basic hides
>> > /usr/local/share/emacs/28.1/lisp/org/oc-basic
>> > /home/puercopop/.emacs.d/lib/org/lisp/ox-texinfo hides
>> > /usr/local/share/emacs/28.1/lisp/org/ox-texinfo
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-colview hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-colview
>> > /home/puercopop/.emacs.d/lib/org/lisp/ol-rmail hides
>> > /usr/local/share/emacs/28.1/lisp/org/ol-rmail
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-macs hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-macs
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-mouse hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-mouse
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-footnote hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-footnote
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-exp hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-exp
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-screen hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-screen
>> > /home/puercopop/.emacs.d/lib/org/lisp/ox-odt hides
>> > /usr/local/share/emacs/28.1/lisp/org/ox-odt
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-lua hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-lua
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-habit hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-habit
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-agenda hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-agenda
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-sass hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-sass
>> > /home/puercopop/.emacs.d/lib/org/lisp/ol-docview hides
>> > /usr/local/share/emacs/28.1/lisp/org/ol-docview
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-macro hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-macro
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-duration hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-duration
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-table hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-table
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-mobile hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-mobile
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-latex hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-latex
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-element hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-element
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-css hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-css
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-entities hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-entities
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-awk hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-awk
>> > /home/puercopop/.emacs.d/lib/org/lisp/ol-eww hides
>> > /usr/local/share/emacs/28.1/lisp/org/ol-eww
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-perl hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-perl
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-ruby hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-ruby
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-haskell hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-haskell
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-processing hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-processing
>> > /home/puercopop/.emacs.d/lib/org/lisp/org hides
>> > /usr/local/share/emacs/28.1/lisp/org/org
>> > /home/puercopop/.emacs.d/lib/org/lisp/ol-bibtex hides
>> > /usr/local/share/emacs/28.1/lisp/org/ol-bibtex
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-emacs-lisp hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-emacs-lisp
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-gnuplot hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-gnuplot
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-groovy hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-groovy
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-keys hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-keys
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-feed hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-feed
>> > /home/puercopop/.emacs.d/lib/org/lisp/ol-man hides
>> > /usr/local/share/emacs/28.1/lisp/org/ol-man
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-eshell hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-eshell
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-indent hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-indent
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-table hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-table
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-fortran hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-fortran
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-clock hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-clock
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-plot hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-plot
>> > /home/puercopop/.emacs.d/lib/org/lisp/ol-info hides
>> > /usr/local/share/emacs/28.1/lisp/org/ol-info
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-shell hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-shell
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-lilypond hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-lilypond
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-archive hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-archive
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-dot hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-dot
>> > /home/puercopop/.emacs.d/lib/org/lisp/ol-bbdb hides
>> > /usr/local/share/emacs/28.1/lisp/org/ol-bbdb
>> > /home/puercopop/.emacs.d/lib/org/lisp/ox-beamer hides
>> > /usr/local/share/emacs/28.1/lisp/org/ox-beamer
>> > /home/puercopop/.emacs.d/lib/org/lisp/ox-ascii hides
>> > /usr/local/share/emacs/28.1/lisp/org/ox-ascii
>> > /home/puercopop/.emacs.d/lib/org/lisp/ox-md hides
>> > /usr/local/share/emacs/28.1/lisp/org/ox-md
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-matlab hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-matlab
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-ctags hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-ctags
>> > /home/puercopop/.emacs.d/lib/org/lisp/ol-w3m hides
>> > /usr/local/share/emacs/28.1/lisp/org/ol-w3m
>> > /home/puercopop/.emacs.d/lib/org/lisp/ox-man hides
>> > /usr/local/share/emacs/28.1/lisp/org/ox-man
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-octave hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-octave
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-goto hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-goto
>> > /home/puercopop/.emacs.d/lib/org/lisp/ol-eshell hides
>> > /usr/local/share/emacs/28.1/lisp/org/ol-eshell
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-lob hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-lob
>> > /home/puercopop/.emacs.d/lib/org/lisp/ox-org hides
>> > /usr/local/share/emacs/28.1/lisp/org/ox-org
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-core hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-core
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-protocol hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-protocol
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-forth hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-forth
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-eval hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-eval
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-lisp hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-lisp
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-comint hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-comint
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-crypt hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-crypt
>> > /home/puercopop/.emacs.d/lib/org/lisp/ox-icalendar hides
>> > /usr/local/share/emacs/28.1/lisp/org/ox-icalendar
>> > /home/puercopop/.emacs.d/lib/org/lisp/oc-csl hides
>> > /usr/local/share/emacs/28.1/lisp/org/oc-csl
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-faces hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-faces
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-datetree hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-datetree
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-julia hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-julia
>> > /home/puercopop/.emacs.d/lib/org/lisp/ox-publish hides
>> > /usr/local/share/emacs/28.1/lisp/org/ox-publish
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-refile hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-refile
>> > /home/puercopop/.emacs.d/lib/org/lisp/ox hides
>> > /usr/local/share/emacs/28.1/lisp/org/ox
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-sql hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-sql
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-num hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-num
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-sqlite hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-sqlite
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-attach hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-attach
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-plantuml hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-plantuml
>> > /home/puercopop/.emacs.d/lib/org/lisp/ox-html hides
>> > /usr/local/share/emacs/28.1/lisp/org/ox-html
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-scheme hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-scheme
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-ocaml hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-ocaml
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-id hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-id
>> > /home/puercopop/.emacs.d/lib/org/lisp/ol-irc hides
>> > /usr/local/share/emacs/28.1/lisp/org/ol-irc
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-java hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-java
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-attach-git hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-attach-git
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-timer hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-timer
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-maxima hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-maxima
>> > /home/puercopop/.emacs.d/lib/org/lisp/ox-koma-letter hides
>> > /usr/local/share/emacs/28.1/lisp/org/ox-koma-letter
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-org hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-org
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-clojure hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-clojure
>> > /home/puercopop/.emacs.d/lib/org/lisp/ol-doi hides
>> > /usr/local/share/emacs/28.1/lisp/org/ol-doi
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-capture hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-capture
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-inlinetask hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-inlinetask
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-makefile hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-makefile
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-tempo hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-tempo
>> > /home/puercopop/.emacs.d/lib/org/lisp/ol-mhe hides
>> > /usr/local/share/emacs/28.1/lisp/org/ol-mhe
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-C hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-C
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-install hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-install
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-R hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-R
>> > /home/puercopop/.emacs.d/lib/org/lisp/ol-gnus hides
>> > /usr/local/share/emacs/28.1/lisp/org/ol-gnus
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-tangle hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-tangle
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-version hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-version
>> > /home/puercopop/.emacs.d/lib/org/lisp/oc hides
>> > /usr/local/share/emacs/28.1/lisp/org/oc
>> > /home/puercopop/.emacs.d/lib/org/lisp/oc-natbib hides
>> > /usr/local/share/emacs/28.1/lisp/org/oc-natbib
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-calc hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-calc
>> > /home/puercopop/.emacs.d/lib/org/lisp/ol hides
>> > /usr/local/share/emacs/28.1/lisp/org/ol
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-pcomplete hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-pcomplete
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-python hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-python
>> > /home/puercopop/.emacs.d/lib/org/lisp/org-loaddefs hides
>> > /usr/local/share/emacs/28.1/lisp/org/org-loaddefs
>> > /home/puercopop/.emacs.d/lib/org/lisp/ob-js hides
>> > /usr/local/share/emacs/28.1/lisp/org/ob-js
>> >
>> > Features:
>> > (shadow sort mail-extr emacsbug sendmail cus-edit disp-table
>> > network-stream helm-external misearch multi-isearch vc-hg help-fns
>> > cl-print cus-start secrets tramp-archive tramp-gvfs tramp-cache zeroconf
>> > doom-1337-theme paredit circe lui-irc-colors irc lcs lui-logging
>> > lui-format lui tracking shorten flyspell ispell circe-compat elfeed-show
>> > elfeed-search elfeed-csv elfeed elfeed-curl elfeed-log elfeed-db
>> > elfeed-lib avl-tree xml-query mastodon mastodon-toot emojify ht socks
>> > elpher honcho sly sly-completion sly-buttons sly-messages sly-common
>> > apropos hyperspec shackle trace terraform-mode hcl-mode graphql-mode
>> > ediprolog rust-utils rust-mode rust-rustfmt rust-playpen rust-compile
>> > rust-cargo sql view qml-mode go-dlv go-mode find-file ffap gud bundler
>> > inf-ruby ruby-mode rails-log-mode chruby eglot array jsonrpc ert ewoc
>> > debug flymake-proc flymake warnings compile-eslint xref-js2 js2-mode
>> > etags fileloop tree-sitter-query scheme tree-sitter-debug generator
>> > tree-sitter-langs tree-sitter-langs-build tar-mode arc-mode archive-mode
>> > tree-sitter-hl tree-sitter tree-sitter-load tree-sitter-cli tsc tsc-dyn
>> > tsc-dyn-get dired-aux tsc-obsolete yaml-mode css-mode smie sgml-mode
>> > facemenu eww xdg url-queue shr kinsoku svg dom mm-url gnus nnheader
>> > elec-pair man xref dired-x notmuch hl-line notmuch-hello notmuch-tree
>> > notmuch-show notmuch-print notmuch-crypto notmuch-mua notmuch-message
>> > notmuch-draft notmuch-maildir-fcc notmuch-address notmuch-company
>> > notmuch-parser notmuch-wash coolj notmuch-query goto-addr icalendar
>> > diary-lib diary-loaddefs notmuch-tag notmuch-lib notmuch-version
>> > notmuch-compat mm-view mml-smime smime dig org-pomodoro alert
>> > notifications dbus org-timer org-feed helm-org org-protocol org-agenda
>> > org-refile org-archive org-datetree org-clock ob-shell ob-sql org
>> > org-macro org-footnote org-pcomplete org-list org-faces org-entities
>> > org-version ob-emacs-lisp org-table org-loaddefs cal-menu calendar
>> > cal-loaddefs es-mode request js cc-mode cc-fonts cc-guess cc-menus
>> > cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs ob-restclient ob
>> > ob-tangle ol org-src ob-ref ob-lob ob-table ob-exp ob-comint ob-core
>> > ob-eval org-keys oc org-compat org-macs restclient-helm restclient
>> > htmlize xterm-color moody doom-themes doom-themes-base tron-legacy-theme
>> > tangotango-theme exotica-theme acme-theme parchment-theme autothemer
>> > cyberpunk-theme moe-theme moe-dark-theme moe-light-theme gh-notify
>> > forge-list forge-commands forge-semi forge-bitbucket buck forge-gogs
>> > gogs forge-gitea gtea forge-gitlab glab forge-github ghub-graphql treepy
>> > gsexp ghub let-alist forge-notify forge-revnote forge-pullreq
>> > forge-issue forge-topic yaml bug-reference forge-post markdown-mode
>> > color noutline outline forge-repo forge forge-core forge-db closql
>> > emacsql-sqlite emacsql emacsql-compiler url-http url-auth url-gw nsm
>> > magit-bookmark magit-submodule magit-obsolete 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 package url-handlers magit-repos magit-apply
>> > magit-wip magit-log which-func imenu magit-diff smerge-mode git-commit
>> > log-edit message rmc rfc822 mml mml-sec gnus-util rmail rmail-loaddefs
>> > mm-decode mm-bodies mm-encode mailabbrev mail-utils gmm-utils mailheader
>> > pcvs-util add-log magit-core magit-autorevert magit-margin
>> > magit-transient magit-process with-editor server magit-mode magit-git
>> > magit-base magit-section crm dash vc-annotate vc vc-git diff-mode
>> > vc-dispatcher ediff ediff-merg ediff-mult ediff-wind ediff-diff
>> > ediff-help ediff-init ediff-util winner ace-window avy password-vault+
>> > epa-file epa derived epg rfc6068 epg-config pinentry transient darkroom
>> > face-remap helm-dash dash-docs use-package-dash-docs gnutls puny
>> > helm-descbinds helm-pages helm-bookmark helm-net browse-url xml url
>> > url-proxy url-privacy url-expand url-methods url-history url-cookie
>> > url-domsuf url-util url-parse url-vars mailcap helm-fuz helm-command
>> > helm-elisp helm-eval edebug backtrace find-func helm-info fuz fuz-extra
>> > inline fuz-core helm-adaptive consult easy-kill anzu advice thingatpt
>> > project bookmark pp proced recentf tree-widget wid-edit minions savehist
>> > jka-compr delsel autorevert mb-depth auto-compile packed use-package
>> > use-package-ensure use-package-delight use-package-diminish
>> > use-package-bind-key bind-key use-package-core rcirc helm-mode helm-misc
>> > helm-files image-dired image-mode dired dired-loaddefs exif filenotify
>> > tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat
>> > shell pcomplete parse-time iso8601 time-date ls-lisp auth-source
>> > password-cache json map helm-buffers helm-occur helm-tags helm-locate
>> > helm-grep wgrep-helm wgrep grep compile text-property-search comint
>> > ansi-color ring helm-regexp format-spec helm-utils helm-help helm-types
>> > helm helm-core easy-mmode async-bytecomp helm-global-bindings
>> > helm-source eieio eieio-core cl-macs eieio-loaddefs helm-multi-match
>> > helm-lib async undo-tree diff queue cus-load edmacro kmacro rx
>> > helm-easymenu cl-extra help-mode seq byte-opt gv cl-seq borg subr-x
>> > pcase info cl-loaddefs cl-lib bytecomp byte-compile cconv autoload
>> > radix-tree lisp-mnt mail-parse rfc2231 rfc2047 rfc2045 mm-util
>> > ietf-drums mail-prsvr iso-transl tooltip 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 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
>> > hashtable-print-readable backquote threads dbusbind inotify lcms2
>> > dynamic-setting system-font-setting font-render-setting cairo x-toolkit
>> > x multi-tty make-network-process emacs)
>> >
>> > Memory information:
>> > ((conses 16 698099 57754)
>> >  (symbols 48 56500 2)
>> >  (strings 32 197929 10143)
>> >  (string-bytes 1 6567580)
>> >  (vectors 16 104864)
>> >  (vector-slots 8 1221849 80720)
>> >  (floats 8 724 375)
>> >  (intervals 56 5608 1635)
>> >  (buffers 992 33))
>>
>
>
> --
> "I object to doing things that computers can do." — Olin Shivers
>


-- 
"I object to doing things that computers can do." — Olin Shivers

[-- Attachment #2: Type: text/html, Size: 29643 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#55199: 28.1; rcirc auth-source integration doesn't handle port being a number
  2022-08-21  6:00     ` Javier Olaechea
@ 2022-08-21  8:02       ` Michael Albinus
  2022-08-21 19:02         ` Javier Olaechea
  0 siblings, 1 reply; 7+ messages in thread
From: Michael Albinus @ 2022-08-21  8:02 UTC (permalink / raw)
  To: Javier Olaechea; +Cc: Philip Kaludercic, 55199

[-- Attachment #1: Type: text/plain, Size: 1421 bytes --]

Javier Olaechea <pirata@gmail.com> writes:

Hi Javier,

> I have a simple way to reproduce the issue. Start emacs with emacs -Q.
> Then evaluate the following snippet
>
> (require 'auth-source)
>
> (let ((auth-sources '("secrets:Login")))
>   (auth-source-search :port 6697))

Yep. Fails here as well.

> So the issue is not at all on rcirc, but that secrets backend assumes
> that the search specs should be strings. I haven't researched the
> SecretService API to know if this is a restriction of the underlying
> dbus service the secrets backend works with or just a restrictive
> assumption of the code in secrets.el.

The Secret Service API allows only strings for attribute keys and
values, see <https://specifications.freedesktop.org/secret-service/latest/re03.html>:

--8<---------------cut here---------------start------------->8---
READWRITE Dict<String,String> Attributes ;
--8<---------------cut here---------------end--------------->8---

Looking at auth-source.el. there was a similar problem in
auth-source-plstore-search, see commit
fcb89237d9ab969bcd29bf8f8fae8d9905644b92 in Emacs git. Applying a
similar change to auth-source-secrets-search let the error go away.

I've appended the patch, could you pls check in the rcirc context? I'm
also not sure whether we need to change something when creating an item
in auth-source-secrets-create.

Best regrads, Michael.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 1226 bytes --]

diff --git a/lisp/auth-source.el b/lisp/auth-source.el
index f198362f10..c79e5b81f7 100644
--- a/lisp/auth-source.el
+++ b/lisp/auth-source.el
@@ -1618,10 +1618,13 @@ auth-source-secrets-search
          (search-specs (auth-source-secrets-listify-pattern
                         (apply #'append (mapcar
                                       (lambda (k)
-                                        (if (or (null (plist-get spec k))
-                                                (eq t (plist-get spec k)))
-                                            nil
-                                          (list k (plist-get spec k))))
+                                        (let ((v (plist-get spec k)))
+                                          (if (or (null v)
+                                                  (eq t v))
+                                              nil
+                                            (list
+                                             k
+                                             (auth-source-ensure-strings v)))))
                                       search-keys))))
          ;; needed keys (always including host, login, port, and secret)
          (returned-keys (delete-dups (append

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* bug#55199: 28.1; rcirc auth-source integration doesn't handle port being a number
  2022-08-21  8:02       ` Michael Albinus
@ 2022-08-21 19:02         ` Javier Olaechea
  2022-08-22 15:05           ` Michael Albinus
  0 siblings, 1 reply; 7+ messages in thread
From: Javier Olaechea @ 2022-08-21 19:02 UTC (permalink / raw)
  To: Michael Albinus; +Cc: Philip Kaludercic, 55199

[-- Attachment #1: Type: text/plain, Size: 2040 bytes --]

Hi Michael,

I can confirm patch fixes the issue. I don't think we need to change the
create function. The issue is that a valid spec, meant for another backend,
results in an error when searching the secrets backend.

An alternative solution would be for auth-source-secrets-search to return
an empty list (no secrets found iirc) when the spec contains a non-string
value.


On Sun, Aug 21, 2022 at 3:02 AM Michael Albinus <michael.albinus@gmx.de>
wrote:

> Javier Olaechea <pirata@gmail.com> writes:
>
> Hi Javier,
>
> > I have a simple way to reproduce the issue. Start emacs with emacs -Q.
> > Then evaluate the following snippet
> >
> > (require 'auth-source)
> >
> > (let ((auth-sources '("secrets:Login")))
> >   (auth-source-search :port 6697))
>
> Yep. Fails here as well.
>
> > So the issue is not at all on rcirc, but that secrets backend assumes
> > that the search specs should be strings. I haven't researched the
> > SecretService API to know if this is a restriction of the underlying
> > dbus service the secrets backend works with or just a restrictive
> > assumption of the code in secrets.el.
>
> The Secret Service API allows only strings for attribute keys and
> values, see <
> https://specifications.freedesktop.org/secret-service/latest/re03.html>:
>
> --8<---------------cut here---------------start------------->8---
> READWRITE Dict<String,String> Attributes ;
> --8<---------------cut here---------------end--------------->8---
>
> Looking at auth-source.el. there was a similar problem in
> auth-source-plstore-search, see commit
> fcb89237d9ab969bcd29bf8f8fae8d9905644b92 in Emacs git. Applying a
> similar change to auth-source-secrets-search let the error go away.
>
> I've appended the patch, could you pls check in the rcirc context? I'm
> also not sure whether we need to change something when creating an item
> in auth-source-secrets-create.
>
> Best regrads, Michael.
>
>

-- 
"I object to doing things that computers can do." — Olin Shivers

[-- Attachment #2: Type: text/html, Size: 2817 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#55199: 28.1; rcirc auth-source integration doesn't handle port being a number
  2022-08-21 19:02         ` Javier Olaechea
@ 2022-08-22 15:05           ` Michael Albinus
  0 siblings, 0 replies; 7+ messages in thread
From: Michael Albinus @ 2022-08-22 15:05 UTC (permalink / raw)
  To: Javier Olaechea; +Cc: Philip Kaludercic, 55199-done

Version: 29.1

Javier Olaechea <pirata@gmail.com> writes:

> Hi Michael,

Hi Javier,

> I can confirm patch fixes the issue. I don't think we need to change
> the create function. The issue is that a valid spec, meant for another
> backend, results in an error when searching the secrets backend. 

Thanks for the feedback. And yes, the create function in auth-source.el is
rarely used, so we might live with the current implementation.

> An alternative solution would be for auth-source-secrets-search to
> return an empty list (no secrets found iirc) when the spec contains a
> non-string value. 

Perhaps. But since the patch is simple, and it is consistent with the
behavior of the plstore backend, I've applied it. I've also updated the
auth-source manual, explaining it:

--8<---------------cut here---------------start------------->8---
   Attribute values in the auth-source spec, which are not strings (like
port numbers), are stringified prior calling the ‘secrets.el’ functions.

--8<---------------cut here---------------end--------------->8---

Closing the bug. Change will appear with Emacs 29.

Best regards, Michael.





^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-08-22 15:05 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-30 19:15 bug#55199: 28.1; rcirc auth-source integration doesn't handle port being a number Javier Olaechea
2022-05-18 23:26 ` Philip Kaludercic
2022-06-11  3:46   ` Javier Olaechea
2022-08-21  6:00     ` Javier Olaechea
2022-08-21  8:02       ` Michael Albinus
2022-08-21 19:02         ` Javier Olaechea
2022-08-22 15:05           ` Michael Albinus

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