view src/getpagesize.h @ 54227:b35f97c56fa4

(Voverlay_arrow_variable_list): New variable to properly implement and integrate multiple overlay arrows with redisplay. (syms_of_xdisp): DEFVAR_LISP and initialize it. (last_arrow_position, last_arrow_string): Replace by properties. (Qlast_arrow_position, Qlast_arrow_string) (Qoverlay_arrow_string, Qoverlay_arrow_bitmap): New variables. (syms_of_xdisp): Intern and staticpro them. (overlay_arrow_string_or_property, update_overlay_arrows) (overlay_arrow_in_current_buffer_p, overlay_arrows_changed_p) (overlay_arrow_at_row): New functions for multiple overlay arrows. (redisplay_internal): Use them instead of directly accessing Voverlay_arrow_position etc. for multiple overlay arrows. (mark_window_display_accurate): Use update_overlay_arrows. (try_cursor_movement): Use overlay_arrow_in_current_buffer_p. (try_window_id): Use overlay_arrows_changed_p. (get_overlay_arrow_glyph_row): Add overlay_arrow_string arg. (display_line): Use overlay_arrow_at_row to check multiple overlay arrows, and get relevant overlay-arrow-string and overlay-arrow-bitmap. Set w->overlay_arrow_bitmap accordingly. (produce_image_glyph): Set pixel_width = 0 for fringe bitmap. (syms_of_xdisp): Remove last_arrow_position and last_arrow_string.
author Kim F. Storm <storm@cua.dk>
date Mon, 01 Mar 2004 23:55:52 +0000
parents 695cf19ef79e
children a8fa7c632ee4 375f2633d815
line wrap: on
line source

/* Emulate getpagesize on systems that lack it.
   Copyright (C) 1986, 1992, 1995, 2001 Free Software Foundation, Inc.

This file is part of GNU Emacs.

GNU Emacs is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.

GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with GNU Emacs; see the file COPYING.  If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.  */

#ifndef HAVE_GETPAGESIZE

# ifdef VMS
#  define getpagesize() 512
# endif

# ifdef HAVE_UNISTD_H
#  include <unistd.h>
# endif

# ifdef _SC_PAGESIZE
#  define getpagesize() sysconf(_SC_PAGESIZE)
# else /* no _SC_PAGESIZE */
#  ifdef HAVE_SYS_PARAM_H
#   include <sys/param.h>
#   ifdef EXEC_PAGESIZE
#    define getpagesize() EXEC_PAGESIZE
#   else /* no EXEC_PAGESIZE */
#    ifdef NBPG
#     define getpagesize() NBPG * CLSIZE
#     ifndef CLSIZE
#      define CLSIZE 1
#     endif /* no CLSIZE */
#    else /* no NBPG */
#     ifdef NBPC
#      define getpagesize() NBPC
#     else /* no NBPC */
#      ifdef PAGESIZE
#       define getpagesize() PAGESIZE
#      endif /* PAGESIZE */
#     endif /* no NBPC */
#    endif /* no NBPG */
#   endif /* no EXEC_PAGESIZE */
#  else /* no HAVE_SYS_PARAM_H */
#   define getpagesize() 8192	/* punt totally */
#  endif /* no HAVE_SYS_PARAM_H */
# endif /* no _SC_PAGESIZE */

#endif /* no HAVE_GETPAGESIZE */

/* arch-tag: ff6206e3-97e2-4763-923a-e84bf28eabbc
   (do not change this comment) */