<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emacs/src/ChangeLog, branch xwidget</title>
<subtitle>Emacs is the extensible, customizable, self-documenting real-time display editor. 
</subtitle>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/'/>
<entry>
<title>Minor tweaks to frame_size_history_add</title>
<updated>2015-02-08T18:52:37+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2015-02-08T18:52:05+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=61320cc95ca14ec282bb73307e9006fb1d6e7e80'/>
<id>61320cc95ca14ec282bb73307e9006fb1d6e7e80</id>
<content type='text'>
* frame.c (frame_size_history_add): Don't assume length fits in 'int'.
Prefer XCAR and XCDR to Fcar and Fcdr when the arg is a cons.
(Fframe_after_make_frame): Simplify.
* gtkutil.c: Remove commented-out code.
* xfns.c (Fx_create_frame): Fix indenting.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* frame.c (frame_size_history_add): Don't assume length fits in 'int'.
Prefer XCAR and XCDR to Fcar and Fcdr when the arg is a cons.
(Fframe_after_make_frame): Simplify.
* gtkutil.c: Remove commented-out code.
* xfns.c (Fx_create_frame): Fix indenting.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix a thinko in frame-parameter  (Bug#19802)</title>
<updated>2015-02-08T17:54:59+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2015-02-08T17:54:59+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=dd2aa937d68390755d0b042a81560211aa138406'/>
<id>dd2aa937d68390755d0b042a81560211aa138406</id>
<content type='text'>
 src/frame.c (Fframe_parameter): Don't replace a non-nil value of
 foreground-color or background-color parameters with a nil value.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 src/frame.c (Fframe_parameter): Don't replace a non-nil value of
 foreground-color or background-color parameters with a nil value.
</pre>
</div>
</content>
</entry>
<entry>
<title>* src/data.c (Findirect_function): Don't signal an error</title>
<updated>2015-02-08T13:51:10+00:00</updated>
<author>
<name>Stefan Monnier</name>
</author>
<published>2015-02-08T13:51:10+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=60f8214e97042bb1c4e7beb9da8df76cd4c124f7'/>
<id>60f8214e97042bb1c4e7beb9da8df76cd4c124f7</id>
<content type='text'>
* 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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Try to improve handling of fullwidth/-height frames.</title>
<updated>2015-02-07T10:51:03+00:00</updated>
<author>
<name>Martin Rudalics</name>
</author>
<published>2015-02-07T10:51:03+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=d1655783194f7b84ccac7114a2c341f10bc438b0'/>
<id>d1655783194f7b84ccac7114a2c341f10bc438b0</id>
<content type='text'>
* frame.el (frame-notice-user-settings): Update
`frame-size-history'.
(make-frame): Update `frame-size-history'.  Call
`frame-after-make-frame'.
* faces.el (face-set-after-frame-default): Remove call to
frame-can-run-window-configuration-change-hook.
* frame.c (frame_size_history_add): New function.
(frame_inhibit_resize): Consider frame_inhibit_implied_resize
only after frame's after_make_frame slot is true.  Inhibit
resizing fullwidth-/height frames in one direction only.  Update
frame_size_history.
(adjust_frame_size): Call frame_size_history_add.
(make_frame): Initalize after_make_frame slot.
(Fmake_terminal_frame): Adjust adjust_frame_size call.
(Fcan_run_window_configuration_change_hook): Rename to
Fframe_after_make_frame.  Set after_make_frame slot.  Return
second argument.
(x_set_frame_parameters): Postpone handling fullscreen parameter
until after width and height parameters have been set.  Apply
width and height changes only if can_x_set_window_size is true.
Update frame_size_history.
(Qadjust_frame_size_1, Qadjust_frame_size_2)
(Qadjust_frame_size_3, QEmacsFrameResize, Qframe_inhibit_resize)
(Qx_set_fullscreen, Qx_check_fullscreen, Qx_set_window_size_1)
(Qxg_frame_resized, Qxg_frame_set_char_size_1)
(Qxg_frame_set_char_size_2, Qxg_frame_set_char_size_3)
(Qxg_change_toolbar_position, Qx_net_wm_state)
(Qx_handle_net_wm_state, Qtb_size_cb, Qupdate_frame_tool_bar)
(Qfree_frame_tool_bar): New symbol for updating
frame_size_history.
(Qtip_frame, Qterminal_frame): New symbols.
(Vframe_adjust_size_history): Rename to frame_size_history.
* frame.h (struct frame): Rename
can_run_window_configuration_change_hook slot to
after_make_frame.
(frame_size_history_add): Extern.
* gtkutil.c (xg_frame_resized): Call frame_size_history_add.
Don't set FRAME_PIXEL_WIDTH and FRAME_PIXEL_HEIGHT here.
(xg_frame_set_char_size): Try to preserve the status of
fullwidth/-height frames.  Call frame_size_history_add.
(tb_size_cb, update_frame_tool_bar, free_frame_tool_bar)
(xg_change_toolbar_position): Call frame_size_history_add.
* w32fns.c (x_change_tool_bar_height): Handle frame's fullscreen
status.
(Fx_create_frame): Process fullscreen parameter after frame has
been resized.
(x_create_tip_frame): Pass Qtip_frame to adjust_frame_size.
(Fx_frame_geometry): Don't pollute pure storage.
* w32term.c (w32_read_socket): For WM_WINDOWPOSCHANGED,
WM_ACTIVATE and WM_ACTIVATEAPP set frame's visibility before
calling w32fullscreen_hook.  For WM_DISPLAYCHANGE call
w32fullscreen_hook immediately.
(x_fullscreen_adjust, x_check_fullscreen): Remove.
(w32fullscreen_hook): Call change_frame_size just as with a
"normal" frame resize operation.  Call do_pending_window_change.
(x_set_window_size): Try to handle fullwidth and fullheight more
accurately.  Don't rely on w32_enable_frame_resize_hack.
(w32_enable_frame_resize_hack): Remove variable.
* widget.c (EmacsFrameResize): Remove dead code.  Call
frame_size_history_add
* window.c (run_window_configuration_change_hook): Check
f-&gt;after_make_frame instead of
f-&gt;can_run_window_configuration_change_hook.
* xfns.c (x_change_tool_bar_height): Handle frame's fullscreen status.
(Fx_create_frame): Process fullscreen parameter after frame has
been resized.
(Fx_frame_geometry): Don't pollute pure storage.
* xterm.c (x_net_wm_state, x_handle_net_wm_state): Call
frame_size_history_add.
(do_ewmh_fullscreen): Handle x_frame_normalize_before_maximize.
(x_check_fullscreen): Count in menubar when calling
XResizeWindow.  Wait for ConfigureNotify event.  Call
frame_size_history_add.
(x_set_window_size_1): Remove PIXELWISE argument.  Try to handle
changing a fullheight frame's width or a fullwidth frame's
height.  Call frame_size_history_add.
(x_set_window_size): Simplify xg_frame_set_char_size and
x_set_window_size_1 calls.
(x_frame_normalize_before_maximize): New variable.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* frame.el (frame-notice-user-settings): Update
`frame-size-history'.
(make-frame): Update `frame-size-history'.  Call
`frame-after-make-frame'.
* faces.el (face-set-after-frame-default): Remove call to
frame-can-run-window-configuration-change-hook.
* frame.c (frame_size_history_add): New function.
(frame_inhibit_resize): Consider frame_inhibit_implied_resize
only after frame's after_make_frame slot is true.  Inhibit
resizing fullwidth-/height frames in one direction only.  Update
frame_size_history.
(adjust_frame_size): Call frame_size_history_add.
(make_frame): Initalize after_make_frame slot.
(Fmake_terminal_frame): Adjust adjust_frame_size call.
(Fcan_run_window_configuration_change_hook): Rename to
Fframe_after_make_frame.  Set after_make_frame slot.  Return
second argument.
(x_set_frame_parameters): Postpone handling fullscreen parameter
until after width and height parameters have been set.  Apply
width and height changes only if can_x_set_window_size is true.
Update frame_size_history.
(Qadjust_frame_size_1, Qadjust_frame_size_2)
(Qadjust_frame_size_3, QEmacsFrameResize, Qframe_inhibit_resize)
(Qx_set_fullscreen, Qx_check_fullscreen, Qx_set_window_size_1)
(Qxg_frame_resized, Qxg_frame_set_char_size_1)
(Qxg_frame_set_char_size_2, Qxg_frame_set_char_size_3)
(Qxg_change_toolbar_position, Qx_net_wm_state)
(Qx_handle_net_wm_state, Qtb_size_cb, Qupdate_frame_tool_bar)
(Qfree_frame_tool_bar): New symbol for updating
frame_size_history.
(Qtip_frame, Qterminal_frame): New symbols.
(Vframe_adjust_size_history): Rename to frame_size_history.
* frame.h (struct frame): Rename
can_run_window_configuration_change_hook slot to
after_make_frame.
(frame_size_history_add): Extern.
* gtkutil.c (xg_frame_resized): Call frame_size_history_add.
Don't set FRAME_PIXEL_WIDTH and FRAME_PIXEL_HEIGHT here.
(xg_frame_set_char_size): Try to preserve the status of
fullwidth/-height frames.  Call frame_size_history_add.
(tb_size_cb, update_frame_tool_bar, free_frame_tool_bar)
(xg_change_toolbar_position): Call frame_size_history_add.
* w32fns.c (x_change_tool_bar_height): Handle frame's fullscreen
status.
(Fx_create_frame): Process fullscreen parameter after frame has
been resized.
(x_create_tip_frame): Pass Qtip_frame to adjust_frame_size.
(Fx_frame_geometry): Don't pollute pure storage.
* w32term.c (w32_read_socket): For WM_WINDOWPOSCHANGED,
WM_ACTIVATE and WM_ACTIVATEAPP set frame's visibility before
calling w32fullscreen_hook.  For WM_DISPLAYCHANGE call
w32fullscreen_hook immediately.
(x_fullscreen_adjust, x_check_fullscreen): Remove.
(w32fullscreen_hook): Call change_frame_size just as with a
"normal" frame resize operation.  Call do_pending_window_change.
(x_set_window_size): Try to handle fullwidth and fullheight more
accurately.  Don't rely on w32_enable_frame_resize_hack.
(w32_enable_frame_resize_hack): Remove variable.
* widget.c (EmacsFrameResize): Remove dead code.  Call
frame_size_history_add
* window.c (run_window_configuration_change_hook): Check
f-&gt;after_make_frame instead of
f-&gt;can_run_window_configuration_change_hook.
* xfns.c (x_change_tool_bar_height): Handle frame's fullscreen status.
(Fx_create_frame): Process fullscreen parameter after frame has
been resized.
(Fx_frame_geometry): Don't pollute pure storage.
* xterm.c (x_net_wm_state, x_handle_net_wm_state): Call
frame_size_history_add.
(do_ewmh_fullscreen): Handle x_frame_normalize_before_maximize.
(x_check_fullscreen): Count in menubar when calling
XResizeWindow.  Wait for ConfigureNotify event.  Call
frame_size_history_add.
(x_set_window_size_1): Remove PIXELWISE argument.  Try to handle
changing a fullheight frame's width or a fullwidth frame's
height.  Call frame_size_history_add.
(x_set_window_size): Simplify xg_frame_set_char_size and
x_set_window_size_1 calls.
(x_frame_normalize_before_maximize): New variable.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove no-longer-used cursor_in_echo_area code</title>
<updated>2015-02-07T03:28:56+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2015-02-07T03:28:09+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=cf498e5b9a73329edea0bdbf1bd8dfe06fdd75e2'/>
<id>cf498e5b9a73329edea0bdbf1bd8dfe06fdd75e2</id>
<content type='text'>
* dispnew.c (set_window_cursor_after_update, update_frame_1):
Remove checks for negative cursor_in_echo_area, since this var is
a boolean, and has been a boolean for some time.  Simplify.
* dispnew.c (init_display):
* xdisp.c (message3_nolog, vmessage): Use bool for boolean.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* dispnew.c (set_window_cursor_after_update, update_frame_1):
Remove checks for negative cursor_in_echo_area, since this var is
a boolean, and has been a boolean for some time.  Simplify.
* dispnew.c (init_display):
* xdisp.c (message3_nolog, vmessage): Use bool for boolean.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add (:documentation &lt;form&gt;) for dynamically-generated docstrings</title>
<updated>2015-02-05T19:28:16+00:00</updated>
<author>
<name>Stefan Monnier</name>
</author>
<published>2015-02-05T19:28:16+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=ad5a7c86d017ce8e9ff1312331ef09181be823bf'/>
<id>ad5a7c86d017ce8e9ff1312331ef09181be823bf</id>
<content type='text'>
* lisp/emacs-lisp/bytecomp.el:
(byte-compile-initial-macro-environment): Use macroexp-progn.
(byte-compile-cl-warn): Don't silence use of cl-macroexpand-all.
(byte-compile-file-form-defvar-function): Rename from
byte-compile-file-form-define-abbrev-table.
(defvaralias, byte-compile-file-form-custom-declare-variable): Use it.
(byte-compile): Use byte-compile-top-level rather than
byte-compile-lambda so we can compile non-values.
(byte-compile-form): Add warnings for failed uses of lexical vars via
quoted symbols.
(byte-compile-unfold-bcf): Improve message for failed inlining.
(byte-compile-make-closure): Handle new format of internal-make-closure
for dynamically-generated docstrings.

* lisp/emacs-lisp/cconv.el (cconv--convert-function):
Add `docstring' argument.
(cconv-convert): Use it to handle the new (:documentation ...) form.
(cconv-analyze-form): Handle the new (:documentation ...) form.

* src/eval.c (Ffunction): Handle the new (:documentation ...) form.
(syms_of_eval): Declare `:documentation'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lisp/emacs-lisp/bytecomp.el:
(byte-compile-initial-macro-environment): Use macroexp-progn.
(byte-compile-cl-warn): Don't silence use of cl-macroexpand-all.
(byte-compile-file-form-defvar-function): Rename from
byte-compile-file-form-define-abbrev-table.
(defvaralias, byte-compile-file-form-custom-declare-variable): Use it.
(byte-compile): Use byte-compile-top-level rather than
byte-compile-lambda so we can compile non-values.
(byte-compile-form): Add warnings for failed uses of lexical vars via
quoted symbols.
(byte-compile-unfold-bcf): Improve message for failed inlining.
(byte-compile-make-closure): Handle new format of internal-make-closure
for dynamically-generated docstrings.

* lisp/emacs-lisp/cconv.el (cconv--convert-function):
Add `docstring' argument.
(cconv-convert): Use it to handle the new (:documentation ...) form.
(cconv-analyze-form): Handle the new (:documentation ...) form.

* src/eval.c (Ffunction): Handle the new (:documentation ...) form.
(syms_of_eval): Declare `:documentation'.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove recently added BUFFER arg of `window-text-pixel-size'.</title>
<updated>2015-02-05T14:40:19+00:00</updated>
<author>
<name>Martin Rudalics</name>
</author>
<published>2015-02-05T14:40:19+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=49aa3a12ccf0ceea3961edaec9cd00dc6038fc79'/>
<id>49aa3a12ccf0ceea3961edaec9cd00dc6038fc79</id>
<content type='text'>
* xdisp.c (Fwindow_text_pixel_size): Remove optional BUFFER
argument added on 2015-02-01.
* display.texi (Size of Displayed Text): Remove description of
optional argument BUFFER of `window-text-pixel-size'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* xdisp.c (Fwindow_text_pixel_size): Remove optional BUFFER
argument added on 2015-02-01.
* display.texi (Size of Displayed Text): Remove description of
optional argument BUFFER of `window-text-pixel-size'.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove no-longer-used two_byte_p calculations</title>
<updated>2015-02-04T02:54:01+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2015-02-04T02:53:15+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=ac27180cca90fa1919ba0331e01794602901e7bc'/>
<id>ac27180cca90fa1919ba0331e01794602901e7bc</id>
<content type='text'>
* dispextern.h (struct glyph_string): Remove member two_byte_p.
All uses removed.
* xdisp.c (get_glyph_face_and_encoding): Remove arg two_byte_p.
All callers changed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* dispextern.h (struct glyph_string): Remove member two_byte_p.
All uses removed.
* xdisp.c (get_glyph_face_and_encoding): Remove arg two_byte_p.
All callers changed.
</pre>
</div>
</content>
</entry>
<entry>
<title>Omit unnecessary var if GTK or NS</title>
<updated>2015-02-03T00:21:22+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2015-02-03T00:20:55+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=1905cb763738396e16849006ffb07b24c9795b4d'/>
<id>1905cb763738396e16849006ffb07b24c9795b4d</id>
<content type='text'>
* frame.c, frame.h (frame_default_tool_bar_height) [USE_GTK||HAVE_NS]:
Now a constant zero on these platforms.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* frame.c, frame.h (frame_default_tool_bar_height) [USE_GTK||HAVE_NS]:
Now a constant zero on these platforms.
</pre>
</div>
</content>
</entry>
<entry>
<title>Give `window-text-pixel-size' optional BUFFER argument.</title>
<updated>2015-02-01T20:06:32+00:00</updated>
<author>
<name>Martin Rudalics</name>
</author>
<published>2015-02-01T20:00:14+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=92a8dec54ed3314ca06f40cd0c226c4267a160e8'/>
<id>92a8dec54ed3314ca06f40cd0c226c4267a160e8</id>
<content type='text'>
[This reinstalls commit 1d1162479caf1fdf48564f1486fa84e3cdacaa9b,
which I mistakenly reverted.  --eggert]
* xdisp.c (Fwindow_text_pixel_size): Add optional argument BUFFER.
* display.texi (Size of Displayed Text): Describe optional
argument BUFFER of `window-text-pixel-size'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[This reinstalls commit 1d1162479caf1fdf48564f1486fa84e3cdacaa9b,
which I mistakenly reverted.  --eggert]
* xdisp.c (Fwindow_text_pixel_size): Add optional argument BUFFER.
* display.texi (Size of Displayed Text): Describe optional
argument BUFFER of `window-text-pixel-size'.
</pre>
</div>
</content>
</entry>
</feed>
