Package: emacs;
Reported by: Taku Tekato <takutekato2 <at> gmail.com>
Date: Sun, 1 May 2022 20:55:01 UTC
Severity: normal
Found in version 29.0.50
Fixed in version 29.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 55213 in the body.
You can then email your comments to 55213 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
bug-gnu-emacs <at> gnu.org
:bug#55213
; Package emacs
.
(Sun, 01 May 2022 20:55:02 GMT) Full text and rfc822 format available.Taku Tekato <takutekato2 <at> gmail.com>
:bug-gnu-emacs <at> gnu.org
.
(Sun, 01 May 2022 20:55:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Taku Tekato <takutekato2 <at> gmail.com> To: bug-gnu-emacs <at> gnu.org Subject: 29.0.50; define-minor-mode/easy-mmode--mode-docstring doesn't handle empty DOC ("") Date: Mon, 2 May 2022 01:28:00 +0700
easy-mmode--mode-docstring now calls `string-lines` on DOC and processes by poping lines from the result. Therefore the error `(wrong-type-argument char-or-string-p nil)` breaks various packages who define minor modes with empty docstrings. In GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.33, cairo version 1.17.6) of 2022-05-01 built on c18 Repository revision: 7c8bec9e1ffe087918f6f218fc4560fc968aebb2 Repository branch: master System Description: Arch Linux Configured using: 'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib --localstatedir=/var --mandir=/usr/share/man --with-gameuser=:games --with-sound=alsa --with-modules --without-libotf --without-m17n-flt --without-gconf --without-gsettings --with-native-compilation --with-xinput2 --with-pgtk --without-xaw3d --with-sound=alsa --with-xwidgets --without-compress-install '--program-transform-name=s/\([ec]tags\)/\1.emacs/' 'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection' LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM HARFBUZZ JPEG JSON LCMS2 LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS WEBP XIM XWIDGETS GTK3 ZLIB Important settings: value of $LC_CTYPE: en_GB.UTF-8 value of $LANG: en_US.UTF-8 value of $XMODIFIERS: @im=fcitx locale-coding-system: utf-8-unix Major mode: Outline Minor modes in effect: global-evil-surround-mode: t evil-surround-mode: t eros-mode: t dap-tooltip-mode: t dap-ui-controls-mode: t dap-ui-mode: t flyspell-lazy-mode: t whitespace-mode: t vi-tilde-fringe-mode: t display-line-numbers-mode: t highlight-indent-guides-mode: t adaptive-wrap-prefix-mode: t +word-wrap-mode: t global-anzu-mode: t anzu-mode: t pixel-scroll-precision-mode: t diff-hl-margin-mode: t dired-async-mode: t git-gutter-mode: t treemacs-project-follow-mode: t global-tree-sitter-mode: t global-blamer-mode: t my-auto-sidebar-mode: t treemacs-filewatch-mode: t treemacs-follow-mode: t treemacs-git-mode: t treemacs-fringe-indicator-mode: t gdb-many-windows: t dap-mode: t projectile-mode: t minibuffer-depth-indicate-mode: t solaire-global-mode: t corfu-doc-mode: t corfu-indexed-mode: t global-corfu-mode: t corfu-mode: t bug-reference-mode: t yas-global-mode: t yas-minor-mode: t dtrt-indent-mode: t which-key-mode: t savehist-mode: t better-jumper-mode: t better-jumper-local-mode: t vertico-mouse-mode: t vertico-mode: t all-the-icons-completion-mode: t marginalia-mode: t evil-goggles-mode: t evil-snipe-override-mode: t evil-snipe-mode: t evil-snipe-override-local-mode: t evil-snipe-local-mode: t recentf-mode: t save-place-mode: t global-so-long-mode: t global-git-commit-mode: t text-scale-mode: t gcmh-mode: t global-hl-line-mode: t hl-line-mode: t winner-mode: t smartparens-global-mode: t smartparens-mode: t ws-butler-global-mode: t ws-butler-mode: t global-undo-fu-session-mode: t undo-fu-session-mode: t undo-fu-mode: t global-flycheck-mode: t flycheck-mode: t doom-modeline-mode: t nyan-mode: t minions-mode: t global-subword-mode: t subword-mode: t cua-mode: t key-chord-mode: t shell-dirtrack-mode: t evil-mode: t evil-local-mode: t windmove-mode: t +popup-mode: t override-global-mode: t my-puni-global-mode: t general-override-mode: t puni-mode: t my-outline-comment-global-mode: t my-global-auto-format-mode: t my-auto-format-mode: t my-minibuffer-input-history-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t file-name-shadow-mode: t context-menu-mode: t global-font-lock-mode: t font-lock-mode: t window-divider-mode: t undelete-frame-mode: t size-indication-mode: t column-number-mode: t line-number-mode: t visual-line-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Features: (shadow sort mail-extr emacsbug mm-archive url-cache define-word nxml-mode-expansions rng-nxml rng-valid rng-loc rng-uri rng-parse nxml-parse rng-match rng-dt rng-util rng-pttrn nxml-ns nxml-mode nxml-outln nxml-rap html-mode-expansions smartparens-html sgml-mode facemenu nxml-util nxml-enc xmltok elisp-def ert elisp-demos evil-collection-indent magit-extras overseer pkg-info epl my-emacs-utilities my-shell-functions evil-collection-help flycheck-cask evil-embrace evil-surround eros lispyville lispy hydra lispy-inline etags fileloop lispy-tags mode-local highlight-quoted rainbow-delimiters my-sticky-header my-outline-comment-mode hideshow lsp lsp-dart lsp-dart-commands lsp-dart-flutter-widget-guide lsp-dart-flutter-fringe-colors lsp-dart-flutter-colors lsp-dart-outline lsp-dart-code-lens lsp-dart-test-tree lsp-dart-test-output lsp-dart-test-support lsp-dart-dap lsp-dart-devtools lsp-dart-flutter-daemon lsp-dart-closing-labels lsp-dart-utils lsp-dart-protocol lsp-haskell lsp-pyright dap-gdb-lldb dap-utils dap-lldb ccls ccls-member-hierarchy ccls-inheritance-hierarchy ccls-call-hierarchy ccls-tree ccls-code-lens ccls-semantic-highlight ccls-common cc-mode-expansions smartparens-c cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs dap-mouse dap-ui lsp-treemacs lsp-treemacs-themes treemacs-magit treemacs-all-the-icons treemacs-projectile treemacs-evil treemacs treemacs-header-line treemacs-compatibility treemacs-mode treemacs-bookmarks treemacs-interface treemacs-extensions treemacs-mouse-interface treemacs-tags treemacs-persistence treemacs-filewatch-mode treemacs-faces treemacs-macros gdb-mi bindat gud bui bui-list bui-info bui-entry bui-core bui-history bui-button bui-utils lsp-lens dap-mode dap-launch posframe dap-overlays lsp-mode org-crypt evil-collection-view view org-eldoc embrace expand-region subword-mode-expansions text-mode-expansions the-org-mode-expansions er-basic-expansions expand-region-core expand-region-custom toc-org evil-org writegood-mode org-indent image-file image-converter oc-basic ol-bibtex bibtex my-goto-outline evil-collection-helpful helpful trace evil-collection-edebug edebug evil-collection-debug debug info-look evil-collection-info info evil-collection-elisp-refs elisp-refs dabbrev hippie-exp cape-keyword cape highlight-numbers parent-mode flyspell-lazy ispell flyspell conf-mode evil-collection-macrostep macrostep consult-xref embark-consult evil-collection-embark embark ffap goto-addr evil-collection-tabulated-list epkg-melpa epkg-gelpa epkg-utils epkg-list epkg-desc epkg compat-26 whitespace vi-tilde-fringe display-line-numbers highlight-indent-guides adaptive-wrap tramp-archive tramp-gvfs tramp-cache zeroconf dbus magit-gitflow magit-delta xterm-color tabify evil-collection-evil-mc evil-mc evil-mc-command-execute evil-mc-command-record evil-mc-cursor-make evil-mc-region evil-mc-cursor-state evil-mc-undo evil-mc-vars evil-mc-known-commands evil-mc-common jka-compr apheleia my-version-control-functions my-format evil-anzu anzu char-fold swiper evil-collection-ivy ivy ivy-faces ivy-overlay colir evil-collection-sh-script sh-script smie executable my-compiled-commands pixel-scroll hide-mode-line my-dired-functions diredfl diff-hl-margin diff-hl-dired evil-collection-diff-hl diff-hl evil-collection-log-view log-view evil-collection-vc-dir vc-dir all-the-icons-dired dired-async my-project-file-functions my-dired-count mwim my-commands puni my-config-evil vertico-directory ace-window avy my-other-window vc-hg vc-svn vc auto-minor-mode consult-flycheck evil-collection-consult consult-vertico consult mule-util git-gutter-fringe fringe-helper git-gutter evil-collection-vc-git vc-git vc-dispatcher treemacs-project-follow-mode treemacs-follow-mode treemacs-rendering treemacs-async treemacs-visuals treemacs-fringe-indicator treemacs-workspaces treemacs-dom treemacs-icons treemacs-themes treemacs-scope treemacs-core-utils treemacs-logging treemacs-customization pfuture tree-sitter-langs tree-sitter-langs-build tree-sitter-hl help-fns radix-tree cl-print backtrace tree-sitter tree-sitter-load tree-sitter-cli tsc tsc-dyn tsc-dyn-get dired-aux tsc-obsolete blamer lsp-protocol evil-collection-xref xref project spinner network-stream lv inline ewoc my-config-minibuffer my-completion-style cursor-sensor vertico-repeat projectile ibuf-ext evil-collection-ibuffer ibuffer ibuffer-loaddefs mb-depth doom-themes-ext-treemacs doom-themes-ext-org solaire-mode doom-dracula-theme doom-themes doom-themes-base corfu-doc kind-icon svg-lib corfu-indexed corfu desktop frameset org-capture org-agenda evil-collection-magit-todos magit-todos pcre2el rxt re-builder hl-todo async evil-collection-grep grep evil-collection-org smartparens-org org-yt org-element org-persist xdg org-id org-refile avl-tree org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-src ob-comint org-pcomplete org-list org-faces org-entities org-version ob-emacs-lisp ob-core ob-eval org-table ol org-keys oc org-compat org-macs org-loaddefs evil-collection-calendar cal-menu calendar cal-loaddefs code-review code-review-actions code-review-comment code-review-section code-review-bitbucket code-review-faces shr pixel-fill kinsoku url-file url-dired svg xml dom emojify evil-collection-apropos apropos evil-collection-tar-mode tar-mode evil-collection-arc-mode arc-mode archive-mode ht code-review-gitlab code-review-utils evil-collection-forge forge-list forge-commands forge-semi forge-bitbucket buck forge-gogs gogs forge-gitea gtea forge-gitlab glab forge-github forge-notify forge-revnote forge-pullreq forge-issue forge-topic yaml bug-reference forge-post smartparens-markdown evil-collection-markdown-mode markdown-mode edit-indirect noutline outline forge-repo forge forge-core forge-db code-review-parse-hunk code-review-github code-review-db uuidgen calc-misc calc-ext a code-review-interfaces deferred ghub-graphql treepy gsexp ghub gnutls closql emacsql-sqlite emacsql emacsql-compiler url-http url-auth url-gw nsm evil-collection-magit magit-bookmark magit-autoloads magit-submodule magit-obsolete magit-popup magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit magit-sequence magit-notes magit-worktree magit-tag magit-merge magit-branch magit-reset magit-files magit-refs magit-status magit magit-repos magit-apply magit-wip magit-log which-func magit-diff smerge-mode diff evil-collection-diff-mode diff-mode magit-core magit-autorevert autorevert filenotify magit-margin magit-transient magit-process yasnippet-snippets doom-snippets doom-snippets-lib yasnippet evil-collection-elisp-mode elisp-mode dtrt-indent evil-collection-which-key which-key savehist better-jumper vertico-mouse evil-collection-vertico vertico orderless all-the-icons-completion marginalia evil-goggles pulse evil-easymotion evil-snipe recentf tree-widget saveplace so-long git-commit with-editor evil-collection-vterm vterm evil-collection-bookmark bookmark tramp tramp-loaddefs trampver tramp-integration cus-start files-x tramp-compat parse-time iso8601 ls-lisp face-remap evil-collection-compile compile color vterm-module term/xterm xterm evil-collection-term term disp-table ehelp esh-help evil-collection-man man em-unix eshell-z em-dirs esh-var evil-collection-eshell em-prompt eshell-did-you-mean esh-mode eshell esh-cmd generator esh-ext esh-opt esh-proc esh-io esh-arg esh-module esh-groups esh-util server evil-collection-log-edit log-edit message sendmail yank-media rmc puny evil-collection-dired dired dired-loaddefs rfc822 mml mml-sec evil-collection-epa epa epg rfc6068 epg-config gnus-util text-property-search time-date mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log magit-mode transient magit-git magit-base magit-section format-spec crm gcmh hl-line winner smartparens-config smartparens-text smartparens ws-butler undo-fu-session undo-fu flycheck-package package-lint evil-collection-imenu imenu evil-collection-finder finder finder-inf lisp-mnt evil-collection-package-menu core-packages package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util mailcap url-handlers url-parse auth-source eieio eieio-core eieio-loaddefs password-cache url-vars evil-collection-flycheck evil-collection-custom evil-collection-comint evil-collection annalist flycheck json map find-func doom-modeline doom-modeline-segments doom-modeline-env doom-modeline-core shrink-path all-the-icons all-the-icons-faces data-material data-weathericons data-octicons data-fileicons data-faicons data-alltheicons my-custom my-config nyan-mode minions compat cap-words superword subword two-column cus-edit cus-load wid-edit delsel cua-base key-chord smartparens-lua smartparens-elixir let-alist evil evil-integration evil-maps evil-commands reveal evil-jumps evil-command-window evil-search shell pcomplete comint ansi-color evil-types evil-macros evil-repeat evil-states evil-core advice evil-common windmove calc calc-loaddefs calc-macs thingatpt rect evil-digraphs evil-vars ring edmacro kmacro derived use-package-bind-key bind-key my-config-functions my-init my-core-functions 00-my-core-macros f s dash my-lib-man my-early-init core-editor core-projects core-ui easy-mmode core-keybinds pp general use-package-core core-modules realgud-recursive-autoloads core comp comp-cstr warnings rx cl-seq cl-extra help-mode seq subr-x byte-opt bytecomp byte-compile cconv core-lib pcase cl-macs gv cl-loaddefs cl-lib chemacs iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/pgtk-win pgtk-win term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice simple cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads xwidget-internal dbusbind inotify dynamic-setting font-render-setting cairo gtk pgtk lcms2 multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 2786955 456492) (symbols 48 101734 1) (strings 32 553345 55247) (string-bytes 1 14325932) (vectors 16 212292) (vector-slots 8 5229181 233117) (floats 8 18440 3051) (intervals 56 136690 51300) (buffers 992 51))
bug-gnu-emacs <at> gnu.org
:bug#55213
; Package emacs
.
(Sun, 01 May 2022 21:03:01 GMT) Full text and rfc822 format available.Message #8 received at 55213 <at> debbugs.gnu.org (full text, mbox):
From: Lars Ingebrigtsen <larsi <at> gnus.org> To: Taku Tekato <takutekato2 <at> gmail.com> Cc: 55213 <at> debbugs.gnu.org Subject: Re: bug#55213: 29.0.50; define-minor-mode/easy-mmode--mode-docstring doesn't handle empty DOC ("") Date: Sun, 01 May 2022 23:02:14 +0200
Taku Tekato <takutekato2 <at> gmail.com> writes: > easy-mmode--mode-docstring now calls `string-lines` on DOC and processes > by poping lines from the result. > > Therefore the error `(wrong-type-argument char-or-string-p nil)` breaks > various packages who define minor modes with empty docstrings. easy-mmode--mode-docstring does: ;; Compose a new doc string. (with-temp-buffer (let ((lines (if doc (string-lines doc) (list (format "Toggle %s on or off." mode-pretty-name))))) Perhaps you have some old .elc files lying around? Try saying "make bootstrap". -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no
bug-gnu-emacs <at> gnu.org
:bug#55213
; Package emacs
.
(Sun, 01 May 2022 21:07:02 GMT) Full text and rfc822 format available.Message #11 received at 55213 <at> debbugs.gnu.org (full text, mbox):
From: Lars Ingebrigtsen <larsi <at> gnus.org> To: Taku Tekato <takutekato2 <at> gmail.com> Cc: 55213 <at> debbugs.gnu.org Subject: Re: bug#55213: 29.0.50; define-minor-mode/easy-mmode--mode-docstring doesn't handle empty DOC ("") Date: Sun, 01 May 2022 23:05:52 +0200
Lars Ingebrigtsen <larsi <at> gnus.org> writes: >> Therefore the error `(wrong-type-argument char-or-string-p nil)` breaks >> various packages who define minor modes with empty docstrings. Oh, sorry -- empty as in "", not as in nil? Yes, I can reproduce that error -- I've fixed it now in Emacs 29. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no
Lars Ingebrigtsen <larsi <at> gnus.org>
to control <at> debbugs.gnu.org
.
(Sun, 01 May 2022 21:07:02 GMT) Full text and rfc822 format available.Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Mon, 30 May 2022 11:24:05 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.