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: Eli Zaretskii
Subject: Re: An unwonted warning I constantly get about fontsets when I start Emacs
Date: Sun, 28 May 2017 07:15:25 +0300

> From: Göktuğ Kayaalp <self@gkayaalp.com>
> Cc: help-gnu-emacs@gnu.org
> Date: Sun, 28 May 2017 01:27:30 +0300
> 
> > 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
> [...]

What does the following produce in your Emacs:

  M-: (aref char-script-table #x10301) RET

> 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.

The command list-load-path-shadows will produce a list of shadowed
files, if there are any.  (report-emacs-bug invokes that command
internally and includes its results in the bug report, which is one
more reason to use report-emacs-bug for such matters.)

> > 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 meant something like "git clean -x -f -f".  Or maybe clone the
repository anew.  These things are hard to detect by looking, and a
single stale file can drive you mad with its implications.

> I'll report this as a bug if you tell me to do so.

I think it's long overdue.

> I'm attaching charscript.el as it seems to be a generated file not
> tracked by git.

And here's what seems to be the root cause of your problem:

    (#x10300 #x1032F old-ıtalic)

That ı in ıtalic is the dotless i character, whereas it should be the
Latin i character.  I see a few more of those elsewhere in the file,
all of them will cause similar problems.  I'm guessing that some bug
causes this in your locale, so as the first thing please delete this
file and let the Emacs build process re-generate it, in the hope that
the bug was meanwhile fixed.  If the regenerated file has the same
problem, please do report a bug about that.



reply via email to

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