From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Dmitry Alexandrov <321942@gmail.com> Newsgroups: gmane.emacs.bugs Subject: bug#25216: 26.0.50 [regression]; Curly quotes are not found in some sizes of =?UTF-8?Q?=E2=80=98Terminus=E2=80=99?= font Date: Mon, 19 Dec 2016 07:52:42 +0300 Message-ID: <87pokott9h.fsf@gmail.com> References: <87bmwbv038.fsf@gmail.com> <83lgvf6kar.fsf@gnu.org> <871sx6vr1u.fsf@gmail.com> <83inqi7r8t.fsf@gnu.org> <87wpewtxne.fsf@gmail.com> <83eg1460u4.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: blaine.gmane.org 1482123194 26118 195.159.176.226 (19 Dec 2016 04:53:14 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 19 Dec 2016 04:53:14 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux) Cc: 25216@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Dec 19 05:53:10 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cIpwh-00064g-SB for geb-bug-gnu-emacs@m.gmane.org; Mon, 19 Dec 2016 05:53:08 +0100 Original-Received: from localhost ([::1]:43271 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cIpwm-0001Pv-BM for geb-bug-gnu-emacs@m.gmane.org; Sun, 18 Dec 2016 23:53:12 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:44048) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cIpwf-0001Pq-NI for bug-gnu-emacs@gnu.org; Sun, 18 Dec 2016 23:53:07 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cIpwc-0002GC-Jj for bug-gnu-emacs@gnu.org; Sun, 18 Dec 2016 23:53:05 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:59543) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cIpwc-0002G4-Ep for bug-gnu-emacs@gnu.org; Sun, 18 Dec 2016 23:53:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1cIpwc-0005we-4n for bug-gnu-emacs@gnu.org; Sun, 18 Dec 2016 23:53:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Dmitry Alexandrov <321942@gmail.com> Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 19 Dec 2016 04:53:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 25216 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 25216-submit@debbugs.gnu.org id=B25216.148212316222821 (code B ref 25216); Mon, 19 Dec 2016 04:53:01 +0000 Original-Received: (at 25216) by debbugs.gnu.org; 19 Dec 2016 04:52:42 +0000 Original-Received: from localhost ([127.0.0.1]:46709 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cIpwH-0005w1-Lz for submit@debbugs.gnu.org; Sun, 18 Dec 2016 23:52:41 -0500 Original-Received: from mail-lf0-f48.google.com ([209.85.215.48]:35516) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <321942@gmail.com>) id 1cIpwG-0005vm-SE for 25216@debbugs.gnu.org; Sun, 18 Dec 2016 23:52:41 -0500 Original-Received: by mail-lf0-f48.google.com with SMTP id b14so46094148lfg.2 for <25216@debbugs.gnu.org>; Sun, 18 Dec 2016 20:52:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:in-reply-to:references:user-agent:mail-copies-to :date:message-id:mime-version:content-transfer-encoding; bh=f0YQ5xvE1b4MLg/4IgJ6+EuDMRdsya1TAnK48uZNMTw=; b=kW/Si9PSYQRxvqgfU4NMpjjINZwwU1PZ53L3izgac9+JSQEnwdfY8AYm7k02Cj2yFf McmsKpT/iU1l0gW3wqL1K08W05+1U4SmMwexHc4IqPagGpK3xHosC66sWbjeQt9l28mQ ShvtNl3iuJJCx4yJsuQYRfBLMaCXCQpGZ4YNHv59K4IhC8UPYmUis8LMx/iQUo93jLod eIJ/YL8V9Y0plFX3fUQIkr2F7ezi/rGTiUEF0zGph73l8j0qHw+vBGEMwUWfoBP2ITja 62UPm+edg0lmRa7rh41rUpXc5hn6Nq/l+LnKWnjzWcsTRI7e41eBlInjfsT7EH6AfpIe j9DQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:in-reply-to:references :user-agent:mail-copies-to:date:message-id:mime-version :content-transfer-encoding; bh=f0YQ5xvE1b4MLg/4IgJ6+EuDMRdsya1TAnK48uZNMTw=; b=bEvWcPXSkdlO/ITvKQc3kOYaUQp8m7Zq5p8v0QdM8ZDbHqliilg2xhjImgN5USIcxs U3jXipS2vGIFkuehvHAWc2m/XMBTQD+R4UkKjk1pn8iqakdOmmul709YCuGyd7i4g654 z3VjHwNjWa2Sm1qp9qKPi9PY/SET2z4E4QdgRIvynhXSzhJMhcyxS3TfntWta2LvA3Wa v79xSQG5+R2CN+88J3SdDmm1+6N8Fdo6jagfwuQI7ZVNiSLtHAJ6wkRAvjoTNLkyFSsz ITF8qtjLcxlFI4FtwGuYiHhP4Kb/rOwbcsDlgN5ndXo6qASIacZn70sq+5nO6GGHestM xWkg== X-Gm-Message-State: AKaTC01zgyf1l9TsYIxVasy8xKzfVvrLjrWQLibVU9qWyqrOiIFky6Jc4RKsZGfgekfkBQ== X-Received: by 10.25.206.3 with SMTP id e3mr5164093lfg.42.1482123154684; Sun, 18 Dec 2016 20:52:34 -0800 (PST) Original-Received: from asus.local ([178.218.27.218]) by smtp.gmail.com with ESMTPSA id s6sm3103772ljd.42.2016.12.18.20.52.33 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 18 Dec 2016 20:52:34 -0800 (PST) In-Reply-To: <83eg1460u4.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 19 Dec 2016 05:42:59 +0200") Mail-Copies-To: always X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:127158 Archived-At: >> > It doesn't surprise me. What I don't understand is why this happens. >> > Emacs explicitly tests the default font for supporting any symbol or >> > punctuation character it needs to display, before it looks for another >> > font. See the function face_for_char in fontset.c. >> > >> >> Aha! Thanks. The exact problematic commit is ‘2276a19d’ [0]. >> >> >> >> By the way, how could I prove that without rebuilding the whole Emacs? I tried: >> >> >> >> $ git show 2276a19^:lisp/international/fontset.el > /tmp/lisp/fontset.el >> >> $ emacs --directory /tmp/lisp --quick --font '-*-terminus-medium-r-*-*-20-*-*-*-*-*-*-*' >> >> >> >> Despite that: >> >> >> >> (locate-library "fontset") >> >> ⇒ "/tmp/lisp/fontset.el" >> >> >> >> I did not see any effect. >> > >> > You must rebuild Emacs or manually load fontset.el after changing it. >> > fontset.el is preloaded when Emacs is built. >> >> So I need to use ‘temacs’? Yes, that works, thank you. > > If you want to rebuild Emacs, then yes, you will need to run the > command which dumps it after changing fontset.el. So there is another way? Mere (load "/tmp/lisp/fontset.el") have no use after built-in ‘fontset’ is already loaded of course. I’m just curious. >> >> However, It might be even better if I could erase that rule, as if >> >> there were no lines about that range in ‘fontsel.el’. Is it >> >> possible? >> > >> > That would adversely affect all the users. We arrived at that rule >> > after many complaints that symbol and punctuation characters are not >> > displayed at all, or displayed using variable-pitch fonts, so we made >> > the default fontset "smarter" about that by using fonts people >> > generally have installed and which are the default fonts in Emacs. >> >> Well, I’m the only user on most my machines, so that’s probably bearable. > > No, I meant all the users of Emacs, world wide. > >> However, we apparently misunderstood each other — I did not ask how >> to patch ‘fontsel.el’ machine-wide (I hope, I do understand how to >> do that). I meant, is it possible to remove elements from the >> default fontset *user-wide*? ‘Terminus’ is not the only font I use, >> so that would be cleaner than appending it there. > > You don't need (and cannot, AFAIK) to remove that. What you need is > to prepend your rules, which will override what's there. Like this: > > (set-fontset-font "fontset-default" '(#x2000 . #x2067) "Terminus" nil 'prepend) > > Note the "prepend" part. Okay, if I can’t, I can’t. As for ‘prepend’ it actually works all three ways for me: obviously ‘nil’ (for override, not what I want), ‘prepend’ (as expected) and ‘append’ (no idea why).