Mercurial > emacs
view oldXMenu/insque.c @ 80391:1d3df1b9547b
[!TARGET_API_MAC_CARBON] Include Scrap.h.
[MAC_OSX] (install_service_handler): Rename from init_service_handler.
All callers changed. Return OSStatus value.
(Selection): New typedef. Use instead of ScrapRef.
(mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
(mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
(mac_clear_selection): Rename from clear_scrap.
(get_flavor_type_from_symbol): New argument SEL and subsume function of
scrap_has_target_type. All uses changed.
(mac_get_selection_ownership_info, mac_valid_selection_value_p)
(mac_selection_has_target_p): New functions.
(mac_put_selection_value): Rename from put_scrap_string.
(mac_get_selection_value): Rename from get_scrap_string.
(mac_get_selection_target_list): Rename from get_scrap_target_type_list.
(put_scrap_private_timestamp, scrap_has_target_type)
(get_scrap_private_timestamp): Remove functions.
(SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
(x_own_selection, x_get_local_selection):
Use mac_valid_selection_value_p.
(x_own_selection): Don't use put_scrap_private_timestamp.
Record OWNERSHIP-INFO into Vselection_alist instead.
(x_get_local_selection): Don't check type if request is local.
(Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
author | YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
---|---|
date | Sat, 29 Mar 2008 00:46:38 +0000 |
parents | 43c5da03890c |
children | 606f2d163a64 3765d76f7fa8 |
line wrap: on
line source
/* Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This program 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 3, or (at your option) any later version. This program 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 this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* This file implements the emacs_insque and emacs_remque functions, clones of the insque and remque functions of BSD. They and all their callers have been renamed to emacs_mumble to allow us to include this file in the menu library on all systems. */ struct qelem { struct qelem *q_forw; struct qelem *q_back; char q_data[1]; }; /* Insert ELEM into a doubly-linked list, after PREV. */ void emacs_insque (elem, prev) struct qelem *elem, *prev; { struct qelem *next = prev->q_forw; prev->q_forw = elem; if (next) next->q_back = elem; elem->q_forw = next; elem->q_back = prev; } /* Unlink ELEM from the doubly-linked list that it is in. */ emacs_remque (elem) struct qelem *elem; { struct qelem *next = elem->q_forw; struct qelem *prev = elem->q_back; if (next) next->q_back = prev; if (prev) prev->q_forw = next; } /* arch-tag: a8719d1a-5c3f-4bce-b36b-173106d36165 (do not change this comment) */