Mercurial > emacs
view oldXMenu/insque.c @ 111013:5ffdb52c377c
Bugfixes for `customize-create-theme'.
* cus-theme.el (customize-create-theme): Delete overlays after
erasing. If given a THEME arg, display only the faces of that arg
instead of custom-theme--listed-faces.
(custom-theme-variable-menu, custom-theme-variable-action)
(custom-variable-reset-theme, custom-theme-delete-variable): Deleted.
(custom-theme-add-variable, custom-theme-add-face): Apply value
from the theme settings, instead of the current value.
(custom-theme-add-var-1, custom-theme-add-face-1): New functions.
(custom-theme-visit-theme): Allow calling outside theme buffers.
(custom-theme-merge-theme): Don't enable the theme when merging.
(custom-theme-write-variables, custom-theme-write-faces): Use the
:shown-value properties to save buffer values, not global ones.
(customize-themes): Display a warning about user customizations.
* cus-edit.el (custom-variable-value-create)
(custom-face-value-create): Obey new special properties
:shown-value and :inhibit-magic.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Fri, 15 Oct 2010 20:16:34 -0400 |
parents | 5cc91198ffb2 |
children | 417b1e4d63cd |
line wrap: on
line source
/* Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 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 of the License, 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. If not, see <http://www.gnu.org/licenses/>. */ /* 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 (struct qelem *elem, struct qelem *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 (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) */