GNU bug report logs - #78990
30.1; Show-font breaks `insert-file-contents-literally'

Previous Next

Package: emacs;

Reported by: Zhengyi Fu <i <at> fuzy.me>

Date: Thu, 10 Jul 2025 12:14:02 UTC

Severity: normal

Found in version 30.1

Done: Eli Zaretskii <eliz <at> gnu.org>

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#78990: closed (30.1; Show-font breaks `insert-file-contents-literally')
Date: Sat, 19 Jul 2025 08:38:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Sat, 19 Jul 2025 11:37:03 +0300
with message-id <86h5z8efv4.fsf <at> gnu.org>
and subject line Re: bug#78990: 30.1; Show-font breaks `insert-file-contents-literally'
has caused the debbugs.gnu.org bug report #78990,
regarding 30.1; Show-font breaks `insert-file-contents-literally'
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
78990: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=78990
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Zhengyi Fu <i <at> fuzy.me>
To: bug-gnu-emacs <at> gnu.org
Cc: info <at> protesilaos.com
Subject: 30.1; Show-font breaks `insert-file-contents-literally'
Date: Thu, 10 Jul 2025 20:12:48 +0800
The package `show-font' adds a file name handler to
`file-name-handler-alist', which causes an error when trying to insert
the raw contents of an TTF file into a buffer with
`insert-file-contents-literally'.

;;;###autoload
(add-to-list 'file-name-handler-alist (cons "\\.\\(ttf\\|otf\\)\\'" #'show-font-handler))

Currently I use the following advice to workaround this behavior, but I
think it's better to fix this either in show-font or in Emacs core.

(define-advice insert-file-contents-literally
    (:around (&rest args) inhibit-show-font)
  (let ((inhibit-file-name-handlers
	 (append '(show-font-handler)
		 (and (eq inhibit-file-name-operation 'insert-file-contents)
		      inhibit-file-name-handlers)))
	(inhibit-file-name-operation 'insert-file-contents))
    (apply args)))



[Message part 3 (message/rfc822, inline)]
From: Eli Zaretskii <eliz <at> gnu.org>
To: Zhengyi Fu <i <at> fuzy.me>
Cc: info <at> protesilaos.com, prot <at> protesilaos.com, 78990-done <at> debbugs.gnu.org
Subject: Re: bug#78990: 30.1; Show-font breaks `insert-file-contents-literally'
Date: Sat, 19 Jul 2025 11:37:03 +0300
> Cc: 78990 <at> debbugs.gnu.org, info <at> protesilaos.com
> From: Zhengyi Fu <i <at> fuzy.me>
> Date: Sat, 12 Jul 2025 15:44:03 +0800
> 
> Protesilaos Stavrou <prot <at> protesilaos.com> writes:
> 
> > On 2025-07-11 12:58, Zhengyi Fu wrote:
> >> Protesilaos Stavrou <prot <at> protesilaos.com> writes:
> >> 
> >>> On 2025-07-10 15:27, Zhengyi Fu wrote:
> >>>> Thank you for your fast reply.
> >>> You are welcome!
> >>> 
> >>>> No.  Actually, I don't know how to fix it correctly.
> >>> Okay, no worries! Let's try to do this together. I have not tried
> >>> 'insert-file-contents-literally' before. Please evaluate the following
> >>> function and try again.
> >>> (defun show-font--insert-button ()
> >>>   "Insert `show-font-installed-file-button' at point."
> >>>   (when buffer-file-name
> >>>     (insert
> >>>      (propertize "Cannot preview this font" 'face 'show-font-title)
> >>>      "\n\n"
> >>>      (propertize buffer-file-name 'face 'bold)
> >>>      " is not installed"
> >>>      "\n\n"
> >>>      "Install this font file?"
> >>>      "\n")
> >>>     (goto-char (point-max))
> >>>     (make-text-button (line-beginning-position 0) (line-end-position
> >>>     0) :type 'show-font-installed-file-button)))
> >> After evaluating that fnuction, it doesn't signal errors, but
> >> nothing
> >> gets inserted.
> >
> > I made two changes and bumped the version number. The new package will
> > be available in a few hours. I believe I have fixed the problem. See
> > commits d238f83 and f6239ae in show-font.git.
> 
> It works now!  Thank you very much! 👍

Thanks, I'm therefore closing the bug.


This bug report was last modified 23 days ago.

Previous Next


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