Mercurial > hg > xemacs-beta
annotate lisp/widgets-gtk.el @ 4976:16112448d484
Rename xfree(FOO, TYPE) -> xfree(FOO)
-------------------- ChangeLog entries follow: --------------------
src/ChangeLog addition:
2010-02-04 Ben Wing <ben@xemacs.org>
* alloc.c (release_breathing_space):
* alloc.c (resize_string):
* alloc.c (sweep_lcrecords_1):
* alloc.c (SWEEP_FIXED_TYPE_BLOCK_1):
* alloc.c (ADDITIONAL_FREE_compiled_function):
* alloc.c (compact_string_chars):
* alloc.c (ADDITIONAL_FREE_string):
* alloc.c (sweep_strings):
* alloca.c (xemacs_c_alloca):
* alsaplay.c (alsa_play_sound_file):
* buffer.c (init_initial_directory):
* buffer.h:
* buffer.h (BUFFER_FREE):
* console-stream.c (stream_delete_console):
* console-tty.c (free_tty_console_struct):
* data.c (Fnumber_to_string):
* device-gtk.c (gtk_init_device):
* device-gtk.c (free_gtk_device_struct):
* device-gtk.c (gtk_delete_device):
* device-msw.c (mswindows_delete_device):
* device-msw.c (msprinter_delete_device):
* device-tty.c (free_tty_device_struct):
* device-tty.c (tty_delete_device):
* device-x.c (x_init_device):
* device-x.c (free_x_device_struct):
* device-x.c (x_delete_device):
* dialog-msw.c (handle_directory_dialog_box):
* dialog-x.c (dbox_descriptor_to_widget_value):
* dired-msw.c (Fmswindows_insert_directory):
* dired.c (free_user_cache):
* dired.c (user_name_completion_unwind):
* doc.c (unparesseuxify_doc_string):
* doc.c (Fsubstitute_command_keys):
* doprnt.c (emacs_doprnt_1):
* dumper.c (pdump_load_finish):
* dumper.c (pdump_file_free):
* dumper.c (pdump_file_unmap):
* dynarr.c:
* dynarr.c (Dynarr_free):
* editfns.c (uncache_home_directory):
* editfns.c (Fset_time_zone_rule):
* elhash.c:
* elhash.c (pdump_reorganize_hash_table):
* elhash.c (maphash_unwind):
* emacs.c (make_arg_list_1):
* emacs.c (free_argc_argv):
* emacs.c (sort_args):
* emacs.c (Frunning_temacs_p):
* emodules.c (attempt_module_delete):
* eval.c (free_pointer):
* event-Xt.c (unselect_filedesc):
* event-Xt.c (emacs_Xt_select_process):
* event-gtk.c (unselect_filedesc):
* event-gtk.c (dragndrop_data_received):
* event-msw.c (winsock_closer):
* event-msw.c (mswindows_dde_callback):
* event-msw.c (mswindows_wnd_proc):
* event-stream.c (finalize_command_builder):
* event-stream.c (free_command_builder):
* extents.c (free_gap_array):
* extents.c (free_extent_list):
* extents.c (free_soe):
* extents.c (extent_fragment_delete):
* extents.c (extent_priority_sort_function):
* file-coding.c (make_coding_system_1):
* file-coding.c (coding_finalizer):
* file-coding.c (set_coding_stream_coding_system):
* file-coding.c (chain_finalize_coding_stream_1):
* file-coding.c (chain_finalize):
* file-coding.c (free_detection_state):
* file-coding.c (coding_category_symbol_to_id):
* fileio.c:
* fileio.c (Ffile_name_directory):
* fileio.c (if):
* fileio.c (Ffile_symlink_p):
* filelock.c (FREE_LOCK_INFO):
* filelock.c (current_lock_owner):
* font-mgr.c (Ffc_name_unparse):
* font-mgr.c (Ffc_pattern_duplicate):
* frame-gtk.c (gtk_delete_frame):
* frame-msw.c (mswindows_delete_frame):
* frame-msw.c (msprinter_delete_frame):
* frame-x.c (x_cde_destroy_callback):
* frame-x.c (Fcde_start_drag_internal):
* frame-x.c (x_cde_transfer_callback):
* frame-x.c (x_delete_frame):
* frame.c (update_frame_title):
* frame.c (Fset_frame_pointer):
* gc.c (register_for_finalization):
* gccache-gtk.c (free_gc_cache):
* gccache-gtk.c (gc_cache_lookup):
* gccache-x.c (free_gc_cache):
* gccache-x.c (gc_cache_lookup):
* glyphs-eimage.c:
* glyphs-eimage.c (jpeg_instantiate_unwind):
* glyphs-eimage.c (gif_instantiate_unwind):
* glyphs-eimage.c (png_instantiate_unwind):
* glyphs-eimage.c (png_instantiate):
* glyphs-eimage.c (tiff_instantiate_unwind):
* glyphs-gtk.c (convert_EImage_to_GDKImage):
* glyphs-gtk.c (gtk_finalize_image_instance):
* glyphs-gtk.c (gtk_init_image_instance_from_eimage):
* glyphs-gtk.c (gtk_xpm_instantiate):
* glyphs-msw.c (convert_EImage_to_DIBitmap):
* glyphs-msw.c (mswindows_init_image_instance_from_eimage):
* glyphs-msw.c (mswindows_initialize_image_instance_mask):
* glyphs-msw.c (xpm_to_eimage):
* glyphs-msw.c (mswindows_xpm_instantiate):
* glyphs-msw.c (xbm_create_bitmap_from_data):
* glyphs-msw.c (mswindows_finalize_image_instance):
* glyphs-x.c (convert_EImage_to_XImage):
* glyphs-x.c (x_finalize_image_instance):
* glyphs-x.c (x_init_image_instance_from_eimage):
* glyphs-x.c (x_xpm_instantiate):
* gui-x.c (free_popup_widget_value_tree):
* hash.c (free_hash_table):
* hash.c (grow_hash_table):
* hash.c (pregrow_hash_table_if_necessary):
* imgproc.c (build_EImage_quantable):
* insdel.c (uninit_buffer_text):
* intl-win32.c (convert_multibyte_to_internal_malloc):
* intl.c:
* intl.c (Fset_current_locale):
* keymap.c:
* keymap.c (where_is_recursive_mapper):
* keymap.c (where_is_internal):
* lisp.h:
* lisp.h (xfree):
* lstream.c (Lstream_close):
* lstream.c (resizing_buffer_closer):
* mule-coding.c:
* mule-coding.c (iso2022_finalize_detection_state):
* nt.c:
* nt.c (mswindows_get_long_filename):
* nt.c (nt_get_resource):
* nt.c (init_mswindows_environment):
* nt.c (get_cached_volume_information):
* nt.c (mswindows_opendir):
* nt.c (mswindows_closedir):
* nt.c (mswindows_readdir):
* nt.c (mswindows_stat):
* nt.c (mswindows_getdcwd):
* nt.c (Fmswindows_long_file_name):
* ntplay.c (nt_play_sound_file):
* ntplay.c (play_sound_data_1):
* number-gmp.c (gmp_free):
* number-gmp.c (init_number_gmp):
* number-mp.c (bignum_to_string):
* number-mp.c (BIGNUM_TO_TYPE):
* number.c (bignum_print):
* number.c (bignum_convfree):
* number.c (ratio_print):
* number.c (bigfloat_print):
* number.c (bigfloat_finalize):
* objects-gtk.c (gtk_finalize_color_instance):
* objects-gtk.c (gtk_finalize_font_instance):
* objects-msw.c (mswindows_finalize_color_instance):
* objects-msw.c (mswindows_finalize_font_instance):
* objects-tty.c (tty_finalize_color_instance):
* objects-tty.c (tty_finalize_font_instance):
* objects-tty.c (tty_font_list):
* objects-x.c (x_finalize_color_instance):
* objects-x.c (x_finalize_font_instance):
* process.c:
* process.c (finalize_process):
* realpath.c:
* redisplay.c (add_propagation_runes):
* regex.c:
* regex.c (xfree):
* regex.c (REGEX_FREE_STACK):
* regex.c (FREE_STACK_RETURN):
* regex.c (regex_compile):
* regex.c (regexec):
* regex.c (regfree):
* scrollbar-gtk.c (gtk_free_scrollbar_instance):
* scrollbar-gtk.c (gtk_release_scrollbar_instance):
* scrollbar-msw.c (mswindows_free_scrollbar_instance):
* scrollbar-msw.c (unshow_that_mofo):
* scrollbar-x.c (x_free_scrollbar_instance):
* scrollbar-x.c (x_release_scrollbar_instance):
* select-gtk.c (emacs_gtk_selection_handle):
* select-msw.c (mswindows_own_selection):
* select-x.c:
* select-x.c (x_handle_selection_request):
* select-x.c (unexpect_property_change):
* select-x.c (x_handle_property_notify):
* select-x.c (receive_incremental_selection):
* select-x.c (x_get_window_property_as_lisp_data):
* select-x.c (Fx_get_cutbuffer_internal):
* specifier.c (finalize_specifier):
* syntax.c (uninit_buffer_syntax_cache):
* sysdep.c (qxe_allocating_getcwd):
* sysdep.c (qxe_lstat):
* sysdep.c (copy_in_passwd):
* sysdep.c (qxe_ctime):
* sysdep.c (closedir):
* sysdep.c (DIRSIZ):
* termcap.c (tgetent):
* termcap.c (tprint):
* tests.c (Ftest_data_format_conversion):
* text.c (new_dfc_convert_copy_data):
* text.h (eifree):
* text.h (eito_alloca):
* text.h (eito_external):
* toolbar-msw.c (mswindows_output_toolbar):
* ui-gtk.c (CONVERT_RETVAL):
* ui-gtk.c (__allocate_object_storage):
* unicode.c (free_from_unicode_table):
* unicode.c (free_to_unicode_table):
* unicode.c (free_charset_unicode_tables):
* win32.c (mswindows_read_link_1):
Rename: xfree(VAL, TYPE)->xfree(VAL)
Command used:
gr 'xfree *\((.*),.*\);' 'xfree (\1);' *.[ch]
Followed by grepping for 'xfree.*,' and fixing anything left.
Rationale: Having to specify the TYPE argument is annoying and
error-prone. It was originally put in to work around warnings
due to strict aliasing but years and years ago I rewrote it
in a way that doesn't use the TYPE argument at all and no one
has complained since then. (And anyway, XEmacs is far from
ever being in compliance with strict aliasing and would require
far-reaching changes to get that way.)
| author | Ben Wing <ben@xemacs.org> |
|---|---|
| date | Thu, 04 Feb 2010 07:28:14 -0600 |
| parents | ecf1ebac70d8 |
| children | 308d34e9f07d |
| rev | line source |
|---|---|
| 462 | 1 ;;; widgets-gtk.el --- Embedded widget support for XEmacs w/GTK primitives |
| 2 | |
| 3 ;; Copyright (C) 2001 Free Software Foundation, Inc. | |
| 4 | |
| 5 ;; Maintainer: William M. Perry <wmperry@gnu.org> | |
| 6 ;; Keywords: extensions, internal, dumped | |
| 7 | |
| 8 ;; This file is part of XEmacs. | |
| 9 | |
| 10 ;; XEmacs is free software; you can redistribute it and/or modify it | |
| 11 ;; under the terms of the GNU General Public License as published by | |
| 12 ;; the Free Software Foundation; either version 2, or (at your option) | |
| 13 ;; any later version. | |
| 14 | |
| 15 ;; XEmacs is distributed in the hope that it will be useful, but | |
| 16 ;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 17 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| 18 ;; General Public License for more details. | |
| 19 | |
| 20 ;; You should have received a copy of the GNU General Public License | |
| 21 ;; along with XEmacs; see the file COPYING. If not, write to the | |
| 22 ;; Free Software Foundation, 59 Temple Place - Suite 330, | |
| 23 ;; Boston, MA 02111-1307, USA. | |
| 24 | |
| 25 ;;; Synched up with: Not in FSF. | |
| 26 | |
| 27 ;;; Commentary: | |
| 28 | |
| 29 ;; This file is dumped with XEmacs (when embedded widgets are compiled in). | |
| 30 | |
| 502 | 31 (globally-declare-fboundp |
| 32 '(gtk-button-new-with-label | |
| 33 gtk-signal-connect | |
| 34 gtk-radio-button-new-with-label gtk-radio-button-group | |
| 35 gtk-toggle-button-set-active gtk-check-button-new-with-label | |
| 36 gtk-widget-show-all gtk-notebook-new gtk-notebook-append-page | |
| 37 gtk-vbox-new gtk-label-new gtk-adjustment-new | |
| 38 gtk-progress-bar-new-with-adjustment gtk-adjustment-set-value | |
| 39 gtk-entry-new gtk-entry-set-text gtk-widget-set-style | |
| 40 gtk-widget-get-style)) | |
| 41 | |
| 738 | 42 (defun gtk-widget-get-callback (widget plist instance) |
| 43 (let ((cb (plist-get plist :callback)) | |
| 44 (ex (plist-get plist :callback-ex)) | |
| 45 (real-cb nil)) | |
| 46 (cond | |
| 47 (ex | |
| 48 (gtk-signal-connect widget 'button-release-event | |
| 49 (lambda (widget event data) | |
| 50 (put widget 'last-event event))) | |
| 51 `(lambda (widget &rest ignored) | |
| 52 (funcall ,ex ,instance (get widget 'last-event)))) | |
| 53 (cb | |
| 54 `(lambda (widget &rest ignored) | |
| 55 (if (functionp ,real-cb) | |
| 56 (funcall ,real-cb) | |
| 57 (eval ,real-cb)))) | |
| 58 (t | |
| 59 nil)))) | |
| 462 | 60 |
| 738 | 61 (defun gtk-widget-instantiate-button-internal (plist instance) |
| 462 | 62 (let* ((type (or (plist-get plist :style) 'button)) |
| 63 (label (or (plist-get plist :descriptor) (symbol-name type))) | |
| 64 (widget nil)) | |
| 65 (case type | |
| 66 (button | |
| 67 (setq widget (gtk-button-new-with-label label)) | |
| 738 | 68 (gtk-signal-connect widget 'clicked |
| 69 (gtk-widget-get-callback widget plist instance))) | |
| 462 | 70 (radio |
| 71 (let ((aux nil) | |
| 72 (selected-p (plist-get plist :selected))) | |
| 73 (setq widget (gtk-radio-button-new-with-label nil label) | |
| 74 aux (gtk-radio-button-new-with-label | |
| 75 (gtk-radio-button-group widget) | |
| 76 "bogus sibling")) | |
| 77 (gtk-toggle-button-set-active widget (eval selected-p)) | |
| 78 (gtk-signal-connect widget 'toggled | |
| 738 | 79 (gtk-widget-get-callback widget plist instance) aux))) |
| 462 | 80 (otherwise |
| 81 ;; Check boxes | |
| 82 (setq widget (gtk-check-button-new-with-label label)) | |
| 83 (gtk-toggle-button-set-active widget | |
| 84 (eval (plist-get plist :selected))) | |
| 85 (gtk-signal-connect widget 'toggled | |
| 738 | 86 (gtk-widget-get-callback widget plist instance)))) |
| 462 | 87 (gtk-widget-show-all widget) |
| 88 widget)) | |
| 89 | |
| 738 | 90 (defun gtk-widget-instantiate-notebook-internal (plist instance) |
| 462 | 91 (let ((widget (gtk-notebook-new)) |
| 2367 | 92 ;(items (plist-get plist :items)) |
| 93 ) | |
| 2168 | 94 ; (while items |
| 95 ; (gtk-notebook-append-page widget | |
| 96 ; (gtk-vbox-new nil 3) | |
| 97 ; (gtk-label-new (aref (car items) 0))) | |
| 98 ; (setq items (cdr items))) | |
| 462 | 99 widget)) |
| 100 | |
| 738 | 101 (defun gtk-widget-instantiate-progress-internal (plist instance) |
| 462 | 102 (let* ((adj (gtk-adjustment-new 0.0 0.0 100.0 1.0 5.0 5.0)) |
| 103 (widget (gtk-progress-bar-new-with-adjustment adj))) | |
| 104 (gtk-adjustment-set-value adj (or (plist-get plist :value) 0.0)) | |
| 105 widget)) | |
| 106 | |
| 738 | 107 (defun gtk-widget-instantiate-entry-internal (plist instance) |
| 462 | 108 (let* ((widget (gtk-entry-new)) |
| 109 (default (plist-get plist :descriptor))) | |
| 110 (cond | |
| 111 ((stringp default) | |
| 112 nil) | |
| 113 ((sequencep default) | |
| 114 (setq default (mapconcat 'identity default ""))) | |
| 115 (t | |
| 116 (error "Invalid default value: %S" default))) | |
| 117 (gtk-entry-set-text widget default) | |
| 118 widget)) | |
| 119 | |
| 120 (put 'button 'instantiator 'gtk-widget-instantiate-button-internal) | |
| 121 (put 'tab-control 'instantiator 'gtk-widget-instantiate-notebook-internal) | |
| 122 (put 'progress-gauge 'instantiator 'gtk-widget-instantiate-progress-internal) | |
| 123 (put 'tree-view 'instantiator 'ignore) | |
| 124 (put 'edit-field 'instantiator 'gtk-widget-instantiate-entry-internal) | |
| 125 (put 'combo-box 'instantiator 'ignore) | |
| 126 (put 'label 'instantiator 'ignore) | |
| 127 (put 'layout 'instantiator 'ignore) | |
| 128 | |
| 129 (defun gtk-widget-instantiate-internal (instance | |
| 130 instantiator | |
| 131 pointer-fg | |
| 132 pointer-bg | |
| 133 domain) | |
| 134 "The lisp side of widget/glyph instantiation code." | |
| 135 (let* ((type (aref instantiator 0)) | |
| 136 (plist (cdr (map 'list 'identity instantiator))) | |
| 137 (widget (funcall (or (get type 'instantiator) 'ignore) | |
| 738 | 138 plist instance))) |
| 2168 | 139 ; (add-timeout 0.1 (lambda (obj) |
| 140 ; (gtk-widget-set-style obj | |
| 141 ; (gtk-widget-get-style | |
| 142 ; (frame-property nil 'text-widget)))) | |
| 143 ; widget) | |
| 462 | 144 widget)) |
| 145 | |
| 146 (defun gtk-widget-property-internal () | |
| 147 nil) | |
| 148 | |
| 149 (defun gtk-widget-redisplay-internal () | |
| 150 nil) | |
| 151 | |
| 152 (provide 'widgets-gtk) |
