aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorStefan Monnier2011-12-04 10:46:07 -0500
committerStefan Monnier2011-12-04 10:46:07 -0500
commit6d5eb5b0d2e50b0dd153a988cc52492cb77fc333 (patch)
treea2dbd96b6b9a3cd154a98bb0b1981203cd5e1e5b /src
parenta0c3fad023c0b5812db38d2f1bd41998d7c001b1 (diff)
downloademacs-6d5eb5b0d2e50b0dd153a988cc52492cb77fc333.tar.gz
emacs-6d5eb5b0d2e50b0dd153a988cc52492cb77fc333.zip
Don't macro-inline non-performance-critical code.
* src/eval.c (process_quit_flag): New function. * src/lisp.h (QUIT): Use it.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog30
-rw-r--r--src/coding.c2
-rw-r--r--src/coding.h2
-rw-r--r--src/eval.c12
-rw-r--r--src/lisp.h11
5 files changed, 34 insertions, 23 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index a707eaae9eb..98f0d46b4c5 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
12011-12-04 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 Don't macro-inline non-performance-critical code.
4 * eval.c (process_quit_flag): New function.
5 * lisp.h (QUIT): Use it.
6
12011-12-04 Jan Djärv <jan.h.d@swipnet.se> 72011-12-04 Jan Djärv <jan.h.d@swipnet.se>
2 8
3 * nsfns.m (get_geometry_from_preferences): New function. 9 * nsfns.m (get_geometry_from_preferences): New function.
@@ -9,8 +15,8 @@
9 (syms_of_emacs): Initialize it. 15 (syms_of_emacs): Initialize it.
10 * keyboard.c (interrupt_signal): Don't call Fkill_emacs here, set 16 * keyboard.c (interrupt_signal): Don't call Fkill_emacs here, set
11 Qquit_flag to `kill-emacs' instead. 17 Qquit_flag to `kill-emacs' instead.
12 (quit_throw_to_read_char): Add parameter `from_signal'. All 18 (quit_throw_to_read_char): Add parameter `from_signal'.
13 callers changed. Call Fkill_emacs if requested and safe. 19 All callers changed. Call Fkill_emacs if requested and safe.
14 * lisp.h (QUIT): Call Fkill_emacs if requested. 20 * lisp.h (QUIT): Call Fkill_emacs if requested.
15 21
162011-12-03 Jan Djärv <jan.h.d@swipnet.se> 222011-12-03 Jan Djärv <jan.h.d@swipnet.se>
@@ -110,8 +116,8 @@
110 116
1112011-11-27 Jan Djärv <jan.h.d@swipnet.se> 1172011-11-27 Jan Djärv <jan.h.d@swipnet.se>
112 118
113 * gtkutil.c (xg_create_frame_widgets): Call 119 * gtkutil.c (xg_create_frame_widgets):
114 gtk_window_set_has_resize_grip (FALSE) if that function is 120 Call gtk_window_set_has_resize_grip (FALSE) if that function is
115 present with Gtk+ 2.0. 121 present with Gtk+ 2.0.
116 122
1172011-11-26 Paul Eggert <eggert@cs.ucla.edu> 1232011-11-26 Paul Eggert <eggert@cs.ucla.edu>
@@ -318,8 +324,8 @@
318 * xdisp.c (display_line): Move the call to 324 * xdisp.c (display_line): Move the call to
319 highlight_trailing_whitespace before the call to 325 highlight_trailing_whitespace before the call to
320 compute_line_metrics, since the latter needs to see the final 326 compute_line_metrics, since the latter needs to see the final
321 faces of all the glyphs to compute ROW's hash value. Fixes 327 faces of all the glyphs to compute ROW's hash value.
322 assertion violations in row_equal_p. (Bug#10035) 328 Fixes assertion violations in row_equal_p. (Bug#10035)
323 329
3242011-11-14 Juanma Barranquero <lekktu@gmail.com> 3302011-11-14 Juanma Barranquero <lekktu@gmail.com>
325 331
@@ -403,8 +409,8 @@
4032011-11-08 Chong Yidong <cyd@gnu.org> 4092011-11-08 Chong Yidong <cyd@gnu.org>
404 410
405 * window.c (Fwindow_left_column, Fwindow_top_line): Doc fix. 411 * window.c (Fwindow_left_column, Fwindow_top_line): Doc fix.
406 (Fwindow_body_height, Fwindow_body_width): Move from Lisp. Signal 412 (Fwindow_body_height, Fwindow_body_width): Move from Lisp.
407 an error if not a live window. 413 Signal an error if not a live window.
408 (Fwindow_total_width, Fwindow_total_height): Move from Lisp. 414 (Fwindow_total_width, Fwindow_total_height): Move from Lisp.
409 (Fwindow_total_size, Fwindow_body_size): Move to Lisp. 415 (Fwindow_total_size, Fwindow_body_size): Move to Lisp.
410 416
@@ -536,8 +542,8 @@
536 (x_destroy_window): Move code to x_free_frame_resources. 542 (x_destroy_window): Move code to x_free_frame_resources.
537 543
538 * xfns.c (unwind_create_frame): Fix comment. 544 * xfns.c (unwind_create_frame): Fix comment.
539 (Fx_create_frame, x_create_tip_frame): Move 545 (Fx_create_frame, x_create_tip_frame):
540 terminal->reference_count++ just before making the frame 546 Move terminal->reference_count++ just before making the frame
541 official. Move initialization of image_cache_refcount and 547 official. Move initialization of image_cache_refcount and
542 dpyinfo_refcount before calling init_frame_faces (Bug#9943). 548 dpyinfo_refcount before calling init_frame_faces (Bug#9943).
543 549
@@ -607,8 +613,8 @@
607 * xdisp.c (mouse_face_from_buffer_pos): Fix a typo in a comment. 613 * xdisp.c (mouse_face_from_buffer_pos): Fix a typo in a comment.
608 Don't stop backward scan on the continuation glyph, even though 614 Don't stop backward scan on the continuation glyph, even though
609 its CHARPOS is positive. 615 its CHARPOS is positive.
610 (mouse_face_from_buffer_pos, note_mouse_highlight): Rename 616 (mouse_face_from_buffer_pos, note_mouse_highlight):
611 cover_string to disp_string. 617 Rename cover_string to disp_string.
612 618
6132011-11-01 Martin Rudalics <rudalics@gmx.at> 6192011-11-01 Martin Rudalics <rudalics@gmx.at>
614 620
diff --git a/src/coding.c b/src/coding.c
index 79908e9b29b..f3506da7358 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -9208,7 +9208,7 @@ frame's terminal device. */)
9208 = TERMINAL_TERMINAL_CODING (get_terminal (terminal, 1)); 9208 = TERMINAL_TERMINAL_CODING (get_terminal (terminal, 1));
9209 Lisp_Object coding_system = CODING_ID_NAME (terminal_coding->id); 9209 Lisp_Object coding_system = CODING_ID_NAME (terminal_coding->id);
9210 9210
9211 /* For backward compatibility, return nil if it is `undecided'. */ 9211 /* For backward compatibility, return nil if it is `undecided'. */
9212 return (! EQ (coding_system, Qundecided) ? coding_system : Qnil); 9212 return (! EQ (coding_system, Qundecided) ? coding_system : Qnil);
9213} 9213}
9214 9214
diff --git a/src/coding.h b/src/coding.h
index 2621928adc3..b694e6c6b6e 100644
--- a/src/coding.h
+++ b/src/coding.h
@@ -457,7 +457,7 @@ struct coding_system
457 /* Number of error source data found in a decoding routine. */ 457 /* Number of error source data found in a decoding routine. */
458 int errors; 458 int errors;
459 459
460 /* Store the positions of error source data. */ 460 /* Store the positions of error source data. */
461 EMACS_INT *error_positions; 461 EMACS_INT *error_positions;
462 462
463 /* Finish status of code conversion. */ 463 /* Finish status of code conversion. */
diff --git a/src/eval.c b/src/eval.c
index 9b9beabc7c1..079c7ecb6c2 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -1629,6 +1629,18 @@ static Lisp_Object find_handler_clause (Lisp_Object, Lisp_Object);
1629static int maybe_call_debugger (Lisp_Object conditions, Lisp_Object sig, 1629static int maybe_call_debugger (Lisp_Object conditions, Lisp_Object sig,
1630 Lisp_Object data); 1630 Lisp_Object data);
1631 1631
1632void
1633process_quit_flag (void)
1634{
1635 Lisp_Object flag = Vquit_flag;
1636 Vquit_flag = Qnil;
1637 if (EQ (flag, Qkill_emacs))
1638 Fkill_emacs (Qnil);
1639 if (EQ (Vthrow_on_input, flag))
1640 Fthrow (Vthrow_on_input, Qt);
1641 Fsignal (Qquit, Qnil);
1642}
1643
1632DEFUN ("signal", Fsignal, Ssignal, 2, 2, 0, 1644DEFUN ("signal", Fsignal, Ssignal, 2, 2, 0,
1633 doc: /* Signal an error. Args are ERROR-SYMBOL and associated DATA. 1645 doc: /* Signal an error. Args are ERROR-SYMBOL and associated DATA.
1634This function does not return. 1646This function does not return.
diff --git a/src/lisp.h b/src/lisp.h
index 969923b7cfb..f43533e0b6e 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -2143,18 +2143,11 @@ extern int pending_signals;
2143#define ELSE_PENDING_SIGNALS 2143#define ELSE_PENDING_SIGNALS
2144#endif /* not SYNC_INPUT */ 2144#endif /* not SYNC_INPUT */
2145 2145
2146extern void handle_quit_flag (void);
2146#define QUIT \ 2147#define QUIT \
2147 do { \ 2148 do { \
2148 if (!NILP (Vquit_flag) && NILP (Vinhibit_quit)) \ 2149 if (!NILP (Vquit_flag) && NILP (Vinhibit_quit)) \
2149 { \ 2150 process_quit_flag (); \
2150 Lisp_Object flag = Vquit_flag; \
2151 Vquit_flag = Qnil; \
2152 if (EQ (flag, Qkill_emacs)) \
2153 Fkill_emacs (Qnil); \
2154 if (EQ (Vthrow_on_input, flag)) \
2155 Fthrow (Vthrow_on_input, Qt); \
2156 Fsignal (Qquit, Qnil); \
2157 } \
2158 ELSE_PENDING_SIGNALS \ 2151 ELSE_PENDING_SIGNALS \
2159 } while (0) 2152 } while (0)
2160 2153