GNU bug report logs - #55592
29.0.50; save-place-mode conflict with desktop.el when file encoding is utf-16

Previous Next

Package: emacs;

Reported by: Eason Huang <aqua0210 <at> foxmail.com>

Date: Mon, 23 May 2022 12:45:01 UTC

Severity: normal

Found in version 29.0.50

Done: Eli Zaretskii <eliz <at> gnu.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 55592 in the body.
You can then email your comments to 55592 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


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#55592; Package emacs. (Mon, 23 May 2022 12:45:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Eason Huang <aqua0210 <at> foxmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Mon, 23 May 2022 12:45:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Eason Huang <aqua0210 <at> foxmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 29.0.50; save-place-mode conflict with desktop.el when file
 encoding is utf-16
Date: Mon, 23 May 2022 20:28:56 +0800
[Message part 1 (text/plain, inline)]
When enable desktop-save-mode and save-place-mode, it will take a long
time to restore a file with utf-16 encoding. Finally, will get the error
as below:

--8<---------------cut here---------------start------------->8---

Desktop: Can’t load buffer test-utf-16.txt: Wrong type argument: listp, 㬻※⨭‭潣楤杮›瑵ⵦ㬸洠摯㩥氠獩⵰慤慴ⴠ⴪਍⠨挢⼺獕牥⽳煁慵䐯獥瑫灯琯獥⵴瑵ⵦ㘱琮瑸•‮㘳⤩਍
Wrote c:/Users/Eason/.emacs.d/.emacs.desktop.lock
Desktop: 1 frame, 0 buffers restored, 1 failed to restore.
For information about GNU Emacs and the GNU system, type C-h C-a.

--8<---------------cut here---------------end--------------->8---

If I enable (setq debug-on-error t), will get this information:

--8<---------------cut here---------------start------------->8---

Debugger entered--Lisp error: (wrong-type-argument listp 㬻※⨭‭潣楤杮›瑵ⵦ㬸洠摯㩥氠獩⵰慤慴ⴠ⴪਍⠨挢⼺獕牥⽳煁慵䐯獥瑫灯琯獥⵴瑵ⵦ㘱琮瑸•‮㘳⤩਍)
  load-save-place-alist-from-file()
  save-place-find-file-hook()
  run-hooks(find-file-hook)
  after-find-file(nil nil)
  find-file-noselect-1(#<buffer test-utf-16.txt> "~/Desktop/test-utf-16.txt" :nowarn nil "~/Desktop/test-utf-16.txt" (9851624185350923 244305694))
  find-file-noselect("c:/Users/Eason/Desktop/test-utf-16.txt" :nowarn)
  desktop-restore-file-buffer("c:/Users/Eason/Desktop/test-utf-16.txt" "test-utf-16.txt" nil)
  desktop-create-buffer(208 "c:/Users/Eason/Desktop/test-utf-16.txt" "test-utf-16.txt" text-mode (font-lock-mode) 36 (nil nil) nil nil ((buffer-display-time 25227 30153 506245 0) (buffer-file-coding-system . utf-16le-with-signature-dos)) ((mark-ring nil)))
  load-with-code-conversion("c:/Users/Eason/.emacs.d/.emacs.desktop" "c:/Users/Eason/.emacs.d/.emacs.desktop" t t)
  load("c:/Users/Eason/.emacs.d/.emacs.desktop" t t t)
  desktop-read()
  #f(compiled-function () #<bytecode -0x120651713975d6b5>)()
  run-hooks(after-init-hook delayed-warnings-hook)
  command-line()
  normal-top-level()

--8<---------------cut here---------------end--------------->8---

You can reproduce this issue with the following step:

1. create an file in ~/.emacs.d/init.el
2. put below code in in the init.el file
```
(desktop-save-mode 1)
(save-place-mode 1)
```
3. start Emacs and open a file with UTF-16 encoding, you can use the
sample file in the attachment

4. close Emacs with C-x C-c, will save a .emacs.desktop file and a
places file in the .emacs.d directory.

5. restart Emacs, now you can see the issue.

[test-utf-16.txt (text/plain, attachment)]
[Message part 3 (text/plain, inline)]

by the way, I tried C-h v buffer-file-coding-system on the
test-utf-16.txt an got this info: utf-16le-with-signature-dos

This issue also happended on Arch Linux and macOS.


-- 
Eason Huang



In GNU Emacs 29.0.50 (build 1, x86_64-w64-mingw32)
 of 2022-05-03 built on DESKTOP-30D687D
Repository revision: 0d5befb88243b1b92170f7c46664d6639b653f6c
Repository branch: master
Windowing system distributor 'Microsoft Corp.', version 10.0.19044
System Description: Microsoft Windows 10 Pro (v10.0.2009.19044.1706)

Configured using:
 'configure --with-native-compilation --without-dbus'

Configured features:
ACL GIF GMP GNUTLS HARFBUZZ JPEG JSON LCMS2 LIBXML2 MODULES NATIVE_COMP
NOTIFY W32NOTIFY PDUMPER PNG RSVG SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS WEBP XPM ZLIB

Important settings:
  value of $LANG: CHS
  locale-coding-system: cp936

Major mode: Messages

Minor modes in effect:
  save-place-mode: t
  desktop-save-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
  blink-cursor-mode: t
  buffer-read-only: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message mailcap yank-media rmc puny
dired dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg
rfc6068 epg-config gnus-util 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 cl-seq
cl-extra help-mode seq gv subr-x byte-opt bytecomp byte-compile cconv
saveplace desktop frameset cl-loaddefs cl-lib china-util iso-transl
tooltip eldoc paren electric uniquify ediff-hook vc-hooks
lisp-float-type elisp-mode mwheel dos-w32 ls-lisp disp-table
term/w32-win w32-win w32-vars 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
w32notify w32 lcms2 multi-tty make-network-process native-compile emacs)

