Subject: bug#38918: 26.3; EBDB fails to edit (add) tags

From: [email-masked] (Jorge P. de Morais Neto)
Date: Sat, 04 Jan 2020 11:17:05 -0300

0x8000078ebdb<return><return>eE

Hello.  I use the latest EBDB (0.6.11) on an updated Spacemacs (develop
branch) atop GNU Emacs 26.3 on an updated Debian buster.  Emacs was
installed via GNU Guix.

I cannot add tags to EBDB records.  To help you with reproducing the
bug, I reproduced it on a GNU Emacs configuration where the only
customization was augmenting `package-archives' (which I later realized
was unnecessary) and installing `ebdb'.  I also used a minimal EBDB
database.  I then inserted a tags field in one record; EBDB did not ask
for the contents of the field, so an empty tags field was inserted.

Then I restarted Emacs, invoked `toggle-debug-on-error', opened the
dribble file and quickly reproduced the bug:

1. Invoke M-x ebdb; <RET><RET>;
2. Move to the tags field; press e (Emacs says "Point not in field");
3. Return to the tags field; press E (a backtrace is shown).

The backtrace shown after pressing E:

--8<---------------cut here---------------start------------->8---
Debugger entered--Lisp error: (cl-no-applicable-method clone nil)
  signal(cl-no-applicable-method (clone nil))
  cl-no-applicable-method(#s(cl--generic :name clone :dispatches ((0 #s(cl--generic-generalizer :name eieio--generic-generalizer :priority 50 :tagcode-function cl--generic-struct-tag :specializers-function #f(compiled-function (tag &rest _) #<bytecode 0x4b131d>)) #s(cl--generic-generalizer :name cl--generic-t-generalizer :priority 0 :tagcode-function #f(compiled-function (name &rest _) #<bytecode 0x1d837d>) :specializers-function #f(compiled-function (tag &rest _) #<bytecode 0x1d8391>)))) :method-table (#s(cl--generic-method :specializers (eieio-named) :qualifiers nil :uses-cnm t :function #f(compiled-function (obj &rest params) "Clone OBJ, initializing `:parent' to OBJ.\nAll slots are unbound, except those initialized with PARAMS." #<bytecode 0xf987a1>)) #s(cl--generic-method :specializers (eieio-instance-inheritor) :qualifiers nil :uses-cnm t :function #f(compiled-function (obj &rest params) "Clone OBJ, initializing `:parent' to OBJ.\nAll slots are unbound, except those initialized with PARAMS." #<bytecode 0xd0f955>)) #s(cl--generic-method :specializers (eieio-default-superclass) :qualifiers nil :uses-cnm nil :function #f(compiled-function (obj &rest params) "Make a copy of OBJ, and then apply PARAMS." #<bytecode 0x4ac7bd>))) :options nil) nil)
  apply(cl-no-applicable-method #s(cl--generic :name clone :dispatches ((0 #s(cl--generic-generalizer :name eieio--generic-generalizer :priority 50 :tagcode-function cl--generic-struct-tag :specializers-function #f(compiled-function (tag &rest _) #<bytecode 0x4b131d>)) #s(cl--generic-generalizer :name cl--generic-t-generalizer :priority 0 :tagcode-function #f(compiled-function (name &rest _) #<bytecode 0x1d837d>) :specializers-function #f(compiled-function (tag &rest _) #<bytecode 0x1d8391>)))) :method-table (#s(cl--generic-method :specializers (eieio-named) :qualifiers nil :uses-cnm t :function #f(compiled-function (obj &rest params) "Clone OBJ, initializing `:parent' to OBJ.\nAll slots are unbound, except those initialized with PARAMS." #<bytecode 0xf987a1>)) #s(cl--generic-method :specializers (eieio-instance-inheritor) :qualifiers nil :uses-cnm t :function #f(compiled-function (obj &rest params) "Clone OBJ, initializing `:parent' to OBJ.\nAll slots are unbound, except those initialized with PARAMS." #<bytecode 0xd0f955>)) #s(cl--generic-method :specializers (eieio-default-superclass) :qualifiers nil :uses-cnm nil :function #f(compiled-function (obj &rest params) "Make a copy of OBJ, and then apply PARAMS." #<bytecode 0x4ac7bd>))) :options nil) nil)
  #f(compiled-function (&rest args) #<bytecode 0xd1ad45>)(nil)
  apply(#f(compiled-function (&rest args) #<bytecode 0xd1ad45>) nil nil)
  clone(nil)
  ebdb-edit-field-customize(#<ebdb-record-person John Doe> nil)
  funcall-interactively(ebdb-edit-field-customize #<ebdb-record-person John Doe> nil)
  call-interactively(ebdb-edit-field-customize nil nil)
  command-execute(ebdb-edit-field-customize)
--8<---------------cut here---------------end--------------->8---

In GNU Emacs 26.3 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.12)
Windowing system distributor 'The X.Org Foundation', version 11.0.12004000
System Description:	Debian GNU/Linux 10 (buster)

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Debug on Error enabled globally
Loading EBDB sources...
Initializing EBDB records... done
Formatting EBDB...done.
Point not in field
Entering debugger...
Saving file /home/jorge/ebdb_backtrace...
Wrote /home/jorge/ebdb_backtrace

Configured using:
 'configure
 CONFIG_SHELL=/gnu/store/29jhbbg1hf557x8j53f9sxd9imlmf02a-bash-minimal-5.0.7/bin/bash
 SHELL=/gnu/store/29jhbbg1hf557x8j53f9sxd9imlmf02a-bash-minimal-5.0.7/bin/bash
 --prefix=/gnu/store/hg2qd5ggvnxq5gfdhxqpidhm3rr8vysr-emacs-26.3
 --enable-fast-install --with-modules --disable-build-details'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND DBUS GSETTINGS GLIB NOTIFY
ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS

Important settings:
  value of $EMACSLOADPATH: /home/jorge/.guix-profile/share/emacs/site-lisp:/home/jorge/.guix-profile/share/emacs/26.3/lisp
  value of $LC_MONETARY: pt_BR.UTF-8
  value of $LC_NUMERIC: pt_BR.UTF-8
  value of $LC_TIME: pt_BR.UTF-8
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: EBDB

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs
format-spec rfc822 mml mml-sec epa derived epg gnus-util rmail
rmail-loaddefs mm-decode mm-bodies mm-encode mail-parse rfc2231
gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util
mail-prsvr mail-utils cl-print debug ebdb-com crm mailabbrev ebdb-format
ebdb cl-extra help-mode eieio-opt speedbar sb-image ezimage dframe
find-func eieio-base pcase subr-x cal-menu calendar cal-loaddefs map
timezone cus-start cus-load elec-pair finder-inf info package easymenu
epg-config url-handlers url-parse auth-source cl-seq eieio eieio-core
cl-macs eieio-loaddefs password-cache url-vars guix-emacs rx seq
byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib time-date
mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type 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 elisp-mode lisp-mode prog-mode register page menu-bar
rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock
syntax facemenu font-core term/tty-colors frame cl-generic cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european
ethiopic indian cyrillic chinese composite charscript charprop
case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer
cl-preloaded nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote threads dbusbind
inotify dynamic-setting system-font-setting font-render-setting
move-toolbar gtk x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 152599 8435)
 (symbols 48 25475 1)
 (miscs 40 108 149)
 (strings 32 45705 1601)
 (string-bytes 1 1278319)
 (vectors 16 23222)
 (vector-slots 8 653535 11456)
 (floats 8 60 85)
 (intervals 56 680 0)
 (buffers 992 15))

Regards