From unknown Sat Aug 16 18:48:24 2025 X-Loop: help-debbugs@gnu.org Subject: bug#78435: 30.1; abbrev-edit-save-buffer doesn't reset abbrevs-changed OR... Resent-From: Rick Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 15 May 2025 05:43:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 78435 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 78435@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.17472877697619 (code B ref -1); Thu, 15 May 2025 05:43:03 +0000 Received: (at submit) by debbugs.gnu.org; 15 May 2025 05:42:49 +0000 Received: from localhost ([127.0.0.1]:49775 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uFRMm-0001yi-AR for submit@debbugs.gnu.org; Thu, 15 May 2025 01:42:49 -0400 Received: from lists.gnu.org ([2001:470:142::17]:43946) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uFLmu-0005hN-Ol for submit@debbugs.gnu.org; Wed, 14 May 2025 19:45:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uFLmb-0003Dm-GL for bug-gnu-emacs@gnu.org; Wed, 14 May 2025 19:45:06 -0400 Received: from mail-qv1-xf32.google.com ([2607:f8b0:4864:20::f32]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uFLmY-0003Zd-Tm for bug-gnu-emacs@gnu.org; Wed, 14 May 2025 19:45:05 -0400 Received: by mail-qv1-xf32.google.com with SMTP id 6a1803df08f44-6f6e72cbbf4so15508556d6.0 for ; Wed, 14 May 2025 16:45:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1747266301; x=1747871101; darn=gnu.org; h=subject:from:to:content-language:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=glj6wNRTZpF/xyl3aB6n2SSBhNgcyqsjw1schkEepMQ=; b=TlG3rbEn2j7uTYphhhXiifRhvhdVxYFJIfogseiXzJLH5BliQ6CM5UYOdiKUC8GiQk 6F9YXoSuTG84T5uwMS3bBBfkfX/HH4L67MDZU0jjRxrYr6eQiN1MUx38cgvUysvDgjyJ 08z5ANjFiqk1VSFNuvW3V+IFItNbeyB84/ftmCJCf8jo9XWCsZXqF9BikUquZeFLvCP7 E+bMA+MuzyAaOTtYKnG9ycTAT5Lum4RNkukYwJ8WcMBkv/5Z2eKdG/AfWhR05ce3tYWQ LR3eLGJ61w4j7o5TUbQPwhxO4OFmsnVinykf0jzpr+wQ+K6dgZsDF0sfIGbXml7isjpX HA7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747266301; x=1747871101; h=subject:from:to:content-language:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=glj6wNRTZpF/xyl3aB6n2SSBhNgcyqsjw1schkEepMQ=; b=jegtogZkt1lFGZDpzU7qRp/Kzn5JkzCsHrR1Je+Avo27j3vJHCftYM+Hw5UDUgLJPX kkGEPed3DA5Ju1a7Y28Pokxok8i11fW9HIh6+cwZ92eWKV9ZVfmivy1TaoU7cfUvZw1b iSfPUjDyEyBPXB4mNNeLQgfVyNiG235xS/WG+JGQn+uxd6tpFweGTjMdI8bEqgQs+kqf ng1sZYHdxdq0PauioCITy7dkXvxdMU9vtiXwvJ8RSVnH4YDzNEzKr5psRrUv2iWXuZtl 3WxdLaxkh9XoUU47ZfPEhXmZKYSPJnsyie35cmFjg5R48U36ubM6gcMd9bmhBhZCFwte t0MQ== X-Gm-Message-State: AOJu0YyeI6fEvWQyM34yV6zFcY8RFRKe4hgQUDezHP3pp3ca3SPpvpeS CR2q1YDe3vQKrG+J9SSs5smNVRc58MgB1xpeUZEjxyUOHROyWfqSYF3itzIPAw== X-Gm-Gg: ASbGncsPtodTFGYE1R3m4/F2yot4GbkcpojJx1JFy28Vf6cKTI7O3wndzWu7Wb0grWW FZ4lHhO8tWCKPY0n7LB81sR/d2vtLOFOJ9WJpT+wWF3dPYZ3b1nYFs7T3Xr5FL0Ox4/UU8G1upg Zk6h+ls0EgESFHxSWdY209RToEtQ1znlFuWJEP7yDHucaQZP2Boj5USN9WeOSnhLSvhF3oHJ5Wc pKgq0ifwHcXV7pKO09YcnuZk8nYgWtQrJ+COOd3VQf6cpA9EF6TOWQHCHOxR6S/nHMA6yktHsIf MCyK4MAk2gA0Z0cIV7DZlI7YQ7S42/QvqnBWunOvN5FLQNVJc6cVkuB4BONqg6MZz/jyzObARRi jfM6cON83b/Jx3ZH7YEwBOA== X-Google-Smtp-Source: AGHT+IF6TaawimEyExk9ORLmGRoaMpjp/rDDNf3hZr7NizXrHtTsPSKrdby4XYb3qBeEs+RZxfN6ow== X-Received: by 2002:a05:6214:ca8:b0:6e4:5a38:dd0f with SMTP id 6a1803df08f44-6f8a317dd83mr23225666d6.4.1747266301178; Wed, 14 May 2025 16:45:01 -0700 (PDT) Received: from ?IPV6:2601:447:c580:e8e0:4eab:77d2:6062:396f? ([2601:447:c580:e8e0:4eab:77d2:6062:396f]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6f6e3a472easm87343316d6.86.2025.05.14.16.45.00 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 14 May 2025 16:45:00 -0700 (PDT) Content-Type: multipart/alternative; boundary="------------tXooD6mtsgDf3FKgNEHVTMOW" Message-ID: <76dd36e6-0c1f-4f37-849d-9d6419d1b69d@gmail.com> Date: Wed, 14 May 2025 18:45:00 -0500 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US From: Rick Received-SPF: pass client-ip=2607:f8b0:4864:20::f32; envelope-from=rbielaws@gmail.com; helo=mail-qv1-xf32.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Mailman-Approved-At: Thu, 15 May 2025 01:42:46 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) This is a multi-part message in MIME format. --------------tXooD6mtsgDf3FKgNEHVTMOW Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit --text follows this line-- Given:     1) Starting with -Q _does exhibit the problem_ but I can't reconfigure just now     2) I don't use client mode     3) (save-abbrevs 'silently) ;; is required to exhibit problem M-x edit-abbrev Make any arbitrary change C-x C-s                                    ;; save the changes M-x  kill-buffer                     ;; optional M-: abbrevs-changed  yields  t       ;; flag is still set despite changes being saved Click the application [x] (top right corner of the frame) to exit Emacs. Expectation:     Since there are no unsaved changes, Emacs should exit normally.     Even if the changes are somehow technically still considered unsaved (although I can't see why) the save should still be silent.  Or, in the case of (save-abbrevs t) there doesn't seem to be a way to tell that it's the abbrevs that want saving so deciding how to answer is a dilemma. What actually happens:     Emacs prompts if I want to save unsaved changes before quitting but gives no indication of what changes are outstanding.  No buffers are visiting files so troubleshooting was arduous until I noticed the correlation with abbrev-mode. As a temporary fix I did this: (defadvice abbrev-edit-save-buffer (after my-abbrev-edit-save-buffer last activate)   "Insure that abbrevs-changed is reset after abbrevs are saved."   (setq abbrevs-changed nil) ) I see no drawbacks to the setq being in abbrev-edit-save-buffer since the target file in that function is the canonical abbrev-file-name. Otherwise, only the abbrev--possibly-save hook on save-some-buffers-functions ever resets it. In GNU Emacs 30.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.41,  cairo version 1.18.0) of 2025-05-11 built on lcy02-amd64-059 Repository revision: 9328fd1ab06a1a1f85077fd1caadf9128c90f6c1 Repository branch: master System Description: Ubuntu 24.04.2 LTS Configured using:  'configure --prefix=/snap/emacs/current/usr --with-x-toolkit=gtk3  --without-xaw3d --with-modules --with-cairo  --with-native-compilation=aot --with-pgtk --with-xinput2  --with-tree-sitter 'CFLAGS=-isystem  /build/emacs/parts/emacs/install/usr/include -isystem  /build/emacs/parts/emacs/install/usr/include/x86_64-linux-gnu -isystem  /build/emacs/stage/usr/include -O2' 'CPPFLAGS=-isystem  /build/emacs/parts/emacs/install/usr/include -isystem  /build/emacs/parts/emacs/install/usr/include/x86_64-linux-gnu -isystem  /build/emacs/stage/usr/include'  'LDFLAGS=-L/build/emacs/parts/emacs/install/lib  -L/build/emacs/parts/emacs/install/usr/lib  -L/build/emacs/parts/emacs/install/lib/x86_64-linux-gnu  -L/build/emacs/parts/emacs/install/usr/lib/x86_64-linux-gnu  -L/build/emacs/stage/usr/lib'' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG LCMS2 LIBOTF LIBSELINUX 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 $LANG: en_US.UTF-8   value of $XMODIFIERS: @im=ibus   locale-coding-system: utf-8-unix Major mode: Fundamental Minor modes in effect:   delete-selection-mode: t   recentf-mode: t   cua-mode: t   global-hl-line-mode: t   server-mode: t   tooltip-mode: t   global-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   minibuffer-regexp-mode: t   line-number-mode: t   transient-mark-mode: t   auto-composition-mode: t   auto-encryption-mode: t   auto-compression-mode: t   abbrev-mode: t Load-path shadows: ~/snap/emacs/site-lisp/site-start hides /snap/emacs/current/usr/share/emacs/site-lisp/site-start ~/snap/emacs/site-lisp/csharp-mode hides /snap/emacs/current/usr/share/emacs/30.1/lisp/progmodes/csharp-mode Features: (shadow sort mail-extr compile comint ansi-osc ansi-color ring 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 mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils tabify help-fns radix-tree cus-edit pp cus-start time-date flyspell ispell color-theme cl htmlize-view htmlize cl-macs delsel recentf tree-widget wid-edit cua-base cus-load comp-run byte-opt advice skeleton hl-line server varlight thingatpt columnize popup-ruler tabbar easy-mmode ps-print ps-print-loaddefs lpr filladapt which-func imenu site-start comp cl-seq comp-cstr cl-extra help-mode comp-common warnings icons subr-x rx gv cl-loaddefs cl-lib bytecomp byte-compile 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 native-compile emacs) Memory information: ((conses 16 324385 16727) (symbols 48 13658 0) (strings 32 63003 3306)  (string-bytes 1 2388316) (vectors 16 27498)  (vector-slots 8 302338 10671) (floats 8 536 1) (intervals 56 2340 0)  (buffers 992 17)) --------------tXooD6mtsgDf3FKgNEHVTMOW Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit

