unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#48531: Error on `Apply and Save` when using customize
@ 2021-05-20  4:34 Mikhail P
  2021-05-20 10:11 ` Mauro Aranda
  0 siblings, 1 reply; 4+ messages in thread
From: Mikhail P @ 2021-05-20  4:34 UTC (permalink / raw)
  To: 48531


[-- Attachment #1.1: Type: text/plain, Size: 4219 bytes --]

Greetings!

I started to see problems with customizing anything using M-x customize.

When I change something and then press |Apply and Save| I get an error. 
Attached is what I got in the trace when applying and saving 
|debug-on-error| .

Unfortunately I could not reproduce it with -Q because the feature 
|Apply and Save| becomes unavailable. However I could reproduce it 
without any .emacs file.

Below is what |report-emacs-bug| has generated. Thanks for any help.

-Mikhail

In GNU Emacs 27.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.22, 
cairo version 1.17.3)
  of 2020-08-29 built on juergen
Windowing system distributor 'The X.Org Foundation', version 11.0.12010000
System Description: Arch Linux

Recent messages:
Creating customization items ...78%
Loading url-util...done
Creating customization items ...done
Creating customization setup...done
To install your edits, invoke [State] and choose the Set operation
(New file)
Saving file /home/mikpom/.emacs...
Wrote /home/mikpom/.emacs
Entering debugger...
Making completion list... [4 times]

Configured using:
  'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
  --localstatedir=/var --with-x-toolkit=gtk3 --with-xft --with-wide-int
  --with-modules --with-cairo --with-harfbuzz 'CFLAGS=-march=x86-64
  -mtune=generic -O2 -pipe -fno-plt' CPPFLAGS=-D_FORTIFY_SOURCE=2
  LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'

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

Important settings:
   value of $LANG: en_US.UTF-8
   locale-coding-system: utf-8-unix

Major mode: Debugger

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 epg-config gnus-util
rmail rmail-loaddefs text-property-search time-date mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail
rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils help-fns
radix-tree cl-print debug url-util url-parse auth-source cl-seq eieio
eieio-core cl-macs eieio-loaddefs password-cache url-vars gdb-mi bindat
json subr-x map seq byte-opt gv bytecomp byte-compile cconv gud
easy-mmode comint ansi-color ring edebug backtrace help-mode find-func
apropos cus-edit easymenu cus-start cus-load wid-edit cl-loaddefs cl-lib
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 tab-bar menu-bar rfn-eshadow isearch
timer select scroll-bar mouse jit-lock font-lock syntax facemenu
font-core term/tty-colors frame minibuffer 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
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 lcms2 dynamic-setting system-font-setting font-render-setting
cairo move-toolbar gtk x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 110836 12650)
  (symbols 48 10470 1)
  (strings 32 28886 2083)
  (string-bytes 1 879796)
  (vectors 16 17077)
  (vector-slots 8 201036 11912)
  (floats 8 39 256)
  (intervals 56 1742 129)
  (buffers 1000 20))


[-- Attachment #1.2: Type: text/html, Size: 7339 bytes --]

[-- Attachment #2: trace --]
[-- Type: text/plain, Size: 9715 bytes --]

Debugger entered--Lisp error: (void-function nil)
  nil(nil)
  widget-apply(nil :value-get)
  widget-value(nil)
  custom-variable-modified-p((custom-variable :tag "Debug Ignored Errors" :value debug-ignored-errors :custom-form edit :custom-magic (custom-magic :args (nil) :parent #1 :indent 0 :children nil :from #<marker (moves after insertion) at 236 in *Customize Apropos*> :to #<marker at 236 in *Customize Apropos*> :buttons nil :value nil) :buttons ((documentation-string :args nil :value "List of errors for which the debugger should not b..." :indent 3 :visibility-widget custom-visibility :parent #1 :doc-overlay #<overlay from 236 to 299 in *Customize Apropos*> :buttons ((custom-visibility :args nil :value nil :help-echo "Show or hide rest of the documentation." :on "Hide" :off "More" :always-active t :action widget-parent-action :parent #13 :indent 3 :button-overlay #<overlay from 299 to 303 in *Customize Apropos*> :from #<marker (moves after insertion) at 299 in *Customize Apropos*> :to #<marker at 303 in *Customize Apropos*>)) :from #<marker (moves after insertion) at 236 in *Customize Apropos*> :to #<marker at 304 in *Customize Apropos*>) (custom-magic :args (nil) :parent #1 :indent 0 :children nil :from #<marker (moves after insertion) at 236 in *Customize Apropos*> :to #<marker at 236 in *Customize Apropos*> :buttons nil :value nil) (item :format "%{%t%} " :sample-face custom-variable-tag :tag "Debug Ignored Errors" :parent #1 :indent 0 :sample-overlay #<overlay from 214 to 234 in *Customize Apropos*> :from #<marker (moves after insertion) at 214 in *Customize Apropos*> :to #<marker at 235 in *Customize Apropos*>) (custom-visibility :args nil :value nil :help-echo "Show the value of this option." :on-glyph "down" :on "Hide" :off-glyph "right" :off "Show Value" :action custom-toggle-hide-variable :parent #1 :indent 0 :suppress-face t :button-overlay #<overlay from 203 to 213 in *Customize Apropos*> :from #<marker (moves after insertion) at 203 in *Customize Apropos*> :to #<marker at 213 in *Customize Apropos*>)) :documentation-indent 3 :children nil :custom-state hidden :from #<marker (moves after insertion) at 203 in *Customize Apropos*> :to #<marker at 304 in *Customize Apropos*>))
  custom-variable-state-set((custom-variable :tag "Debug Ignored Errors" :value debug-ignored-errors :custom-form edit :custom-magic (custom-magic :args (nil) :parent #1 :indent 0 :children nil :from #<marker (moves after insertion) at 236 in *Customize Apropos*> :to #<marker at 236 in *Customize Apropos*> :buttons nil :value nil) :buttons ((documentation-string :args nil :value "List of errors for which the debugger should not b..." :indent 3 :visibility-widget custom-visibility :parent #1 :doc-overlay #<overlay from 236 to 299 in *Customize Apropos*> :buttons ((custom-visibility :args nil :value nil :help-echo "Show or hide rest of the documentation." :on "Hide" :off "More" :always-active t :action widget-parent-action :parent #13 :indent 3 :button-overlay #<overlay from 299 to 303 in *Customize Apropos*> :from #<marker (moves after insertion) at 299 in *Customize Apropos*> :to #<marker at 303 in *Customize Apropos*>)) :from #<marker (moves after insertion) at 236 in *Customize Apropos*> :to #<marker at 304 in *Customize Apropos*>) (custom-magic :args (nil) :parent #1 :indent 0 :children nil :from #<marker (moves after insertion) at 236 in *Customize Apropos*> :to #<marker at 236 in *Customize Apropos*> :buttons nil :value nil) (item :format "%{%t%} " :sample-face custom-variable-tag :tag "Debug Ignored Errors" :parent #1 :indent 0 :sample-overlay #<overlay from 214 to 234 in *Customize Apropos*> :from #<marker (moves after insertion) at 214 in *Customize Apropos*> :to #<marker at 235 in *Customize Apropos*>) (custom-visibility :args nil :value nil :help-echo "Show the value of this option." :on-glyph "down" :on "Hide" :off-glyph "right" :off "Show Value" :action custom-toggle-hide-variable :parent #1 :indent 0 :suppress-face t :button-overlay #<overlay from 203 to 213 in *Customize Apropos*> :from #<marker (moves after insertion) at 203 in *Customize Apropos*> :to #<marker at 213 in *Customize Apropos*>)) :documentation-indent 3 :children nil :custom-state hidden :from #<marker (moves after insertion) at 203 in *Customize Apropos*> :to #<marker at 304 in *Customize Apropos*>))
  custom-variable-state-set-and-redraw((custom-variable :tag "Debug Ignored Errors" :value debug-ignored-errors :custom-form edit :custom-magic (custom-magic :args (nil) :parent #1 :indent 0 :children nil :from #<marker (moves after insertion) at 236 in *Customize Apropos*> :to #<marker at 236 in *Customize Apropos*> :buttons nil :value nil) :buttons ((documentation-string :args nil :value "List of errors for which the debugger should not b..." :indent 3 :visibility-widget custom-visibility :parent #1 :doc-overlay #<overlay from 236 to 299 in *Customize Apropos*> :buttons ((custom-visibility :args nil :value nil :help-echo "Show or hide rest of the documentation." :on "Hide" :off "More" :always-active t :action widget-parent-action :parent #13 :indent 3 :button-overlay #<overlay from 299 to 303 in *Customize Apropos*> :from #<marker (moves after insertion) at 299 in *Customize Apropos*> :to #<marker at 303 in *Customize Apropos*>)) :from #<marker (moves after insertion) at 236 in *Customize Apropos*> :to #<marker at 304 in *Customize Apropos*>) (custom-magic :args (nil) :parent #1 :indent 0 :children nil :from #<marker (moves after insertion) at 236 in *Customize Apropos*> :to #<marker at 236 in *Customize Apropos*> :buttons nil :value nil) (item :format "%{%t%} " :sample-face custom-variable-tag :tag "Debug Ignored Errors" :parent #1 :indent 0 :sample-overlay #<overlay from 214 to 234 in *Customize Apropos*> :from #<marker (moves after insertion) at 214 in *Customize Apropos*> :to #<marker at 235 in *Customize Apropos*>) (custom-visibility :args nil :value nil :help-echo "Show the value of this option." :on-glyph "down" :on "Hide" :off-glyph "right" :off "Show Value" :action custom-toggle-hide-variable :parent #1 :indent 0 :suppress-face t :button-overlay #<overlay from 203 to 213 in *Customize Apropos*> :from #<marker (moves after insertion) at 203 in *Customize Apropos*> :to #<marker at 213 in *Customize Apropos*>)) :documentation-indent 3 :children nil :custom-state hidden :from #<marker (moves after insertion) at 203 in *Customize Apropos*> :to #<marker at 304 in *Customize Apropos*>))
  widget-apply((custom-variable :tag "Debug Ignored Errors" :value debug-ignored-errors :custom-form edit :custom-magic (custom-magic :args (nil) :parent #1 :indent 0 :children nil :from #<marker (moves after insertion) at 236 in *Customize Apropos*> :to #<marker at 236 in *Customize Apropos*> :buttons nil :value nil) :buttons ((documentation-string :args nil :value "List of errors for which the debugger should not b..." :indent 3 :visibility-widget custom-visibility :parent #1 :doc-overlay #<overlay from 236 to 299 in *Customize Apropos*> :buttons ((custom-visibility :args nil :value nil :help-echo "Show or hide rest of the documentation." :on "Hide" :off "More" :always-active t :action widget-parent-action :parent #13 :indent 3 :button-overlay #<overlay from 299 to 303 in *Customize Apropos*> :from #<marker (moves after insertion) at 299 in *Customize Apropos*> :to #<marker at 303 in *Customize Apropos*>)) :from #<marker (moves after insertion) at 236 in *Customize Apropos*> :to #<marker at 304 in *Customize Apropos*>) (custom-magic :args (nil) :parent #1 :indent 0 :children nil :from #<marker (moves after insertion) at 236 in *Customize Apropos*> :to #<marker at 236 in *Customize Apropos*> :buttons nil :value nil) (item :format "%{%t%} " :sample-face custom-variable-tag :tag "Debug Ignored Errors" :parent #1 :indent 0 :sample-overlay #<overlay from 214 to 234 in *Customize Apropos*> :from #<marker (moves after insertion) at 214 in *Customize Apropos*> :to #<marker at 235 in *Customize Apropos*>) (custom-visibility :args nil :value nil :help-echo "Show the value of this option." :on-glyph "down" :on "Hide" :off-glyph "right" :off "Show Value" :action custom-toggle-hide-variable :parent #1 :indent 0 :suppress-face t :button-overlay #<overlay from 203 to 213 in *Customize Apropos*> :from #<marker (moves after insertion) at 203 in *Customize Apropos*> :to #<marker at 213 in *Customize Apropos*>)) :documentation-indent 3 :children nil :custom-state hidden :from #<marker (moves after insertion) at 203 in *Customize Apropos*> :to #<marker at 304 in *Customize Apropos*>) :custom-state-set-and-redraw)
  Custom-save((push-button :tag " Apply and Save " :help-echo "Apply settings and save for future sessions." :action Custom-save :button-overlay #<overlay from 185 to 201 in *Customize Apropos*> :from #<marker (moves after insertion) at 185 in *Customize Apropos*> :to #<marker at 201 in *Customize Apropos*>) nil)
  widget-apply((push-button :tag " Apply and Save " :help-echo "Apply settings and save for future sessions." :action Custom-save :button-overlay #<overlay from 185 to 201 in *Customize Apropos*> :from #<marker (moves after insertion) at 185 in *Customize Apropos*> :to #<marker at 201 in *Customize Apropos*>) :action nil)
  widget-apply-action((push-button :tag " Apply and Save " :help-echo "Apply settings and save for future sessions." :action Custom-save :button-overlay #<overlay from 185 to 201 in *Customize Apropos*> :from #<marker (moves after insertion) at 185 in *Customize Apropos*> :to #<marker at 201 in *Customize Apropos*>) nil)
  Custom-newline(198)
  funcall-interactively(Custom-newline 198)
  call-interactively(Custom-newline nil nil)
  command-execute(Custom-newline)

^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#48531: Error on `Apply and Save` when using customize
  2021-05-20  4:34 bug#48531: Error on `Apply and Save` when using customize Mikhail P
@ 2021-05-20 10:11 ` Mauro Aranda
  2021-05-22  8:53   ` Mikhail P
  0 siblings, 1 reply; 4+ messages in thread
From: Mauro Aranda @ 2021-05-20 10:11 UTC (permalink / raw)
  To: Mikhail P; +Cc: 48531

Mikhail P <mikpom@fastmail.com> writes:

> Greetings!
>
> I started to see problems with customizing anything using M-x customize. 
>
> When I change something and then press Apply and Save I get an error. Attached is what
> I got in the trace when applying and saving debug-on-error . 
>
> Unfortunately I could not reproduce it with -Q because the feature Apply and Save
> becomes unavailable. However I could reproduce it without any .emacs file. 
>
> Below is what report-emacs-bug has generated. Thanks for any help. 
>

> Debugger entered--Lisp error: (void-function nil)
>   nil(nil)
>   widget-apply(nil :value-get)
>   widget-value(nil)
>   custom-variable-modified-p((custom-variable :tag "Debug Ignored Errors" :value debug-ignored-errors :custom-form edit :custom-magic (custom-magic :args (nil) :parent #1 :indent 0 :children nil :from #<marker (moves after insertion) at 236 in *Customize Apropos*> :to #<marker at 236 in *Customize Apropos*> :buttons nil :value nil) :buttons ((documentation-string :args nil :value "List of errors for which the debugger should not b..." :indent 3 :visibility-widget custom-visibility :parent #1 :doc-overlay #<overlay from 236 to 299 in *Customize Apropos*> :buttons ((custom-visibility :args nil :value nil :help-echo "Show or hide rest of the documentation." :on "Hide" :off "More" :always-active t :action widget-parent-action :parent #13 :indent 3 :button-overlay #<overlay from 299 to 303 in *Customize Apropos*> :from #<marker (moves after insertion) at 299 in *Customize Apropos*> :to #<marker at 303 in *Customize Apropos*>)) :from #<marker (moves after insertion) at 236 in *Customize Apropos*> :to #<marker at 304 in *Customize Apropos*>) (custom-magic :args (nil) :parent #1 :indent 0 :children nil :from #<marker (moves after insertion) at 236 in *Customize Apropos*> :to #<marker at 236 in *Customize Apropos*> :buttons nil :value nil) (item :format "%{%t%} " :sample-face custom-variable-tag :tag "Debug Ignored Errors" :parent #1 :indent 0 :sample-overlay #<overlay from 214 to 234 in *Customize Apropos*> :from #<marker (moves after insertion) at 214 in *Customize Apropos*> :to #<marker at 235 in *Customize Apropos*>) (custom-visibility :args nil :value nil :help-echo "Show the value of this option." :on-glyph "down" :on "Hide" :off-glyph "right" :off "Show Value" :action custom-toggle-hide-variable :parent #1 :indent 0 :suppress-face t :button-overlay #<overlay from 203 to 213 in *Customize Apropos*> :from #<marker (moves after insertion) at 203 in *Customize Apropos*> :to #<marker at 213 in *Customize Apropos*>)) :documentation-indent 3 :children nil :custom-state hidden :from #<marker (moves after insertion) at 203 in *Customize Apropos*> :to #<marker at 304 in *Customize Apropos*>))

Thanks for the bug report.  This looks like Bug#40853 (and Bug#42801),
which was fixed in the development branch with this fix:

commit 5c39f6f1165a33f5714eedd3a413f786dffbb5a2
Author: Mauro Aranda <maurooaranda@gmail.com>
Date:   Fri Aug 14 16:40:40 2020 +0200

    Make sure we only act on edited widgets in Custom-save
    
    * lisp/cus-edit.el (Custom-save): Only act on edited widgets in the
    buffer.  If we attempt to redraw all widgets, we confuse
    custom-variable-modified-p, or we end up drawing State buttons for
    all options, including the hidden ones (bug#42801).

Would it be possible for you to build Emacs from the master branch and
see if you can reproduce it?

Alternatively, maybe you can try to redefine Custom-save as below in
your Emacs session, and see if you can reproduce it.

(defun Custom-save (&rest _ignore)
  "Set all edited settings, then save all settings that have been set.
If a setting was edited and set before, this saves it.  If a
setting was merely edited before, this sets it then saves it."
  (interactive)
  (let (edited-widgets)
    (when (custom-command-apply
	   (lambda (child)
	     (when (memq (widget-get child :custom-state)
		         '(modified set changed rogue))
               (push child edited-widgets)
	       (widget-apply child :custom-mark-to-save)))
	   "Save all settings in this buffer? " t)
      ;; Save changes to buffer.
      (custom-save-all)
      ;; Redraw and recalculate the state when necessary.
      (dolist (widget edited-widgets)
        (widget-apply widget :custom-state-set-and-redraw)))))






^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#48531: Error on `Apply and Save` when using customize
  2021-05-20 10:11 ` Mauro Aranda
