help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: An unwonted warning I constantly get about fontsets when I start Ema


From: Göktuğ Kayaalp
Subject: Re: An unwonted warning I constantly get about fontsets when I start Emacs
Date: Sun, 28 May 2017 01:27:30 +0300
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux)

On 2017-05-27 17:09 +03, Eli Zaretskii <eliz@gnu.org> wrote:
>> From: Göktuğ Kayaalp <self@gkayaalp.com>
>> Cc: help-gnu-emacs@gnu.org
>> Date: Sat, 27 May 2017 16:44:18 +0300
>> 
>> >> >> Error (initialization): Creation of the default fontsets failed:
>> >> >> (error Invalid script or charset name: old-italic)
>> >> >>
>> >> >> [...]
>> >> > Please show your fontset-related customizations.
>> >> 
>> >> I don't have any such customisations in Emacs.  Just setting the font
>> >> for some faces here and there:
>> >
>> > Strange, I don't see old-italic mentioned anywhere.
>> >
>> > Are you sure you don't have some stale Lisp files lying around and
>> > shadowing the ones which come with the distribution?
>> 
>> None of my lisp files contain the word `fontset'.  I've looked quite a
>> bit, but haven't found anything related.  I just learnt what it is,
>> actually.
>> 
>> > Also, do you see this problem with "emacs -Q"?
>> 
>> Yes.  The message comes up in the *Warnings* buffer with or without -Q.
>> No problems with any functionality so far tho, just the warning.
>
> This becomes more and more stuff for a bug report, not for discussion
> here.
>
> The old-italic script is defined in charscript.el, so check that file
> for problems (damaged, truncated, outdated).  It is then used in
> fontset.el, and the error you see comes from there, see the function
> create-default-fontset.  Maybe by looking into these two files, or by
> searching your system for outdated versions which shadow these, you
> will find the culprit.

charscript.el seems alright, it's installed only as an elc file, and
seems okay (I've diffed the .elc in the git repo with the installed
copy, no differences, then I recompiled the repo version via
‘byte-compile-file’, and diffed again, no differences).

In fontset.el, ‘old-italic’ appears in function ‘setup-default-fontset’,
called by ‘create-default-fontset’.  There, after the call to
‘new-fontset’, there's a dolist expression commented «For simple
scripts», which runs this expression on a list of symbols including
‘old-italic’:

(set-fontset-font "fontset-default"
                    script (font-spec :registry "iso10646-1" :script script)
                    nil 'append)

I tried this:

(let ((script 'old-italic))
  (set-fontset-font "fontset-default"
                    script (font-spec :registry "iso10646-1" :script script)
                    nil 'append))

Which gave me this backtrace:

Debugger entered--Lisp error: (error "Invalid script or charset name: 
old-italic")
  set-fontset-font("fontset-default" old-italic #<font-spec nil nil nil nil 
iso10646-1 nil nil nil nil nil nil nil ((:script . old-italic))> nil append)
  (let ((script (quote old-italic))) (set-fontset-font "fontset-default" script 
(font-spec :registry "iso10646-1" :script script) nil (quote append)))
  eval-region(146 322 t #[257 "\300\242b\210\301\207" [(322) (let ((script 
(quote old-italic))) (set-fontset-font "fontset-default" script (font-spec 
:registry "iso10646-1" :script script) nil (quote append)))] 2 "\n\n(fn 
IGNORE)"])  ; Reading at buffer position 146
[...]

The only emacs installation on my system is that one from the git repo
which I use daily, and this is the first build I made from this clone of
the repo.  It't virtually impossible that any shadowing happens.  Git
does not report any modified files.

> My next suggestion is to make sure the tree where you build Emacs is
> clean, and doesn't contain any stale files from the previous versions
> you've built.

As above.  I'll report this as a bug if you tell me to do so.  I'm
attaching charscript.el as it seems to be a generated file not tracked
by git.

Attachment: charscript.el
Description: charscript.el


reply via email to

[Prev in Thread] Current Thread [Next in Thread]