diff options
| author | Michael Albinus | 2014-08-27 13:22:37 +0200 |
|---|---|---|
| committer | Michael Albinus | 2014-08-27 13:22:37 +0200 |
| commit | 17d94f1ba4333a0d53558af02583dbf80e9157ff (patch) | |
| tree | 4e33b0d4bd5145b4b1dd33fbe9c34a53b7b55b1e /src | |
| parent | 28e0124dd05419689a8a94ec4381e53d4644989c (diff) | |
| download | emacs-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/ChangeLog | 6 | ||||
| -rw-r--r-- | src/lisp.h | 2 | ||||
| -rw-r--r-- | src/sysdep.c | 7 |
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 @@ | |||
| 1 | 2014-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 | |||
| 1 | 2014-08-27 Dmitry Antipov <dmantipov@yandex.ru> | 7 | 2014-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); | |||
| 4298 | extern void unlock_file (Lisp_Object); | 4298 | extern void unlock_file (Lisp_Object); |
| 4299 | extern void unlock_buffer (struct buffer *); | 4299 | extern void unlock_buffer (struct buffer *); |
| 4300 | extern void syms_of_filelock (void); | 4300 | extern void syms_of_filelock (void); |
| 4301 | extern ptrdiff_t str_collate (Lisp_Object, Lisp_Object); | 4301 | extern int str_collate (Lisp_Object, Lisp_Object); |
| 4302 | 4302 | ||
| 4303 | /* Defined in sound.c. */ | 4303 | /* Defined in sound.c. */ |
| 4304 | extern void syms_of_sound (void); | 4304 | extern 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 | ||
| 3609 | ptrdiff_t | 3609 | int |
| 3610 | str_collate (Lisp_Object s1, Lisp_Object s2) | 3610 | str_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 |
| 3677 | ptrdiff_t | 3680 | int |
| 3678 | str_collate (Lisp_Object s1, Lisp_Object s2) | 3681 | str_collate (Lisp_Object s1, Lisp_Object s2) |
| 3679 | { | 3682 | { |
| 3680 | Lisp_Object lc_collate = | 3683 | Lisp_Object lc_collate = |