bug#81547: 31.0.90; Defcustom's docstring does not mention new `BUFFER-LOCAL' optional argument for :set function
Antonio Romano <[email protected]> Mon, 03 Aug 2026 21:25:47 +0000
| Newsgroups | gmane.emacs.bugs |
|---|---|
| Message-ID | <[email protected]> |
According to NEWS: --- ** New macro 'setopt-local'. This is the buffer-local version of 'setopt' for user options rather than plain variables and uses 'custom-set'/'set-local' to set variable values. A new argument, BUFFER-LOCAL, is passed to 'custom-set' functions to indicate the buffer-local context. --- However, this is currently `defcustom' docstring regarding `:set': --- :set VALUE should be a function to set the value of the symbol when using the Customize user interface. It takes two arguments, the symbol to set and the value to give it. The function should not modify its value argument destructively. The default choice of function is `set-default-toplevel-value'. If this keyword is defined, modifying the value of SYMBOL via `setopt' will call the function specified by VALUE to install the new value. --- When it now takes two arguments plus an optional argument called BUFFER-LOCAL that is non-nil when the value is set through `setopt-local'. In GNU Emacs 31.0.90 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.52, cairo version 1.18.4) of 2026-07-01 built on X13 Repository revision: 5dd8fe25c23944cb8ac97d2d54b946c6a394d0fb Repository branch: emacs-31 System Description: GNOME 50 (Flatpak runtime) Configured using: 'configure --prefix=/app --with-gnutls --with-tree-sitter --with-pgtk --with-native-compilation=aot --with-modules 'CFLAGS=-O2 -pipe -g -Wp,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' 'LDFLAGS=-L/app/lib -Wl,-z,relro,-z,now -Wl,--as-needed '' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG LCMS2 LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM GTK3 ZLIB Important settings: value of $LC_MONETARY: it_IT.UTF-8 value of $LC_NUMERIC: it_IT.UTF-8 value of $LC_TIME: it_IT.UTF-8 value of $LANG: en_US.UTF-8 value of $XMODIFIERS: @im=ibus locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: runbox-maode: t corfu-mode: t gcmh-mode: t ligature-mode: t electric-pair-mode: t whitespace-page-delimiters-mode: t whitespace-mode: t flyspell-mode: t display-line-numbers-mode: t diff-hl-flydiff-mode: t diff-hl-margin-local-mode: t diff-hl-margin-mode: t diff-hl-show-hunk-mouse-mode: t diff-hl-mode: t hl-line-mode: t xref-mouse-mode: t flymake-mode: t override-global-mode: t which-key-mode: t savehist-mode: t save-place-mode: t repeat-mode: t recentf-mode: t pixel-scroll-precision-mode: t minibuffer-electric-default-mode: t marginalia-mode: t global-so-long-mode: t global-auto-revert-mode: t delete-selection-mode: t auto-insert-mode: t package-autosuggest-mode: t server-mode: t 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 global-prettify-symbols-mode: t prettify-symbols-mode: t file-name-shadow-mode: t horizontal-scroll-bar-mode: t mouse-shift-adjust-mode: t context-menu-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t window-divider-mode: t minibuffer-nonselected-mode: t minibuffer-regexp-mode: t line-number-mode: t visual-line-mode: t transient-mark-mode: t delete-trailing-whitespace-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t temp-buffer-resize-mode: t hs-minor-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message yank-media puny rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util mm-decode mm-bodies mm-encode mailabbrev gmm-utils mailheader sendmail mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils backline outline-minor-faces mixed-pitch emacs-news-mode cus-dep cus-theme tabify corfu mode-local xscheme scheme misearch multi-isearch vc-git char-fold pulse face-remap color consult-xref consult bookmark view jka-compr disass disp-table thai-util thai-word cl-print novice noutline outline dired-aux secrets runbox runbox-tramp-prefix runbox-locals send-to elisp-scope shortdoc shortdoc-doc help-fns cursor-sensor gcmh checkdoc ligature elec-pair whitespace flyspell ispell display-line-numbers diff-hl-flydiff diff-hl-margin diff-hl-dired dired dired-loaddefs diff-hl-show-hunk diff-hl log-view log-edit add-log pcvs-util vc-dir vc vc-dispatcher hl-line hideshow init eglot external-completion jsonrpc xref flymake thingatpt diff diff-mode track-changes ert ewoc debug backtrace find-func imenu tramp-sh edmacro kmacro bind-key easy-mmode which-key treesit tramp-container tramp-cmds savehist saveplace repeat recentf tree-widget project pixel-scroll minibuf-eldef marginalia so-long autorevert filenotify delsel libadwaita-theme orderless compat color-scheme-sync dbus xml autoinsert misc-defs doom-lib benchmark-init comp comp-cstr warnings .user-lisp-autoloads pcase tramp-cache time-stamp tramp trampver tramp-integration files-x tramp-message tramp-compat shell pcomplete parse-time iso8601 time-date format-spec tramp-loaddefs byte-opt compile text-property-search comint ansi-osc ansi-color ring comp-run comp-common rx loaddefs-gen lisp-mnt radix-tree bytecomp byte-compile early-init finder-inf info advice-patch-autoloads adwaita-dark-theme-autoloads auctex-autoloads tex-site auto-dim-other-buffers-autoloads auto-scroll-bar-autoloads backline-autoloads benchmark-init-el-autoloads breadcrumb-autoloads buffer-env-autoloads buffer-to-pdf-autoloads cape-autoloads cdlatex-autoloads colorful-mode-autoloads corfu-autoloads corg.el-autoloads crux-autoloads custom-css-autoloads diff-hl-autoloads eat-autoloads eglot-jdtls-autoloads cl-extra help-mode dape-autoloads elenv-autoloads embark-consult-autoloads consult-autoloads embark-autoloads engrave-faces-autoloads gcmh-autoloads haskell-mode-autoloads helpful-autoloads elisp-refs-autoloads indent-bars-autoloads keycast-autoloads ligature-autoloads list-utils-autoloads magit-autoloads magit-section-autoloads llama-autoloads cond-let-autoloads marginalia-autoloads material-icon-autoloads math-delimiters-autoloads math-symbols-autoloads mixed-pitch-autoloads modern-fringes-autoloads msgu-autoloads nix-ts-mode-autoloads nov-autoloads olivetti-autoloads on-demand-scroll-bar-autoloads orderless-autoloads org-appear-autoloads org-download-autoloads async-autoloads org-link-completion-autoloads org-modern-autoloads org-ql-autoloads f-autoloads org-rnote-autoloads org-special-block-extras-autoloads lolcat-autoloads dad-joke-autoloads lf-autoloads org-super-agenda-autoloads ht-autoloads org-xopp-autoloads outline-minor-faces-autoloads ov-autoloads project-x-autoloads rainbow-delimiters-autoloads rainbow-mode-autoloads solaire-mode-autoloads ts-autoloads s-autoloads vala-mode-autoloads cc-styles cc-align cc-engine cc-vars cc-defs vundo-autoloads windresize-autoloads with-editor-autoloads xeft-autoloads xr-autoloads xref-union-autoloads yascroll-autoloads yasnippet-autoloads zone-nyan-autoloads esxml-autoloads zone-rainbow-autoloads zone-select-autoloads dash-autoloads zone-sl-autoloads package browse-url xdg url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs gv password-cache json subr-x mule-util map url-vars package-activate cus-edit pp cus-start cus-load icons wid-edit cl-loaddefs cl-lib server rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/pgtk-win pgtk-win term/common-win touch-screen pgtk-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 theme-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 dynamic-setting system-font-setting font-render-setting cairo gtk pgtk lcms2 multi-tty move-toolbar make-network-process tty-child-frames native-compile emacs) Memory information: ((conses 16 986383 2270401) (symbols 48 35286 46) (strings 32 210035 68345) (string-bytes 1 8254434) (vectors 16 61815) (vector-slots 8 1443344 920076) (floats 8 487 29717) (intervals 56 34709 5360) (buffers 1064 50))