+2006-03-09 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * alloc.c (USE_POSIX_MEMALIGN): New macro.
+ (ABLOCKS_BASE, lisp_align_malloc, lisp_align_free): Use it.
+
2006-03-09 Kenichi Handa <handa@m17n.org>
* coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Fix decoding
(MAC_AQUA_SMALL_VERTICAL_SCROLL_BAR_WIDTH): New defines.
* macfns.c (x_default_scroll_bar_color_parameter)
- (x_set_scroll_bar_foreground, x_set_scroll_bar_background): Remove
- unnecessary prototypes.
- (x_set_scroll_bar_default_width): Use
- MAC_AQUA_VERTICAL_SCROLL_BAR_WIDTH.
+ (x_set_scroll_bar_foreground, x_set_scroll_bar_background):
+ Remove unnecessary prototypes.
+ (x_set_scroll_bar_default_width):
+ Use MAC_AQUA_VERTICAL_SCROLL_BAR_WIDTH.
(mac_set_scroll_bar_width): New function.
(mac_frame_parm_handlers): Set it as handler for scroll-bar-width.
lines, by distributing the rows evenly over the tool-bar screen area.
(Vtool_bar_border): New variable.
(syms_of_xdisp): DEFVAR_LISP it.
- (display_tool_bar_line): Add HEIGHT arg for desired row height. Make
- tool-bar row the desired height. Use default face for border below
- tool-bar.
+ (display_tool_bar_line): Add HEIGHT arg for desired row height.
+ Make tool-bar row the desired height. Use default face for border
+ below tool-bar.
(tool_bar_lines_needed): Add N_ROWS arg. Use it to return number of
actual tool-bar rows.
(redisplay_tool_bar): Calculate f->n_tool_bar_rows initially.
2006-02-26 Chong Yidong <cyd@stupidchicken.com>
- * xterm.h, xterm.c (x_uncatch_errors): Delete unneccessary
- argument.
+ * xterm.h, xterm.c (x_uncatch_errors): Delete unneccessary argument.
* xterm.c: (x_load_font, x_term_init, XTmouse_position)
(handle_one_xevent, x_connection_closed, x_list_fonts): No arg for
/* The entry point is lisp_align_malloc which returns blocks of at most */
/* BLOCK_BYTES and guarantees they are aligned on a BLOCK_ALIGN boundary. */
+/* Use posix_memalloc if the system has it and we're using the system's
+ malloc (because our gmalloc.c routines don't have posix_memalign although
+ its memalloc could be used). */
+#define USE_POSIX_MEMALIGN (HAVE_POSIX_MEMALIGN && SYSTEM_MALLOC)
/* BLOCK_ALIGN has to be a power of 2. */
#define BLOCK_ALIGN (1 << 10)
#define ABLOCKS_BUSY(abase) ((abase)->blocks[0].abase)
/* Pointer to the (not necessarily aligned) malloc block. */
-#ifdef HAVE_POSIX_MEMALIGN
+#ifdef USE_POSIX_MEMALIGN
#define ABLOCKS_BASE(abase) (abase)
#else
#define ABLOCKS_BASE(abase) \
mallopt (M_MMAP_MAX, 0);
#endif
-#ifdef HAVE_POSIX_MEMALIGN
+#ifdef USE_POSIX_MEMALIGN
{
int err = posix_memalign (&base, BLOCK_ALIGN, ABLOCKS_BYTES);
if (err)
}
eassert ((aligned & 1) == aligned);
eassert (i == (aligned ? ABLOCKS_SIZE : ABLOCKS_SIZE - 1));
-#ifdef HAVE_POSIX_MEMALIGN
+#ifdef USE_POSIX_MEMALIGN
eassert ((unsigned long)ABLOCKS_BASE (abase) % BLOCK_ALIGN == 0);
#endif
free (ABLOCKS_BASE (abase));