Subject: 29.0.50; C-h k with native compilation not conclusive

From: Jean Louis <[email-masked]>
Date: Wed, 05 Oct 2022 22:26:20 +0300

I remember with byte compiling I was never lead to go into byte compiled
file when I was inspecting commands with C-h k

With native compilation, I do: C-h k and I get this:

v n runs the command cf-people-view-notes (found in
rcd-db-people-mode-map), which is an interactive native-compiled Lisp
function in
‘../eln-cache/29.0.50-44cd31c8/rcd-cf-a9476332-a313d4ff.eln’.

It is bound to v n.

(cf-people-view-notes &optional ID)

View notes for people ID.

However, what I really expect is that instead of byte compiled file,
that I am shown the source file, and that I become able to click on the
link to come to the function.

Instead if I click on the link:

‘../eln-cache/29.0.50-44cd31c8/rcd-cf-a9476332-a313d4ff.eln’.

I can just see error:

Debugger entered--Lisp error: (wrong-type-argument stringp nil)
  locate-file(nil ("/home/data1/protected/.emacs.d/elpa/hyperbole-8.0...." "/home/data1/protected/.emacs.d/elpa/hyperbole-8.0...." "~/Programming/git/emacs-libpq/" "~/Programming/git/emacs-libvterm" "/usr/locals/share/emacs/site-lisp" "/home/data1/protected/Programming/git/ledger-mode" "/home/data1/protected/Programming/emacs-lisp/my-sy..." "/home/data1/protected/Programming/emacs-lisp" "/home/data1/protected/.emacs.d/packages" "/home/data1/protected/Programming/git/racket-mode" "/home/data1/protected/.emacs.d/Drew Adams" "/usr/share/festival" "/home/data1/protected/.emacs.d/elpa/2048-game-2020..." "/home/data1/protected/.emacs.d/elpa/a-20210929.151..." "/home/data1/protected/.emacs.d/elpa/adoc-mode-2016..." "/home/data1/protected/.emacs.d/elpa/afternoon-them..." "/home/data1/protected/.emacs.d/elpa/aggressive-com..." "/home/data1/protected/.emacs.d/elpa/aggressive-ind..." "/home/data1/protected/.emacs.d/elpa/ahungry-theme-..." "/home/data1/protected/.emacs.d/elpa/aircon-theme-0..." "/home/data1/protected/.emacs.d/elpa/alect-themes-0..." "/home/data1/protected/.emacs.d/elpa/ample-theme-0...." "/home/data1/protected/.emacs.d/elpa/anaphora-20180..." "/home/data1/protected/.emacs.d/elpa/annotate-20210..." "/home/data1/protected/.emacs.d/elpa/annotation-202..." "/home/data1/protected/.emacs.d/elpa/apropospriate-..." "/home/data1/protected/.emacs.d/elpa/ascii-art-to-u..." "/home/data1/protected/.emacs.d/elpa/auctex-13.1.3/" "/home/data1/protected/.emacs.d/elpa/auctex-13.1.3" "/home/data1/protected/.emacs.d/elpa/bbdb-20200928...." "/home/data1/protected/.emacs.d/elpa/blimp-20180903..." "/home/data1/protected/.emacs.d/elpa/boxquote-2.2" "/home/data1/protected/.emacs.d/elpa/boxy-1.1.1" "/home/data1/protected/.emacs.d/elpa/buc-2.0.0" "/home/data1/protected/.emacs.d/elpa/captain-1.0.3" "/home/data1/protected/.emacs.d/elpa/company-0.9.13" "/home/data1/protected/.emacs.d/elpa/context-colori..." "/home/data1/protected/.emacs.d/elpa/corfu-0.26" "/home/data1/protected/.emacs.d/elpa/cpupower-1.0.5" "/home/data1/protected/.emacs.d/elpa/crdt-0.3.0" "/home/data1/protected/.emacs.d/elpa/csv-mode-1.21" "/home/data1/protected/.emacs.d/elpa/cyberpunk-them..." "/home/data1/protected/.emacs.d/elpa/dash-functiona..." "/home/data1/protected/.emacs.d/elpa/dictionary-202..." "/home/data1/protected/.emacs.d/elpa/connection-201..." "/home/data1/protected/.emacs.d/elpa/dired-du-0.5.2" "/home/data1/protected/.emacs.d/elpa/dired-launch-2..." "/home/data1/protected/.emacs.d/elpa/dired-rsync-20..." "/home/data1/protected/.emacs.d/elpa/dmenu-20190908..." "/home/data1/protected/.emacs.d/elpa/double-opt-in-..." ...) (".so" ".so.gz" ".el" ".el.gz"))
  find-library-name("/home/data1/protected/.emacs.d/eln-cache/29.0.50-4...")
  find-function-search-for-symbol(cf-people-view-notes nil "/home/data1/protected/.emacs.d/eln-cache/29.0.50-4...")
  help-function-def--button-function(cf-people-view-notes "/home/data1/protected/.emacs.d/eln-cache/29.0.50-4..." nil)
  help-do-xref(nil help-function-def--button-function (cf-people-view-notes "/home/data1/protected/.emacs.d/eln-cache/29.0.50-4..."))
  help-button-action(#<marker (moves after insertion) at 137 in *Help*>)
  button-activate(#<marker (moves after insertion) at 137 in *Help*> nil)
  push-button(137)
  funcall-interactively(push-button 137)
  command-execute(push-button)
  recursive-edit()
  (unwind-protect (recursive-edit) (if (get-buffer-window read-buffer) (progn (setq new-value (buffer-substring (point-min) (point-max))) (kill-buffer read-buffer))))
  (save-excursion (switch-to-buffer read-buffer) (erase-buffer) (set-buffer read-buffer) (if mode (if (fboundp mode) (funcall mode) (rcd-message "You need `%s' mode" (symbol-name mode))) (text-mode)) (while minor-modes (let ((minor-mode (car-safe (prog1 minor-modes (setq minor-modes ...))))) (if minor-mode (if (fboundp (intern minor-mode)) (funcall (intern minor-mode)) (rcd-message "You need `%s' minor mode" (symbol-name minor-mode)))))) (setq rcd-current-table table) (setq rcd-current-column column) (setq rcd-current-table-id table-id) (local-set-key (kbd "<f8>") 'exit-recursive-edit) (if keymap (progn (use-local-map keymap))) (if input-method (progn (set-input-method input-method))) (if rcd-word-processing (progn (rcd-word-processing))) (setq header-line-format (format "%s ➜ Finish editing with or C-M-c or F8" title)) (if (stringp value) (insert value)) (rcd-highlight-list highlight-list) (goto-char (or point (point-min))) (rcd-speak "You may quit the buffer with Meta Control C") (message "When you're done editing press C-M-c or F8 to cont...") (setq eval-expression-debug-on-error nil) (unwind-protect (recursive-edit) (if (get-buffer-window read-buffer) (progn (setq new-value (buffer-substring (point-min) (point-max))) (kill-buffer read-buffer)))) (setq eval-expression-debug-on-error t) (switch-to-buffer this-buffer) new-value)
  (let ((this-buffer (buffer-name)) (title (or title "")) (value (or value "")) (new-value value) (point (cond ((numberp place) place) ((listp place) (cdr (assoc "place" place))))) (table (if (listp place) (progn (cdr (assoc "table" place))))) (column (if (listp place) (progn (cdr (assoc "column" place))))) (table-id (if (listp place) (progn (cdr (assoc "table-id" place))))) (_ (message "EDIT %s" place)) (_ (message "%s" place)) (read-buffer (if buffer-name (generate-new-buffer buffer-name) (generate-new-buffer "*edit-string*")))) (save-excursion (switch-to-buffer read-buffer) (erase-buffer) (set-buffer read-buffer) (if mode (if (fboundp mode) (funcall mode) (rcd-message "You need `%s' mode" (symbol-name mode))) (text-mode)) (while minor-modes (let ((minor-mode (car-safe (prog1 minor-modes ...)))) (if minor-mode (if (fboundp (intern minor-mode)) (funcall (intern minor-mode)) (rcd-message "You need `%s' minor mode" (symbol-name minor-mode)))))) (setq rcd-current-table table) (setq rcd-current-column column) (setq rcd-current-table-id table-id) (local-set-key (kbd "<f8>") 'exit-recursive-edit) (if keymap (progn (use-local-map keymap))) (if input-method (progn (set-input-method input-method))) (if rcd-word-processing (progn (rcd-word-processing))) (setq header-line-format (format "%s ➜ Finish editing with or C-M-c or F8" title)) (if (stringp value) (insert value)) (rcd-highlight-list highlight-list) (goto-char (or point (point-min))) (rcd-speak "You may quit the buffer with Meta Control C") (message "When you're done editing press C-M-c or F8 to cont...") (setq eval-expression-debug-on-error nil) (unwind-protect (recursive-edit) (if (get-buffer-window read-buffer) (progn (setq new-value (buffer-substring (point-min) (point-max))) (kill-buffer read-buffer)))) (setq eval-expression-debug-on-error t) (switch-to-buffer this-buffer) new-value))
  read-from-buffer(";;; rcd-cf.el --- CF or Central Files functions fo..." "vc_value ID 37799" text-mode nil nil (("table" . "vc") ("column" . "vc_value") ("table-id" . 37799) ("place" . 0)))
  rcd-db-edit-entry("vc" "vc_value" 37799)
  rcd-db-tabulated-edit-value()
  funcall-interactively(rcd-db-tabulated-edit-value)
  command-execute(rcd-db-tabulated-edit-value)
  recursive-edit()
  (unwind-protect (recursive-edit) (if (get-buffer-window read-buffer) (progn (setq new-value (buffer-substring (point-min) (point-max))) (kill-buffer read-buffer))))
  (save-excursion (switch-to-buffer read-buffer) (erase-buffer) (set-buffer read-buffer) (if mode (if (fboundp mode) (funcall mode) (rcd-message "You need `%s' mode" (symbol-name mode))) (text-mode)) (while minor-modes (let ((minor-mode (car-safe (prog1 minor-modes (setq minor-modes ...))))) (if minor-mode (if (fboundp (intern minor-mode)) (funcall (intern minor-mode)) (rcd-message "You need `%s' minor mode" (symbol-name minor-mode)))))) (setq rcd-current-table table) (setq rcd-current-column column) (setq rcd-current-table-id table-id) (local-set-key (kbd "<f8>") 'exit-recursive-edit) (if keymap (progn (use-local-map keymap))) (if input-method (progn (set-input-method input-method))) (if rcd-word-processing (progn (rcd-word-processing))) (setq header-line-format (format "%s ➜ Finish editing with or C-M-c or F8" title)) (if (stringp value) (insert value)) (rcd-highlight-list highlight-list) (goto-char (or point (point-min))) (rcd-speak "You may quit the buffer with Meta Control C") (message "When you're done editing press C-M-c or F8 to cont...") (setq eval-expression-debug-on-error nil) (unwind-protect (recursive-edit) (if (get-buffer-window read-buffer) (progn (setq new-value (buffer-substring (point-min) (point-max))) (kill-buffer read-buffer)))) (setq eval-expression-debug-on-error t) (switch-to-buffer this-buffer) new-value)
  (let ((this-buffer (buffer-name)) (title (or title "")) (value (or value "")) (new-value value) (point (cond ((numberp place) place) ((listp place) (cdr (assoc "place" place))))) (table (if (listp place) (progn (cdr (assoc "table" place))))) (column (if (listp place) (progn (cdr (assoc "column" place))))) (table-id (if (listp place) (progn (cdr (assoc "table-id" place))))) (_ (message "EDIT %s" place)) (_ (message "%s" place)) (read-buffer (if buffer-name (generate-new-buffer buffer-name) (generate-new-buffer "*edit-string*")))) (save-excursion (switch-to-buffer read-buffer) (erase-buffer) (set-buffer read-buffer) (if mode (if (fboundp mode) (funcall mode) (rcd-message "You need `%s' mode" (symbol-name mode))) (text-mode)) (while minor-modes (let ((minor-mode (car-safe (prog1 minor-modes ...)))) (if minor-mode (if (fboundp (intern minor-mode)) (funcall (intern minor-mode)) (rcd-message "You need `%s' minor mode" (symbol-name minor-mode)))))) (setq rcd-current-table table) (setq rcd-current-column column) (setq rcd-current-table-id table-id) (local-set-key (kbd "<f8>") 'exit-recursive-edit) (if keymap (progn (use-local-map keymap))) (if input-method (progn (set-input-method input-method))) (if rcd-word-processing (progn (rcd-word-processing))) (setq header-line-format (format "%s ➜ Finish editing with or C-M-c or F8" title)) (if (stringp value) (insert value)) (rcd-highlight-list highlight-list) (goto-char (or point (point-min))) (rcd-speak "You may quit the buffer with Meta Control C") (message "When you're done editing press C-M-c or F8 to cont...") (setq eval-expression-debug-on-error nil) (unwind-protect (recursive-edit) (if (get-buffer-window read-buffer) (progn (setq new-value (buffer-substring (point-min) (point-max))) (kill-buffer read-buffer)))) (setq eval-expression-debug-on-error t) (switch-to-buffer this-buffer) new-value))
  read-from-buffer(";;; rcd-cf.el --- CF or Central Files functions fo..." "vc_value ID 81784" text-mode nil nil (("table" . "vc") ("column" . "vc_value") ("table-id" . 81784) ("place" . 0)))
  rcd-db-edit-entry("vc" "vc_value" 81784)
  rcd-db-tabulated-edit-value()
  funcall-interactively(rcd-db-tabulated-edit-value)
  command-execute(rcd-db-tabulated-edit-value)

In GNU Emacs 29.0.50 (build 3, x86_64-pc-linux-gnu, X toolkit, cairo
 version 1.17.6, Xaw3d scroll bars) of 2022-10-05 built on
 protected.rcdrun.com
Repository revision: 9449e0740cd97bbcdbaeb4713dc2dd51e65994fd
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101004
System Description: Parabola GNU/Linux-libre

Configured using:
 'configure --with-x-toolkit=lucid --with-native-compilation'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBOTF LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY
INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS WEBP X11 XAW3D XDBE XIM XINPUT2 XPM LUCID ZLIB

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

Major mode: Lisp Interaction

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

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message mailcap yank-media puny dired
dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068
epg-config gnus-util text-property-search time-date mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader cl-loaddefs
comp comp-cstr warnings icons subr-x rx cl-seq cl-macs gv cl-extra
help-mode bytecomp byte-compile cconv cl-lib sendmail rfc2047 rfc2045
ietf-drums mm-util mail-prsvr mail-utils rmc 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 nadvice seq simple cl-generic
indonesian philippine cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs
faces cus-face macroexp files window text-properties overlay sha1 md5
base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads dbusbind inotify lcms2
dynamic-setting system-font-setting font-render-setting cairo x-toolkit
xinput2 x multi-tty make-network-process native-compile emacs)

Memory information:
((conses 16 79577 9313)
 (symbols 48 7181 0)
 (strings 32 20692 1256)
 (string-bytes 1 616498)
 (vectors 16 16108)
 (vector-slots 8 280250 10874)
 (floats 8 29 30)
 (intervals 56 257 0)
 (buffers 1000 12))

-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

In support of Richard M. Stallman
https://stallmansupport.org/