<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emacs/lwlib/lwlib.c, branch feature/byte-tail-recursion</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>Merge from origin/emacs-25</title>
<updated>2017-01-01T09:10:47+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2017-01-01T09:10:47+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=bcf244ef9be0fe61f4b9a48d3412b2c8a9f1edb9'/>
<id>bcf244ef9be0fe61f4b9a48d3412b2c8a9f1edb9</id>
<content type='text'>
2e2a806 Fix copyright years by hand
5badc81 Update copyright year to 2017
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
2e2a806 Fix copyright years by hand
5badc81 Update copyright year to 2017
</pre>
</div>
</content>
</entry>
<entry>
<title>Update copyright year to 2017</title>
<updated>2017-01-01T03:42:26+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2017-01-01T03:14:01+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=5badc81c1cdfbb261ad3e6d1b753defb15712f26'/>
<id>5badc81c1cdfbb261ad3e6d1b753defb15712f26</id>
<content type='text'>
Run admin/update-copyright.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Run admin/update-copyright.
</pre>
</div>
</content>
</entry>
<entry>
<title>Limit &lt;config.h&gt;’s includes</title>
<updated>2016-09-30T19:38:52+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2016-09-30T19:14:04+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=f4eb8900295d75c4afec256f75aea22494376fde'/>
<id>f4eb8900295d75c4afec256f75aea22494376fde</id>
<content type='text'>
This follows up on recent problems with the fact that config.h
includes stdlib.h etc.; some files need to include stdlib.h later.
config.h generally should limit itself to includes that are
universally safe; outside of MS-Windows, only stdbool.h makes
the cut among the files currently included.  So, move the
other includes to just the files that need them (Bug#24506).
* configure.ac (config_opsysfile): Remove, as this generic hook
is no longer needed.
* lib-src/etags.c, src/unexmacosx.c, src/w32.c, src/w32notify.c:
* src/w32proc.c (_GNU_SOURCE):
Remove, as it’s OK for config.h to do this now.
* src/conf_post.h: Include &lt;ms-w32.h&gt;, instead of the generic
config_opsysfile, for simplicity as this old way of configuring is
now done only for the MS-Windows port.  Do not include &lt;ms-w32.h&gt;
if DEFER_MS_W32_H, for the benefit of the few files that want its
effects later.  Do not include &lt;alloca.h&gt;, &lt;string.h&gt;, or
&lt;stdlib.h&gt;.  Other files modified to include these headers as
needed, or to not include headers that are no longer needed.
* src/lisp.h: Include &lt;alloca.h&gt; and &lt;string.h&gt; here, since
some of the inline functions need them.
* src/regex.c: Include &lt;alloca.h&gt; if not emacs.  (If emacs,
we can rely on SAFE_ALLOCA.)  There is no longer any need to
worry about HAVE_ALLOCA_H.
* src/unexmacosx.c: Rely on config.h not including stdlib.h.
* src/w32.c, src/w32notify.c, src/w32proc.c (DEFER_MS_W32_H):
Define before including &lt;config.h&gt; first, and include &lt;ms-w32.h&gt;
after the troublesome headers.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This follows up on recent problems with the fact that config.h
includes stdlib.h etc.; some files need to include stdlib.h later.
config.h generally should limit itself to includes that are
universally safe; outside of MS-Windows, only stdbool.h makes
the cut among the files currently included.  So, move the
other includes to just the files that need them (Bug#24506).
* configure.ac (config_opsysfile): Remove, as this generic hook
is no longer needed.
* lib-src/etags.c, src/unexmacosx.c, src/w32.c, src/w32notify.c:
* src/w32proc.c (_GNU_SOURCE):
Remove, as it’s OK for config.h to do this now.
* src/conf_post.h: Include &lt;ms-w32.h&gt;, instead of the generic
config_opsysfile, for simplicity as this old way of configuring is
now done only for the MS-Windows port.  Do not include &lt;ms-w32.h&gt;
if DEFER_MS_W32_H, for the benefit of the few files that want its
effects later.  Do not include &lt;alloca.h&gt;, &lt;string.h&gt;, or
&lt;stdlib.h&gt;.  Other files modified to include these headers as
needed, or to not include headers that are no longer needed.
* src/lisp.h: Include &lt;alloca.h&gt; and &lt;string.h&gt; here, since
some of the inline functions need them.
* src/regex.c: Include &lt;alloca.h&gt; if not emacs.  (If emacs,
we can rely on SAFE_ALLOCA.)  There is no longer any need to
worry about HAVE_ALLOCA_H.
* src/unexmacosx.c: Rely on config.h not including stdlib.h.
* src/w32.c, src/w32notify.c, src/w32proc.c (DEFER_MS_W32_H):
Define before including &lt;config.h&gt; first, and include &lt;ms-w32.h&gt;
after the troublesome headers.
</pre>
</div>
</content>
</entry>
<entry>
<title>Avoid yet another possible NULL pointer dereference found by GCC 6.1.1</title>
<updated>2016-07-01T15:45:24+00:00</updated>
<author>
<name>Dmitry Antipov</name>
</author>
<published>2016-07-01T15:45:24+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=d942c39c44dac1d73f9413979f754fa551f96cbb'/>
<id>d942c39c44dac1d73f9413979f754fa551f96cbb</id>
<content type='text'>
* lwlib/lwlib.c (lw_get_all_values): Always check the value returned by
get_widget_info.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lwlib/lwlib.c (lw_get_all_values): Always check the value returned by
get_widget_info.
</pre>
</div>
</content>
</entry>
<entry>
<title>Update copyright year to 2016</title>
<updated>2016-01-01T09:34:24+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2016-01-01T09:16:19+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=0e963201d03d9229bb8ac4323291d2b0119526ed'/>
<id>0e963201d03d9229bb8ac4323291d2b0119526ed</id>
<content type='text'>
Run admin/update-copyright.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Run admin/update-copyright.
</pre>
</div>
</content>
</entry>
<entry>
<title>Update copyright year to 2015</title>
<updated>2015-01-01T22:26:41+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2015-01-01T22:26:41+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=7e09ef09a479731d01b1ca46e94ddadd73ac98e3'/>
<id>7e09ef09a479731d01b1ca46e94ddadd73ac98e3</id>
<content type='text'>
Run admin/update-copyright.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Run admin/update-copyright.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use common memory management functions for lwlib and refactor users.</title>
<updated>2014-06-02T18:01:21+00:00</updated>
<author>
<name>Dmitry Antipov</name>
</author>
<published>2014-06-02T18:01:21+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=5668fb88bf3731d39c4e958c8e79a549f789ce1e'/>
<id>5668fb88bf3731d39c4e958c8e79a549f789ce1e</id>
<content type='text'>
* lwlib/lwlib.h (widget_value): Do not maintain a free list any more.
(malloc_widget_value, free_widget_value): Remove prototypes.
* lwlib/lwlib.c (malloc_widget_value, free_widget_value):
(widget_value_free_list, malloc_cpt): Remove.
(free_widget_value_tree, copy_widget_value_tree): Adjust users.
* src/menu.h (xmalloc_widget_value): Replaced by ...
(make_widget_value): ... new prototype.
* src/menu.c (xmalloc_widget_value): Replaced by ...
(make_widget_value): ... new function.
(free_menubar_widget_value_tree, digest_single_submenu): Adjust users.
* src/gtkutil.c (malloc_widget_value, free_widget_value):
(widget_value_free_list, malloc_cpt): Remove old lwlib-compatible code.
* src/keyboard.h (enum button_type, struct _widget_value):
* src/gtkutil.h, src/nsgui.h, src/w32gui.h (malloc_widget_value):
(free_widget_value): Likewise.
* src/nsmenu.m (ns_update_menubar, ns_menu_show):
* src/w32menu.c (set_frame_menubar, w32_menu_show, w32_dialog_show):
* src/xmenu.c (set_frame_menubar, xmenu_show, x_dialog_show): Adjust users.
* src/xterm.h (XtParent) [USE_GTK]: Remove unused macro.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lwlib/lwlib.h (widget_value): Do not maintain a free list any more.
(malloc_widget_value, free_widget_value): Remove prototypes.
* lwlib/lwlib.c (malloc_widget_value, free_widget_value):
(widget_value_free_list, malloc_cpt): Remove.
(free_widget_value_tree, copy_widget_value_tree): Adjust users.
* src/menu.h (xmalloc_widget_value): Replaced by ...
(make_widget_value): ... new prototype.
* src/menu.c (xmalloc_widget_value): Replaced by ...
(make_widget_value): ... new function.
(free_menubar_widget_value_tree, digest_single_submenu): Adjust users.
* src/gtkutil.c (malloc_widget_value, free_widget_value):
(widget_value_free_list, malloc_cpt): Remove old lwlib-compatible code.
* src/keyboard.h (enum button_type, struct _widget_value):
* src/gtkutil.h, src/nsgui.h, src/w32gui.h (malloc_widget_value):
(free_widget_value): Likewise.
* src/nsmenu.m (ns_update_menubar, ns_menu_show):
* src/w32menu.c (set_frame_menubar, w32_menu_show, w32_dialog_show):
* src/xmenu.c (set_frame_menubar, xmenu_show, x_dialog_show): Adjust users.
* src/xterm.h (XtParent) [USE_GTK]: Remove unused macro.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use common string allocation and freeing functions where applicable.</title>
<updated>2014-05-30T13:22:29+00:00</updated>
<author>
<name>Dmitry Antipov</name>
</author>
<published>2014-05-30T13:22:29+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=a084532342d401455a818a1132d4aa1bc58a0d69'/>
<id>a084532342d401455a818a1132d4aa1bc58a0d69</id>
<content type='text'>
* lwlib.h (safe_strdup): Remove prototype.
* lwlib.c (safe_strdup, safe_free_str): Remove.
(copy_widget_value_tree, allocate_widget_info, free_widget_info):
(merge_widget_value): Prefer xstrdup, xfree and dupstring.
* lwlib-Xm.c (make_destroyed_instance, xm_update_one_value): Ditto.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lwlib.h (safe_strdup): Remove prototype.
* lwlib.c (safe_strdup, safe_free_str): Remove.
(copy_widget_value_tree, allocate_widget_info, free_widget_info):
(merge_widget_value): Prefer xstrdup, xfree and dupstring.
* lwlib-Xm.c (make_destroyed_instance, xm_update_one_value): Ditto.
</pre>
</div>
</content>
</entry>
<entry>
<title>Update copyright year to 2014 by running admin/update-copyright.</title>
<updated>2014-01-01T07:43:34+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2014-01-01T07:43:34+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=ba3189039adc8ec5eba5ed3e21d42019a4616b7c'/>
<id>ba3189039adc8ec5eba5ed3e21d42019a4616b7c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Prefer tail calls.</title>
<updated>2013-11-14T01:52:18+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2013-11-14T01:52:18+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=d672ac3c611453c624948ed8cc2ced65cadc3400'/>
<id>d672ac3c611453c624948ed8cc2ced65cadc3400</id>
<content type='text'>
* lib-src/ebrowse.c (xstrdup):
* lib-src/etags.c (savenstr):
* lwlib/lwlib.c (safe_strdup):
* src/xfns.c (xic_create_fontsetname):
* src/xrdb.c (gethomedir): Prefer tail calls.
* lib-src/etags.c (concat): Omit unnecessary assignment.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lib-src/ebrowse.c (xstrdup):
* lib-src/etags.c (savenstr):
* lwlib/lwlib.c (safe_strdup):
* src/xfns.c (xic_create_fontsetname):
* src/xrdb.c (gethomedir): Prefer tail calls.
* lib-src/etags.c (concat): Omit unnecessary assignment.
</pre>
</div>
</content>
</entry>
</feed>
