view src/ExternalShellP.h @ 5576:071b810ceb18

Declare labels as line where appropriate; use #'labels, not #'flet, tests. lisp/ChangeLog addition: 2011-10-03 Aidan Kehoe <kehoea@parhasard.net> * simple.el (handle-pre-motion-command-current-command-is-motion): Implement #'keysyms-equal with #'labels + (declare (inline ...)), instead of abusing macrolet to the same end. * specifier.el (let-specifier): * mule/mule-cmds.el (describe-language-environment): * mule/mule-cmds.el (set-language-environment-coding-systems): * mule/mule-x-init.el (x-use-halfwidth-roman-font): * faces.el (Face-frob-property): * keymap.el (key-sequence-list-description): * lisp-mode.el (construct-lisp-mode-menu): * loadhist.el (unload-feature): * mouse.el (default-mouse-track-check-for-activation): Declare various labels inline in dumped files when that reduces the size of the dumped image. Declaring labels inline is normally only worthwhile for inner loops and so on, but it's reasonable exercise of the related code to have these changes in core. tests/ChangeLog addition: 2011-10-03 Aidan Kehoe <kehoea@parhasard.net> * automated/case-tests.el (uni-mappings): * automated/database-tests.el (delete-database-files): * automated/hash-table-tests.el (iterations): * automated/lisp-tests.el (test1): * automated/lisp-tests.el (a): * automated/lisp-tests.el (cl-floor): * automated/lisp-tests.el (foo): * automated/lisp-tests.el (list-nreverse): * automated/lisp-tests.el (needs-lexical-context): * automated/mule-tests.el (featurep): * automated/os-tests.el (original-string): * automated/os-tests.el (with): * automated/symbol-tests.el (check-weak-list-unique): Replace #'flet with #'labels where appropriate in these tests, following my own advice on style in the docstrings of those functions.
author Aidan Kehoe <kehoea@parhasard.net>
date Mon, 03 Oct 2011 20:16:14 +0100
parents 2aa9cd456ae7
children
line wrap: on
line source

/* External shell widget internal header file.
   Copyright (C) 1993, 1994 Sun Microsystems, Inc.

This library 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 library 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 library.  If not, see <http://www.gnu.org/licenses/>. */

/* Synched up with: Not in FSF. */

/* Written by Ben Wing, September 1993. */

#ifndef INCLUDED_ExternalShellP_h_
#define INCLUDED_ExternalShellP_h_

#include "xintrinsic.h"
#include <X11/ShellP.h>
#include "ExternalShell.h"

typedef struct {		/* new fields for ExternalShell class */
   int dummy;
} ExternalShellClassPart;

typedef struct _ExternalShellClassRec {	/* full class record declaration */
    CoreClassPart core_class;
    CompositeClassPart composite_class;
    ShellClassPart shell_class;
    ExternalShellClassPart externalShell_class;
} ExternalShellClassRec;

typedef struct {		/* new fields for ExternalShell widget */
    Window external_window;	/* an already-created window to run on */
    Bool dead_client;		/* is the client dead? */
    unsigned long client_timeout;/* how long to wait for client's response */

    /* private */
    unsigned char client_type;
} ExternalShellPart;

typedef struct _ExternalShellRec {	/* full instance record */
    CorePart core;
    CompositePart composite;
    ShellPart shell;
    ExternalShellPart externalShell;
} ExternalShellRec;

extern ExternalShellClassRec externalShellClassRec;	 /* class pointer */

#endif /* INCLUDED_ExternalShellP_h_ */