Sorry I have to resend this message using gmane, again it
just does not appear, most likely because of the
attachments. I insert them inline now.
And I CC Steve Turnbull now, since he wrote that patch.
Hello
Till 21.5.31 I could use x-symbol thanks to a patch of
Steven concerning specifer.c
However this is not true any longer in 21.5.32.
I tried to compile with and without the patch, but when I
call x-symbol mode I obtain basically the same error which I
attach.
I also attach the patch which I applied to specifier.c (I
even tried to use the old specifer.c from 21.5.31 but this
did not work. (As I expected it wouldn't)
What can I do?
Thanks
Uwe Brauer
First bug trace with patch
--8<------------------------schnipp------------------------->8---
Debugger entered--Lisp error: (invalid-argument "Invalid tag
set" (mule-fonts)) canonicalize-tag-set((mule-fonts))
set-specifier(#<font-specifier
global="-adobe-helvetica-medium-r-normal-*-*-140-*-*-*-*-iso8859-1"
fallback=#<font-specifier
global=(... ... ... ... ... ... ... ... ... ...)
fallback=(... ... ... ... ... ... ... ... ... ...) 0x47>
0x164f>
"-adobe-helvetica-medium-r-normal-*-14-*-*-*-*-*-iso8859-2"
nil (mule-fonts) prepend) set-face-property(x-symbol-face
font
"-adobe-helvetica-medium-r-normal-*-14-*-*-*-*-*-iso8859-2"
nil (mule-fonts) prepend)
x-symbol-set-face-font(x-symbol-face
"-adobe-helvetica-medium-r-normal-*-14-*-*-*-*-*-iso8859-2"
(nil latin-iso8859-2) nil) x-symbol-make-cset(((("iso8859-2"
. iso-8859-2) ?\^Þ -3750) nil latin-iso8859-2)
(("-adobe-helvetica%s-medium-r-normal-*-%d-*-*-*-*-*-iso8859-2"
"-etl-fixed%s-medium-r-normal--%d-%d0-72-72-c-*-iso8859-2")
("-adobe-helvetica%s-medium-r-normal-*-%d-*-*-*-*-*-iso8859-2"
"-etl-fixed%s-medium-r-normal--%d-%d0-72-72-c-*-iso8859-2")
("-adobe-helvetica%s-medium-r-normal-*-%d-*-*-*-*-*-iso8859-2"
"-etl-fixed%s-medium-r-normal--%d-%d0-72-72-c-*-iso8859-2")))
x-symbol-init-cset(((("iso8859-2" . iso-8859-2) ?\^Þ -3750)
nil latin-iso8859-2)
("-adobe-helvetica%s-medium-r-normal-*-%d-*-*-*-*-*-iso8859-2"
"-etl-fixed%s-medium-r-normal--%d-%d0-72-72-c-*-iso8859-2")
((nobreakspace 160 . t) (Aogonek 161 (ogonek "A" aogonek))
(breve 162 (breve accent)) (Lslash 163 (slash "L" lslash))
(currency 164 . t) (Lcaron 165 (caron "L" lcaron)) (Sacute
166 (acute "S" sacute)) (section 167 . t) (diaeresis 168
. t) (Scaron 169 (caron "S" scaron)) (Scedilla 170 (cedilla
"S" scedilla)) (Tcaron 171 (caron "T" tcaron)) (Zacute 172
(acute "Z" zacute)) (hyphen 173 . t) (Zcaron 174 (caron "Z"
zcaron)) (Zdotaccent 175 (dotaccent "Z" zdotaccent)) (degree
176 . t) (aogonek 177 (ogonek "a" Aogonek)) (ogonek 178
(ogonek accent)) (lslash 179 (slash "l" Lslash)) (acute 180
. t) (lcaron 181 (caron "l" Lcaron)) (sacute 182 (acute "s"
Sacute)) (caron 183 (caron accent) (shift up)) (cedilla 184
. t) (scaron 185 (caron "s" Scaron)) (scedilla 186 (cedilla
"s" Scedilla)) (tcaron 187 (caron "t" Tcaron)) (zacute 188
(acute "z" Zacute)) (hungarumlaut 189 (hungarumlaut accent))
(zcaron 190 (caron "z" Zcaron)) (zdotaccent 191 (dotaccent
"z" Zdotaccent)) (Racute 192 (acute "R" racute)) (Aacute 193
. t) (Acircumflex 194 . t) (Abreve 195 (breve "A" abreve))
(Adiaeresis 196 . t) (Lacute 197 (acute "L" lacute)) (Cacute
198 (acute "C" cacute)) (Ccedilla 199 . t) (Ccaron 200
(caron "C" ccaron)) (Eacute 201 . t) (Eogonek 202 (ogonek
"E" eogonek)) (Ediaeresis 203 . t) (Ecaron 204 (caron "E"
ecaron)) (Iacute 205 . t) (Icircumflex 206 . t) (Dcaron 207
(caron "D" dcaron)) (Dbar 208 (slash "D" dbar)) (Nacute 209
(acute "N" nacute)) (Ncaron 210 (caron "N" ncaron)) ...))
byte-code("..." [x-symbol-latin9-fonts x-symbol-latin5-fonts
x-symbol-latin3-fonts x-symbol-latin2-fonts
x-symbol-latin1-fonts current-load-list
x-symbol-no-of-charsyms default-boundp set-default 453
x-symbol-initialize nil console-type warn "X-Symbol: only
limited support on a console" console-user
x-symbol-init-cset x-symbol-init-latin-decoding
x-symbol-xsymb0-fonts x-symbol-xsymb1-fonts noninteractive
x-symbol-all-charsyms x-symbol-default-coding
x-symbol-latin-force-use x-symbol-latin1-cset
x-symbol-latin1-table x-symbol-latin2-cset
x-symbol-latin2-table x-symbol-latin3-cset
x-symbol-latin3-table x-symbol-latin5-cset
x-symbol-latin5-table x-symbol-latin9-cset
x-symbol-latin9-table x-symbol-xsymb0-cset
x-symbol-xsymb0-table x-symbol-xsymb1-cset
x-symbol-xsymb1-table] 5) load-internal("x-symbol" nil nil
nil binary) load("x-symbol" nil nil nil)
x-symbol-read-language("Token Language for X-Symbol mode: "
nil cdr) #<compiled-function (from x-symbol-mode) (&optional
arg special) "...(520)" [disabled1 x-symbol-mode special
disabled x-symbol-language style init nil
prefix-numeric-value 0 x-symbol-mode-disable mode-class t
error functionp interactive yes-or-no-p format "Cannot use
X-Symbol with %s Mode. Turn on anyway? " "%s Mode does not
allow to turn on X-Symbol" x-symbol-buffer-file-name
buffer-name x-symbol-style string-match x-symbol-LANG-modes
local-variable-p x-symbol-LANG-feature
x-symbol-read-language "Token Language for X-Symbol mode
(default %s): " x-symbol-language-text cdr "Token Language
for X-Symbol mode: " "A valid token language is required to
turn on X-Symbol" require x-symbol-LANG-auto-style boundp
eval x-symbol-auto-set-variable x-symbol-coding
x-symbol-8bits x-symbol-auto-8bit-search null
x-symbol-unique x-symbol-subscripts 4 x-symbol-image 5
x-symbol-mode-internal "Cannot turn on X-Symbol mode" alist
...] 5
("/usr/local/share/xemacs/xemacs-packages/lisp/x-symbol/x-symbol-hooks.elc"
. 22313) (list current-prefix-arg (quote interactive))
0x4b66>(nil interactive) call-interactively(x-symbol-mode)
--8<------------------------schnapp------------------------->8---
Second bug trace without patch
--8<------------------------schnipp------------------------->8---
Debugger entered--Lisp error: (wrong-type-argument consp
latin-iso8859-2)
specifier-matching-instance(#<font-specifier
global=((... . "normal")
(... . "-*-courier-bold-r-*-*-18-180-*-*-*-*-*-*")
(... . "-adobe-symbol-*-*-*-*-*-240-*-*-*-*-*-*")
(...
.
"-misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-7")
(...
.
"-misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-7")
(...
.
"-misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-7")
(...
.
"-misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-7")
(...
.
"-misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-7")
(...
.
"-misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-7")
(... . "*")) fallback=((... . "normal")
(... . "-*-lucidatypewriter-medium-r-*-*-*-120-*-*-*-*-*-*")
(... . "-*-*-medium-r-*-*-*-120-*-*-c-*-*-*")
(...
.
"-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1")
(... . "-*-*-medium-r-*-*-*-150-*-*-c-*-*-*")
(... . "-*-*-medium-r-*-*-*-160-*-*-c-*-*-*")
(... . "-*-*-medium-r-*-*-*-170-*-*-c-*-*-*")
(...
.
"-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1")
(...
.
"-misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1")
(... . "*")) 0x47> latin-iso8859-2 nil nil t)
face-property-matching-instance(default font latin-iso8859-2
nil nil t) x-symbol-make-cset(((("iso8859-2" . iso-8859-2)
?\^Þ -3750) nil latin-iso8859-2)
(("-adobe-helvetica%s-medium-r-normal-*-%d-*-*-*-*-*-iso8859-2"
"-etl-fixed%s-medium-r-normal--%d-%d0-72-72-c-*-iso8859-2")
("-adobe-helvetica%s-medium-r-normal-*-%d-*-*-*-*-*-iso8859-2"
"-etl-fixed%s-medium-r-normal--%d-%d0-72-72-c-*-iso8859-2")
("-adobe-helvetica%s-medium-r-normal-*-%d-*-*-*-*-*-iso8859-2"
"-etl-fixed%s-medium-r-normal--%d-%d0-72-72-c-*-iso8859-2")))
x-symbol-init-cset(((("iso8859-2" . iso-8859-2) ?\^Þ -3750)
nil latin-iso8859-2)
("-adobe-helvetica%s-medium-r-normal-*-%d-*-*-*-*-*-iso8859-2"
"-etl-fixed%s-medium-r-normal--%d-%d0-72-72-c-*-iso8859-2")
((nobreakspace 160 . t) (Aogonek 161 (ogonek "A" aogonek))
(breve 162 (breve accent)) (Lslash 163 (slash "L" lslash))
(currency 164 . t) (Lcaron 165 (caron "L" lcaron)) (Sacute
166 (acute "S" sacute)) (section 167 . t) (diaeresis 168
. t) (Scaron 169 (caron "S" scaron)) (Scedilla 170 (cedilla
"S" scedilla)) (Tcaron 171 (caron "T" tcaron)) (Zacute 172
(acute "Z" zacute)) (hyphen 173 . t) (Zcaron 174 (caron "Z"
zcaron)) (Zdotaccent 175 (dotaccent "Z" zdotaccent)) (degree
176 . t) (aogonek 177 (ogonek "a" Aogonek)) (ogonek 178
(ogonek accent)) (lslash 179 (slash "l" Lslash)) (acute 180
. t) (lcaron 181 (caron "l" Lcaron)) (sacute 182 (acute "s"
Sacute)) (caron 183 (caron accent) (shift up)) (cedilla 184
. t) (scaron 185 (caron "s" Scaron)) (scedilla 186 (cedilla
"s" Scedilla)) (tcaron 187 (caron "t" Tcaron)) (zacute 188
(acute "z" Zacute)) (hungarumlaut 189 (hungarumlaut accent))
(zcaron 190 (caron "z" Zcaron)) (zdotaccent 191 (dotaccent
"z" Zdotaccent)) (Racute 192 (acute "R" racute)) (Aacute 193
. t) (Acircumflex 194 . t) (Abreve 195 (breve "A" abreve))
(Adiaeresis 196 . t) (Lacute 197 (acute "L" lacute)) (Cacute
198 (acute "C" cacute)) (Ccedilla 199 . t) (Ccaron 200
(caron "C" ccaron)) (Eacute 201 . t) (Eogonek 202 (ogonek
"E" eogonek)) (Ediaeresis 203 . t) (Ecaron 204 (caron "E"
ecaron)) (Iacute 205 . t) (Icircumflex 206 . t) (Dcaron 207
(caron "D" dcaron)) (Dbar 208 (slash "D" dbar)) (Nacute 209
(acute "N" nacute)) (Ncaron 210 (caron "N" ncaron)) ...))
byte-code("..." [x-symbol-latin9-fonts x-symbol-latin5-fonts
x-symbol-latin3-fonts x-symbol-latin2-fonts
x-symbol-latin1-fonts current-load-list
x-symbol-no-of-charsyms default-boundp set-default 453
x-symbol-initialize nil console-type warn "X-Symbol: only
limited support on a console" console-user
x-symbol-init-cset x-symbol-init-latin-decoding
x-symbol-xsymb0-fonts x-symbol-xsymb1-fonts noninteractive
x-symbol-all-charsyms x-symbol-default-coding
x-symbol-latin-force-use x-symbol-latin1-cset
x-symbol-latin1-table x-symbol-latin2-cset
x-symbol-latin2-table x-symbol-latin3-cset
x-symbol-latin3-table x-symbol-latin5-cset
x-symbol-latin5-table x-symbol-latin9-cset
x-symbol-latin9-table x-symbol-xsymb0-cset
x-symbol-xsymb0-table x-symbol-xsymb1-cset
x-symbol-xsymb1-table] 5) load-internal("x-symbol" nil nil
nil binary) load("x-symbol" nil nil nil)
x-symbol-read-language("Token Language for X-Symbol mode: "
nil cdr) #<compiled-function (from x-symbol-mode) (&optional
arg special) "...(520)" [disabled1 x-symbol-mode special
disabled x-symbol-language style init nil
prefix-numeric-value 0 x-symbol-mode-disable mode-class t
error functionp interactive yes-or-no-p format "Cannot use
X-Symbol with %s Mode. Turn on anyway? " "%s Mode does not
allow to turn on X-Symbol" x-symbol-buffer-file-name
buffer-name x-symbol-style string-match x-symbol-LANG-modes
local-variable-p x-symbol-LANG-feature
x-symbol-read-language "Token Language for X-Symbol mode
(default %s): " x-symbol-language-text cdr "Token Language
for X-Symbol mode: " "A valid token language is required to
turn on X-Symbol" require x-symbol-LANG-auto-style boundp
eval x-symbol-auto-set-variable x-symbol-coding
x-symbol-8bits x-symbol-auto-8bit-search null
x-symbol-unique x-symbol-subscripts 4 x-symbol-image 5
x-symbol-mode-internal "Cannot turn on X-Symbol mode" alist
...] 5
("/usr/local/share/xemacs/xemacs-packages/lisp/x-symbol/x-symbol-hooks.elc"
. 22313) (list current-prefix-arg (quote interactive))
0x4c3e>(nil interactive) call-interactively(x-symbol-mode)
--8<------------------------schnapp------------------------->8---
Specifer patch using -u
--8<------------------------schnipp------------------------->8---
diff -u /home/oub/SoftExp/xemacs-21.5.32/src/specifier-patch.c
/home/oub/SoftExp/xemacs-21.5.32/src/specifier.c
--- /home/oub/SoftExp/xemacs-21.5.32/src/specifier-patch.c 2012-09-12 13:04:52.034142423
+0200
+++ /home/oub/SoftExp/xemacs-21.5.32/src/specifier.c 2012-09-12 13:04:52.042142044 +0200
@@ -3171,12 +3171,10 @@
no_fallback, 1);
}
-/* Allows code written for 21.4 to continue to work. */
-static Lisp_Object
-maybe_charset_to_matchspec (Lisp_Object spec)
-{
- return Ffind_charset (spec) ? Fcons (spec, Qinitial) : spec;
-}
+/* MATCHSPEC is backward-incompatible with code written to 21.4's API.
+ So far such code has been seen only in x-symbol-mule.el, and that
+ was addressed by a change `face-property-matching-instance'.
+ See tracker issue752 for a more general patch against 21.5.29. */
DEFUN ("specifier-matching-instance", Fspecifier_matching_instance, 2, 5, 0,
/*
Return an instance for SPECIFIER in DOMAIN that matches MATCHSPEC.
If no instance can be generated for this domain, return DEFAULT.
@@ -3193,7 +3191,8 @@
characters. All other characters are handled as if the buffer-local
display table is not there. (Chartable specifiers are not yet
implemented.)
--- For font specifiers, MATCHSPEC should be a cons \(CHARSET . STAGE).
+
+-- For font specifiers, MATCHSPEC should be a cons (CHARSET . STAGE).
The defined stages are currently `initial' and `final'. On X11, 'initial
is used when the font matching process is looking for fonts that match
the desired registries of the charset--see the `charset-registries'
@@ -3203,8 +3202,7 @@
charset repertoire for this charset. It also means that the charset
registry and encoding used will be `iso10646-1', and the characters will
be converted to display using that registry.
- For backward compatibility with Lisp code written for 21.4, a bare
- charset CHARSET is accepted and interpreted as \(CHARSET . initial).
+
See `define-specifier-tag' for details on how to create a tag that
specifies a given character set and stage combination. You can supply
such a tag to `set-face-font' in order to set a face's font for that
@@ -3212,7 +3210,6 @@
*/
(specifier, matchspec, domain, default_, no_fallback))
{
- matchspec = maybe_charset_to_matchspec (matchspec);
return specifier_matching_foo (specifier, matchspec, domain, default_,
no_fallback, 0);
}
@@ -3228,7 +3225,6 @@
*/
(specifier, matchspec, domain, default_, no_fallback))
{
- matchspec = maybe_charset_to_matchspec (matchspec);
return specifier_matching_foo (specifier, matchspec, domain, default_,
no_fallback, 1);
}
@@ -3309,7 +3305,6 @@
*/
(specifier, matchspec, domain, inst_list, default_))
{
- matchspec = maybe_charset_to_matchspec (matchspec);
return specifier_matching_foo_from_inst_list (specifier, matchspec,
domain, inst_list, default_,
0);
@@ -3325,7 +3320,6 @@
*/
(specifier, matchspec, domain, inst_list, default_))
{
- matchspec = maybe_charset_to_matchspec (matchspec);
return specifier_matching_foo_from_inst_list (specifier, matchspec,
domain, inst_list, default_,
1);
--8<------------------------schnapp------------------------->8---
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-beta