aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorStefan Monnier2015-02-08 08:51:10 -0500
committerStefan Monnier2015-02-08 08:51:10 -0500
commit60f8214e97042bb1c4e7beb9da8df76cd4c124f7 (patch)
tree9b562436a3da048e7423ac51abf1e12b1875781c /src
parentdcec731abfc110f719f0890fd0769e099393af7d (diff)
downloademacs-60f8214e97042bb1c4e7beb9da8df76cd4c124f7.tar.gz
emacs-60f8214e97042bb1c4e7beb9da8df76cd4c124f7.zip
* src/data.c (Findirect_function): Don't signal an error
* src/data.c (Findirect_function): Like `symbol-function', don't signal an error for void functions any more. * lisp/subr.el (indirect-function): Change advertised calling convention.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog54
-rw-r--r--src/data.c5
2 files changed, 29 insertions, 30 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index ec70cdb93a9..f544f197a9b 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,19 +1,24 @@
12015-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * data.c (Findirect_function): Like `symbol-function', don't signal an
4 error for void functions any more.
5
12015-02-07 Martin Rudalics <rudalics@gmx.at> 62015-02-07 Martin Rudalics <rudalics@gmx.at>
2 7
3 * frame.c (frame_size_history_add): New function. 8 * frame.c (frame_size_history_add): New function.
4 (frame_inhibit_resize): Consider frame_inhibit_implied_resize 9 (frame_inhibit_resize): Consider frame_inhibit_implied_resize
5 only after frame's after_make_frame slot is true. Inhibit 10 only after frame's after_make_frame slot is true.
6 resizing fullwidth-/height frames in one direction only. Update 11 Inhibit resizing fullwidth-/height frames in one direction only.
7 frame_size_history. 12 Update frame_size_history.
8 (adjust_frame_size): Call frame_size_history_add. 13 (adjust_frame_size): Call frame_size_history_add.
9 (make_frame): Initalize after_make_frame slot. 14 (make_frame): Initalize after_make_frame slot.
10 (Fmake_terminal_frame): Adjust adjust_frame_size call. 15 (Fmake_terminal_frame): Adjust adjust_frame_size call.
11 (Fcan_run_window_configuration_change_hook): Rename to 16 (Fcan_run_window_configuration_change_hook): Rename to
12 Fframe_after_make_frame. Set after_make_frame slot. Return 17 Fframe_after_make_frame. Set after_make_frame slot.
13 second argument. 18 Return second argument.
14 (x_set_frame_parameters): Postpone handling fullscreen parameter 19 (x_set_frame_parameters): Postpone handling fullscreen parameter
15 until after width and height parameters have been set. Apply 20 until after width and height parameters have been set.
16 width and height changes only if can_x_set_window_size is true. 21 Apply width and height changes only if can_x_set_window_size is true.
17 Update frame_size_history. 22 Update frame_size_history.
18 (Qadjust_frame_size_1, Qadjust_frame_size_2) 23 (Qadjust_frame_size_1, Qadjust_frame_size_2)
19 (Qadjust_frame_size_3, QEmacsFrameResize, Qframe_inhibit_resize) 24 (Qadjust_frame_size_3, QEmacsFrameResize, Qframe_inhibit_resize)
@@ -22,12 +27,11 @@
22 (Qxg_frame_set_char_size_2, Qxg_frame_set_char_size_3) 27 (Qxg_frame_set_char_size_2, Qxg_frame_set_char_size_3)
23 (Qxg_change_toolbar_position, Qx_net_wm_state) 28 (Qxg_change_toolbar_position, Qx_net_wm_state)
24 (Qx_handle_net_wm_state, Qtb_size_cb, Qupdate_frame_tool_bar) 29 (Qx_handle_net_wm_state, Qtb_size_cb, Qupdate_frame_tool_bar)
25 (Qfree_frame_tool_bar): New symbol for updating 30 (Qfree_frame_tool_bar): New symbol for updating frame_size_history.
26 frame_size_history.
27 (Qtip_frame, Qterminal_frame): New symbols. 31 (Qtip_frame, Qterminal_frame): New symbols.
28 (Vframe_adjust_size_history): Rename to frame_size_history. 32 (Vframe_adjust_size_history): Rename to frame_size_history.
29 * frame.h (struct frame): Rename 33 * frame.h (struct frame):
30 can_run_window_configuration_change_hook slot to 34 Rename can_run_window_configuration_change_hook slot to
31 after_make_frame. 35 after_make_frame.
32 (frame_size_history_add): Extern. 36 (frame_size_history_add): Extern.
33 * gtkutil.c (xg_frame_resized): Call frame_size_history_add. 37 * gtkutil.c (xg_frame_resized): Call frame_size_history_add.
@@ -52,21 +56,21 @@
52 (x_set_window_size): Try to handle fullwidth and fullheight more 56 (x_set_window_size): Try to handle fullwidth and fullheight more
53 accurately. Don't rely on w32_enable_frame_resize_hack. 57 accurately. Don't rely on w32_enable_frame_resize_hack.
54 (w32_enable_frame_resize_hack): Remove variable. 58 (w32_enable_frame_resize_hack): Remove variable.
55 * widget.c (EmacsFrameResize): Remove dead code. Call 59 * widget.c (EmacsFrameResize): Remove dead code.
56 frame_size_history_add 60 Call frame_size_history_add
57 * window.c (run_window_configuration_change_hook): Check 61 * window.c (run_window_configuration_change_hook):
58 f->after_make_frame instead of 62 Check f->after_make_frame instead of
59 f->can_run_window_configuration_change_hook. 63 f->can_run_window_configuration_change_hook.
60 * xfns.c (x_change_tool_bar_height): Handle frame's fullscreen status. 64 * xfns.c (x_change_tool_bar_height): Handle frame's fullscreen status.
61 (Fx_create_frame): Process fullscreen parameter after frame has 65 (Fx_create_frame): Process fullscreen parameter after frame has
62 been resized. 66 been resized.
63 (Fx_frame_geometry): Don't pollute pure storage. 67 (Fx_frame_geometry): Don't pollute pure storage.
64 * xterm.c (x_net_wm_state, x_handle_net_wm_state): Call 68 * xterm.c (x_net_wm_state, x_handle_net_wm_state):
65 frame_size_history_add. 69 Call frame_size_history_add.
66 (do_ewmh_fullscreen): Handle x_frame_normalize_before_maximize. 70 (do_ewmh_fullscreen): Handle x_frame_normalize_before_maximize.
67 (x_check_fullscreen): Count in menubar when calling 71 (x_check_fullscreen): Count in menubar when calling
68 XResizeWindow. Wait for ConfigureNotify event. Call 72 XResizeWindow. Wait for ConfigureNotify event.
69 frame_size_history_add. 73 Call frame_size_history_add.
70 (x_set_window_size_1): Remove PIXELWISE argument. Try to handle 74 (x_set_window_size_1): Remove PIXELWISE argument. Try to handle
71 changing a fullheight frame's width or a fullwidth frame's 75 changing a fullheight frame's width or a fullwidth frame's
72 height. Call frame_size_history_add. 76 height. Call frame_size_history_add.
@@ -319,8 +323,8 @@
319 (x_horizontal_scroll_bar_report_motion, w32_read_socket) 323 (x_horizontal_scroll_bar_report_motion, w32_read_socket)
320 (w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar) 324 (w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar)
321 (w32_draw_window_cursor, x_new_font, x_set_offset) 325 (w32_draw_window_cursor, x_new_font, x_set_offset)
322 (x_set_window_size, x_make_frame_invisible, x_iconify_frame): Use 326 (x_set_window_size, x_make_frame_invisible, x_iconify_frame):
323 bool where appropriate. 327 Use bool where appropriate.
324 328
325 Use bool for boolean in w32fns.c 329 Use bool for boolean in w32fns.c
326 * w32fns.c (w32_defined_color, x_decode_color) 330 * w32fns.c (w32_defined_color, x_decode_color)
@@ -789,8 +793,8 @@
789 Qx_create_frame_2 to adjust_frame_size. 793 Qx_create_frame_2 to adjust_frame_size.
790 * w32menu.c (set_frame_menubar): Simplify adjust_frame_size 794 * w32menu.c (set_frame_menubar): Simplify adjust_frame_size
791 call. 795 call.
792 * window.c (Fset_window_configuration): Pass 796 * window.c (Fset_window_configuration):
793 Qset_window_configuration to adjust_frame_size. 797 Pass Qset_window_configuration to adjust_frame_size.
794 * xdisp.c (redisplay_tool_bar): Assign new height to 798 * xdisp.c (redisplay_tool_bar): Assign new height to
795 frame_default_tool_bar_height. 799 frame_default_tool_bar_height.
796 (redisplay_internal): If we haven't redisplayed this frame's 800 (redisplay_internal): If we haven't redisplayed this frame's
@@ -858,8 +862,8 @@
858 862
859 * w32fns.c (Fw32_register_hot_key): Use XINT instead of XLI. 863 * w32fns.c (Fw32_register_hot_key): Use XINT instead of XLI.
860 864
861 * w32notify.c (Fw32notify_add_watch, w32_get_watch_object): Use 865 * w32notify.c (Fw32notify_add_watch, w32_get_watch_object):
862 make_pointer_integer instead of XIL. 866 Use make_pointer_integer instead of XIL.
863 (Fw32notify_rm_watch): Use XINTPTR instead of XLI. 867 (Fw32notify_rm_watch): Use XINTPTR instead of XLI.
864 868
865 * w32inevt.c (handle_file_notifications): Use make_pointer_integer 869 * w32inevt.c (handle_file_notifications): Use make_pointer_integer
diff --git a/src/data.c b/src/data.c
index d06b9916b3a..47706584f5e 100644
--- a/src/data.c
+++ b/src/data.c
@@ -2125,8 +2125,6 @@ DEFUN ("indirect-function", Findirect_function, Sindirect_function, 1, 2, 0,
2125 doc: /* Return the function at the end of OBJECT's function chain. 2125 doc: /* Return the function at the end of OBJECT's function chain.
2126If OBJECT is not a symbol, just return it. Otherwise, follow all 2126If OBJECT is not a symbol, just return it. Otherwise, follow all
2127function indirections to find the final function binding and return it. 2127function indirections to find the final function binding and return it.
2128If the final symbol in the chain is unbound, signal a void-function error.
2129Optional arg NOERROR non-nil means to return nil instead of signaling.
2130Signal a cyclic-function-indirection error if there is a loop in the 2128Signal a cyclic-function-indirection error if there is a loop in the
2131function chain of symbols. */) 2129function chain of symbols. */)
2132 (register Lisp_Object object, Lisp_Object noerror) 2130 (register Lisp_Object object, Lisp_Object noerror)
@@ -2141,9 +2139,6 @@ function chain of symbols. */)
2141 if (!NILP (result)) 2139 if (!NILP (result))
2142 return result; 2140 return result;
2143 2141
2144 if (NILP (noerror))
2145 xsignal1 (Qvoid_function, object);
2146
2147 return Qnil; 2142 return Qnil;
2148} 2143}
2149 2144