mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-22 18:35:09 +00:00
Port to OpenBSD 5.1.
* frame.c (Fmouse_position, Fmouse_pixel_position): * xdisp.c (produce_stretch_glyph): Declare local vars only when they're needed. This is clearer and avoids a warning on OpenBSD about unused vars. * frame.h (FRAME_WINDOW_P): Always evaluate its argument. This is safer, and avoids OpenBSD warnings about unused vars. * keyboard.c (record_menu_key): Remove unnecessary decl. (poll_timer): Define only if POLL_FOR_INPUT is defined. * unexelf.c (ELFSIZE) [!ElfW]: Do not define if already defined, as our definition clashes with OpenBSD's. * xfaces.c (load_face_colors, check_lface_attrs) (get_lface_attributes_no_remap, get_lface_attributes) (lface_fully_specified_p, x_supports_face_attributes_p) (tty_supports_face_attributes_p, face_fontset, realize_face) (realize_x_face, realize_tty_face): Declare parameters to be Lisp_Object[LFACE_VECTOR_SIZE], not merely Lisp_Object *. This is more informative and avoids a warning on OpenBSD about accessing beyond an object's size.
This commit is contained in:
parent
83c85d8e2e
commit
4973679b3f
@ -1,3 +1,25 @@
|
||||
2012-10-20 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Port to OpenBSD 5.1.
|
||||
* frame.c (Fmouse_position, Fmouse_pixel_position):
|
||||
* xdisp.c (produce_stretch_glyph):
|
||||
Declare local vars only when they're needed.
|
||||
This is clearer and avoids a warning on OpenBSD about unused vars.
|
||||
* frame.h (FRAME_WINDOW_P): Always evaluate its argument.
|
||||
This is safer, and avoids OpenBSD warnings about unused vars.
|
||||
* keyboard.c (record_menu_key): Remove unnecessary decl.
|
||||
(poll_timer): Define only if POLL_FOR_INPUT is defined.
|
||||
* unexelf.c (ELFSIZE) [!ElfW]: Do not define if already defined,
|
||||
as our definition clashes with OpenBSD's.
|
||||
* xfaces.c (load_face_colors, check_lface_attrs)
|
||||
(get_lface_attributes_no_remap, get_lface_attributes)
|
||||
(lface_fully_specified_p, x_supports_face_attributes_p)
|
||||
(tty_supports_face_attributes_p, face_fontset, realize_face)
|
||||
(realize_x_face, realize_tty_face):
|
||||
Declare parameters to be Lisp_Object[LFACE_VECTOR_SIZE], not
|
||||
merely Lisp_Object *. This is more informative and avoids
|
||||
a warning on OpenBSD about accessing beyond an object's size.
|
||||
|
||||
2012-10-20 Chong Yidong <cyd@gnu.org>
|
||||
|
||||
* lread.c (Fload): Doc fix (Bug#12592).
|
||||
|
35
src/frame.c
35
src/frame.c
@ -1501,10 +1501,7 @@ and returns whatever that function returns. */)
|
||||
{
|
||||
FRAME_PTR f;
|
||||
Lisp_Object lispy_dummy;
|
||||
enum scroll_bar_part party_dummy;
|
||||
Lisp_Object x, y, retval;
|
||||
int col, row;
|
||||
Time long_dummy;
|
||||
struct gcpro gcpro1;
|
||||
|
||||
f = SELECTED_FRAME ();
|
||||
@ -1513,14 +1510,19 @@ and returns whatever that function returns. */)
|
||||
#if defined (HAVE_MOUSE) || defined (HAVE_GPM)
|
||||
/* It's okay for the hook to refrain from storing anything. */
|
||||
if (FRAME_TERMINAL (f)->mouse_position_hook)
|
||||
(*FRAME_TERMINAL (f)->mouse_position_hook) (&f, -1,
|
||||
&lispy_dummy, &party_dummy,
|
||||
&x, &y,
|
||||
&long_dummy);
|
||||
{
|
||||
enum scroll_bar_part party_dummy;
|
||||
Time time_dummy;
|
||||
(*FRAME_TERMINAL (f)->mouse_position_hook) (&f, -1,
|
||||
&lispy_dummy, &party_dummy,
|
||||
&x, &y,
|
||||
&time_dummy);
|
||||
}
|
||||
|
||||
if (! NILP (x))
|
||||
{
|
||||
col = XINT (x);
|
||||
row = XINT (y);
|
||||
int col = XINT (x);
|
||||
int row = XINT (y);
|
||||
pixel_to_glyph_coords (f, col, row, &col, &row, NULL, 1);
|
||||
XSETINT (x, col);
|
||||
XSETINT (y, row);
|
||||
@ -1547,9 +1549,7 @@ and nil for X and Y. */)
|
||||
{
|
||||
FRAME_PTR f;
|
||||
Lisp_Object lispy_dummy;
|
||||
enum scroll_bar_part party_dummy;
|
||||
Lisp_Object x, y;
|
||||
Time long_dummy;
|
||||
|
||||
f = SELECTED_FRAME ();
|
||||
x = y = Qnil;
|
||||
@ -1557,10 +1557,15 @@ and nil for X and Y. */)
|
||||
#if defined (HAVE_MOUSE) || defined (HAVE_GPM)
|
||||
/* It's okay for the hook to refrain from storing anything. */
|
||||
if (FRAME_TERMINAL (f)->mouse_position_hook)
|
||||
(*FRAME_TERMINAL (f)->mouse_position_hook) (&f, -1,
|
||||
&lispy_dummy, &party_dummy,
|
||||
&x, &y,
|
||||
&long_dummy);
|
||||
{
|
||||
enum scroll_bar_part party_dummy;
|
||||
Time time_dummy;
|
||||
(*FRAME_TERMINAL (f)->mouse_position_hook) (&f, -1,
|
||||
&lispy_dummy, &party_dummy,
|
||||
&x, &y,
|
||||
&time_dummy);
|
||||
}
|
||||
|
||||
#endif
|
||||
XSETFRAME (lispy_dummy, f);
|
||||
return Fcons (lispy_dummy, Fcons (x, y));
|
||||
|
@ -646,7 +646,7 @@ typedef struct frame *FRAME_PTR;
|
||||
#define FRAME_WINDOW_P(f) FRAME_NS_P(f)
|
||||
#endif
|
||||
#ifndef FRAME_WINDOW_P
|
||||
#define FRAME_WINDOW_P(f) (0)
|
||||
#define FRAME_WINDOW_P(f) ((void) (f), 0)
|
||||
#endif
|
||||
|
||||
/* Return a pointer to the structure holding information about the
|
||||
|
@ -365,7 +365,6 @@ static Lisp_Object command_loop (void);
|
||||
static Lisp_Object Qextended_command_history;
|
||||
EMACS_TIME timer_check (void);
|
||||
|
||||
static void record_menu_key (Lisp_Object c);
|
||||
static void echo_now (void);
|
||||
static ptrdiff_t echo_length (void);
|
||||
|
||||
@ -1963,13 +1962,13 @@ safe_run_hooks (Lisp_Object hook)
|
||||
|
||||
int poll_suppress_count;
|
||||
|
||||
|
||||
#ifdef POLL_FOR_INPUT
|
||||
|
||||
/* Asynchronous timer for polling. */
|
||||
|
||||
static struct atimer *poll_timer;
|
||||
|
||||
|
||||
#ifdef POLL_FOR_INPUT
|
||||
|
||||
/* Poll for input, so that we catch a C-g if it comes in. This
|
||||
function is called from x_make_frame_visible, see comment
|
||||
there. */
|
||||
|
@ -507,10 +507,12 @@ typedef struct {
|
||||
|
||||
#ifndef ElfW
|
||||
# define ElfBitsW(bits, type) Elf##bits##_##type
|
||||
# ifdef _LP64
|
||||
# define ELFSIZE 64
|
||||
# else
|
||||
# define ELFSIZE 32
|
||||
# ifndef ELFSIZE
|
||||
# ifdef _LP64
|
||||
# define ELFSIZE 64
|
||||
# else
|
||||
# define ELFSIZE 32
|
||||
# endif
|
||||
# endif
|
||||
/* This macro expands `bits' before invoking ElfBitsW. */
|
||||
# define ElfExpandBitsW(bits, type) ElfBitsW (bits, type)
|
||||
|
@ -24076,17 +24076,16 @@ produce_stretch_glyph (struct it *it)
|
||||
Lisp_Object prop, plist;
|
||||
int width = 0, height = 0, align_to = -1;
|
||||
int zero_width_ok_p = 0;
|
||||
int ascent = 0;
|
||||
double tem;
|
||||
struct face *face = NULL;
|
||||
struct font *font = NULL;
|
||||
|
||||
#ifdef HAVE_WINDOW_SYSTEM
|
||||
int ascent = 0;
|
||||
int zero_height_ok_p = 0;
|
||||
|
||||
if (FRAME_WINDOW_P (it->f))
|
||||
{
|
||||
face = FACE_FROM_ID (it->f, it->face_id);
|
||||
struct face *face = FACE_FROM_ID (it->f, it->face_id);
|
||||
font = face->font ? face->font : FRAME_FONT (it->f);
|
||||
PREPARE_FACE_FOR_DISPLAY (it->f, face);
|
||||
}
|
||||
|
28
src/xfaces.c
28
src/xfaces.c
@ -1323,7 +1323,8 @@ load_color (struct frame *f, struct face *face, Lisp_Object name,
|
||||
try to emulate gray colors with a stipple from Vface_default_stipple. */
|
||||
|
||||
static void
|
||||
load_face_colors (struct frame *f, struct face *face, Lisp_Object *attrs)
|
||||
load_face_colors (struct frame *f, struct face *face,
|
||||
Lisp_Object attrs[LFACE_VECTOR_SIZE])
|
||||
{
|
||||
Lisp_Object fg, bg;
|
||||
|
||||
@ -1802,7 +1803,7 @@ the WIDTH times as wide as FACE on FRAME. */)
|
||||
/* Check consistency of Lisp face attribute vector ATTRS. */
|
||||
|
||||
static void
|
||||
check_lface_attrs (Lisp_Object *attrs)
|
||||
check_lface_attrs (Lisp_Object attrs[LFACE_VECTOR_SIZE])
|
||||
{
|
||||
eassert (UNSPECIFIEDP (attrs[LFACE_FAMILY_INDEX])
|
||||
|| IGNORE_DEFFACE_P (attrs[LFACE_FAMILY_INDEX])
|
||||
@ -2049,7 +2050,8 @@ lface_from_face_name (struct frame *f, Lisp_Object face_name, int signal_p)
|
||||
|
||||
static int
|
||||
get_lface_attributes_no_remap (struct frame *f, Lisp_Object face_name,
|
||||
Lisp_Object *attrs, int signal_p)
|
||||
Lisp_Object attrs[LFACE_VECTOR_SIZE],
|
||||
int signal_p)
|
||||
{
|
||||
Lisp_Object lface;
|
||||
|
||||
@ -2071,7 +2073,7 @@ get_lface_attributes_no_remap (struct frame *f, Lisp_Object face_name,
|
||||
|
||||
static int
|
||||
get_lface_attributes (struct frame *f, Lisp_Object face_name,
|
||||
Lisp_Object *attrs, int signal_p,
|
||||
Lisp_Object attrs[LFACE_VECTOR_SIZE], int signal_p,
|
||||
struct named_merge_point *named_merge_points)
|
||||
{
|
||||
Lisp_Object face_remapping;
|
||||
@ -2108,7 +2110,7 @@ get_lface_attributes (struct frame *f, Lisp_Object face_name,
|
||||
specified, i.e. are non-nil. */
|
||||
|
||||
static int
|
||||
lface_fully_specified_p (Lisp_Object *attrs)
|
||||
lface_fully_specified_p (Lisp_Object attrs[LFACE_VECTOR_SIZE])
|
||||
{
|
||||
int i;
|
||||
|
||||
@ -4760,7 +4762,8 @@ DEFUN ("face-attributes-as-vector", Fface_attributes_as_vector,
|
||||
\(2) `close in spirit' to what the attributes specify, if not exact. */
|
||||
|
||||
static int
|
||||
x_supports_face_attributes_p (struct frame *f, Lisp_Object *attrs,
|
||||
x_supports_face_attributes_p (struct frame *f,
|
||||
Lisp_Object attrs[LFACE_VECTOR_SIZE],
|
||||
struct face *def_face)
|
||||
{
|
||||
Lisp_Object *def_attrs = def_face->lface;
|
||||
@ -4862,7 +4865,8 @@ x_supports_face_attributes_p (struct frame *f, Lisp_Object *attrs,
|
||||
substitution of a `dim' face for italic. */
|
||||
|
||||
static int
|
||||
tty_supports_face_attributes_p (struct frame *f, Lisp_Object *attrs,
|
||||
tty_supports_face_attributes_p (struct frame *f,
|
||||
Lisp_Object attrs[LFACE_VECTOR_SIZE],
|
||||
struct face *def_face)
|
||||
{
|
||||
int weight, slant;
|
||||
@ -5245,7 +5249,7 @@ be found. Value is ALIST. */)
|
||||
attribute of ATTRS doesn't name a fontset. */
|
||||
|
||||
static int
|
||||
face_fontset (Lisp_Object *attrs)
|
||||
face_fontset (Lisp_Object attrs[LFACE_VECTOR_SIZE])
|
||||
{
|
||||
Lisp_Object name;
|
||||
|
||||
@ -5474,7 +5478,8 @@ realize_named_face (struct frame *f, Lisp_Object symbol, int id)
|
||||
face. Value is a pointer to the newly created realized face. */
|
||||
|
||||
static struct face *
|
||||
realize_face (struct face_cache *cache, Lisp_Object *attrs, int former_face_id)
|
||||
realize_face (struct face_cache *cache, Lisp_Object attrs[LFACE_VECTOR_SIZE],
|
||||
int former_face_id)
|
||||
{
|
||||
struct face *face;
|
||||
|
||||
@ -5551,7 +5556,7 @@ realize_non_ascii_face (struct frame *f, Lisp_Object font_object,
|
||||
created realized face. */
|
||||
|
||||
static struct face *
|
||||
realize_x_face (struct face_cache *cache, Lisp_Object *attrs)
|
||||
realize_x_face (struct face_cache *cache, Lisp_Object attrs[LFACE_VECTOR_SIZE])
|
||||
{
|
||||
struct face *face = NULL;
|
||||
#ifdef HAVE_WINDOW_SYSTEM
|
||||
@ -5878,7 +5883,8 @@ map_tty_color (struct frame *f, struct face *face,
|
||||
Value is a pointer to the newly created realized face. */
|
||||
|
||||
static struct face *
|
||||
realize_tty_face (struct face_cache *cache, Lisp_Object *attrs)
|
||||
realize_tty_face (struct face_cache *cache,
|
||||
Lisp_Object attrs[LFACE_VECTOR_SIZE])
|
||||
{
|
||||
struct face *face;
|
||||
int weight, slant;
|
||||
|
Loading…
Reference in New Issue
Block a user