Mercurial > emacs
view lisp/cdl.el @ 106186:9b6f45dd8386
Use a select wrapper around the GLib event loop, thus taking into account GLib
timeouts and event sources. This simplifies Gtk+-code a lot, and is needed
for handling GConf death/restart.
* xterm.c: #include xgselect.h.
(x_initialize): Call xgselect_initialize.
* xsettings.c (something_changedCB): C++ comments => C comments.
(init_gconf): Do not deal with any GLib file descriptors, xg_select
does that now.
* gtkutil.c (xg_timer, xg_process_timeouts, xg_start_timer)
(xg_stop_timer, menu_grab_callback_cnt, menu_grab_callback)
(scroll_bar_button_cb): Remove.
(create_menus): C++ comments => C comments. Don't bind grab-notify
event.
(xg_create_scroll_bar): Don't bind button-press-event and
button-release-event.
* process.c: Include xgselect.h if defined (USE_GTK) ||
defined (HAVE_GCONF).
(wait_reading_process_output): Call xg_select for the same condition.
* xgselect.c (xg_select): New function to better integrate with
GLib/Gtk event handling. Needed if GConf daemon dies/restarts.
* xgselect.h: New file, declare xg_select, xgselect_initialize.
* Makefile.in (XOBJ): Add xgselect.o.
author | Jan Djärv <jan.h.d@swipnet.se> |
---|---|
date | Sat, 21 Nov 2009 15:28:59 +0000 |
parents | a9dc0e7c3f2b |
children | 1d1d5d9bd884 |
line wrap: on
line source
;;; cdl.el --- Common Data Language (CDL) utility functions for GNU Emacs ;; Copyright (C) 1993, 2001, 2002, 2003, 2004, 2005, ;; 2006, 2007, 2008, 2009 Free Software Foundation, Inc. ;; Author: ATAE@spva.physics.imperial.ac.uk (Ata Etemadi) ;; Maintainer: FSF ;; Keywords: data ;; 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 3 of the License, 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. If not, see <http://www.gnu.org/licenses/>. ;;; Commentary: ;;; Code: (defun cdl-get-file (filename) "Run file through ncdump and insert result into buffer after point." (interactive "fCDF file: ") (message "ncdump in progress...") (let ((start (point))) (call-process "ncdump" nil t nil (expand-file-name filename)) (goto-char start)) (message "ncdump in progress...done")) (defun cdl-put-region (filename start end) "Run region through ncgen and write results into a file." (interactive "FNew CDF file: \nr") (message "ncgen in progress...") (call-process-region start end "ncgen" nil nil nil "-o" (expand-file-name filename)) (message "ncgen in progress...done")) (provide 'cdl) ;; arch-tag: b8e95a6e-2387-4077-ad9a-af54b09b8615 ;;; cdl.el ends here