all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: help-gnu-emacs@gnu.org
Subject: Re: An unwonted warning I constantly get about fontsets when I start Emacs
Date: Sun, 28 May 2017 07:15:25 +0300	[thread overview]
Message-ID: <83mv9xhb1e.fsf@gnu.org> (raw)
In-Reply-To: <ygm60gmaqb1.fsf@xi> (message from Göktuğ Kayaalp on Sun, 28 May 2017 01:27:30 +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	other threads:[~2017-05-28  4:15 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-27  9:22 An unwonted warning I constantly get about fontsets when I start Emacs Göktuğ Kayaalp
2017-05-27  9:42 ` Eli Zaretskii
2017-05-27 11:52   ` Göktuğ Kayaalp
2017-05-27 13:37     ` Eli Zaretskii
2017-05-27 13:44       ` Göktuğ Kayaalp
2017-05-27 14:09         ` Eli Zaretskii
2017-05-27 22:27           ` Göktuğ Kayaalp
2017-05-28  4:15             ` Eli Zaretskii [this message]
2017-05-28  4:33               ` Eli Zaretskii
2017-05-28  7:56                 ` tomas
2017-05-28 15:01                   ` Eli Zaretskii
2017-05-28 13:14                 ` Göktuğ Kayaalp
2017-05-28 14:32                   ` Göktuğ Kayaalp
2017-05-28 15:41                     ` Eli Zaretskii
2017-05-28 18:14                       ` Göktuğ Kayaalp
2017-05-28 13:16               ` Göktuğ Kayaalp
  -- strict thread matches above, loose matches on Subject: below --
2017-05-27  9:25 Göktuğ Kayaalp

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83mv9xhb1e.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.