Memory information:
((conses 16 483944 189169)
 (symbols 48 38838 0)
 (strings 32 51839 48818)
 (string-bytes 1 1196389)
 (vectors 16 56315)
 (vector-slots 8 1157029 123550)
 (floats 8 31 312)
 (intervals 56 32427 31947)
 (buffers 992 13))

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#55592; Package emacs. (Mon, 23 May 2022 13:36:02 GMT) Full text and rfc822 format available.

Message #8 received at 55592 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Eason Huang <aqua0210 <at> foxmail.com>
Cc: 55592 <at> debbugs.gnu.org
Subject: Re: bug#55592: 29.0.50;
 save-place-mode conflict with desktop.el when file encoding is utf-16
Date: Mon, 23 May 2022 16:34:57 +0300
> From: Eason Huang <aqua0210 <at> foxmail.com>
> Date: Mon, 23 May 2022 20:28:56 +0800
> 
> 1. create an file in ~/.emacs.d/init.el
> 2. put below code in in the init.el file
> ```
> (desktop-save-mode 1)
> (save-place-mode 1)
> ```
> 3. start Emacs and open a file with UTF-16 encoding, you can use the
> sample file in the attachment
> 
> 4. close Emacs with C-x C-c, will save a .emacs.desktop file and a
> places file in the .emacs.d directory.
> 
> 5. restart Emacs, now you can see the issue.

Thanks for the clear recipe, this should now be fixed on the master
branch.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#55592; Package emacs. (Mon, 23 May 2022 15:27:02 GMT) Full text and rfc822 format available.

Message #11 received at 55592 <at> debbugs.gnu.org (full text, mbox):

From: Eason Huang <aqua0210 <at> foxmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 55592 <at> debbugs.gnu.org
Subject: Re: bug#55592: 29.0.50; save-place-mode conflict with desktop.el
 when file encoding is utf-16
Date: Mon, 23 May 2022 23:26:14 +0800
Eli Zaretskii <eliz <at> gnu.org> writes:

>> From: Eason Huang <aqua0210 <at> foxmail.com>
>> Date: Mon, 23 May 2022 20:28:56 +0800
>>
>> 1. create an file in ~/.emacs.d/init.el
>> 2. put below code in in the init.el file
>> ```
>> (desktop-save-mode 1)
>> (save-place-mode 1)
>> ```
>> 3. start Emacs and open a file with UTF-16 encoding, you can use the
>> sample file in the attachment
>>
>> 4. close Emacs with C-x C-c, will save a .emacs.desktop file and a
>> places file in the .emacs.d directory.
>>
>> 5. restart Emacs, now you can see the issue.
>
> Thanks for the clear recipe, this should now be fixed on the master
> branch.

Hi Eli,

Thanks for your quick fix.

The issue have been gone. It works well with latest commit.

I tested on Windows and macOS.

-- 
Eason Huang




Reply sent to Eli Zaretskii <eliz <at> gnu.org>:
You have taken responsibility. (Mon, 23 May 2022 15:42:02 GMT) Full text and rfc822 format available.

Notification sent to Eason Huang <aqua0210 <at> foxmail.com>:
bug acknowledged by developer. (Mon, 23 May 2022 15:42:02 GMT) Full text and rfc822 format available.

Message #16 received at 55592-done <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Eason Huang <aqua0210 <at> foxmail.com>
Cc: 55592-done <at> debbugs.gnu.org
Subject: Re: bug#55592: 29.0.50; save-place-mode conflict with desktop.el
 when file encoding is utf-16
Date: Mon, 23 May 2022 18:41:01 +0300
> From: Eason Huang <aqua0210 <at> foxmail.com>
> Cc: 55592 <at> debbugs.gnu.org
> Date: Mon, 23 May 2022 23:26:14 +0800
> 
> > Thanks for the clear recipe, this should now be fixed on the master
> > branch.
> 
> Hi Eli,
> 
> Thanks for your quick fix.
> 
> The issue have been gone. It works well with latest commit.
> 
> I tested on Windows and macOS.

Great, thanks for testing.  I'm therefore closing this bug.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 21 Jun 2022 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 282 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.