--text follows this line--

Given:
    1) Starting with -Q  does exhibit the problem but I can't reconfigure just now
    2) I don't use client mode
    3) (save-abbrevs 'silently) ;; is required to exhibit problem

M-x edit-abbrev
Make any arbitrary change
C-x C-s                                    ;; save the changes
M-x  kill-buffer                     ;; optional
M-: abbrevs-changed  yields  t       ;; flag is still set despite changes being saved

Click the application [x] (top right corner of the frame) to exit Emacs. 

Expectation:
    Since there are no unsaved changes, Emacs should exit normally.
    Even if the changes are somehow technically still considered unsaved (although
I can't see why) the save should still be silent.  Or, in the case of (save-abbrevs t)
there doesn't seem to be a way to tell that it's the abbrevs that want saving so
deciding how to answer is a dilemma.

What actually happens:
    Emacs prompts if I want to save unsaved changes before quitting but gives no
indication of what changes are outstanding.  No buffers are visiting files so
troubleshooting was arduous until I noticed the correlation with abbrev-mode.

As a temporary fix I did this:

(defadvice abbrev-edit-save-buffer (after my-abbrev-edit-save-buffer last activate)
  "Insure that abbrevs-changed is reset after abbrevs are saved."
  (setq abbrevs-changed nil)
)

I see no drawbacks to the setq being in abbrev-edit-save-buffer since the target
file in that function is the canonical abbrev-file-name.  Otherwise, only the
abbrev--possibly-save hook on save-some-buffers-functions ever resets it.


In GNU Emacs 30.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.41,
 cairo version 1.18.0) of 2025-05-11 built on lcy02-amd64-059
Repository revision: 9328fd1ab06a1a1f85077fd1caadf9128c90f6c1
Repository branch: master
System Description: Ubuntu 24.04.2 LTS

Configured using:
 'configure --prefix=/snap/emacs/current/usr --with-x-toolkit=gtk3
 --without-xaw3d --with-modules --with-cairo
 --with-native-compilation=aot --with-pgtk --with-xinput2
 --with-tree-sitter 'CFLAGS=-isystem
 /build/emacs/parts/emacs/install/usr/include -isystem
 /build/emacs/parts/emacs/install/usr/include/x86_64-linux-gnu -isystem
 /build/emacs/stage/usr/include -O2' 'CPPFLAGS=-isystem
 /build/emacs/parts/emacs/install/usr/include -isystem
 /build/emacs/parts/emacs/install/usr/include/x86_64-linux-gnu -isystem
 /build/emacs/stage/usr/include'
 'LDFLAGS=-L/build/emacs/parts/emacs/install/lib
 -L/build/emacs/parts/emacs/install/usr/lib
 -L/build/emacs/parts/emacs/install/lib/x86_64-linux-gnu
 -L/build/emacs/parts/emacs/install/usr/lib/x86_64-linux-gnu
 -L/build/emacs/stage/usr/lib''

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
LCMS2 LIBOTF LIBSELINUX 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 $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Fundamental

Minor modes in effect:
  delete-selection-mode: t
  recentf-mode: t
  cua-mode: t
  global-hl-line-mode: t
  server-mode: t
  tooltip-mode: t
  global-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
  minibuffer-regexp-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  abbrev-mode: t

Load-path shadows:
~/snap/emacs/site-lisp/site-start hides /snap/emacs/current/usr/share/emacs/site-lisp/site-start
~/snap/emacs/site-lisp/csharp-mode hides /snap/emacs/current/usr/share/emacs/30.1/lisp/progmodes/csharp-mode

Features:
(shadow sort mail-extr compile comint ansi-osc ansi-color ring 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 mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mail-utils tabify help-fns radix-tree cus-edit pp
cus-start time-date flyspell ispell color-theme cl htmlize-view htmlize
cl-macs delsel recentf tree-widget wid-edit cua-base cus-load comp-run
byte-opt advice skeleton hl-line server varlight thingatpt columnize
popup-ruler tabbar easy-mmode ps-print ps-print-loaddefs lpr filladapt
which-func imenu site-start comp cl-seq comp-cstr cl-extra help-mode
comp-common warnings icons subr-x rx gv cl-loaddefs cl-lib bytecomp
byte-compile 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 native-compile emacs)

Memory information:
((conses 16 324385 16727) (symbols 48 13658 0) (strings 32 63003 3306)
 (string-bytes 1 2388316) (vectors 16 27498)
 (vector-slots 8 302338 10671) (floats 8 536 1) (intervals 56 2340 0)
 (buffers 992 17))

--------------tXooD6mtsgDf3FKgNEHVTMOW-- From unknown Sat Aug 16 18:48:24 2025 X-Loop: help-debbugs@gnu.org Subject: bug#78435: 30.1; abbrev-edit-save-buffer doesn't reset abbrevs-changed OR... Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 17 May 2025 10:03:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 78435 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Rick Cc: 78435@debbugs.gnu.org Received: via spool by 78435-submit@debbugs.gnu.org id=B78435.174747613322989 (code B ref 78435); Sat, 17 May 2025 10:03:02 +0000 Received: (at 78435) by debbugs.gnu.org; 17 May 2025 10:02:13 +0000 Received: from localhost ([127.0.0.1]:46038 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uGEMv-0005yj-BO for submit@debbugs.gnu.org; Sat, 17 May 2025 06:02:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56866) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uGEMs-0005yQ-UD for 78435@debbugs.gnu.org; Sat, 17 May 2025 06:02:11 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uGEMn-0004wz-J8; Sat, 17 May 2025 06:02:05 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=PH88wy1gol0866ugzqBZEq8hsrBeAghNHb5m7Va+BAU=; b=Wj5MibdUI1e0 t2yOIPBODLnIIvkrm6PS0wmnAVseaDW0BtjOdzWYKcGhTyZfNw28V1LXZ0LMs4xAy/VO61sStD1BJ N2x1WWhIrL8v/d2XXRejAO2x+lvzO0d6avXd/drduX0p8eOsEf4H94UbzvF7zWbZszKXNo01wHIGp WYqBMExWMYQg8XpZ6DMKIl+pGImQvYcHSG/WG1AUunS2FYiq4V5I/nnK4uMpLmRhZ4G5SriTi47Ch dCBl1SQyFeN9exG94TLyWaIVsHZ0oGmjR0gSFrFWZ9q79FUWPxFo+PTbIW1keQUNvzCg4JBSwU/e8 A/mpCBpEaKmPGldb/3cP1g==; Date: Sat, 17 May 2025 13:01:46 +0300 Message-Id: <86zffbv9md.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <76dd36e6-0c1f-4f37-849d-9d6419d1b69d@gmail.com> (message from Rick on Wed, 14 May 2025 18:45:00 -0500) References: <76dd36e6-0c1f-4f37-849d-9d6419d1b69d@gmail.com> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Wed, 14 May 2025 18:45:00 -0500 > From: Rick > > Given: > 1) Starting with -Q does exhibit the problem but I can't reconfigure just now > 2) I don't use client mode > 3) (save-abbrevs 'silently) ;; is required to exhibit problem > > M-x edit-abbrev > Make any arbitrary change > C-x C-s ;; save the changes > M-x kill-buffer ;; optional > M-: abbrevs-changed yields t ;; flag is still set despite changes being saved > > Click the application [x] (top right corner of the frame) to exit Emacs. > > Expectation: > Since there are no unsaved changes, Emacs should exit normally. > Even if the changes are somehow technically still considered unsaved (although > I can't see why) the save should still be silent. Or, in the case of (save-abbrevs t) > there doesn't seem to be a way to tell that it's the abbrevs that want saving so > deciding how to answer is a dilemma. > > What actually happens: > Emacs prompts if I want to save unsaved changes before quitting but gives no > indication of what changes are outstanding. No buffers are visiting files so > troubleshooting was arduous until I noticed the correlation with abbrev-mode. > > As a temporary fix I did this: > > (defadvice abbrev-edit-save-buffer (after my-abbrev-edit-save-buffer last activate) > "Insure that abbrevs-changed is reset after abbrevs are saved." > (setq abbrevs-changed nil) > ) > > I see no drawbacks to the setq being in abbrev-edit-save-buffer since the target > file in that function is the canonical abbrev-file-name. Otherwise, only the > abbrev--possibly-save hook on save-some-buffers-functions ever resets it. Thanks, I've installed that change on the emacs-30 branch, and I'm therefore closing this bug. From unknown Sat Aug 16 18:48:24 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Rick Subject: bug#78435: closed (Re: bug#78435: 30.1; abbrev-edit-save-buffer doesn't reset abbrevs-changed OR...) Message-ID: References: <86o6vrv6pb.fsf@gnu.org> <76dd36e6-0c1f-4f37-849d-9d6419d1b69d@gmail.com> X-Gnu-PR-Message: they-closed 78435 X-Gnu-PR-Package: emacs Reply-To: 78435@debbugs.gnu.org Date: Sat, 17 May 2025 11:05:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1747479902-6141-1" This is a multi-part message in MIME format... ------------=_1747479902-6141-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #78435: 30.1; abbrev-edit-save-buffer doesn't reset abbrevs-changed OR... which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 78435@debbugs.gnu.org. --=20 78435: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D78435 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1747479902-6141-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 78435-done) by debbugs.gnu.org; 17 May 2025 11:04:58 +0000 Received: from localhost ([127.0.0.1]:46542 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uGFLe-0001ac-BS for submit@debbugs.gnu.org; Sat, 17 May 2025 07:04:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39710) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uGFLc-0001aF-JT for 78435-done@debbugs.gnu.org; Sat, 17 May 2025 07:04:56 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uGFLW-0002np-VQ for 78435-done@debbugs.gnu.org; Sat, 17 May 2025 07:04:51 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=bEZEeF7mtyo9Xi+2ynsxstZ5mGDoAwL/WeYAJ9ymxEE=; b=XcHqDeDIkGcq 3OUVhjE/3TKRkOFaVmXxRYgS7Z1WJIc8dVeP8iwPt85GvpCUkZHsM3BeL66we36u9JrRymd7P6FC7 3bc877XsJawcaiSZnnT0+LMwEHL4gIPmjVO3IYmoVylz3hSVPRU+czyXm40JpHlrEOF9JNdFiYdO5 YLW0MnhWzIQIturCheRnYepOnVwQFmFQuDbCFWktz399ZI7wjThfNBZDyT+0+1zoqhlRo81Pl16U0 GrLCW1ANGVnXPxDQX1ADuKpV3iB45RRsAMZDV0NwftdhNZamarO+spxv3fuGPqEwDCkLriw3imoVP uvZvdaFi+vnoiHKD0gZ0sg==; Date: Sat, 17 May 2025 14:04:48 +0300 Message-Id: <86o6vrv6pb.fsf@gnu.org> From: Eli Zaretskii To: 78435-done@debbugs.gnu.org In-Reply-To: <86zffbv9md.fsf@gnu.org> (message from Eli Zaretskii on Sat, 17 May 2025 13:01:46 +0300) Subject: Re: bug#78435: 30.1; abbrev-edit-save-buffer doesn't reset abbrevs-changed OR... References: <76dd36e6-0c1f-4f37-849d-9d6419d1b69d@gmail.com> <86zffbv9md.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78435-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Cc: 78435@debbugs.gnu.org > Date: Sat, 17 May 2025 13:01:46 +0300 > From: Eli Zaretskii > > Thanks, I've installed that change on the emacs-30 branch, and I'm > therefore closing this bug. Now _really_ closing it. ------------=_1747479902-6141-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 15 May 2025 05:42:49 +0000 Received: from localhost ([127.0.0.1]:49775 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uFRMm-0001yi-AR for submit@debbugs.gnu.org; Thu, 15 May 2025 01:42:49 -0400 Received: from lists.gnu.org ([2001:470:142::17]:43946) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uFLmu-0005hN-Ol for submit@debbugs.gnu.org; Wed, 14 May 2025 19:45:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uFLmb-0003Dm-GL for bug-gnu-emacs@gnu.org; Wed, 14 May 2025 19:45:06 -0400 Received: from mail-qv1-xf32.google.com ([2607:f8b0:4864:20::f32]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uFLmY-0003Zd-Tm for bug-gnu-emacs@gnu.org; Wed, 14 May 2025 19:45:05 -0400 Received: by mail-qv1-xf32.google.com with SMTP id 6a1803df08f44-6f6e72cbbf4so15508556d6.0 for ; Wed, 14 May 2025 16:45:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1747266301; x=1747871101; darn=gnu.org; h=subject:from:to:content-language:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=glj6wNRTZpF/xyl3aB6n2SSBhNgcyqsjw1schkEepMQ=; b=TlG3rbEn2j7uTYphhhXiifRhvhdVxYFJIfogseiXzJLH5BliQ6CM5UYOdiKUC8GiQk 6F9YXoSuTG84T5uwMS3bBBfkfX/HH4L67MDZU0jjRxrYr6eQiN1MUx38cgvUysvDgjyJ 08z5ANjFiqk1VSFNuvW3V+IFItNbeyB84/ftmCJCf8jo9XWCsZXqF9BikUquZeFLvCP7 E+bMA+MuzyAaOTtYKnG9ycTAT5Lum4RNkukYwJ8WcMBkv/5Z2eKdG/AfWhR05ce3tYWQ LR3eLGJ61w4j7o5TUbQPwhxO4OFmsnVinykf0jzpr+wQ+K6dgZsDF0sfIGbXml7isjpX HA7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747266301; x=1747871101; h=subject:from:to:content-language:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=glj6wNRTZpF/xyl3aB6n2SSBhNgcyqsjw1schkEepMQ=; b=jegtogZkt1lFGZDpzU7qRp/Kzn5JkzCsHrR1Je+Avo27j3vJHCftYM+Hw5UDUgLJPX kkGEPed3DA5Ju1a7Y28Pokxok8i11fW9HIh6+cwZ92eWKV9ZVfmivy1TaoU7cfUvZw1b iSfPUjDyEyBPXB4mNNeLQgfVyNiG235xS/WG+JGQn+uxd6tpFweGTjMdI8bEqgQs+kqf ng1sZYHdxdq0PauioCITy7dkXvxdMU9vtiXwvJ8RSVnH4YDzNEzKr5psRrUv2iWXuZtl 3WxdLaxkh9XoUU47ZfPEhXmZKYSPJnsyie35cmFjg5R48U36ubM6gcMd9bmhBhZCFwte t0MQ== X-Gm-Message-State: AOJu0YyeI6fEvWQyM34yV6zFcY8RFRKe4hgQUDezHP3pp3ca3SPpvpeS CR2q1YDe3vQKrG+J9SSs5smNVRc58MgB1xpeUZEjxyUOHROyWfqSYF3itzIPAw== X-Gm-Gg: ASbGncsPtodTFGYE1R3m4/F2yot4GbkcpojJx1JFy28Vf6cKTI7O3wndzWu7Wb0grWW FZ4lHhO8tWCKPY0n7LB81sR/d2vtLOFOJ9WJpT+wWF3dPYZ3b1nYFs7T3Xr5FL0Ox4/UU8G1upg Zk6h+ls0EgESFHxSWdY209RToEtQ1znlFuWJEP7yDHucaQZP2Boj5USN9WeOSnhLSvhF3oHJ5Wc pKgq0ifwHcXV7pKO09YcnuZk8nYgWtQrJ+COOd3VQf6cpA9EF6TOWQHCHOxR6S/nHMA6yktHsIf MCyK4MAk2gA0Z0cIV7DZlI7YQ7S42/QvqnBWunOvN5FLQNVJc6cVkuB4BONqg6MZz/jyzObARRi jfM6cON83b/Jx3ZH7YEwBOA== X-Google-Smtp-Source: AGHT+IF6TaawimEyExk9ORLmGRoaMpjp/rDDNf3hZr7NizXrHtTsPSKrdby4XYb3qBeEs+RZxfN6ow== X-Received: by 2002:a05:6214:ca8:b0:6e4:5a38:dd0f with SMTP id 6a1803df08f44-6f8a317dd83mr23225666d6.4.1747266301178; Wed, 14 May 2025 16:45:01 -0700 (PDT) Received: from ?IPV6:2601:447:c580:e8e0:4eab:77d2:6062:396f? ([2601:447:c580:e8e0:4eab:77d2:6062:396f]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6f6e3a472easm87343316d6.86.2025.05.14.16.45.00 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 14 May 2025 16:45:00 -0700 (PDT) Content-Type: multipart/alternative; boundary="------------tXooD6mtsgDf3FKgNEHVTMOW" Message-ID: <76dd36e6-0c1f-4f37-849d-9d6419d1b69d@gmail.com> Date: Wed, 14 May 2025 18:45:00 -0500 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: bug-gnu-emacs@gnu.org From: Rick Subject: 30.1; abbrev-edit-save-buffer doesn't reset abbrevs-changed OR... Received-SPF: pass client-ip=2607:f8b0:4864:20::f32; envelope-from=rbielaws@gmail.com; helo=mail-qv1-xf32.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Thu, 15 May 2025 01:42:46 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) This is a multi-part message in MIME format. --------------tXooD6mtsgDf3FKgNEHVTMOW Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit --text follows this line-- Given:     1) Starting with -Q _does exhibit the problem_ but I can't reconfigure just now     2) I don't use client mode     3) (save-abbrevs 'silently) ;; is required to exhibit problem M-x edit-abbrev Make any arbitrary change C-x C-s                                    ;; save the changes M-x  kill-buffer                     ;; optional M-: abbrevs-changed  yields  t       ;; flag is still set despite changes being saved Click the application [x] (top right corner of the frame) to exit Emacs. Expectation:     Since there are no unsaved changes, Emacs should exit normally.     Even if the changes are somehow technically still considered unsaved (although I can't see why) the save should still be silent.  Or, in the case of (save-abbrevs t) there doesn't seem to be a way to tell that it's the abbrevs that want saving so deciding how to answer is a dilemma. What actually happens:     Emacs prompts if I want to save unsaved changes before quitting but gives no indication of what changes are outstanding.  No buffers are visiting files so troubleshooting was arduous until I noticed the correlation with abbrev-mode. As a temporary fix I did this: (defadvice abbrev-edit-save-buffer (after my-abbrev-edit-save-buffer last activate)   "Insure that abbrevs-changed is reset after abbrevs are saved."   (setq abbrevs-changed nil) ) I see no drawbacks to the setq being in abbrev-edit-save-buffer since the target file in that function is the canonical abbrev-file-name. Otherwise, only the abbrev--possibly-save hook on save-some-buffers-functions ever resets it. In GNU Emacs 30.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.41,  cairo version 1.18.0) of 2025-05-11 built on lcy02-amd64-059 Repository revision: 9328fd1ab06a1a1f85077fd1caadf9128c90f6c1 Repository branch: master System Description: Ubuntu 24.04.2 LTS Configured using:  'configure --prefix=/snap/emacs/current/usr --with-x-toolkit=gtk3  --without-xaw3d --with-modules --with-cairo  --with-native-compilation=aot --with-pgtk --with-xinput2  --with-tree-sitter 'CFLAGS=-isystem  /build/emacs/parts/emacs/install/usr/include -isystem  /build/emacs/parts/emacs/install/usr/include/x86_64-linux-gnu -isystem  /build/emacs/stage/usr/include -O2' 'CPPFLAGS=-isystem  /build/emacs/parts/emacs/install/usr/include -isystem  /build/emacs/parts/emacs/install/usr/include/x86_64-linux-gnu -isystem  /build/emacs/stage/usr/include'  'LDFLAGS=-L/build/emacs/parts/emacs/install/lib  -L/build/emacs/parts/emacs/install/usr/lib  -L/build/emacs/parts/emacs/install/lib/x86_64-linux-gnu  -L/build/emacs/parts/emacs/install/usr/lib/x86_64-linux-gnu  -L/build/emacs/stage/usr/lib'' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG LCMS2 LIBOTF LIBSELINUX 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 $LANG: en_US.UTF-8   value of $XMODIFIERS: @im=ibus   locale-coding-system: utf-8-unix Major mode: Fundamental Minor modes in effect:   delete-selection-mode: t   recentf-mode: t   cua-mode: t   global-hl-line-mode: t   server-mode: t   tooltip-mode: t   global-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   minibuffer-regexp-mode: t   line-number-mode: t   transient-mark-mode: t   auto-composition-mode: t   auto-encryption-mode: t   auto-compression-mode: t   abbrev-mode: t Load-path shadows: ~/snap/emacs/site-lisp/site-start hides /snap/emacs/current/usr/share/emacs/site-lisp/site-start ~/snap/emacs/site-lisp/csharp-mode hides /snap/emacs/current/usr/share/emacs/30.1/lisp/progmodes/csharp-mode Features: (shadow sort mail-extr compile comint ansi-osc ansi-color ring 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 mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils tabify help-fns radix-tree cus-edit pp cus-start time-date flyspell ispell color-theme cl htmlize-view htmlize cl-macs delsel recentf tree-widget wid-edit cua-base cus-load comp-run byte-opt advice skeleton hl-line server varlight thingatpt columnize popup-ruler tabbar easy-mmode ps-print ps-print-loaddefs lpr filladapt which-func imenu site-start comp cl-seq comp-cstr cl-extra help-mode comp-common warnings icons subr-x rx gv cl-loaddefs cl-lib bytecomp byte-compile 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 native-compile emacs) Memory information: ((conses 16 324385 16727) (symbols 48 13658 0) (strings 32 63003 3306)  (string-bytes 1 2388316) (vectors 16 27498)  (vector-slots 8 302338 10671) (floats 8 536 1) (intervals 56 2340 0)  (buffers 992 17)) --------------tXooD6mtsgDf3FKgNEHVTMOW Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit

--text follows this line--

Given:
    1) Starting with -Q  does exhibit the problem but I can't reconfigure just now
    2) I don't use client mode
    3) (save-abbrevs 'silently) ;; is required to exhibit problem

M-x edit-abbrev
Make any arbitrary change
C-x C-s                                    ;; save the changes
M-x  kill-buffer                     ;; optional
M-: abbrevs-changed  yields  t       ;; flag is still set despite changes being saved

Click the application [x] (top right corner of the frame) to exit Emacs. 

Expectation:
    Since there are no unsaved changes, Emacs should exit normally.
    Even if the changes are somehow technically still considered unsaved (although
I can't see why) the save should still be silent.  Or, in the case of (save-abbrevs t)
there doesn't seem to be a way to tell that it's the abbrevs that want saving so
deciding how to answer is a dilemma.

What actually happens:
    Emacs prompts if I want to save unsaved changes before quitting but gives no
indication of what changes are outstanding.  No buffers are visiting files so
troubleshooting was arduous until I noticed the correlation with abbrev-mode.

As a temporary fix I did this:

(defadvice abbrev-edit-save-buffer (after my-abbrev-edit-save-buffer last activate)
  "Insure that abbrevs-changed is reset after abbrevs are saved."
  (setq abbrevs-changed nil)
)

I see no drawbacks to the setq being in abbrev-edit-save-buffer since the target
file in that function is the canonical abbrev-file-name.  Otherwise, only the
abbrev--possibly-save hook on save-some-buffers-functions ever resets it.


In GNU Emacs 30.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.41,
 cairo version 1.18.0) of 2025-05-11 built on lcy02-amd64-059
Repository revision: 9328fd1ab06a1a1f85077fd1caadf9128c90f6c1
Repository branch: master
System Description: Ubuntu 24.04.2 LTS

Configured using:
 'configure --prefix=/snap/emacs/current/usr --with-x-toolkit=gtk3
 --without-xaw3d --with-modules --with-cairo
 --with-native-compilation=aot --with-pgtk --with-xinput2
 --with-tree-sitter 'CFLAGS=-isystem
 /build/emacs/parts/emacs/install/usr/include -isystem
 /build/emacs/parts/emacs/install/usr/include/x86_64-linux-gnu -isystem
 /build/emacs/stage/usr/include -O2' 'CPPFLAGS=-isystem
 /build/emacs/parts/emacs/install/usr/include -isystem
 /build/emacs/parts/emacs/install/usr/include/x86_64-linux-gnu -isystem
 /build/emacs/stage/usr/include'
 'LDFLAGS=-L/build/emacs/parts/emacs/install/lib
 -L/build/emacs/parts/emacs/install/usr/lib
 -L/build/emacs/parts/emacs/install/lib/x86_64-linux-gnu
 -L/build/emacs/parts/emacs/install/usr/lib/x86_64-linux-gnu
 -L/build/emacs/stage/usr/lib''

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
LCMS2 LIBOTF LIBSELINUX 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 $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Fundamental

Minor modes in effect:
  delete-selection-mode: t
  recentf-mode: t
  cua-mode: t
  global-hl-line-mode: t
  server-mode: t
  tooltip-mode: t
  global-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
  minibuffer-regexp-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  abbrev-mode: t

Load-path shadows:
~/snap/emacs/site-lisp/site-start hides /snap/emacs/current/usr/share/emacs/site-lisp/site-start
~/snap/emacs/site-lisp/csharp-mode hides /snap/emacs/current/usr/share/emacs/30.1/lisp/progmodes/csharp-mode

Features:
(shadow sort mail-extr compile comint ansi-osc ansi-color ring 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 mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mail-utils tabify help-fns radix-tree cus-edit pp
cus-start time-date flyspell ispell color-theme cl htmlize-view htmlize
cl-macs delsel recentf tree-widget wid-edit cua-base cus-load comp-run
byte-opt advice skeleton hl-line server varlight thingatpt columnize
popup-ruler tabbar easy-mmode ps-print ps-print-loaddefs lpr filladapt
which-func imenu site-start comp cl-seq comp-cstr cl-extra help-mode
comp-common warnings icons subr-x rx gv cl-loaddefs cl-lib bytecomp
byte-compile 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 native-compile emacs)

Memory information:
((conses 16 324385 16727) (symbols 48 13658 0) (strings 32 63003 3306)
 (string-bytes 1 2388316) (vectors 16 27498)
 (vector-slots 8 302338 10671) (floats 8 536 1) (intervals 56 2340 0)
 (buffers 992 17))

--------------tXooD6mtsgDf3FKgNEHVTMOW-- ------------=_1747479902-6141-1--