aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMichael Albinus2014-08-27 13:22:37 +0200
committerMichael Albinus2014-08-27 13:22:37 +0200
commit17d94f1ba4333a0d53558af02583dbf80e9157ff (patch)
tree4e33b0d4bd5145b4b1dd33fbe9c34a53b7b55b1e /src
parent28e0124dd05419689a8a94ec4381e53d4644989c (diff)
downloademacs-17d94f1ba4333a0d53558af02583dbf80e9157ff.tar.gz
emacs-17d94f1ba4333a0d53558af02583dbf80e9157ff.zip
* lisp.h (str_collate):
* sysdep.c (str_collate): Return int. (str_collate) [__STDC_ISO_10646__]: Propagate error of wcscoll.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog6
-rw-r--r--src/lisp.h2
-rw-r--r--src/sysdep.c7
3 files changed, 12 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 33fea805898..d7066b823b9 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
12014-08-27 Michael Albinus <michael.albinus@gmx.de>
2
3 * lisp.h (str_collate):
4 * sysdep.c (str_collate): Return int.
5 (str_collate) [__STDC_ISO_10646__]: Propagate error of wcscoll.
6
12014-08-27 Dmitry Antipov <dmantipov@yandex.ru> 72014-08-27 Dmitry Antipov <dmantipov@yandex.ru>
2 8
3 Fix some glitches in previous change. 9 Fix some glitches in previous change.
diff --git a/src/lisp.h b/src/lisp.h
index 012e5fad18d..b9f456b3745 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -4298,7 +4298,7 @@ extern void lock_file (Lisp_Object);
4298extern void unlock_file (Lisp_Object); 4298extern void unlock_file (Lisp_Object);
4299extern void unlock_buffer (struct buffer *); 4299extern void unlock_buffer (struct buffer *);
4300extern void syms_of_filelock (void); 4300extern void syms_of_filelock (void);
4301extern ptrdiff_t str_collate (Lisp_Object, Lisp_Object); 4301extern int str_collate (Lisp_Object, Lisp_Object);
4302 4302
4303/* Defined in sound.c. */ 4303/* Defined in sound.c. */
4304extern void syms_of_sound (void); 4304extern void syms_of_sound (void);
diff --git a/src/sysdep.c b/src/sysdep.c
index 7b93cb93b85..4b0f54ebe6e 100644
--- a/src/sysdep.c
+++ b/src/sysdep.c
@@ -3606,7 +3606,7 @@ system_process_attributes (Lisp_Object pid)
3606# define setlocale(category, locale) ((char *) 0) 3606# define setlocale(category, locale) ((char *) 0)
3607# endif 3607# endif
3608 3608
3609ptrdiff_t 3609int
3610str_collate (Lisp_Object s1, Lisp_Object s2) 3610str_collate (Lisp_Object s1, Lisp_Object s2)
3611{ 3611{
3612 ptrdiff_t res, len, i, i_byte; 3612 ptrdiff_t res, len, i, i_byte;
@@ -3653,7 +3653,10 @@ str_collate (Lisp_Object s1, Lisp_Object s2)
3653#endif 3653#endif
3654 } 3654 }
3655 3655
3656 errno = 0;
3656 res = wcscoll (p1, p2); 3657 res = wcscoll (p1, p2);
3658 if (errno)
3659 error ("Wrong argument: %s", strerror (errno));
3657 3660
3658#ifdef HAVE_USELOCALE 3661#ifdef HAVE_USELOCALE
3659 /* Free the locale object, and reset. */ 3662 /* Free the locale object, and reset. */
@@ -3674,7 +3677,7 @@ str_collate (Lisp_Object s1, Lisp_Object s2)
3674#endif /* __STDC_ISO_10646__ */ 3677#endif /* __STDC_ISO_10646__ */
3675 3678
3676#ifdef WINDOWSNT 3679#ifdef WINDOWSNT
3677ptrdiff_t 3680int
3678str_collate (Lisp_Object s1, Lisp_Object s2) 3681str_collate (Lisp_Object s1, Lisp_Object s2)
3679{ 3682{
3680 Lisp_Object lc_collate = 3683 Lisp_Object lc_collate =