diff options
| author | Paul Eggert | 2011-07-16 17:37:57 -0700 |
|---|---|---|
| committer | Paul Eggert | 2011-07-16 17:37:57 -0700 |
| commit | 4f8a4547454e24304b4182fbf4ae4b34a7bdc92b (patch) | |
| tree | d03d6d6cdd4b10a62633ed5f9da42d60dac016d0 /src | |
| parent | f0eb61e99dce9005dc94c909046f6130b3d4a97c (diff) | |
| parent | 64a465b2d97d00f27ed74513047ced07b798b9fd (diff) | |
| download | emacs-4f8a4547454e24304b4182fbf4ae4b34a7bdc92b.tar.gz emacs-4f8a4547454e24304b4182fbf4ae4b34a7bdc92b.zip | |
Merge from trunk.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 46 | ||||
| -rw-r--r-- | src/fileio.c | 4 | ||||
| -rw-r--r-- | src/gnutls.c | 32 | ||||
| -rw-r--r-- | src/lread.c | 8 | ||||
| -rw-r--r-- | src/makefile.w32-in | 3 | ||||
| -rw-r--r-- | src/process.c | 2 | ||||
| -rw-r--r-- | src/xdisp.c | 16 |
7 files changed, 91 insertions, 20 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 493b3277f52..b3d9eca469e 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | 2011-07-14 Paul Eggert <eggert@cs.ucla.edu> | 1 | 2011-07-17 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 2 | ||
| 3 | Integer signedness and overflow and related fixes. (Bug#9079) | 3 | Integer signedness and overflow and related fixes. (Bug#9079) |
| 4 | 4 | ||
| @@ -197,6 +197,47 @@ | |||
| 197 | Use EMACS_INT, not EMACS_UINT, for sizes. The code works equally | 197 | Use EMACS_INT, not EMACS_UINT, for sizes. The code works equally |
| 198 | well either way, and we prefer signed to unsigned. | 198 | well either way, and we prefer signed to unsigned. |
| 199 | 199 | ||
| 200 | 2011-07-16 Juanma Barranquero <lekktu@gmail.com> | ||
| 201 | |||
| 202 | * makefile.w32-in (GLOBAL_SOURCES): Add gnutls.c (followup to bug#9059). | ||
| 203 | |||
| 204 | 2011-07-16 Paul Eggert <eggert@cs.ucla.edu> | ||
| 205 | |||
| 206 | * fileio.c (Fcopy_file): Don't diagnose fchown failures. (Bug#9002) | ||
| 207 | |||
| 208 | 2011-07-16 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 209 | |||
| 210 | * gnutls.c (syms_of_gnutls): Define `gnutls-log-level' here, since | ||
| 211 | it's used from the C level. | ||
| 212 | |||
| 213 | * process.c: Use the same condition for POLL_FOR_INPUT in both | ||
| 214 | keyboard.c and process.c (bug#1858). | ||
| 215 | |||
| 216 | 2011-07-09 Lawrence Mitchell <wence@gmx.li> | ||
| 217 | |||
| 218 | * gnutls.c (Qgnutls_bootprop_min_prime_bits): New variable. | ||
| 219 | (Fgnutls_boot): Use it. | ||
| 220 | |||
| 221 | 2011-07-15 Andreas Schwab <schwab@linux-m68k.org> | ||
| 222 | |||
| 223 | * doc.c (Fsubstitute_command_keys): Revert last change. | ||
| 224 | |||
| 225 | 2011-07-15 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 226 | |||
| 227 | * doc.c (Fsubstitute_command_keys): Clarify that \= really only | ||
| 228 | quotes the next character, and doesn't affect other longer | ||
| 229 | sequences (bug#8935). | ||
| 230 | |||
| 231 | * lread.c (syms_of_lread): Clarify that is isn't only | ||
| 232 | `eval-buffer' and `eval-defun' that's affected by | ||
| 233 | `lexical-binding' (bug#8460). | ||
| 234 | |||
| 235 | 2011-07-15 Eli Zaretskii <eliz@gnu.org> | ||
| 236 | |||
| 237 | * xdisp.c (move_it_in_display_line_to): Fix vertical motion with | ||
| 238 | bidi redisplay when a line includes both an image and is | ||
| 239 | truncated. | ||
| 240 | |||
| 200 | 2011-07-14 Paul Eggert <eggert@cs.ucla.edu> | 241 | 2011-07-14 Paul Eggert <eggert@cs.ucla.edu> |
| 201 | 242 | ||
| 202 | Fix minor problems found by static checking. | 243 | Fix minor problems found by static checking. |
| @@ -211,9 +252,6 @@ | |||
| 211 | 252 | ||
| 212 | 2011-07-14 Lars Magne Ingebrigtsen <larsi@gnus.org> | 253 | 2011-07-14 Lars Magne Ingebrigtsen <larsi@gnus.org> |
| 213 | 254 | ||
| 214 | * data.c (Fcdr, Fcar): Revert the last change, since it didn't | ||
| 215 | really clarify much. | ||
| 216 | |||
| 217 | * search.c (Fre_search_backward): Mention `case-fold-search' in | 255 | * search.c (Fre_search_backward): Mention `case-fold-search' in |
| 218 | all the re_search_* functions (bug#8138). | 256 | all the re_search_* functions (bug#8138). |
| 219 | 257 | ||
diff --git a/src/fileio.c b/src/fileio.c index d4fb0383119..c67bea79bd3 100644 --- a/src/fileio.c +++ b/src/fileio.c | |||
| @@ -1959,8 +1959,8 @@ on the system, we copy the SELinux context of FILE to NEWNAME. */) | |||
| 1959 | owner and group. */ | 1959 | owner and group. */ |
| 1960 | if (input_file_statable_p) | 1960 | if (input_file_statable_p) |
| 1961 | { | 1961 | { |
| 1962 | if (!NILP (preserve_uid_gid) && fchown (ofd, st.st_uid, st.st_gid) != 0) | 1962 | if (!NILP (preserve_uid_gid)) |
| 1963 | report_file_error ("Doing chown", Fcons (newname, Qnil)); | 1963 | fchown (ofd, st.st_uid, st.st_gid); |
| 1964 | if (fchmod (ofd, st.st_mode & 07777) != 0) | 1964 | if (fchmod (ofd, st.st_mode & 07777) != 0) |
| 1965 | report_file_error ("Doing chmod", Fcons (newname, Qnil)); | 1965 | report_file_error ("Doing chmod", Fcons (newname, Qnil)); |
| 1966 | } | 1966 | } |
diff --git a/src/gnutls.c b/src/gnutls.c index 3761951b866..52e80a69ae5 100644 --- a/src/gnutls.c +++ b/src/gnutls.c | |||
| @@ -35,7 +35,6 @@ static int | |||
| 35 | emacs_gnutls_handle_error (gnutls_session_t, int err); | 35 | emacs_gnutls_handle_error (gnutls_session_t, int err); |
| 36 | 36 | ||
| 37 | static Lisp_Object Qgnutls_dll; | 37 | static Lisp_Object Qgnutls_dll; |
| 38 | static Lisp_Object Qgnutls_log_level; | ||
| 39 | static Lisp_Object Qgnutls_code; | 38 | static Lisp_Object Qgnutls_code; |
| 40 | static Lisp_Object Qgnutls_anon, Qgnutls_x509pki; | 39 | static Lisp_Object Qgnutls_anon, Qgnutls_x509pki; |
| 41 | static Lisp_Object Qgnutls_e_interrupted, Qgnutls_e_again, | 40 | static Lisp_Object Qgnutls_e_interrupted, Qgnutls_e_again, |
| @@ -50,6 +49,7 @@ static Lisp_Object Qgnutls_bootprop_crlfiles; | |||
| 50 | static Lisp_Object Qgnutls_bootprop_callbacks; | 49 | static Lisp_Object Qgnutls_bootprop_callbacks; |
| 51 | static Lisp_Object Qgnutls_bootprop_loglevel; | 50 | static Lisp_Object Qgnutls_bootprop_loglevel; |
| 52 | static Lisp_Object Qgnutls_bootprop_hostname; | 51 | static Lisp_Object Qgnutls_bootprop_hostname; |
| 52 | static Lisp_Object Qgnutls_bootprop_min_prime_bits; | ||
| 53 | static Lisp_Object Qgnutls_bootprop_verify_flags; | 53 | static Lisp_Object Qgnutls_bootprop_verify_flags; |
| 54 | static Lisp_Object Qgnutls_bootprop_verify_hostname_error; | 54 | static Lisp_Object Qgnutls_bootprop_verify_hostname_error; |
| 55 | 55 | ||
| @@ -105,6 +105,8 @@ DEF_GNUTLS_FN (int, gnutls_certificate_verify_peers2, | |||
| 105 | DEF_GNUTLS_FN (int, gnutls_credentials_set, | 105 | DEF_GNUTLS_FN (int, gnutls_credentials_set, |
| 106 | (gnutls_session_t, gnutls_credentials_type_t, void *)); | 106 | (gnutls_session_t, gnutls_credentials_type_t, void *)); |
| 107 | DEF_GNUTLS_FN (void, gnutls_deinit, (gnutls_session_t)); | 107 | DEF_GNUTLS_FN (void, gnutls_deinit, (gnutls_session_t)); |
| 108 | DEF_GNUTLS_FN (void, gnutls_dh_set_prime_bits, | ||
| 109 | (gnutls_session_t, unsigned int)); | ||
| 108 | DEF_GNUTLS_FN (int, gnutls_error_is_fatal, (int)); | 110 | DEF_GNUTLS_FN (int, gnutls_error_is_fatal, (int)); |
| 109 | DEF_GNUTLS_FN (int, gnutls_global_init, (void)); | 111 | DEF_GNUTLS_FN (int, gnutls_global_init, (void)); |
| 110 | DEF_GNUTLS_FN (void, gnutls_global_set_log_function, (gnutls_log_func)); | 112 | DEF_GNUTLS_FN (void, gnutls_global_set_log_function, (gnutls_log_func)); |
| @@ -143,7 +145,6 @@ static int | |||
| 143 | init_gnutls_functions (Lisp_Object libraries) | 145 | init_gnutls_functions (Lisp_Object libraries) |
| 144 | { | 146 | { |
| 145 | HMODULE library; | 147 | HMODULE library; |
| 146 | Lisp_Object gnutls_log_level = Fsymbol_value (Qgnutls_log_level); | ||
| 147 | int max_log_level = 1; | 148 | int max_log_level = 1; |
| 148 | 149 | ||
| 149 | if (!(library = w32_delayed_load (libraries, Qgnutls_dll))) | 150 | if (!(library = w32_delayed_load (libraries, Qgnutls_dll))) |
| @@ -169,6 +170,7 @@ init_gnutls_functions (Lisp_Object libraries) | |||
| 169 | LOAD_GNUTLS_FN (library, gnutls_certificate_verify_peers2); | 170 | LOAD_GNUTLS_FN (library, gnutls_certificate_verify_peers2); |
| 170 | LOAD_GNUTLS_FN (library, gnutls_credentials_set); | 171 | LOAD_GNUTLS_FN (library, gnutls_credentials_set); |
| 171 | LOAD_GNUTLS_FN (library, gnutls_deinit); | 172 | LOAD_GNUTLS_FN (library, gnutls_deinit); |
| 173 | LOAD_GNUTLS_FN (library, gnutls_dh_set_prime_bits); | ||
| 172 | LOAD_GNUTLS_FN (library, gnutls_error_is_fatal); | 174 | LOAD_GNUTLS_FN (library, gnutls_error_is_fatal); |
| 173 | LOAD_GNUTLS_FN (library, gnutls_global_init); | 175 | LOAD_GNUTLS_FN (library, gnutls_global_init); |
| 174 | LOAD_GNUTLS_FN (library, gnutls_global_set_log_function); | 176 | LOAD_GNUTLS_FN (library, gnutls_global_set_log_function); |
| @@ -191,8 +193,8 @@ init_gnutls_functions (Lisp_Object libraries) | |||
| 191 | LOAD_GNUTLS_FN (library, gnutls_x509_crt_import); | 193 | LOAD_GNUTLS_FN (library, gnutls_x509_crt_import); |
| 192 | LOAD_GNUTLS_FN (library, gnutls_x509_crt_init); | 194 | LOAD_GNUTLS_FN (library, gnutls_x509_crt_init); |
| 193 | 195 | ||
| 194 | if (NUMBERP (gnutls_log_level)) | 196 | if (NUMBERP (Vgnutls_log_level)) |
| 195 | max_log_level = XINT (gnutls_log_level); | 197 | max_log_level = XINT (Vgnutls_log_level); |
| 196 | 198 | ||
| 197 | GNUTLS_LOG2 (1, max_log_level, "GnuTLS library loaded:", | 199 | GNUTLS_LOG2 (1, max_log_level, "GnuTLS library loaded:", |
| 198 | SDATA (Fget (Qgnutls_dll, QCloaded_from))); | 200 | SDATA (Fget (Qgnutls_dll, QCloaded_from))); |
| @@ -218,6 +220,7 @@ init_gnutls_functions (Lisp_Object libraries) | |||
| 218 | #define fn_gnutls_certificate_verify_peers2 gnutls_certificate_verify_peers2 | 220 | #define fn_gnutls_certificate_verify_peers2 gnutls_certificate_verify_peers2 |
| 219 | #define fn_gnutls_credentials_set gnutls_credentials_set | 221 | #define fn_gnutls_credentials_set gnutls_credentials_set |
| 220 | #define fn_gnutls_deinit gnutls_deinit | 222 | #define fn_gnutls_deinit gnutls_deinit |
| 223 | #define fn_gnutls_dh_set_prime_bits gnutls_dh_set_prime_bits | ||
| 221 | #define fn_gnutls_error_is_fatal gnutls_error_is_fatal | 224 | #define fn_gnutls_error_is_fatal gnutls_error_is_fatal |
| 222 | #define fn_gnutls_global_init gnutls_global_init | 225 | #define fn_gnutls_global_init gnutls_global_init |
| 223 | #define fn_gnutls_global_set_log_function gnutls_global_set_log_function | 226 | #define fn_gnutls_global_set_log_function gnutls_global_set_log_function |
| @@ -394,7 +397,6 @@ emacs_gnutls_read (struct Lisp_Process *proc, char *buf, EMACS_INT nbyte) | |||
| 394 | static int | 397 | static int |
| 395 | emacs_gnutls_handle_error (gnutls_session_t session, int err) | 398 | emacs_gnutls_handle_error (gnutls_session_t session, int err) |
| 396 | { | 399 | { |
| 397 | Lisp_Object gnutls_log_level = Fsymbol_value (Qgnutls_log_level); | ||
| 398 | int max_log_level = 0; | 400 | int max_log_level = 0; |
| 399 | 401 | ||
| 400 | int ret; | 402 | int ret; |
| @@ -404,8 +406,8 @@ emacs_gnutls_handle_error (gnutls_session_t session, int err) | |||
| 404 | if (err >= 0) | 406 | if (err >= 0) |
| 405 | return 0; | 407 | return 0; |
| 406 | 408 | ||
| 407 | if (NUMBERP (gnutls_log_level)) | 409 | if (NUMBERP (Vgnutls_log_level)) |
| 408 | max_log_level = XINT (gnutls_log_level); | 410 | max_log_level = XINT (Vgnutls_log_level); |
| 409 | 411 | ||
| 410 | /* TODO: use gnutls-error-fatalp and gnutls-error-string. */ | 412 | /* TODO: use gnutls-error-fatalp and gnutls-error-string. */ |
| 411 | 413 | ||
| @@ -646,6 +648,9 @@ gnutls_certificate_set_verify_flags. | |||
| 646 | :verify-hostname-error, if non-nil, makes a hostname mismatch an | 648 | :verify-hostname-error, if non-nil, makes a hostname mismatch an |
| 647 | error. Otherwise it will be just a warning. | 649 | error. Otherwise it will be just a warning. |
| 648 | 650 | ||
| 651 | :min-prime-bits is the minimum accepted number of bits the client will | ||
| 652 | accept in Diffie-Hellman key exchange. | ||
| 653 | |||
| 649 | The debug level will be set for this process AND globally for GnuTLS. | 654 | The debug level will be set for this process AND globally for GnuTLS. |
| 650 | So if you set it higher or lower at any point, it affects global | 655 | So if you set it higher or lower at any point, it affects global |
| 651 | debugging. | 656 | debugging. |
| @@ -698,6 +703,7 @@ one trustfile (usually a CA bundle). */) | |||
| 698 | Lisp_Object verify_flags; | 703 | Lisp_Object verify_flags; |
| 699 | /* Lisp_Object verify_error; */ | 704 | /* Lisp_Object verify_error; */ |
| 700 | Lisp_Object verify_hostname_error; | 705 | Lisp_Object verify_hostname_error; |
| 706 | Lisp_Object prime_bits; | ||
| 701 | 707 | ||
| 702 | CHECK_PROCESS (proc); | 708 | CHECK_PROCESS (proc); |
| 703 | CHECK_SYMBOL (type); | 709 | CHECK_SYMBOL (type); |
| @@ -719,6 +725,7 @@ one trustfile (usually a CA bundle). */) | |||
| 719 | verify_flags = Fplist_get (proplist, Qgnutls_bootprop_verify_flags); | 725 | verify_flags = Fplist_get (proplist, Qgnutls_bootprop_verify_flags); |
| 720 | /* verify_error = Fplist_get (proplist, Qgnutls_bootprop_verify_error); */ | 726 | /* verify_error = Fplist_get (proplist, Qgnutls_bootprop_verify_error); */ |
| 721 | verify_hostname_error = Fplist_get (proplist, Qgnutls_bootprop_verify_hostname_error); | 727 | verify_hostname_error = Fplist_get (proplist, Qgnutls_bootprop_verify_hostname_error); |
| 728 | prime_bits = Fplist_get (proplist, Qgnutls_bootprop_min_prime_bits); | ||
| 722 | 729 | ||
| 723 | if (!STRINGP (hostname)) | 730 | if (!STRINGP (hostname)) |
| 724 | error ("gnutls-boot: invalid :hostname parameter"); | 731 | error ("gnutls-boot: invalid :hostname parameter"); |
| @@ -936,6 +943,11 @@ one trustfile (usually a CA bundle). */) | |||
| 936 | 943 | ||
| 937 | GNUTLS_INITSTAGE (proc) = GNUTLS_STAGE_PRIORITY; | 944 | GNUTLS_INITSTAGE (proc) = GNUTLS_STAGE_PRIORITY; |
| 938 | 945 | ||
| 946 | if (!EQ (prime_bits, Qnil)) | ||
| 947 | { | ||
| 948 | fn_gnutls_dh_set_prime_bits (state, XUINT (prime_bits)); | ||
| 949 | } | ||
| 950 | |||
| 939 | if (EQ (type, Qgnutls_x509pki)) | 951 | if (EQ (type, Qgnutls_x509pki)) |
| 940 | { | 952 | { |
| 941 | ret = fn_gnutls_credentials_set (state, GNUTLS_CRD_CERTIFICATE, x509_cred); | 953 | ret = fn_gnutls_credentials_set (state, GNUTLS_CRD_CERTIFICATE, x509_cred); |
| @@ -1103,7 +1115,6 @@ syms_of_gnutls (void) | |||
| 1103 | gnutls_global_initialized = 0; | 1115 | gnutls_global_initialized = 0; |
| 1104 | 1116 | ||
| 1105 | DEFSYM (Qgnutls_dll, "gnutls"); | 1117 | DEFSYM (Qgnutls_dll, "gnutls"); |
| 1106 | DEFSYM (Qgnutls_log_level, "gnutls-log-level"); | ||
| 1107 | DEFSYM (Qgnutls_code, "gnutls-code"); | 1118 | DEFSYM (Qgnutls_code, "gnutls-code"); |
| 1108 | DEFSYM (Qgnutls_anon, "gnutls-anon"); | 1119 | DEFSYM (Qgnutls_anon, "gnutls-anon"); |
| 1109 | DEFSYM (Qgnutls_x509pki, "gnutls-x509pki"); | 1120 | DEFSYM (Qgnutls_x509pki, "gnutls-x509pki"); |
| @@ -1114,6 +1125,7 @@ syms_of_gnutls (void) | |||
| 1114 | DEFSYM (Qgnutls_bootprop_crlfiles, ":crlfiles"); | 1125 | DEFSYM (Qgnutls_bootprop_crlfiles, ":crlfiles"); |
| 1115 | DEFSYM (Qgnutls_bootprop_callbacks, ":callbacks"); | 1126 | DEFSYM (Qgnutls_bootprop_callbacks, ":callbacks"); |
| 1116 | DEFSYM (Qgnutls_bootprop_callbacks_verify, "verify"); | 1127 | DEFSYM (Qgnutls_bootprop_callbacks_verify, "verify"); |
| 1128 | DEFSYM (Qgnutls_bootprop_min_prime_bits, ":min-prime-bits"); | ||
| 1117 | DEFSYM (Qgnutls_bootprop_loglevel, ":loglevel"); | 1129 | DEFSYM (Qgnutls_bootprop_loglevel, ":loglevel"); |
| 1118 | DEFSYM (Qgnutls_bootprop_verify_flags, ":verify-flags"); | 1130 | DEFSYM (Qgnutls_bootprop_verify_flags, ":verify-flags"); |
| 1119 | DEFSYM (Qgnutls_bootprop_verify_hostname_error, ":verify-hostname-error"); | 1131 | DEFSYM (Qgnutls_bootprop_verify_hostname_error, ":verify-hostname-error"); |
| @@ -1142,6 +1154,10 @@ syms_of_gnutls (void) | |||
| 1142 | defsubr (&Sgnutls_deinit); | 1154 | defsubr (&Sgnutls_deinit); |
| 1143 | defsubr (&Sgnutls_bye); | 1155 | defsubr (&Sgnutls_bye); |
| 1144 | defsubr (&Sgnutls_available_p); | 1156 | defsubr (&Sgnutls_available_p); |
| 1157 | |||
| 1158 | DEFVAR_INT ("gnutls-log-level", Vgnutls_log_level, | ||
| 1159 | doc: /* Logging level used by the GnuTLS functions. */); | ||
| 1160 | Vgnutls_log_level = make_number (0); | ||
| 1145 | } | 1161 | } |
| 1146 | 1162 | ||
| 1147 | #endif /* HAVE_GNUTLS */ | 1163 | #endif /* HAVE_GNUTLS */ |
diff --git a/src/lread.c b/src/lread.c index bef1cc8e591..c80ac430671 100644 --- a/src/lread.c +++ b/src/lread.c | |||
| @@ -4491,9 +4491,11 @@ to load. See also `load-dangerous-libraries'. */); | |||
| 4491 | staticpro (&Qlexical_binding); | 4491 | staticpro (&Qlexical_binding); |
| 4492 | DEFVAR_LISP ("lexical-binding", Vlexical_binding, | 4492 | DEFVAR_LISP ("lexical-binding", Vlexical_binding, |
| 4493 | doc: /* If non-nil, use lexical binding when evaluating code. | 4493 | doc: /* If non-nil, use lexical binding when evaluating code. |
| 4494 | This only applies to code evaluated by `eval-buffer' and `eval-region'. | 4494 | This applies to code evaluated by `eval-buffer' and `eval-region' and |
| 4495 | This variable is automatically set from the file variables of an interpreted | 4495 | other commands that call these functions, like `eval-defun' and |
| 4496 | Lisp file read using `load'. */); | 4496 | the like. |
| 4497 | This variable is automatically set from the file variables of an | ||
| 4498 | interpreted Lisp file read using `load'. */); | ||
| 4497 | Fmake_variable_buffer_local (Qlexical_binding); | 4499 | Fmake_variable_buffer_local (Qlexical_binding); |
| 4498 | 4500 | ||
| 4499 | DEFVAR_LISP ("eval-buffer-list", Veval_buffer_list, | 4501 | DEFVAR_LISP ("eval-buffer-list", Veval_buffer_list, |
diff --git a/src/makefile.w32-in b/src/makefile.w32-in index 88b53554925..fd29dec9096 100644 --- a/src/makefile.w32-in +++ b/src/makefile.w32-in | |||
| @@ -221,7 +221,8 @@ GLOBAL_SOURCES = dosfns.c msdos.c \ | |||
| 221 | syntax.c bytecode.c \ | 221 | syntax.c bytecode.c \ |
| 222 | process.c callproc.c unexw32.c \ | 222 | process.c callproc.c unexw32.c \ |
| 223 | region-cache.c sound.c atimer.c \ | 223 | region-cache.c sound.c atimer.c \ |
| 224 | doprnt.c intervals.c textprop.c composite.c | 224 | doprnt.c intervals.c textprop.c composite.c \ |
| 225 | gnutls.c | ||
| 225 | SOME_MACHINE_OBJECTS = dosfns.o msdos.o \ | 226 | SOME_MACHINE_OBJECTS = dosfns.o msdos.o \ |
| 226 | xterm.o xfns.o xmenu.o xselect.o xrdb.o xsmfns.o dbusbind.o | 227 | xterm.o xfns.o xmenu.o xselect.o xrdb.o xsmfns.o dbusbind.o |
| 227 | obj = $(GLOBAL_SOURCES:.c=.o) | 228 | obj = $(GLOBAL_SOURCES:.c=.o) |
diff --git a/src/process.c b/src/process.c index 1a884357b86..236c27e5c3a 100644 --- a/src/process.c +++ b/src/process.c | |||
| @@ -245,7 +245,7 @@ static void create_pty (Lisp_Object); | |||
| 245 | 245 | ||
| 246 | /* If we support a window system, turn on the code to poll periodically | 246 | /* If we support a window system, turn on the code to poll periodically |
| 247 | to detect C-g. It isn't actually used when doing interrupt input. */ | 247 | to detect C-g. It isn't actually used when doing interrupt input. */ |
| 248 | #ifdef HAVE_WINDOW_SYSTEM | 248 | #if defined(HAVE_WINDOW_SYSTEM) && !defined(USE_ASYNC_EVENTS) |
| 249 | #define POLL_FOR_INPUT | 249 | #define POLL_FOR_INPUT |
| 250 | #endif | 250 | #endif |
| 251 | 251 | ||
diff --git a/src/xdisp.c b/src/xdisp.c index 5285d945975..0352867941e 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -7928,7 +7928,14 @@ move_it_in_display_line_to (struct it *it, | |||
| 7928 | || IT_OVERFLOW_NEWLINE_INTO_FRINGE (it)) | 7928 | || IT_OVERFLOW_NEWLINE_INTO_FRINGE (it)) |
| 7929 | { | 7929 | { |
| 7930 | if (!get_next_display_element (it) | 7930 | if (!get_next_display_element (it) |
| 7931 | || BUFFER_POS_REACHED_P ()) | 7931 | || BUFFER_POS_REACHED_P () |
| 7932 | /* If we are past TO_CHARPOS, but never saw any | ||
| 7933 | character positions smaller than TO_CHARPOS, | ||
| 7934 | return MOVE_POS_MATCH_OR_ZV, like the | ||
| 7935 | unidirectional display did. */ | ||
| 7936 | || ((op & MOVE_TO_POS) != 0 | ||
| 7937 | && !saw_smaller_pos | ||
| 7938 | && IT_CHARPOS (*it) > to_charpos)) | ||
| 7932 | { | 7939 | { |
| 7933 | result = MOVE_POS_MATCH_OR_ZV; | 7940 | result = MOVE_POS_MATCH_OR_ZV; |
| 7934 | break; | 7941 | break; |
| @@ -7939,6 +7946,13 @@ move_it_in_display_line_to (struct it *it, | |||
| 7939 | break; | 7946 | break; |
| 7940 | } | 7947 | } |
| 7941 | } | 7948 | } |
| 7949 | else if ((op & MOVE_TO_POS) != 0 | ||
| 7950 | && !saw_smaller_pos | ||
| 7951 | && IT_CHARPOS (*it) > to_charpos) | ||
| 7952 | { | ||
| 7953 | result = MOVE_POS_MATCH_OR_ZV; | ||
| 7954 | break; | ||
| 7955 | } | ||
| 7942 | result = MOVE_LINE_TRUNCATED; | 7956 | result = MOVE_LINE_TRUNCATED; |
| 7943 | break; | 7957 | break; |
| 7944 | } | 7958 | } |