@ 2021-05-22  8:53   ` Mikhail P
  2021-05-23 14:56     ` Mauro Aranda
  0 siblings, 1 reply; 4+ messages in thread
From: Mikhail P @ 2021-05-22  8:53 UTC (permalink / raw)
  To: Mauro Aranda; +Cc: 48531

Hi Mauro

version build from master branch is free of this bug.

Thanks,

-Mikhail

On 5/20/21 5:11 PM, Mauro Aranda wrote:
> Mikhail P <mikpom@fastmail.com> writes:
>
>> Greetings!
>>
>> I started to see problems with customizing anything using M-x customize.
>>
>> When I change something and then press Apply and Save I get an error. Attached is what
>> I got in the trace when applying and saving debug-on-error .
>>
>> Unfortunately I could not reproduce it with -Q because the feature Apply and Save
>> becomes unavailable. However I could reproduce it without any .emacs file.
>>
>> Below is what report-emacs-bug has generated. Thanks for any help.
>>
>> Debugger entered--Lisp error: (void-function nil)
>>    nil(nil)
>>    widget-apply(nil :value-get)
>>    widget-value(nil)
>>    custom-variable-modified-p((custom-variable :tag "Debug Ignored Errors" :value debug-ignored-errors :custom-form edit :custom-magic (custom-magic :args (nil) :parent #1 :indent 0 :children nil :from #<marker (moves after insertion) at 236 in *Customize Apropos*> :to #<marker at 236 in *Customize Apropos*> :buttons nil :value nil) :buttons ((documentation-string :args nil :value "List of errors for which the debugger should not b..." :indent 3 :visibility-widget custom-visibility :parent #1 :doc-overlay #<overlay from 236 to 299 in *Customize Apropos*> :buttons ((custom-visibility :args nil :value nil :help-echo "Show or hide rest of the documentation." :on "Hide" :off "More" :always-active t :action widget-parent-action :parent #13 :indent 3 :button-overlay #<overlay from 299 to 303 in *Customize Apropos*> :from #<marker (moves after insertion) at 299 in *Customize Apropos*> :to #<marker at 303 in *Customize Apropos*>)) :from #<marker (moves after insertion) at 236 in *Customize Apropos*> :to #<marker at 304 in *Customize Apropos*>) (custom-magic :args (nil) :parent #1 :indent 0 :children nil :from #<marker (moves after insertion) at 236 in *Customize Apropos*> :to #<marker at 236 in *Customize Apropos*> :buttons nil :value nil) (item :format "%{%t%} " :sample-face custom-variable-tag :tag "Debug Ignored Errors" :parent #1 :indent 0 :sample-overlay #<overlay from 214 to 234 in *Customize Apropos*> :from #<marker (moves after insertion) at 214 in *Customize Apropos*> :to #<marker at 235 in *Customize Apropos*>) (custom-visibility :args nil :value nil :help-echo "Show the value of this option." :on-glyph "down" :on "Hide" :off-glyph "right" :off "Show Value" :action custom-toggle-hide-variable :parent #1 :indent 0 :suppress-face t :button-overlay #<overlay from 203 to 213 in *Customize Apropos*> :from #<marker (moves after insertion) at 203 in *Customize Apropos*> :to #<marker at 213 in *Customize Apropos*>)) :documentation-indent 3 :children nil :custom-state hidden :from #<marker (moves after insertion) at 203 in *Customize Apropos*> :to #<marker at 304 in *Customize Apropos*>))
> Thanks for the bug report.  This looks like Bug#40853 (and Bug#42801),
> which was fixed in the development branch with this fix:
>
> commit 5c39f6f1165a33f5714eedd3a413f786dffbb5a2
> Author: Mauro Aranda <maurooaranda@gmail.com>
> Date:   Fri Aug 14 16:40:40 2020 +0200
>
>      Make sure we only act on edited widgets in Custom-save
>      
>      * lisp/cus-edit.el (Custom-save): Only act on edited widgets in the
>      buffer.  If we attempt to redraw all widgets, we confuse
>      custom-variable-modified-p, or we end up drawing State buttons for
>      all options, including the hidden ones (bug#42801).
>
> Would it be possible for you to build Emacs from the master branch and
> see if you can reproduce it?
>
> Alternatively, maybe you can try to redefine Custom-save as below in
> your Emacs session, and see if you can reproduce it.
>
> (defun Custom-save (&rest _ignore)
>    "Set all edited settings, then save all settings that have been set.
> If a setting was edited and set before, this saves it.  If a
> setting was merely edited before, this sets it then saves it."
>    (interactive)
>    (let (edited-widgets)
>      (when (custom-command-apply
> 	   (lambda (child)
> 	     (when (memq (widget-get child :custom-state)
> 		         '(modified set changed rogue))
>                 (push child edited-widgets)
> 	       (widget-apply child :custom-mark-to-save)))
> 	   "Save all settings in this buffer? " t)
>        ;; Save changes to buffer.
>        (custom-save-all)
>        ;; Redraw and recalculate the state when necessary.
>        (dolist (widget edited-widgets)
>          (widget-apply widget :custom-state-set-and-redraw)))))
>






^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#48531: Error on `Apply and Save` when using customize
  2021-05-22  8:53   ` Mikhail P
@ 2021-05-23 14:56     ` Mauro Aranda
  0 siblings, 0 replies; 4+ messages in thread
From: Mauro Aranda @ 2021-05-23 14:56 UTC (permalink / raw)
  To: Mikhail P; +Cc: 48531

unarchive 42801
forcemerge 42801 48531
quit


Mikhail P <mikpom@fastmail.com> writes:

> Hi Mauro
>
> version build from master branch is free of this bug.
>
> Thanks,
>
> -Mikhail
>

Thanks for confirming.





^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-05-23 14:56 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-20  4:34 bug#48531: Error on `Apply and Save` when using customize Mikhail P
2021-05-20 10:11 ` Mauro Aranda
2021-05-22  8:53   ` Mikhail P
2021-05-23 14:56     ` Mauro Aranda

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).