diff options
| author | Paul Eggert | 2011-04-26 10:50:51 -0700 |
|---|---|---|
| committer | Paul Eggert | 2011-04-26 10:50:51 -0700 |
| commit | b5f869a7d838121b17493ad66958309c0d6031e5 (patch) | |
| tree | 6b84bb3fe253d717db02f0b82f65d13e0069cefd /src | |
| parent | 847ab9d19cefe485965a8b6f8b154e065a79b867 (diff) | |
| parent | bd0d2ee23380c98e8d41645b0d45574c83c7a393 (diff) | |
| download | emacs-b5f869a7d838121b17493ad66958309c0d6031e5.tar.gz emacs-b5f869a7d838121b17493ad66958309c0d6031e5.zip | |
Merge from mainline.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 27 | ||||
| -rw-r--r-- | src/eval.c | 2 | ||||
| -rw-r--r-- | src/gnutls.c | 6 | ||||
| -rw-r--r-- | src/keyboard.c | 36 | ||||
| -rw-r--r-- | src/lisp.h | 2 |
5 files changed, 58 insertions, 15 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 912a0ae8674..c6bb161ec84 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,11 +1,6 @@ | |||
| 1 | 2011-04-26 Paul Eggert <eggert@cs.ucla.edu> | 1 | 2011-04-26 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 2 | ||
| 3 | * gnutls.c (emacs_gnutls_handshake): Don't return a garbage value. | 3 | * gnutls.c (emacs_gnutls_handle_error): Remove unused local. |
| 4 | Expect the caller to check whether GNUTLS_STAGE_HANDSHAKE_CANDO <= | ||
| 5 | proc->gnutls_initstage, if the check is needed. The check isn't | ||
| 6 | needed for one caller, Fgnutls_boot. (Bug#8556) | ||
| 7 | (emacs_gnutls_read): Do that check. This is the other caller. | ||
| 8 | (emacs_gnutls_handle_error): Remove unused local. | ||
| 9 | (Fgnutls_boot): gnutls_certificate_verify_peers2 wants unsigned *. | 4 | (Fgnutls_boot): gnutls_certificate_verify_peers2 wants unsigned *. |
| 10 | Remove unused local. | 5 | Remove unused local. |
| 11 | (emacs_gnutls_write): Don't use uninitialized rtnval if nbyte <= 0. | 6 | (emacs_gnutls_write): Don't use uninitialized rtnval if nbyte <= 0. |
| @@ -192,6 +187,24 @@ | |||
| 192 | alignof(EMACS_INT) < sizeof (EMACS_INT). | 187 | alignof(EMACS_INT) < sizeof (EMACS_INT). |
| 193 | (check_sblock, check_string_bytes, check_string_free_list): Protoize. | 188 | (check_sblock, check_string_bytes, check_string_free_list): Protoize. |
| 194 | 189 | ||
| 190 | 2011-04-26 Juanma Barranquero <lekktu@gmail.com> | ||
| 191 | |||
| 192 | * keyboard.c (QCrtl): Rename from Qrtl. All uses changed. | ||
| 193 | |||
| 194 | 2011-04-26 Teodor Zlatanov <tzz@lifelogs.com> | ||
| 195 | |||
| 196 | * gnutls.c (emacs_gnutls_handshake): Return an error if we're not | ||
| 197 | supposed to be handshaking. (Bug#8556) | ||
| 198 | Reported by Paul Eggert <eggert@cs.ucla.edu>. | ||
| 199 | |||
| 200 | 2011-04-26 Daniel Colascione <dan.colascione@gmail.com> | ||
| 201 | |||
| 202 | * lisp.h (Qdebug): List symbol. | ||
| 203 | * eval.c (Qdebug): Restore global linkage. | ||
| 204 | * keyboard.c (debug-on-event): New variable. | ||
| 205 | (handle_user_signal): Break into debugger when debug-on-event | ||
| 206 | matches the current signal symbol. | ||
| 207 | |||
| 195 | 2011-04-25 Dan Nicolaescu <dann@ics.uci.edu> | 208 | 2011-04-25 Dan Nicolaescu <dann@ics.uci.edu> |
| 196 | 209 | ||
| 197 | * alloc.c (check_sblock, check_string_bytes) | 210 | * alloc.c (check_sblock, check_string_bytes) |
| @@ -2710,7 +2723,7 @@ | |||
| 2710 | Call gdk_x11_window_lookup_for_display. | 2723 | Call gdk_x11_window_lookup_for_display. |
| 2711 | (xg_set_widget_bg): New function. | 2724 | (xg_set_widget_bg): New function. |
| 2712 | (delete_cb): New function. | 2725 | (delete_cb): New function. |
| 2713 | (xg_create_frame_widgets): connect delete-event to delete_cb. | 2726 | (xg_create_frame_widgets): Connect delete-event to delete_cb. |
| 2714 | Call xg_set_widget_bg. Only set backgrund pixmap for ! HAVE_GTK3 | 2727 | Call xg_set_widget_bg. Only set backgrund pixmap for ! HAVE_GTK3 |
| 2715 | (xg_set_background_color): Call xg_set_widget_bg. | 2728 | (xg_set_background_color): Call xg_set_widget_bg. |
| 2716 | (xg_set_frame_icon): Call xg_get_pixbuf_from_pix_and_mask. | 2729 | (xg_set_frame_icon): Call xg_get_pixbuf_from_pix_and_mask. |
diff --git a/src/eval.c b/src/eval.c index d1f327021e6..8716ad78468 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -88,7 +88,7 @@ static Lisp_Object Qdebug_on_error; | |||
| 88 | static Lisp_Object Qdeclare; | 88 | static Lisp_Object Qdeclare; |
| 89 | Lisp_Object Qinternal_interpreter_environment, Qclosure; | 89 | Lisp_Object Qinternal_interpreter_environment, Qclosure; |
| 90 | 90 | ||
| 91 | static Lisp_Object Qdebug; | 91 | Lisp_Object Qdebug; |
| 92 | 92 | ||
| 93 | /* This holds either the symbol `run-hooks' or nil. | 93 | /* This holds either the symbol `run-hooks' or nil. |
| 94 | It is nil at an early stage of startup, and when Emacs | 94 | It is nil at an early stage of startup, and when Emacs |
diff --git a/src/gnutls.c b/src/gnutls.c index 1abccbbfbee..16a459bd62f 100644 --- a/src/gnutls.c +++ b/src/gnutls.c | |||
| @@ -73,6 +73,9 @@ emacs_gnutls_handshake (struct Lisp_Process *proc) | |||
| 73 | gnutls_session_t state = proc->gnutls_state; | 73 | gnutls_session_t state = proc->gnutls_state; |
| 74 | int ret; | 74 | int ret; |
| 75 | 75 | ||
| 76 | if (proc->gnutls_initstage < GNUTLS_STAGE_HANDSHAKE_CANDO) | ||
| 77 | return -1; | ||
| 78 | |||
| 76 | if (proc->gnutls_initstage < GNUTLS_STAGE_TRANSPORT_POINTERS_SET) | 79 | if (proc->gnutls_initstage < GNUTLS_STAGE_TRANSPORT_POINTERS_SET) |
| 77 | { | 80 | { |
| 78 | #ifdef WINDOWSNT | 81 | #ifdef WINDOWSNT |
| @@ -176,8 +179,7 @@ emacs_gnutls_read (int fildes, struct Lisp_Process *proc, char *buf, | |||
| 176 | 179 | ||
| 177 | if (proc->gnutls_initstage != GNUTLS_STAGE_READY) | 180 | if (proc->gnutls_initstage != GNUTLS_STAGE_READY) |
| 178 | { | 181 | { |
| 179 | if (GNUTLS_STAGE_HANDSHAKE_CANDO <= proc->gnutls_initstage) | 182 | emacs_gnutls_handshake (proc); |
| 180 | emacs_gnutls_handshake (proc); | ||
| 181 | return -1; | 183 | return -1; |
| 182 | } | 184 | } |
| 183 | rtnval = gnutls_read (state, buf, nbyte); | 185 | rtnval = gnutls_read (state, buf, nbyte); |
diff --git a/src/keyboard.c b/src/keyboard.c index 86b1afc86ab..6236c42e976 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -7228,12 +7228,29 @@ handle_user_signal (int sig) | |||
| 7228 | { | 7228 | { |
| 7229 | int old_errno = errno; | 7229 | int old_errno = errno; |
| 7230 | struct user_signal_info *p; | 7230 | struct user_signal_info *p; |
| 7231 | const char* special_event_name = NULL; | ||
| 7231 | 7232 | ||
| 7232 | SIGNAL_THREAD_CHECK (sig); | 7233 | SIGNAL_THREAD_CHECK (sig); |
| 7233 | 7234 | ||
| 7235 | if (SYMBOLP (Vdebug_on_event)) | ||
| 7236 | special_event_name = SDATA (SYMBOL_NAME (Vdebug_on_event)); | ||
| 7237 | |||
| 7234 | for (p = user_signals; p; p = p->next) | 7238 | for (p = user_signals; p; p = p->next) |
| 7235 | if (p->sig == sig) | 7239 | if (p->sig == sig) |
| 7236 | { | 7240 | { |
| 7241 | if (special_event_name && | ||
| 7242 | strcmp (special_event_name, p->name) == 0) | ||
| 7243 | { | ||
| 7244 | /* Enter the debugger in many ways. */ | ||
| 7245 | debug_on_next_call = 1; | ||
| 7246 | debug_on_quit = 1; | ||
| 7247 | Vquit_flag = Qt; | ||
| 7248 | Vinhibit_quit = Qnil; | ||
| 7249 | |||
| 7250 | /* Eat the event. */ | ||
| 7251 | break; | ||
| 7252 | } | ||
| 7253 | |||
| 7237 | p->npending++; | 7254 | p->npending++; |
| 7238 | #ifdef SIGIO | 7255 | #ifdef SIGIO |
| 7239 | if (interrupt_input) | 7256 | if (interrupt_input) |
| @@ -7906,7 +7923,7 @@ static int ntool_bar_items; | |||
| 7906 | /* The symbols `:image' and `:rtl'. */ | 7923 | /* The symbols `:image' and `:rtl'. */ |
| 7907 | 7924 | ||
| 7908 | static Lisp_Object QCimage; | 7925 | static Lisp_Object QCimage; |
| 7909 | static Lisp_Object Qrtl; | 7926 | static Lisp_Object QCrtl; |
| 7910 | 7927 | ||
| 7911 | /* Function prototypes. */ | 7928 | /* Function prototypes. */ |
| 7912 | 7929 | ||
| @@ -8223,7 +8240,7 @@ parse_tool_bar_item (Lisp_Object key, Lisp_Object item) | |||
| 8223 | /* Value is either a single image specification or a vector | 8240 | /* Value is either a single image specification or a vector |
| 8224 | of 4 such specifications for the different button states. */ | 8241 | of 4 such specifications for the different button states. */ |
| 8225 | PROP (TOOL_BAR_ITEM_IMAGES) = value; | 8242 | PROP (TOOL_BAR_ITEM_IMAGES) = value; |
| 8226 | else if (EQ (ikey, Qrtl)) | 8243 | else if (EQ (ikey, QCrtl)) |
| 8227 | /* ':rtl STRING' */ | 8244 | /* ':rtl STRING' */ |
| 8228 | PROP (TOOL_BAR_ITEM_RTL_IMAGE) = value; | 8245 | PROP (TOOL_BAR_ITEM_RTL_IMAGE) = value; |
| 8229 | } | 8246 | } |
| @@ -11458,7 +11475,7 @@ syms_of_keyboard (void) | |||
| 11458 | /* Tool-bars. */ | 11475 | /* Tool-bars. */ |
| 11459 | DEFSYM (QCimage, ":image"); | 11476 | DEFSYM (QCimage, ":image"); |
| 11460 | DEFSYM (Qhelp_echo, "help-echo"); | 11477 | DEFSYM (Qhelp_echo, "help-echo"); |
| 11461 | DEFSYM (Qrtl, ":rtl"); | 11478 | DEFSYM (QCrtl, ":rtl"); |
| 11462 | 11479 | ||
| 11463 | staticpro (&item_properties); | 11480 | staticpro (&item_properties); |
| 11464 | item_properties = Qnil; | 11481 | item_properties = Qnil; |
| @@ -12165,6 +12182,17 @@ text in the region before modifying the buffer. The next | |||
| 12165 | `deactivate-mark' call uses this to set the window selection. */); | 12182 | `deactivate-mark' call uses this to set the window selection. */); |
| 12166 | Vsaved_region_selection = Qnil; | 12183 | Vsaved_region_selection = Qnil; |
| 12167 | 12184 | ||
| 12185 | DEFVAR_LISP ("debug-on-event", | ||
| 12186 | Vdebug_on_event, | ||
| 12187 | doc: /* Enter debugger on this event. When Emacs | ||
| 12188 | receives the special event specifed by this variable, it will try to | ||
| 12189 | break into the debugger as soon as possible instead of processing the | ||
| 12190 | event normally through `special-event-map'. | ||
| 12191 | |||
| 12192 | Currently, the only supported values for this | ||
| 12193 | variable are `sigusr1' and `sigusr2'. */); | ||
| 12194 | Vdebug_on_event = intern_c_string ("sigusr2"); | ||
| 12195 | |||
| 12168 | /* Create the initial keyboard. */ | 12196 | /* Create the initial keyboard. */ |
| 12169 | initial_kboard = (KBOARD *) xmalloc (sizeof (KBOARD)); | 12197 | initial_kboard = (KBOARD *) xmalloc (sizeof (KBOARD)); |
| 12170 | init_kboard (initial_kboard); | 12198 | init_kboard (initial_kboard); |
diff --git a/src/lisp.h b/src/lisp.h index 4b7973939ef..65b783f7b46 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -2818,7 +2818,7 @@ extern void syms_of_lread (void); | |||
| 2818 | 2818 | ||
| 2819 | /* Defined in eval.c. */ | 2819 | /* Defined in eval.c. */ |
| 2820 | extern Lisp_Object Qautoload, Qexit, Qinteractive, Qcommandp, Qdefun, Qmacro; | 2820 | extern Lisp_Object Qautoload, Qexit, Qinteractive, Qcommandp, Qdefun, Qmacro; |
| 2821 | extern Lisp_Object Qinhibit_quit, Qclosure; | 2821 | extern Lisp_Object Qinhibit_quit, Qclosure, Qdebug; |
| 2822 | extern Lisp_Object Qand_rest; | 2822 | extern Lisp_Object Qand_rest; |
| 2823 | extern Lisp_Object Vautoload_queue; | 2823 | extern Lisp_Object Vautoload_queue; |
| 2824 | extern Lisp_Object Vsignaling_function; | 2824 | extern Lisp_Object Vsignaling_function; |