XEmacs 21.4.19: Problem with customized folders on Windows XP
18 years, 1 month
Antonio Freixas
Hello,
On Windows XP, if you choose to customize a folder (say, by setting a
special icon for it), the folder becomes read-only. Except it's not,
really. I can still create, delete and edit files in the folder.
This is actually hard to see. In Explorer, add the "Attributes" column
to the display to view the permissions.
The net effect is that XEmacs thinks it can't create files in these
folders. This is a pain, as I have to manually create a file and then
open it in XEmacs. Writing the file out is not a problem.
Does anyone know of any work-around?
--
Antonio Freixas
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta
Build reports [was: gc algorithm [Re: empty charset registry?]]
18 years, 1 month
Stephen J. Turnbull
Ilya N. Golubev writes:
> Unlikely to have changed the `configure' defaults wrt it. So it
> should have been
>
> Using the new GC mark algorithms (KKCC).
Thanks!
By the way, if you've posted a build-report any time recently (say,
within 6 months), you can just say that, too, and not go to any other
trouble to reproduce the configuration. (True, pre-September
build-reports aren't on the web at the moment, but that's my
responsibility.:-)
xemacs-buildreports is a (mostly) write-only list; just do src/xemacs
-vanilla -f build-report in the build directory (assuming XEmacs is
capable of sending mail at that point, which is usually true on
Unix). That will give you a ready-to-send mail buffer, preaddressed,
with the data we need.
If you have local patches, it would be nice if you make a note of that
in the build report. It's up to you whether you provide the patch
itself (of course we'd love to have it but we'd much rather have just
the automatic stuff than no report at all), but it's important that we
know if we're using the build-report to analyze problems.
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta
[COMMIT] Update some documentation, comments; add some entries to etc/NEWS
18 years, 1 month
Aidan Kehoe
Ar an t-ochtú lá de mí na Samhain, scríobh Ilya N. Golubev:
> Your `objects.c' revision 1.32 of 2006/11/05 22:31:45 +0 changed the
> allowed MATCHSPEC values when instancing fonts. Still
> `specifier-matching-instance' docstring describes old MATCHSPEC
> format. (Let alone any `NEWS' entry.) Please fix.
Fixed, thank you for the bug report.
> Never checked whether this is the only item that depends on that
> executable code change.
APPROVE COMMIT
NOTE: This patch has been committed.
etc/ChangeLog addition:
2006-11-11 Aidan Kehoe <kehoea(a)parhasard.net>
* NEWS:
Add information on set-charset-registries, and the change to
define-specifier-tag.
man/ChangeLog addition:
2006-11-11 Aidan Kehoe <kehoea(a)parhasard.net>
* lispref/faces.texi (Face Convenience Functions):
Add information on how to specify a face's font for a given Mule
charset.
* lispref/specifiers.texi (Specifiers):
* lispref/specifiers.texi (Simple Specifier Usage):
* lispref/specifiers.texi (Specifiers In-Depth):
* lispref/specifiers.texi (Specifier Tag Functions):
* lispref/specifiers.texi (Specifier Instantiation Functions):
Update the documentation of specifiers to reflect the new support
for Mule character sets and associating tags with them.
src/ChangeLog addition:
2006-11-11 Aidan Kehoe <kehoea(a)parhasard.net>
* specifier.c:
Update the specifier-matching-instance documentation to reflect
the new format of font-specifier MATCHSPECs.
XEmacs Trunk source patch:
Diff command: cvs -q diff -Nu
Files affected: src/specifier.c
===================================================================
RCS man/lispref/specifiers.texi
===================================================================
RCS man/lispref/faces.texi
===================================================================
RCS etc/NEWS
===================================================================
RCS
Index: etc/NEWS
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/etc/NEWS,v
retrieving revision 1.76
diff -u -u -r1.76 NEWS
--- etc/NEWS 2005/07/17 20:08:40 1.76
+++ etc/NEWS 2006/11/11 15:40:46
@@ -67,6 +67,19 @@
type of mapping between characters and keysyms that it affected is no longer
in place.
+** The set-charset-registry function is deprecated.
+
+set-charset-registries replaces it; this function takes a vector of X11
+CHARSET_REGISTRY and CHARSET_ENCODINGs, and doesn't support regexp or XLFD
+wildcarding. It improves lookup performance (especially failures) for those
+X servers with large numbers of fonts.
+
+** define-specifier-tag now has an optional CHARSET-PREDICATE parameter.
+
+This allows you to create specifier tags that match over Mule character sets
+when instantiating fonts, finally making it possible to explicitly set a
+font for a charset in given face with set-face-font.
+
* Changes in XEmacs 21.4
========================
Index: man/lispref/faces.texi
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/man/lispref/faces.texi,v
retrieving revision 1.7
diff -u -u -r1.7 faces.texi
--- man/lispref/faces.texi 2005/07/20 07:36:44 1.7
+++ man/lispref/faces.texi 2006/11/11 15:40:56
@@ -404,6 +404,11 @@
This function sets the font of face @var{face}. The argument @var{font}
should be a string or a font object as returned by @code{make-font}
(@pxref{Fonts}).
+
+If you want to set a face's font for a given Mule character set, you
+need to include some tags in @var{tag-set} that match that character
+set. See the documentation of @code{define-specifier-tag} and its
+@code{charset-predicate} argument.
@end deffn
@deffn Command set-face-underline-p face underline-p &optional locale tag-set how-to-add
@@ -453,8 +458,10 @@
@var{face}.
@end defun
-@defun face-font-instance face &optional domain
-This function returns the font specifier of face @var{face}.
+@defun face-font-instance face &optional domain charset
+This function returns the font specifier of face @var{face} in domain
+@var{domain} (defaulting to the selected device) with Mule charset
+@var{charset} (defaulting to ASCII).
@xref{Fonts}.
@end defun
Index: man/lispref/specifiers.texi
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/man/lispref/specifiers.texi,v
retrieving revision 1.15
diff -u -u -r1.15 specifiers.texi
--- man/lispref/specifiers.texi 2005/09/26 08:41:57 1.15
+++ man/lispref/specifiers.texi 2006/11/11 15:41:06
@@ -10,9 +10,9 @@
A specifier is an object used to keep track of a property whose value
should vary according to @emph{display context}, a window, a frame, or
-device. The value of many built-in properties, such as the font,
-foreground, background, and such properties of a face and variables
-such as @code{modeline-shadow-thickness} and
+device, or a Mule character set. The value of many built-in properties,
+such as the font, foreground, background, and such properties of a face
+and variables such as @code{modeline-shadow-thickness} and
@code{top-toolbar-height}, is actually a specifier object. The
specifier object, in turn, is ``instantiated'' in a particular situation
to yield the real value of the property in the current context.
@@ -213,7 +213,7 @@
@end example
In this case, @code{specifier-instance} returns an opaque object;
-programs can't work on it, they can only pass it around. Worse, in some
+Lisp programs can't work on it, they can only pass it around. Worse, in some
environments the instantiation will fail, resulting in a different value
(when another instantiation succeeds), or worse yet, an error, if all
attempts to instantiate the specifier fail. @code{specifier-instance} is
@@ -361,29 +361,54 @@
the type of specifier). In a given specification, there may be more
than one inst-pair with the same tag set; this is unlike for locales.
-The tag set is used to restrict the sorts of devices over which the
-instantiator is valid and to uniquely identify instantiators added by a
-particular application, so that different applications can work on the
-same specifier and not interfere with each other. Each tag can have a
-@dfn{predicate} associated with it, which is a function of one argument
-(a device) that specifies whether the tag matches that particular
-device. (If a tag does not have a predicate, it matches all devices.)
-All tags in a tag set must match a device for the associated inst-pair
-to be instantiable over that device. (A null tag set is perfectly
-valid, and trivially matches all devices.)
-
-The valid device types (normally @code{x}, @code{tty}, @code{stream},
-@code{mswindows}, @code{msprinter}, and possibly @code{carbon}) and
-device classes (normally @code{color}, @code{grayscale}, and
-@code{mono}) can always be used as tags, and match devices of the
-associated type or class (@pxref{Consoles and Devices}). User-defined
-tags may be defined, with an optional predicate specified. An
-application can create its own tag, use it to mark all its
-instantiators, and be fairly confident that it will not interfere with
-other applications that modify the same specifier---Functions that add
-a specification to a specifier usually only overwrite existing
-inst-pairs with the same tag set as was given, and a particular tag or
-tag set can be specified when removing instantiators.
+The tag set is used to restrict the sorts of devices and character sets
+over which the instantiator is valid and to uniquely identify
+instantiators added by a particular application, so that different
+applications can work on the same specifier and not interfere with each
+other.
+
+Each tag can have a @dfn{device-predicate} associated with it, which is
+a function of one argument (a device) that specifies whether the tag
+matches that particular device. (If a tag does not have a predicate, it
+matches all devices.) All tags in a tag set must match a device for the
+associated inst-pair to be instantiable over that device. (A null tag
+set is perfectly valid, and trivially matches all devices.)
+
+Each tag can also have a @dfn{charset-predicate} associated with it;
+this is a function that takes one charset argument, and specifies
+whether that tag matches that particular charset. When instantiating a
+face over a given domain with a given charset, the
+@code{charset-predicate} attribute of a tag is consulted@footnote{Not
+quite the case; the result of the functions are pre-calculated and
+cached whenever @code{define-specifier-tag} or @code{make-charset} is
+called.} to decide whether this inst-pair matches the charset. If the
+@code{charset-predicate} function of a tag is unspecified, that tag
+defaults to matching all charsets.
+
+When @code{charset-predicate}s are being taken into account, the
+matching process becomes two-stage. The first stage pays attention to
+the charset predicates and the device predicates; only if there is no
+match does the second stage take place, in which charset predicates are
+ignored, and only the device predicates are relevant.
+
+The valid device types in a build (normally @code{x}, @code{tty},
+@code{stream}, @code{mswindows}, @code{msprinter}, and possibly
+@code{carbon}) and device classes (normally @code{color},
+@code{grayscale}, and @code{mono}) can always be used as tags, and match
+devices of the associated type or class (@pxref{Consoles and Devices}).
+There are also built-in tags related to font instantiation and
+translation to Unicode; they are identical to the symbols used with
+@code{specifier-matching-instance}, see the documentation of that
+function for their names.
+
+User-defined tags may be defined, with optional device and charset
+predicates specified. An application can create its own tag, use it to
+mark all its instantiators, and be fairly confident that it will not
+interfere with other applications that modify the same
+specifier---functions that add a specification to a specifier usually
+only overwrite existing inst-pairs with the same tag set as was given,
+and a particular tag or tag set can be specified when removing
+instantiators.
When a specifier is instantiated in a domain, both the locale and the tag
set can be viewed as specifying necessary conditions that must apply in
@@ -1141,16 +1166,24 @@
opposed to a list) because the order of the tags or the number of times
a particular tag occurs does not matter.
-Each tag has a predicate associated with it, which specifies whether
+Each tag has a device predicate associated with it, which specifies whether
that tag applies to a particular device. The tags which are device
types and classes match devices of that type or class. User-defined
-tags can have any predicate, or none (meaning that all devices match).
+tags can have any device predicate, or none (meaning that all devices match).
When attempting to instantiate a specifier, a particular instantiator is
only considered if the device of the domain being instantiated over matches
all tags in the tag set attached to that instantiator.
+Each tag can also have a charset predicate, specifying whether that tag
+applies to a particular charset. There are a few tags with predefined
+charset predicates created to allow sensible fallbacks in the face
+code---see the output of @code{(specifier-fallback (face-font
+'default))} for these.
+
Most of the time, a tag set is not specified, and the instantiator gets
-a null tag set, which matches all devices.
+a null tag set, which matches all devices and all character sets (when
+possible; fonts with an inappropriate repertoire will not match, for
+example).
@defun valid-specifier-tag-p tag
This function returns non-@code{nil} if @var{tag} is a valid specifier
@@ -1175,11 +1208,15 @@
the tag set.
@end defun
-@defun define-specifier-tag tag &optional predicate
-This function defines a new specifier tag. If @var{predicate} is
+@defun define-specifier-tag tag &optional device-predicate charset-predicate
+This function defines a new specifier tag. If @var{device-predicate} is
specified, it should be a function of one argument (a device) that
specifies whether the tag matches that particular device. If
-@var{predicate} is omitted, the tag matches all devices.
+@var{device-predicate} is omitted, the tag matches all devices.
+
+If @var{charset-predicate} is specified, it should be a function taking
+one character set argument that specifies whether the tag matches that
+particular character set.
You can redefine an existing user-defined specifier tag. However, you
cannot redefine the built-in specifier tags (the device types and
@@ -1196,9 +1233,13 @@
This function returns a list of all currently-defined specifier tags.
This includes the built-in ones (the device types and classes).
@end defun
+
+@defun specifier-tag-device-predicate tag
+This function returns the device predicate for the given specifier tag.
+@end defun
-@defun specifier-tag-predicate tag
-This function returns the predicate for the given specifier tag.
+@defun specifier-tag-charset-predicate tag
+This function returns the charset predicate for the given specifier tag.
@end defun
@node Specifier Instantiation Functions
@@ -1280,13 +1321,29 @@
implemented.)
@item
For font specifiers, @var{matchspec} should be a list (@var{charset}
-. @var{second-stage-p}), and the specification (a font string) must have
-a registry that matches the charset's registry. (This only makes sense
-with Mule support.) This makes it easy to choose a font that can
-display a particular character. (This is what redisplay does, in fact.)
-@var{second-stage-p} means to ignore the font's registry and instead
-look at the characters in the font to see if the font can support the
-charset. This currently only makes sense under MS Windows.
+. @var{stage}). On X11 the specification (a font string) should, for
+clarity, have a registry that matches the charset's registry, but the
+redisplay code will specify the XLFD CHARSET_REGISTRY and
+CHARSET_ENCODING fields itself. This makes minimal sense without Mule
+support. @var{stage} can be one of the symbols @code{'initial} and
+@code{'final}; on X11, @code{'initial} means ``search for fonts using
+the charset registry of this charset'' and @code{'final} means ``search
+for fonts using `iso10646-1' as their charset registries, with the
+expectation that characters will be translated to Unicode at
+redisplay.'' Their meanings are similar on MS Windows, with the
+difference that the actual repertoire of the font is checked when
+deciding if a matchspec with @code{'final} matches.
+
+For example, the following code emulates what redisplay does when
+deciding what font to use for ethiopic with the default face (ignoring,
+for the moment, fallbacks):
+@example
+(or
+ (specifier-matching-instance (face-font 'default)
+ (cons 'ethiopic 'initial))
+ (specifier-matching-instance (face-font 'default)
+ (cons 'ethiopic 'final)))
+@end example
@end itemize
@end defun
Index: src/specifier.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/specifier.c,v
retrieving revision 1.48
diff -u -u -r1.48 specifier.c
--- src/specifier.c 2006/11/11 09:50:34 1.48
+++ src/specifier.c 2006/11/11 15:41:18
@@ -3241,14 +3241,21 @@
display table is not there. (Chartable specifiers are not yet
implemented.)
--- For font specifiers, MATCHSPEC should be a list (CHARSET . SECOND-STAGE-P),
- and the specification (a font string) must have a registry that matches
- the charset's registry. (This only makes sense with Mule support.) This
- makes it easy to choose a font that can display a particular
- character. (This is what redisplay does, in fact.) SECOND-STAGE-P means
- to ignore the font's registry and instead look at the characters in the
- font to see if the font can support the charset. This currently only makes
- sense under MS Windows.
+-- 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'
+ function. If that match process fails, then the 'final stage comes into
+ play; this means that a more general lookup is desired, and that a font
+ doesn't necessarily have to match the desired XLFD for the face, just the
+ 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.
+
+ 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
+ character set and stage combination.
*/
(specifier, matchspec, domain, default_, no_fallback))
{
--
Santa Maradona, priez pour moi!
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta
Re: explicit fonts in specifier code?
18 years, 1 month
Aidan Kehoe
Ar an deichiú lá de mí na Samhain, scríobh Ilya N. Golubev:
> Your 2006-11-05 change of generic `specifier.c'
> `specifier_instance_from_inst_list' added a very specific processing
> of `matchspec', with retrieving charsets and other data from
> `matchspec' just as it is done for font specifiers, one of many
> specifier types. It did not merely broke abstractedness of
> `specifier.c' code. It is very hard to predict how this change will
> affect myriads of other uses of other specifier types, including
> results of documented `specifier-matching-instance' calls for these
> non- font specifiers.
>
> If it will not change anything except font specifiers, then please add
> comments explaining the following.
>
> . How this is ensured.
I think adding these comments to the source code would be overkill, but I
have no objection to explaining what you ask here.
- The differing behaviour only occurs when the charset variable is non-nil;
this check is on line 2871 of specifier.c. The charset variable can only be
non-nil if the matchspec argument is of the correct format for a font
specifier--that is, it must be a cons with the first element a character set
and the second one of the symbols 'initial or 'final. If it is not a cons
with the first element a charset or a symbol naming a charset, it remains
nil; if it is such a cons, but the second element isn’t one of the desired
symbols, an assertion is triggered on line 2850 of specifier.c.
Otherwise, the code is functionally equivalent to the previous code; it
loops through the inst_list, ignoring entries if their tag sets don’t match
the device at hand, trying to instantiate using an entry if they do match,
and returning an instantiator if such an instantiation is successful.
No extant specifier matchspec, for any specifier type, matches the format
used. There would need to be a local development of the specifier C code
that happened to choose exactly the same format and the same two symbol
names for the changed code to see a matchspec that doesn’t belong to a font
specifier. I am as certain as I can be that this code will not change
anything except font specifiers.
> . Why it was actually generic `specifier_instance_from_inst_list' that
> had to be changed. So that could not put the desired processing in
> `font_instantiate'. (Or one or two more additional generic specifier
> methods.)
Previous to this change, there was no way to set the font used for a face
when using a given non-ASCII Mule charset. Now, such a customisation is
possible, and relatively painless:
(define-specifier-tag 'ipa nil (lambda (charset) (eq charset (find-charset
'ipa))))
(set-face-font 'default "-etl-fixed-medium-r-normal--24-240-72-72-c-120-muleipa-1" '(x ipa))
The way I chose to implement this used the existing specifier tag
infrastructure; the only way to change the calculation of which specifier
tags are relevant to a given instantiation and which are ignored is to
change specifier_instance_from_inst_list.
> Still better, please get `specifier_instance_from_inst_list' just as
> generic as before, with all font specific data processing back in font
> methods.
I would have preferred not to modify the general specifier code, but since
faces are implemented as specifiers, and there was previously no way for
specifiers to store charset information, I couldn’t think of an
alternative.
> Never checked other recent changes of specifier code for this issue.
--
Santa Maradona, priez pour moi!
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta
Re: empty charset registry?
18 years, 1 month
Aidan Kehoe
Ar an seachtú lá de mí na Samhain, scríobh Ilya N. Golubev:
> > (set-charset-registry 'latin-iso8859-1 "charset-registry-of-desired-font")
> As described, charset registry being empty string allowed to display
> at the *same* time the same buffer text in *different* frames /
> windows in different fonts specified per locale (as in specifiers).
> So this is not even a way around.
Does this do what you want?
(set-charset-registries 'latin-iso8859-1
["charset-registry of first desired font"
"charset-registry of second desired font"
"charset-registry of third desired font"
"iso8859-1"])
(set-face-font 'default
"initial-part-of-xlfd-charset-registry-of-first-desired-font"
first-desired-locale)
(set-face-font 'default
"initial-part-of-xlfd-charset-registry-of-second-desired-font"
second-desired-locale)
(set-face-font 'default
"initial-part-of-xlfd-charset-registry-of-third-desired-font"
third-desired-locale)
(set-face-font 'default
"desired default font"
'global)
> Another issue is that not all X servers represent all their fonts in
> XLFD. Used at least one where `8x14pc437' font could be specified
> only with this string. So there still have to be a way to specify
> non- XLFD font name in X.
No; you can add a fonts.alias entry for that font to your X11 server
configuration, mapping it to a sane name.
--
Santa Maradona, priez pour moi!
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta
[PATCH] Prevent a crash if the ASCII charset registries match nothing
18 years, 1 month
Aidan Kehoe
Ar an deichiú lá de mí na Samhain, scríobh stephen(a)xemacs.org:
> > Not "*", rather "*really broken-registry and charset", after someone
> > had done:
> >
> > (set-charset-registries 'ascii ["really broken-registry and charset"])
>
> Hey, if users want to do that, they can live with it. We should
> defend against server waywardness, not against users pointing a .44 at
> their kneecap.
Eh, still, XEmacs shouldn’t be crashable from Lisp. The below has a bit more
testing, with X11 and GTK; I intend committing it this evening.
SUPERSEDES 17746.1739.273694.339710(a)parhasard.net
src/ChangeLog addition:
2006-11-11 Aidan Kehoe <kehoea(a)parhasard.net>
* charset.h:
* mule-charset.c (set_charset_registries):
Provide a C-accessible version of set-charset-registries that
doesn't error. Called from x_find_charset_font.
* faces.c (ensure_face_cachel_contains_charset):
Correct my spelling.
* faces.c (update_EmacsFrame):
Don't update the frame if it isn't live.
* faces.h:
Add some documentation on FACE_FONT.
* frame-gtk.c (gtk_update_frame_external_traits):
* frame-x.c (x_update_frame_external_traits):
In the event that FACE_FONT has deleted the frame, don't
manipulate it further in update_frame_external_traits.
* mule-charset.c:
* mule-charset.c (Fset_charset_registries):
Don't allow XLFD wildcards in charset registries. Call the
factored-out C-callable version to
* objects-gtk.c:
#include "charset.h"
* objects-xlike-inc.c (x_find_charset_font,
gtk_find_charset_font): In the event that the charset is ASCII and
we haven't matched anything up to now, even with a pattern of "*",
add "iso8859-1" to the charset's registry and try again.
* window.c (window_pixel_width_to_char_width):
The default width of a face may be zero; only divide by it if it's
nonzero.
XEmacs Trunk source patch:
Diff command: cvs -q diff -Nu
Files affected: src/window.c
===================================================================
RCS src/objects-xlike-inc.c
===================================================================
RCS src/objects-gtk.c
===================================================================
RCS src/mule-charset.c
===================================================================
RCS src/frame-x.c
===================================================================
RCS src/frame-gtk.c
===================================================================
RCS src/faces.h
===================================================================
RCS src/faces.c
===================================================================
RCS src/charset.h
===================================================================
RCS
Index: src/charset.h
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/charset.h,v
retrieving revision 1.15
diff -u -u -r1.15 charset.h
--- src/charset.h 2006/11/05 22:31:43 1.15
+++ src/charset.h 2006/11/11 12:31:00
@@ -574,6 +574,8 @@
int USED_IF_MULE (l), unsigned_char_dynarr *dst,
enum unicode_type type, unsigned int little_endian);
+void set_charset_registries(Lisp_Object charset, Lisp_Object registries);
+
EXFUN (Funicode_to_char, 2);
EXFUN (Fchar_to_unicode, 1);
Index: src/faces.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/faces.c,v
retrieving revision 1.50
diff -u -u -r1.50 faces.c
--- src/faces.c 2006/11/05 22:31:43 1.50
+++ src/faces.c 2006/11/11 12:31:08
@@ -1162,7 +1162,7 @@
/* Lookup the face again, this time allowing the fallback. If this
succeeds, it'll give a font intended for the script in question,
which is preferable to translating to ISO10646-1 and using the
- fixed-with fallback. */
+ fixed-width fallback. */
new_val = face_property_matching_instance (face, Qfont,
charset, domain,
ERROR_ME_DEBUG_WARN, 0,
@@ -1840,6 +1840,9 @@
update_EmacsFrame (Lisp_Object frame, Lisp_Object name)
{
struct frame *frm = XFRAME (frame);
+
+ if (!FRAME_LIVE_P(frm))
+ return;
if (EQ (name, Qfont))
MARK_FRAME_SIZE_SLIPPED (frm);
Index: src/faces.h
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/faces.h,v
retrieving revision 1.18
diff -u -u -r1.18 faces.h
--- src/faces.h 2006/11/05 22:31:43 1.18
+++ src/faces.h 2006/11/11 12:31:11
@@ -386,6 +386,10 @@
FACE_PROPERTY_INSTANCE (face, Qforeground, domain, 0, Qzero)
#define FACE_BACKGROUND(face, domain) \
FACE_PROPERTY_INSTANCE (face, Qbackground, domain, 0, Qzero)
+
+/* Calling this function on the default face with the ASCII character set
+ may delete any X11 frames; see the code at the end of
+ x_find_charset_font. */
#define FACE_FONT(face, domain, charset) \
face_property_matching_instance (face, Qfont, charset, domain, \
ERROR_ME_DEBUG_WARN, 0, Qzero, \
Index: src/frame-gtk.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/frame-gtk.c,v
retrieving revision 1.22
diff -u -u -r1.22 frame-gtk.c
--- src/frame-gtk.c 2005/11/25 01:42:02 1.22
+++ src/frame-gtk.c 2006/11/11 12:31:15
@@ -1430,6 +1430,17 @@
{
Lisp_Object font = FACE_FONT (Vdefault_face, frame, Vcharset_ascii);
+ /* It may be that instantiating the font has deleted the frame (will
+ happen if the user has specified a charset registry for ASCII that
+ isn't available on the server, and our fallback of iso8859-1 isn't
+ available; something vanishingly rare.) In that case, return from
+ this function. */
+
+ if (!FRAME_LIVE_P(frm))
+ {
+ return;
+ }
+
if (!EQ (font, Vthe_null_font_instance))
{
/* #### BILL!!! The X code set the XtNfont property of the
Index: src/frame-x.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/frame-x.c,v
retrieving revision 1.75
diff -u -u -r1.75 frame-x.c
--- src/frame-x.c 2006/06/19 18:49:23 1.75
+++ src/frame-x.c 2006/11/11 12:31:23
@@ -2734,6 +2734,17 @@
{
Lisp_Object font = FACE_FONT (Vdefault_face, frame, Vcharset_ascii);
+ /* It may be that instantiating the font has deleted the frame (will
+ happen if the user has specified a charset registry for ASCII that
+ isn't available on the server, and our fallback of iso8859-1 isn't
+ available; something vanishingly rare.) In that case, return from
+ this function without further manipulation of the dead frame. */
+
+ if (!FRAME_LIVE_P(frm))
+ {
+ return;
+ }
+
/* #### what to do about Xft? I don't think the font is actually used
to compute cell size for computing frame pixel dimensions (see call
to EmacsFrameRecomputeCellSize() below); where is it used? -- sjt
Index: src/mule-charset.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/mule-charset.c,v
retrieving revision 1.50
diff -u -u -r1.50 mule-charset.c
--- src/mule-charset.c 2006/11/07 14:04:56 1.50
+++ src/mule-charset.c 2006/11/11 12:31:25
@@ -883,6 +883,14 @@
return Qnil;
}
+void
+set_charset_registries(Lisp_Object charset, Lisp_Object registries)
+{
+ XCHARSET_REGISTRIES (charset) = registries;
+ invalidate_charset_font_caches (charset);
+ face_property_was_changed (Vdefault_face, Qfont, Qglobal);
+}
+
DEFUN ("set-charset-registries", Fset_charset_registries, 2, 2, 0, /*
Set the `registries' property of CHARSET to REGISTRIES.
@@ -913,11 +921,19 @@
invalid_argument("Not an X11 REGISTRY-ENCODING combination",
XVECTOR_DATA(registries)[i]);
}
+
+ if (qxestrchr(XSTRING_DATA(XVECTOR_DATA(registries)[i]), '*') ||
+ qxestrchr(XSTRING_DATA(XVECTOR_DATA(registries)[i]), '?'))
+ {
+ invalid_argument
+ ("XLFD wildcards not allowed in charset-registries",
+ XVECTOR_DATA(registries)[i]);
+
+ }
}
- XCHARSET_REGISTRIES (charset) = registries;
- invalidate_charset_font_caches (charset);
- face_property_was_changed (Vdefault_face, Qfont, Qglobal);
+ set_charset_registries(charset, registries);
+
return Qnil;
}
Index: src/objects-gtk.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/objects-gtk.c,v
retrieving revision 1.18
diff -u -u -r1.18 objects-gtk.c
--- src/objects-gtk.c 2006/11/05 22:31:44 1.18
+++ src/objects-gtk.c 2006/11/11 12:31:28
@@ -31,6 +31,7 @@
#include "lisp.h"
#include "buffer.h"
+#include "charset.h"
#include "device-impl.h"
#include "insdel.h"
Index: src/objects-xlike-inc.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/objects-xlike-inc.c,v
retrieving revision 1.3
diff -u -u -r1.3 objects-xlike-inc.c
--- src/objects-xlike-inc.c 2006/11/05 22:31:45 1.3
+++ src/objects-xlike-inc.c 2006/11/11 12:31:29
@@ -764,6 +764,92 @@
charset, stage);
}
+ /* In the event that the charset is ASCII and we haven't matched
+ anything up to now, even with a pattern of "*", add "iso8859-1"
+ to the charset's registry and try again. Not returning a result
+ for ASCII means our frame geometry calculations are
+ inconsistent, and that we may crash. */
+
+ if (1 == xlfd_length && EQ(charset, Vcharset_ascii) && NILP(result)
+ && ('*' == eigetch(ei_xlfd_without_registry, 0)))
+
+ {
+ int have_latin1 = 0;
+
+ /* Set this to, for example, is08859-1 if you want to see the
+ error behaviour. */
+
+#define FALLBACK_ASCII_REGISTRY "iso8859-1"
+
+ for (j = 0; j < registries_len; ++j)
+ {
+ if (0 == qxestrcasecmp(XSTRING_DATA(XVECTOR_DATA(registries)[j]),
+ FALLBACK_ASCII_REGISTRY))
+ {
+ have_latin1 = 1;
+ break;
+ }
+ }
+
+ if (!have_latin1)
+ {
+ Lisp_Object new_registries = make_vector(registries_len + 1, Qnil);
+
+ warn_when_safe (Qface, Qwarning,
+ "Your ASCII charset registries contain nothing "
+ "sensible. Adding `" FALLBACK_ASCII_REGISTRY "'.");
+
+ XVECTOR_DATA(new_registries)[0]
+ = build_string(FALLBACK_ASCII_REGISTRY);
+
+ memcpy(XVECTOR_DATA(new_registries) + 1,
+ XVECTOR_DATA(registries),
+ sizeof XVECTOR_DATA(registries)[0] *
+ XVECTOR_LENGTH(registries));
+
+ /* Calling set_charset_registries instead of overwriting the
+ value directly, to allow the charset font caches to be
+ invalidated and a change to the default face to be
+ noted. */
+ set_charset_registries(charset, new_registries);
+
+ /* And recurse. */
+ result =
+ DEVMETH_OR_GIVEN (XDEVICE (device), find_charset_font,
+ (device, font, charset, stage),
+ result);
+ }
+ else
+ {
+ DECLARE_EISTRING (ei_connection_name);
+
+ /* We preserve a copy of the connection name for the error message
+ after the device is deleted. */
+ eicpy_lstr (ei_connection_name,
+ DEVICE_CONNECTION (XDEVICE(device)));
+
+ stderr_out ("Cannot find a font for ASCII, deleting device on %s\n",
+ eidata (ei_connection_name));
+
+ io_error_delete_device (device);
+
+ /* Do a normal warning in the event that we have other, non-X
+ frames available. (If we don't, io_error_delete_device will
+ have exited.) */
+ warn_when_safe
+ (Qface, Qerror,
+ "Cannot find a font for ASCII, deleting device on %s.\n"
+ "\n"
+ "Your X server fonts appear to be inconsistent; fix them, or\n"
+ "the next frame you create on that DISPLAY will crash this\n"
+ "XEmacs. At a minimum, provide one font with an XLFD ending\n"
+ "in `" FALLBACK_ASCII_REGISTRY "', so we can work out what size\n"
+ "a frame should be. ",
+ eidata (ei_connection_name));
+ }
+
+ }
+
/* This function used to return the font spec, in the case where a font
didn't exist on the X server but it did match the charset. We're not
doing that any more, because none of the other platform code does, and
Index: src/window.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/window.c,v
retrieving revision 1.92
diff -u -u -r1.92 window.c
--- src/window.c 2006/06/21 17:30:37 1.92
+++ src/window.c 2006/11/11 12:31:40
@@ -4250,7 +4250,7 @@
int include_margins_p)
{
int avail_width;
- int char_width;
+ int char_width = 0;
int defheight, defwidth;
Lisp_Object window = wrap_window (w);
@@ -4263,7 +4263,8 @@
default_face_height_and_width (window, &defheight, &defwidth);
- char_width = (avail_width / defwidth);
+ if (defwidth)
+ char_width = (avail_width / defwidth);
/* It's the calling function's responsibility to check these values
and make sure they're not out of range.
--
Santa Maradona, priez pour moi!
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta
[Bug: 21.5-b27] XFT build refuses to start with a mswindows initial frame
18 years, 1 month
Aidan Kehoe
================================================================
Dear Bug Team!
I built an XFT-enabled XEmacs under Cygwin, with Win32 support as is
normal for this platform. Under X11, it works fine, modulo a separate
issue that I'm looking into. When I unset the DISPLAY variable and
restart the program, I get this:
*** Error in XEmacs initialization
(wrong-type-argument console-x-p #<mswindows-device 0x29c77>)
*** Backtrace
really-early-error-handler((wrong-type-argument console-x-p #<mswindows-device 0x29c77>))
fc-font-match(#<mswindows-device 0x29c77> #<INTERNAL OBJECT (XEmacs bug?) (fc-pattern) 0x1029fbc0>)
# bind (device font)
x-make-font-bold-xft("Monospace-12" #<mswindows-device 0x29c77>)
# bind (device font)
x-make-font-bold("Monospace-12" #<mswindows-device 0x29c77>)
# bind (mapper G32547 G32546 devtype tag-set x G32545 ffpdev devtype-spec prop inst-list locale)
frob-face-inst-list(global (((default mswindows) . "Lucida Console:Regular:10::") ((default msprinter) . "Courier New:Regular:10::") ((default mswindows) . "Courier New:Regular:10::") ((default msprinter) . "Courier:Regular:10::") ((default mswindows) . "Courier:Regular:10::") ((default msprinter) . ":Regular:10::") ((default mswindows) . ":Regular:10::") ((default tty) . "normal") ((default x) . "-*-lucidatypewriter-medium-r-*-*-*-120-*-*-*-*-*-*") ((default x) . "-*-*-medium-r-*-*-*-120-*-*-c-*-*-*") ((default encode-as-utf-8 initial x) . "-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1") ((default initial two-dimensional x) . "Monospace-12") ((default initial two-dimensional x) . "Sazanami Mincho-12") ((default final one-dimensional x) . "-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1") ((default final two-dimensional x) . "-misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1") ((default x) . "*")) font window-system)
# bind (thunk inst-list locale sp)
frob-locale(#<font-specifier global=(((default mswindows) . "Lucida Console:Regular:10::") ((default msprinter) . "Courier New:Regular:10::") ((default mswindows) . "Courier New:Regular:10::") ((default msprinter) . "Courier:Regular:10::") ((default mswindows) . "Courier:Regular:10::") ((default msprinter) . ":Regular:10::") ((default mswindows) . ":Regular:10::") ((default tty) . "normal") ((default x) . "-*-lucidatypewriter-medium-r-*-*-*-120-*-*-*-*-*-*") ((default x) . "-*-*-medium-r-*-*-*-120-*-*-c-*-*-*") ((default encode-as-utf-8 initial x) . "-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1") ((default initial two-dimensional x) . "Monospace-12") ((default initial two-dimensional x) . "Sazanami Mincho-12") ((default final one-dimensional x) . "-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1") ((default final two-dimensional x) . "-misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1") ((default x) . "*")) fallback=#<font-specifi!
er global=<unspecified> fallback=(((mswindows) . "Lucida Console:Regular:10::") ((msprinter) . "Courier New:Regular:10::") ((mswindows) . "Courier New:Regular:10::") ((msprinter) . "Courier:Regular:10::") ((mswindows) . "Courier:Regular:10::") ((msprinter) . ":Regular:10::") ((mswindows) . ":Regular:10::") ((tty) . "normal") ((x) . "-*-lucidatypewriter-medium-r-*-*-*-120-*-*-*-*-*-*") ((x) . "-*-*-medium-r-*-*-*-120-*-*-c-*-*-*") ((x encode-as-utf-8 initial) . "-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1") ((x two-dimensional initial) . "Monospace-12") ((x two-dimensional initial) . "Sazanami Mincho-12") ((x one-dimensional final) . "-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1") ((x two-dimensional final) . "-misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1") ((x) . "*")) 0x2142> 0x147fa> global (((default mswindows) . "Lucida Console:Regular:10::") ((default msprinter) . "Courier New:Regular:10::") ((default mswindows) . "C!
ourier New:Regular:10::") ((default msprinter) . "Courier:Regu!
lar:10::
"
) ((default mswindows) . "Courier:Regular:10::") ((default msprinter) . ":Regular:10::") ((default mswindows) . ":Regular:10::") ((default tty) . "normal") ((default x) . "-*-lucidatypewriter-medium-r-*-*-*-120-*-*-*-*-*-*") ((default x) . "-*-*-medium-r-*-*-*-120-*-*-c-*-*-*") ((default encode-as-utf-8 initial x) . "-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1") ((default initial two-dimensional x) . "Monospace-12") ((default initial two-dimensional x) . "Sazanami Mincho-12") ((default final one-dimensional x) . "-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1") ((default final two-dimensional x) . "-misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1") ((default x) . "*")) (font . window-system))
# bind (ms-this-spec ms-specs ms-result ms-exact-p ms-tag-set ms-maparg ms-locale ms-func ms-specifier)
map-specifier(#<font-specifier global=(((default mswindows) . "Lucida Console:Regular:10::") ((default msprinter) . "Courier New:Regular:10::") ((default mswindows) . "Courier New:Regular:10::") ((default msprinter) . "Courier:Regular:10::") ((default mswindows) . "Courier:Regular:10::") ((default msprinter) . ":Regular:10::") ((default mswindows) . ":Regular:10::") ((default tty) . "normal") ((default x) . "-*-lucidatypewriter-medium-r-*-*-*-120-*-*-*-*-*-*") ((default x) . "-*-*-medium-r-*-*-*-120-*-*-c-*-*-*") ((default encode-as-utf-8 initial x) . "-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1") ((default initial two-dimensional x) . "Monospace-12") ((default initial two-dimensional x) . "Sazanami Mincho-12") ((default final one-dimensional x) . "-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1") ((default final two-dimensional x) . "-misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1") ((default x) . "*")) fallback=#<font-speci!
fier global=<unspecified> fallback=(((mswindows) . "Lucida Console:Regular:10::") ((msprinter) . "Courier New:Regular:10::") ((mswindows) . "Courier New:Regular:10::") ((msprinter) . "Courier:Regular:10::") ((mswindows) . "Courier:Regular:10::") ((msprinter) . ":Regular:10::") ((mswindows) . ":Regular:10::") ((tty) . "normal") ((x) . "-*-lucidatypewriter-medium-r-*-*-*-120-*-*-*-*-*-*") ((x) . "-*-*-medium-r-*-*-*-120-*-*-c-*-*-*") ((x encode-as-utf-8 initial) . "-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1") ((x two-dimensional initial) . "Monospace-12") ((x two-dimensional initial) . "Sazanami Mincho-12") ((x one-dimensional final) . "-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1") ((x two-dimensional final) . "-misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1") ((x) . "*")) 0x2142> 0x147fa> frob-locale global (font . window-system) nil nil)
# bind (locale)
map-over-locales(global)
# bind (do-something orig-instance check-differences domain do-later-stages ffpdev)
# (unwind-protect ...)
# bind (--letf-save--32542 --letf-bound--32543)
# (unwind-protect ...)
# bind (--letf-save--32538 --letf-bound--32539)
# (unwind-protect ...)
# bind (--letf-save--32534 --letf-bound--32535)
# (unwind-protect ...)
# bind (--letf-save--32530 --letf-bound--32531)
# (unwind-protect ...)
# bind (--letf-save--32526 --letf-bound--32527 standard-face-mapping frob-mapping tty-props win-prop frobbed-face unfrobbed-face exact-p tag-set locale face)
Face-frob-property(bold global nil nil default bold font (highlight) (tty (lambda (x) t) x x-make-font-bold gtk gtk-make-font-bold mswindows mswindows-make-font-bold msprinter mswindows-make-font-bold) (([default] . [bold]) ([bold] . t) ([italic] . [bold-italic]) ([bold-italic] . t)))
# bind (exact-p tags locale face)
make-face-bold(bold global)
# bind (Face-frob-property-device-considered-current device)
init-global-faces(#<mswindows-device 0x29c77>)
# (unwind-protect ...)
# (unwind-protect ...)
# bind (inhibit-quit)
# (unwind-protect ...)
# (unwind-protect ...)
make-device(mswindows nil)
make-mswindows-device()
init-mswindows-win()
# bind (debugger debug-on-error command-line-args-left)
command-line()
# (condition-case ... . ((t (byte-code " " [error-data data nil] 1))))
# bind (error-data)
normal-top-level()
# (condition-case ... . error)
# (catch top-level ...)
*** Killing XEmacs
Program exited with code 0377.
Am looking into it; can't be sure I'll have a solution soon, though.
Bye,
Aidan
================================================================
System Info to help track down your bug:
---------------------------------------
uname -a: CYGWIN_NT-5.1 eco 1.5.21(0.156/4/2) 2006-07-30 14:21 i686 Cygwin
./configure '--with-database=berkdb' '--enable-mule' '--with-xft=emacs,menubars,tabs,gauges'
XEmacs 21.5-b27 "fiddleheads" (+CVS-20061108) configured for `i686-pc-cygwin'.
Compilation Environment and Installation Defaults:
Source code location: /home/Aidan/xemacs-21.5
Installation prefix: /usr/local
Operating system description file: `s/cygwin32.h'
Machine description file: `m/intel386.h'
Compiler version: gcc (GCC) 3.4.4 (cygming special) (gdc 0.12, using dmd 0.125)
- GCC specs file: /bin/../lib/gcc/i686-pc-cygwin/3.4.4/specs
- Compiler command: gcc -Wall -Wno-switch -Wundef -Wsign-compare -Wno-char-subscripts -Wpacked -Wpointer-arith -Wunused-parameter -g
libc version:
Relocating allocator for buffers: no
GNU version of malloc: yes
Window System:
Compiling in support for the Microsoft window system.
Compiling in support for the X window system:
- X Windows headers location: /usr/X11R6/include
- X Windows libraries location: /usr/X11R6/lib
- Handling WM_COMMAND properly.
- Using fontconfig to manage fonts.
- Compiling in support for Xft antialiased fonts (EXPERIMENTAL).
Compiling in support for Motif.
- Using LessTif implementation.
*WARNING* Many versions of Motif are buggy, requiring workarounds.
You are likely to experience slow redisplay.
You may need to install vendor patches to Motif.
See PROBLEMS for more information.
Using Lucid menubars.
- Using Xft to render antialiased fonts in menubars.
WARNING: This feature will be replaced with a face.
Using Lucid scrollbars.
Using Motif dialog boxes.
Using Motif native widgets.
- Using Xft to render antialiased fonts in tab controls.
WARNING: This feature will be replaced with a face.
- Using Xft to render antialiased fonts in progress bars.
WARNING: This feature will be replaced with a face.
WARNING: This feature not yet implemented; setting ignored.
Compiling in support for Drag'n'Drop (EXPERIMENTAL).
- Drag'n'Drop prototype: msw.
TTY:
Compiling in support for ncurses.
Images:
Compiling in support for GIF images (builtin).
Compiling in support for XPM images.
Compiling in support for PNG images.
Compiling in support for JPEG images.
Compiling in support for TIFF images.
Compiling in support for X-Face message headers.
Sound:
Compiling in support for sound (native).
Databases:
Compiling in support for PostgreSQL.
- Using PostgreSQL header file: libpq-fe.h
- Using PostgreSQL V7 bindings.
Internationalization:
Compiling in support for Mule (multi-lingual Emacs).
Compiling in support for XIM (X11R5+ I18N input method).
- Using raw Xlib to provide XIM support.
Mail:
Compiling in support for POP mail retrieval.
Other Features:
Inhibiting IPv6 canonicalization at startup.
Compiling in support for dynamic shared object modules.
Using the new GC mark algorithms (KKCC).
WARNING: ---------------------------------------------------------
WARNING: The new algorithms are experimental. They are enabled by
WARNING: default for this release. Use `--disable-kkcc' to
WARNING: turn it off.
WARNING: ---------------------------------------------------------
Using the new portable dumper.
Dumping into executable.
Compiling in support for extra debugging code.
Compiling in support for runtime error checking.
WARNING: ---------------------------------------------------------
WARNING: XEmacs will run noticeably more slowly as a result.
WARNING: Error checking is on by default for XEmacs beta releases.
WARNING: ---------------------------------------------------------
Load-Path Lisp Shadows:
----------------------
(/usr/local/lib/xemacs/mule-packages/lisp/mule-base/viet-util
/home/Aidan/xemacs-21.5/lisp/mule/viet-util
/usr/local/lib/xemacs/mule-packages/lisp/mule-base/korea-util
/home/Aidan/xemacs-21.5/lisp/mule/korea-util
/usr/local/lib/xemacs/mule-packages/lisp/mule-base/japan-util
/home/Aidan/xemacs-21.5/lisp/mule/japan-util
/usr/local/lib/xemacs/mule-packages/lisp/mule-base/ethio-util
/home/Aidan/xemacs-21.5/lisp/mule/ethio-util
/usr/local/lib/xemacs/mule-packages/lisp/mule-base/cyril-util
/home/Aidan/xemacs-21.5/lisp/mule/cyril-util
/usr/local/lib/xemacs/mule-packages/lisp/mule-base/china-util
/home/Aidan/xemacs-21.5/lisp/mule/china-util
/usr/local/lib/xemacs/mule-packages/lisp/mule-ucs/unicode
/home/Aidan/xemacs-21.5/lisp/unicode
/usr/local/lib/xemacs/xemacs-packages/lisp/xemacs-base/regexp-opt
/home/Aidan/xemacs-21.5/lisp/regexp-opt
/usr/local/lib/xemacs/xemacs-packages/lisp/xemacs-base/easy-mmode
/home/Aidan/xemacs-21.5/lisp/easy-mmode
/usr/local/lib/xemacs/xemacs-packages/lisp/build/build-report
/home/Aidan/xemacs-21.5/lisp/build-report)
Installed XEmacs Packages:
-------------------------
(zenirc ver: 1.16 upstream: 2.112)
(xwem ver: 1.22 upstream: lg(a)xwem.org--2005/xwem--main--2.1--versionfix-1)
(xslt-process ver: 1.12 upstream: 1.2.1)
(xslide ver: 1.09 upstream: 0.2.2)
(xlib ver: 1.14 upstream: lg(a)xwem.org--2005/xlib--main--2.1--version-0)
(xetla ver: 1.01 upstream: steve(a)eicq.org--2005/xetla--main--1.1--version-0)
(xemacs-devel ver: 1.72 upstream: No-Upstream-Ver)
(xemacs-base ver: 2.03 upstream: No-Upstream-Ver)
(x-symbol ver: 1.1 upstream: 4.5.1)
(w3 ver: 1.32 upstream: 4.0pre47)
(vm ver: 7.22 upstream: 7.17)
(viper ver: 1.48 upstream: 3.09)
(view-process ver: 1.13 upstream: 2.4)
(vhdl ver: 1.21 upstream: 3.33.8)
(vc-cc ver: 1.22 upstream: No-Upstream-Ver)
(vc ver: 1.41 upstream: No-Upstream-Ver)
(tramp ver: 1.32 upstream: 2.0.53)
(tpu ver: 1.14 upstream: 4.2X)
(tooltalk ver: 1.15 upstream: No-Upstream-Ver)
(tm ver: 1.38 upstream: No-Upstream-Ver)
(time ver: 1.14 upstream: 1.17)
(textools ver: 1.15 upstream: No-Upstream-Ver)
(text-modes ver: 1.9 upstream: No-Upstream-Ver)
(texinfo ver: 1.3 upstream: No-Upstream-Ver)
(supercite ver: 1.21 upstream: 3.55x3)
(strokes ver: 1.1 upstream: No-Upstream-Ver)
(speedbar ver: 1.28 upstream: 0.14beta4)
(sounds-wav ver: 1.12 upstream: No-Upstream-Ver)
(sounds-au ver: 1.12 upstream: No-Upstream-Ver)
(sml-mode ver: 0.12 upstream: 3.9.5)
(slider ver: 1.15 upstream: 0.3x1)
(sieve ver: 1.18 upstream: No-Upstream-Ver)
(sh-script ver: 1.21 upstream: 2.0f)
(sgml ver: 1.11 upstream: No-Upstream-Ver)
(semantic ver: 1.2 upstream: 1.4.4)
(scheme ver: 1.14 upstream: No-Upstream-Ver)
(sasl ver: 1.16 upstream: 1.14.4)
(ruby-modes ver: 1.02 upstream: 1.6.8)
(rmail ver: 1.14 upstream: No-Upstream-Ver)
(riece ver: 1.22 upstream: 2.0.2)
(reftex ver: 1.34 upstream: 4.21)
(re-builder ver: 1.05 upstream: 1.20)
(python-modes ver: 1.07 upstream: No-Upstream-Ver)
(psgml-dtds ver: 1.03 upstream: No-Upstream-Ver)
(psgml ver: 1.44 upstream: 1.3.1)
(ps-print ver: 1.11 upstream: 6.5.6)
(prog-modes ver: 2.07 upstream: No-Upstream-Ver)
(pgg ver: 1.06 upstream: 0.1)
(perl-modes ver: 1.09 upstream: No-Upstream-Ver)
(pcomplete ver: 1.04 upstream: 1.1.6)
(pcl-cvs ver: 1.66 upstream: R-2_9_9)
(pc ver: 1.28 upstream: No-Upstream-Ver)
(os-utils ver: 1.37 upstream: No-Upstream-Ver)
(oo-browser ver: 1.04 upstream: 4.08)
(ocaml ver: 0.05 upstream: 3.06)
(net-utils ver: 1.48 upstream: N/A)
(mmm-mode ver: 1.02 upstream: 0.4.7)
(misc-games ver: 1.18 upstream: No-Upstream-Ver)
(mine ver: 1.16 upstream: 1.9)
(mh-e ver: 1.29 upstream: 7.4.2)
(mew ver: 1.19 upstream: 1.94.2)
(mailcrypt ver: 2.14 upstream: 3.5.8)
(mail-lib ver: 1.76 upstream: No-Upstream-Ver)
(jde ver: 1.51 upstream: 2.3.3)
(ispell ver: 1.32 upstream: 3.6)
(ilisp ver: 1.33 upstream: 5.12.0)
(igrep ver: 1.14 upstream: 2.111)
(idlwave ver: 1.32 upstream: 5.1)
(ibuffer ver: 1.09 upstream: No-Upstream-Ver)
(hyperbole ver: 1.16 upstream: 4.18)
(hm--html-menus ver: 1.23 upstream: 5.9)
(haskell-mode ver: 1.08 upstream: 2.1)
(gnus ver: 1.9 upstream: 5.10.7)
(gnats ver: 1.17 upstream: 3.101)
(general-docs ver: 1.04 upstream: No-Upstream-Ver)
(games ver: 1.17 upstream: 1.04)
(fsf-compat ver: 1.15 upstream: No-Upstream-Ver)
(frame-icon ver: 1.11 upstream: No-Upstream-Ver)
(fortran-modes ver: 1.05 upstream: No-Upstream-Ver)
(forms ver: 1.15 upstream: 2.37)
(footnote ver: 1.16 upstream: 0.18x)
(eudc ver: 1.39 upstream: 1.32)
(eterm ver: 1.17 upstream: No-Upstream-Ver)
(eshell ver: 1.1 upstream: 2.4.1)
(escreen ver: 1.01 upstream: 1.16)
(erc ver: 0.21 upstream: Version 5.1.2 Revision: 1.796.2.6)
(emerge ver: 1.11 upstream: No-Upstream-Ver)
(elib ver: 1.11 upstream: 1.0)
(eieio ver: 1.05 upstream: 0.17)
(efs ver: 1.33 upstream: 1.23)
(edt ver: 1.13 upstream: No-Upstream-Ver)
(edit-utils ver: 2.34 upstream: No-Upstream-Ver)
(ediff ver: 1.62 upstream: 2.75)
(edebug ver: 1.21 upstream: No-Upstream-Ver)
(ecrypto ver: 0.2 upstream: 2.0)
(ecb ver: 1.22 upstream: 2.31)
(docbookide ver: 0.07000000000000001 upstream: 0.1)
(dired ver: 1.17 upstream: 7.13)
(dictionary ver: 1.16 upstream: 1.8)
(debug ver: 1.17 upstream: No-Upstream-Ver)
(crisp ver: 1.15 upstream: 1.34)
(cookie ver: 1.15 upstream: No-Upstream-Ver)
(clearcase ver: 1.1 upstream: /main/laptop/165)
(cc-mode ver: 1.45 upstream: 5.30.10)
(calendar ver: 1.23 upstream: No-Upstream-Ver)
(calc ver: 1.26 upstream: 2.02fX3)
(c-support ver: 1.22 upstream: No-Upstream-Ver)
(build ver: 1.14 upstream: 2.02)
(bbdb ver: 1.29 upstream: 2.34)
(auctex ver: 1.46 upstream: 11.55)
(apel ver: 1.32 upstream: 10.6)
(ada ver: 1.14 upstream: 2.27)
(Sun ver: 1.16 upstream: No-Upstream-Ver)
(skk ver: 1.23 upstream: 10.62a)
(mule-ucs ver: 1.14 upstream: 0.84)
(mule-base ver: 1.48 upstream: No-Upstream-Ver)
(lookup ver: 1.15 upstream: 1.0)
(locale ver: 1.22 upstream: No-Upstream-Ver)
(leim ver: 1.22 upstream: No-Upstream-Ver)
(latin-unity ver: 1.17 upstream: 1.17)
(latin-euro-standards ver: 1.07 upstream: 1.07)
(egg-its ver: 1.27 upstream: No-Upstream-Ver)
(edict ver: 1.16 upstream: 0.9.9)
Installed Modules:
-----------------
Features:
--------
(mail-abbrevs xemacsbug shadow sendmail rfc822 zenirc-autoloads
xwem-autoloads xslt-process-autoloads xslide-autoloads xlib-autoloads
xetla-autoloads xemacs-devel-autoloads xemacs-base-autoloads
x-symbol-autoloads w3-autoloads vm-autoloads viper-autoloads
view-process-autoloads vhdl-autoloads vc-cc-autoloads vc-autoloads
tramp-autoloads tpu-autoloads tooltalk-autoloads tm-autoloads
time-autoloads textools-autoloads text-modes-autoloads
texinfo-autoloads supercite-autoloads strokes-autoloads
speedbar-autoloads sounds-wav-autoloads sounds-au-autoloads
sml-mode-autoloads slider-autoloads sieve-autoloads
sh-script-autoloads sgml-autoloads semantic-autoloads scheme-autoloads
sasl-autoloads ruby-modes-autoloads rmail-autoloads riece-autoloads
reftex-autoloads re-builder-autoloads python-modes-autoloads
psgml-dtds-autoloads psgml-autoloads ps-print-autoloads
prog-modes-autoloads pgg-autoloads perl-modes-autoloads
pcomplete-autoloads pcl-cvs-autoloads pc-autoloads os-utils-autoloads
oo-browser-autoloads ocaml-autoloads net-utils-autoloads
mmm-mode-autoloads misc-games-autoloads mine-autoloads mh-e-autoloads
mew-autoloads mailcrypt-autoloads mail-lib-autoloads jde-autoloads
ispell-autoloads ilisp-autoloads igrep-autoloads idlwave-autoloads
ibuffer-autoloads hyperbole-autoloads hm--html-menus-autoloads
haskell-mode-autoloads gnus-autoloads gnats-autoloads
general-docs-autoloads games-autoloads fsf-compat-autoloads
frame-icon-autoloads fortran-modes-autoloads forms-autoloads
footnote-autoloads eudc-autoloads eterm-autoloads eshell-autoloads
escreen-autoloads erc-autoloads emerge-autoloads elib-autoloads
eieio-autoloads efs-autoloads edt-autoloads edit-utils-autoloads
ediff-autoloads edebug-autoloads ecrypto-autoloads ecb-autoloads
docbookide-autoloads dired-autoloads dictionary-autoloads
debug-autoloads crisp-autoloads cookie-autoloads clearcase-autoloads
cc-mode-autoloads calendar-autoloads calc-autoloads
c-support-autoloads build-autoloads bbdb-autoloads auctex-autoloads
apel-autoloads ada-autoloads Sun-autoloads skk-autoloads
mule-ucs-autoloads mule-base-autoloads lookup-autoloads
locale-autoloads leim-autoloads latin-unity-autoloads
latin-euro-standards-autoloads egg-its-autoloads edict-autoloads
modules-autoloads mule-autoloads auto-autoloads rsz-minibuf auto-show
fontl-hooks canna-leim tibetan lao devanagari indian slovenian czech
romanian ccl code-cmds gutter-items menubar-items x-menubar dragdrop
mode-motion mouse behavior itimer auto-save lisp-mode easymenu
easy-mmode iso8859-1 page buff-menu lib-complete loadhist cus-file
derived newcomment env text-props fontconfig frame obsolete cus-start
custom widget cl-extra cl cl-19 packages backquote unicode
mswindows-scrollbars mswindows font-mgr lucid-scrollbars cut-buffer
xft-fonts lucid-menubars motif-dialogs x c-balloon-help tty-frames tty
toolbar native-sound scrollbar unix-processes multicast
network-streams subprocesses modules menu-accelerator-support menubar
md5 xemacs xim mule gutter tiff png gif jpeg xface xpm xbm
lisp-float-type file-coding dde cygwin32 dragdrop-api dialog devices
window-system base64)
Recent keystrokes:
-----------------
( d e v i c e - m a t c h i n g - s p e c i f i e r
- t a g - l i s t ) C-j scroll-lock kp-enter RET ESC
x r e p o r t - x e m a c s - b u g RET
Recent messages (most recent first):
-----------------------------------
Warning:
Defaulting to the GNU Emacs-derived `sendmail.el' mail client. This facility,
while part of base XEmacs, is heinously underfeatured, and not going to get
better in the medium term. We include it so that bug reports work without
packages; we suggest that you choose and/or install one of the other mail
clients from packages if you're doing something other than M-x
report-xemacs-bug , or even if you are reporting bugs regularly.
To choose a package from those installed, click on "Options" ->
"Internet" -> "Compose Mail With ..." and decide on one from the
list. Gnus and VM are full-featured and have active user communities.
To disable this warning and stick with the old behavior, you can explicitly
initialize `mail-user-agent' to 'sendmail-user-agent .
Loading xemacsbug...done
Loading xemacsbug...
scroll-lock not defined.
--
Santa Maradona, priez pour moi!
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta
Re: [Bug: 21.4.19] gnuserv-start
18 years, 1 month
Stephen J. Turnbull
In the future, please follow up to the mailing list. That way others
will know that this problem can be solved/worked around this way.
(This time my post is sufficient.)
François Jouve writes:
> Kevin Oberman wrote:
> > One other thing to check/try...do you have an entry for your system in
> > your hosts file? If not, it may be trying a DNS lookup and failing.
> It works ! Thank's *a lot* for your help. I have been searching
> for monthes this answer. Actually my /etc/hosts was :
>
> 127.0.0.1 localhost.localdomain localhost myhostname
>
> and I changed it into
>
> 127.0.0.1 localhost.localdomain localhost myhostname myhostname.my.domain
> PS: I know that you are not responsible for that but the version 21.5.27
> of xemacs (which is a beta version) is very buggy. You get the message :
> "Invalid constant: Unrecognized coding category iso-8859-1"
> Unfortunately, it is the version that is present in the new fedora core 6
> distribution...
It's also apparently not a bug in our distribution---I've never heard
of it before. If you have access to it, try whatever gives that
message under "xemacs -q" (to make sure it's not something in your
init file), and if it still happens, send them a report.
We'd be happy to help, but this looks like a typo to me (the coding
category is iso-8-1)---just grepping the rpm patchset should uncover
it quickly.
> There is no problem to downgrade it to the latest stable version (21.4.19),
> but a bug-free version in a brand new distrib may be a better idea :)
*chortle* I have yet to hear a good word about FC6. All the Fedora
users I know are bitching about new driver and app bugs.
I'm sure it's got lots and lots of good stuff (sez me as I type into a
Mac OS X 10.3.9 Terminal displaying XEmacs running on a Gentoo Linux
system:-), but Fedora is about "many eyes, shallow bugs", not about
stability.
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta
Re: core dump after 2006-11-06
18 years, 1 month
Ilya N. Golubev
Will be mostly unable to check mail until Dec. 12 at least.
The core file itself is irreversibly destroyed. As for `Installation'
of build that created it, it is are as follows. Confirming
<31psbyt2ew.fsf_-_(a)mo.msk.ru> in that it is configured with the
`--enable-kkcc' default, `yes'. Anyway, gc configuration may be
obviously figured from gdb bt in original crash report,
<22u01bfa0s.fsf(a)mo.msk.ru>.
uname -a: Linux 2.6.3-27mdk #1 Tue May 31 21:48:42 MDT 2005 i686 unknown unknown GNU/Linux
../share/xemacs-local-21.5/configure '--enable-cflags-debugging=-g' '--enable-cflags-optimization=-O2' '--enable-debug' '--enable-error-checking=all' '--enable-pdump' '--enable-external-widget' '--with-gpm' '--enable-sound=native' '--with-pop' '--with-mail-locking=lockf' '--enable-clash-detection' '--enable-mule=yes' '--with-hesiod=no' '--enable-menubars=lucid' '--enable-scrollbars=lucid' '--enable-dialogs=lucid' '--with-xim=xlib' '--with-canna=no' '--with-wnn=no' '--with-wnn6=no' '--with-msw=no' '--with-xfs=yes' '--disable-mc-alloc'
XEmacs 21.5-b27 "fiddleheads" (+CVS-20061106) configured for `i686-pc-linux'.
Compilation Environment and Installation Defaults:
Operating system description file: `s/linux.h'
Machine description file: `m/intel386.h'
Compiler version: gcc (GCC) 3.3.2 (Mandrake Linux 10.0 3.3.2-6mdk)
- GCC specs file: /usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.2/specs
- Compiler command: gcc -Wall -Wno-switch -Wundef -Wsign-compare -Wno-char-subscripts -Wpacked -Wunused-parameter -g -O2
libc version: glibc-2.3.3-12.8.100mdk
Relocating allocator for buffers: no
GNU version of malloc: yes
- Using Doug Lea's new malloc from the GNU C Library.
Window System:
Compiling in support for the X window system:
- X Windows headers location: /usr/X11R6/include
- X Windows libraries location: /usr/X11R6/lib
- Handling WM_COMMAND properly.
Compiling in support for the Athena widget set:
- Athena headers location: X11/Xaw
- Athena library to link: Xaw
Using Lucid menubars.
Using Lucid scrollbars.
Using Athena dialog boxes.
Using Athena native widgets.
TTY:
Compiling in support for ncurses.
Compiling in support for GPM (General Purpose Mouse).
Images:
Compiling in support for GIF images (builtin).
Compiling in support for XPM images.
Compiling in support for PNG images.
Compiling in support for JPEG images.
Compiling in support for TIFF images.
Compiling in support for X-Face message headers.
Sound:
Compiling in support for sound (native).
Compiling in support for ALSA (Advanced Linux Sound Architecture).
Compiling in support for NAS (network audio system).
Databases:
Compiling in support for Berkeley database.
Compiling in support for LDAP.
Compiling in support for PostgreSQL.
- Using PostgreSQL header file: pgsql/libpq-fe.h
- Using PostgreSQL V7 bindings.
Internationalization:
Compiling in support for Mule (multi-lingual Emacs).
Compiling in support for XIM (X11R5+ I18N input method).
- Using raw Xlib to provide XIM support.
- Using XFontSet to provide bilingual menubar.
Mail:
Compiling in support for POP mail retrieval.
Compiling in support for "lockf" mail spool file locking method.
Other Features:
Inhibiting IPv6 canonicalization at startup.
Compiling in support for dynamic shared object modules.
Using the new GC mark algorithms (KKCC).
WARNING: ---------------------------------------------------------
WARNING: The new algorithms are experimental. They are enabled by
WARNING: default for this release. Use `--disable-kkcc' to
WARNING: turn it off.
WARNING: ---------------------------------------------------------
Using the new portable dumper.
Dumping into executable.
Compiling in support for extra debugging code.
Compiling in support for runtime error checking.
WARNING: ---------------------------------------------------------
WARNING: XEmacs will run noticeably more slowly as a result.
WARNING: Error checking is on by default for XEmacs beta releases.
WARNING: ---------------------------------------------------------
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta
Re: font for jit chars?
18 years, 1 month
Aidan Kehoe
Ar an t-ochtú lá de mí na Samhain, scríobh Ilya N. Golubev:
> So, now `specifier-matching-instance' MATCHSPEC `car' must be
> `(get-charset 'jit-ucs-charset-0)', and this does make difference with
> just `'jit-ucs-charset-0'? If so, please document.
I’m sorry, you’re right here; at the moment the car of MATCHSPEC must be a
charset object, not a symbol. I didn’t change that intentionally; it is
needlessly confusing and I intend changing it back.
--
Santa Maradona, priez pour moi!
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta