* sysdep.c (str_collate): Return int.
(str_collate) [__STDC_ISO_10646__]: Propagate error of wcscoll.
+2014-08-27 Michael Albinus <michael.albinus@gmx.de>
+
+ * lisp.h (str_collate):
+ * sysdep.c (str_collate): Return int.
+ (str_collate) [__STDC_ISO_10646__]: Propagate error of wcscoll.
+
2014-08-27 Dmitry Antipov <dmantipov@yandex.ru>
Fix some glitches in previous change.
extern void unlock_file (Lisp_Object);
extern void unlock_buffer (struct buffer *);
extern void syms_of_filelock (void);
-extern ptrdiff_t str_collate (Lisp_Object, Lisp_Object);
+extern int str_collate (Lisp_Object, Lisp_Object);
/* Defined in sound.c. */
extern void syms_of_sound (void);
# define setlocale(category, locale) ((char *) 0)
# endif
-ptrdiff_t
+int
str_collate (Lisp_Object s1, Lisp_Object s2)
{
ptrdiff_t res, len, i, i_byte;
#endif
}
+ errno = 0;
res = wcscoll (p1, p2);
+ if (errno)
+ error ("Wrong argument: %s", strerror (errno));
#ifdef HAVE_USELOCALE
/* Free the locale object, and reset. */
#endif /* __STDC_ISO_10646__ */
#ifdef WINDOWSNT
-ptrdiff_t
+int
str_collate (Lisp_Object s1, Lisp_Object s2)
{
Lisp_Object lc_collate =