Subject: 27.0.50; (wrong-type-argument stringp (require . elec-pair)) with describe-function (and other commands)

From: Xdkkz Lpwjd <[email-masked]>
Date: Wed, 12 Aug 2020 12:35:45 +0800

Here's what I get:

Case 1:
Debugger entered--Lisp error: (wrong-type-argument stringp (require . info))
  signal(wrong-type-argument (stringp (require . info)))
  #f(compiled-function (status) #<bytecode 0x1ff5ee3d21c5>)((:peer
(:certificates ...)))
  apply(#f(compiled-function (status) #<bytecode 0x1ff5ee3d21c5>) (:peer
(:certificates ((...)))))
  url-http-activate-callback()
  url-http-content-length-after-change-function(1543607 1543959 352)
  url-http-generic-filter(#<process melpa.org> "20190713 1344) ((emacs (24
4)) (cl-lib (0 5)) (avy...")

Case 2:
Debugger entered--Lisp error: (wrong-type-argument stringp (require . info))

string-match("\\(\\`\\|/\\)sendmail\\(\\.elc\\|\\.el\\|\\.so\\)?\\(\\.gz\\)?\\'"
(require . info))

load-history-filename-element("\\(\\`\\|/\\)sendmail\\(\\.elc\\|\\.el\\|\\.so\\)?\\(\\.gz\\)?\\'")
  eval-after-load("sendmail" #f(compiled-function () #<bytecode
0x1fe3afdb7e8d>))
  byte-code("\300\301\302\"\210\303\304!\207" [eval-after-load "sendmail"
#f(compiled-function () #<bytecode 0x1fe3afdb7e8d>) provide mailabbrev] 3)
  require(mailabbrev)

byte-code("\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\300\306!\210\300\307!\210\300\310!\210\300\311!\210\300\312!\210\300\313!\210\300\314!\210\300\315..."
[require cl-lib mailheader gmm-utils mail-utils mailabbrev mail-parse mml
rfc822 format-spec dired mm-util rfc2047 puny rmc autoload
mailclient-send-it "mailclient" custom-declare-group message
((user-mail-address custom-variable) (user-full-name custom-variable))
"Mail and news message composing." :link (custom-manual "(message)Top")
:group mail news message-various nil "Various Message Variables."
(custom-manual "(message)Various Message Variables") message-buffers
"Message Buffers." (custom-manual "(message)Message Buffers")
message-sending "Message Sending." (custom-manual "(message)Sending
Variables") message-interface "Message Interface." (custom-manual
"(message)Interface") message-forwarding "Message Forwarding."
(custom-manual "(message)Forwarding") message-insertion "Message
Insertion." (custom-manual "(message)Insertion") message-headers "Message
Headers." (custom-manual "(message)Message Headers") message-news ...] 14)
  require(message)

byte-code("\300\301!\210\300\302!\210\300\303!\210\300\304!\210\305\306\307\310\311\312\311\313\314\315\316\317&\13\207"
[require add-log pcvs-util ring message custom-declare-group log-edit nil
"Major mode for editing RCS and CVS commit messages..." :group pcl-cvs vc
:version "21.1" :prefix "log-edit-"] 12)
  require(log-edit)

byte-code("\300\301!\210\300\302!\210\300\303\304\305#\210\300\306\304\305#\210\300\307!\210\300\310!\210\300\311!\210\300\312!\210\313\314\304\315\316\317\320\321\322\323&\11\210\324..."
[require dash log-edit magit-git nil t magit-utils ring server transient
with-editor custom-declare-group git-commit "Edit Git commit messages."
:prefix "git-commit-" :link (info-link "(magit)Editing Commit Messages")
:group tools custom-declare-variable global-git-commit-mode funcall
function #f(compiled-function () #<bytecode 0x1fe3b126f625>) "Non-nil if
Global Git-Commit mode is enabled.\nSee ..." :set custom-set-minor-mode
:initialize #f(compiled-function (symbol exp) #<bytecode 0x1fe3b1241291>)
:type boolean] 12)
  require(git-commit)

byte-code("\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\300\306!\210\300\307!\210\300\310!\210\300\311!\210\300\312!\210\300\313!\210\300\314!\210\300\315..."
[require cl-lib dash subr-x with-editor git-commit magit-core magit-diff
magit-log magit-wip magit-apply magit-repos format-spec package nil t] 4)
  require(magit)

byte-code("\301\302!\210\303\304\305\306\307\310\311\312&\7\210\313\314\315\316\317DD\320\311\304\321\322&\7\210\313\323\315\316\324DD\325\326\327\311\304\321\322\330\331&\13\210\313..."
[magit-log-margin--custom-type require magit custom-declare-group
magit-status nil "Inspect and manipulate Git repositories." :link
(info-link "(magit)Status Buffer") :group magit-modes
custom-declare-variable magit-status-mode-hook funcall function
#f(compiled-function () #<bytecode 0x1fe3b01f0695>) "Hook run after
entering Magit-Status mode." :type hook magit-status-headers-hook
#f(compiled-function () #<bytecode 0x1fe3b01f06a1>) "Hook run to insert
headers into the status buffer...." :package-version (magit . "2.1.0")
:options (magit-insert-error-header magit-insert-diff-filter-header
magit-insert-repo-header magit-insert-remote-header
magit-insert-head-branch-header magit-insert-upstream-branch-header
magit-insert-push-branch-header magit-insert-tags-header)
magit-status-sections-hook #f(compiled-function () #<bytecode
0x1fe3b01f06ad>) "Hook run to insert sections into a status buffer." (magit
. "2.12.0") magit-status-initial-section #f(compiled-function () #<bytecode
0x1fe3b01f06b9>) "The section point is placed on when a status buffe..."
(magit . "2.90.0") (choice (const :tag "as usual" nil) (repeat (choice
(number :tag "nth top-level section") (sexp :tag "section identity"))))
magit-status-goto-file-position #f(compiled-function () #<bytecode
0x1fe3b00fff8d>) "Whether to go to position corresponding to file po..."
(magit . "3.0.0") boolean magit-status-show-hashes-in-headers
#f(compiled-function () #<bytecode 0x1fe3b00fff99>) "Whether headers in the
status buffer show hashes.\n..." (magit . "2.4.0") magit-status-margin
#f(compiled-function () #<bytecode 0x1fe3b00fffb1>) "Format of the margin
in `magit-status-mode' buffer..." (magit . "2.9.0") magit-margin
:initialize ...] 20)
  autoload-do-load((autoload "magit-status" "Show the status of the current
Git repository in a..." t nil) magit-status)
  command-execute(magit-status)

Case 3:
Debugger entered--Lisp error: (wrong-type-argument stringp (require .
finder-inf))

string-match("\\(\\`\\|/\\)imenu\\(\\.elc\\|\\.el\\|\\.so\\)?\\(\\.gz\\)?\\'"
(require . finder-inf))

load-history-filename-element("\\(\\`\\|/\\)imenu\\(\\.elc\\|\\.el\\|\\.so\\)?\\(\\.gz\\)?\\'")
  eval-after-load("imenu" #f(compiled-function () #<bytecode
0x1fff245b3b69>))
  require(org-compat)

byte-code("\302\303!\210\302\304!\210\302\305!\210\302\306!\210\10\307=\204:\0\3101)\0\311\312\11!\313P\314\315\211\211%0\2029\0\210\316\317!\210\320\321!\210..."
[this-command load-file-name require cl-lib calendar find-func format-spec
eval-buffer (error) load file-name-directory "org-loaddefs.el" nil t
message "WARNING: No org-loaddefs.el file could be found fr..." sit-for 3
"You need to run \"make\" or \"make autoloads\" from Or..." org-macs
org-compat org-keys ol org-table] 6)
  autoload-do-load((autoload "org" "Outline-based notes management and
organizer, alia..." t nil) org-mode)
  command-execute(org-mode record)
  execute-extended-command(nil "org-mode" "org-mode")
  funcall-interactively(execute-extended-command nil "org-mode" "org-mode")
  call-interactively(execute-extended-command nil nil)
  command-execute(execute-extended-command)

The way to reproduce case 3:
1. cd && mkdir backup && mv .emacs .emacs.d backup
2. add following codes to ~/.emacs

(require 'package)
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
(package-initialize)

(provide '.emacs)

3. Open emacs

  > M-x package-list-packages

  After the package list was refreshed, install yasnippet & yasnippet-snippets

  > M-x package-install ENTER yasnippet ENTER

  > M-x package-install ENTER yasnippet-snippets ENTER

4. Delete package configration from ~/.emacs, only keep this line:
   (provide '.emacs)

5. Exit emacs

6. Delete folders, only keep yasnippet-20200604.246 &
yasnippet-snippets-20200802.1658
  $ rm -rf ~/.emacs.d/auto-save-list ~/.emacs.d/elpa/archives
~/.emacs.d/elpa/gnupg ~/.emacs.d/elpa/s-20180406.808

7. Now open emacs to edit a .org file:

  $ emacs

  > C-x C-f

  > Find file: ~/ex.org Enter

8. You can see the error in minibuffer:
  File mode specification error: (wrong-type-argument stringp (require
. finder-inf))

My emacs version: GNU Emacs 27.1 (build 1, x86_64-apple-darwin18.7.0,
NS appkit-1894.60 Version 10.15.6 (Build 19G73)) of 2020-08-12

alias emacs='/Applications/Emacs.app/Contents/MacOS/Emacs -nw'

Case 3 cannot be reproduced in Emacs v26.3

Thanks