annotate etc/ETAGS.EBNF @ 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 a827a51c3241
children 308d34e9f07d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2225
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
1 -*- indented-text -*-
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
2
3876
a827a51c3241 [xemacs-hg @ 2007-03-24 11:46:37 by stephent]
stephent
parents: 2554
diff changeset
3 See the end of this file for copyright information.
a827a51c3241 [xemacs-hg @ 2007-03-24 11:46:37 by stephent]
stephent
parents: 2554
diff changeset
4
2225
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
5 This file contains two sections:
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
6
2554
94f848eb8e4b [xemacs-hg @ 2005-02-03 18:09:26 by james]
james
parents: 2325
diff changeset
7 1) An EBNF (Extended Backus-Naur Form) description of the format of
2225
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
8 the tags file created by etags.c and interpreted by etags.el;
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
9 2) A discussion of tag names and implicit tag names.
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
10
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
11 ====================== 1) EBNF tag file description =====================
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
12
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
13 Productions created from current behaviour to aid extensions
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
14 Francesco Potorti` <pot@gnu.org> 2002
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
15 ----------------
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
16
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
17 FF ::= #x0c /* tag section starter */
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
18
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
19 LF ::= #x0a /* line terminator */
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
20
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
21 DEL ::= #x7f /* pattern terminator */
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
22
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
23 SOH ::= #x01 /* name terminator */
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
24
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
25 regchar ::= [^#x0a#x0c#x7f] /* regular character */
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
26
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
27 regstring ::= { regchar } /* regular string */
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
28
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
29 unsint ::= [0-9] { [0-9] } /* non-negative integer */
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
30
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
31
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
32
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
33 tagfile ::= { tagsection } /* a tags file */
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
34
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
35 tagsection ::= FF LF ( includesec | regularsec ) LF
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
36
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
37 includesec ::= filename ",include" [ LF fileprop ]
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
38
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
39 regularsec ::= filename "," [ unsint ] [ LF fileprop ] { LF tag }
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
40
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
41 filename ::= regchar regstring /* a file name */
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
42
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
43 fileprop ::= "(" regstring ")" /* an elisp alist */
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
44
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
45 tag ::= directtag | patterntag
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
46
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
47 directtag ::= DEL realposition /* no pattern */
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
48
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
49 patterntag ::= pattern DEL [ tagname SOH ] position
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
50
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
51 pattern ::= regstring /* a tag pattern */
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
52
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
53 tagname ::= regchar regstring /* a tag name */
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
54
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
55 position ::= realposition | "," /* charpos,linepos */
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
56
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
57 realposition ::= "," unsint | unsint "," | unsint "," unsint
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
58
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
59 ==================== end of EBNF tag file description ====================
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
60
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
61
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
62
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
63 ======================= 2) discussion of tag names =======================
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
64
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
65 - WHAT ARE TAG NAMES
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
66 Tag lines in a tags file are usually made from the above defined pattern
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
67 and by an optional tag name. The pattern is a string that is searched
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
68 in the source file to find the tagged line.
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
69
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
70 - WHY TAG NAMES ARE GOOD
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
71 When a user looks for a tag, Emacs first compares the tag with the tag
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
72 names contained in the tags file. If no match is found, Emacs compares
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
73 the tag with the patterns. The tag name is then the preferred way to
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
74 look for tags in the tags file, because when the tag name is present
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
75 Emacs can find a tag faster and more accurately. These tag names are
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
76 part of tag lines in the tags file, so we call them "explicit".
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
77
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
78 - WHY IMPLICIT TAG NAMES ARE EVEN BETTER
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
79 When a tag line has no name, but a name can be deduced from the pattern,
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
80 we say that the tag line has an implicit tag name. Often tag names are
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
81 redundant; this happens when the name of a tag is an easily guessable
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
82 substring of the tag pattern. We define a set of rules to decide
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
83 whether it is possible to deduce the tag name from the pattern, and make
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
84 an unnamed tag in those cases. The name deduced from the pattern of an
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
85 unnamed tag is the implicit name of that tag.
2325
9d8bfee6e672 [xemacs-hg @ 2004-10-07 14:51:11 by james]
james
parents: 2225
diff changeset
86 When the user looks for a tag, and Emacs finds no explicit tag names
2225
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
87 that match it, Emacs then looks for an tag whose implicit tag name
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
88 matches the request. etags.c uses implicit tag names when possible, in
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
89 order to reduce the size of the tags file.
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
90 An implicit tag name is deduced from the pattern by discarding the
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
91 last character if it is one of ` \f\t\n\r()=,;', then taking all the
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
92 rightmost consecutive characters in the pattern which are not one of
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
93 those.
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
94
4968c73cb252 [xemacs-hg @ 2004-08-20 04:40:08 by james]
james
parents:
diff changeset
95 ===================== end of discussion of tag names =====================
3876
a827a51c3241 [xemacs-hg @ 2007-03-24 11:46:37 by stephent]
stephent
parents: 2554
diff changeset
96
a827a51c3241 [xemacs-hg @ 2007-03-24 11:46:37 by stephent]
stephent
parents: 2554
diff changeset
97 Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007
a827a51c3241 [xemacs-hg @ 2007-03-24 11:46:37 by stephent]
stephent
parents: 2554
diff changeset
98 Free Software Foundation, Inc.
a827a51c3241 [xemacs-hg @ 2007-03-24 11:46:37 by stephent]
stephent
parents: 2554
diff changeset
99
a827a51c3241 [xemacs-hg @ 2007-03-24 11:46:37 by stephent]
stephent
parents: 2554
diff changeset
100 COPYING PERMISSIONS:
a827a51c3241 [xemacs-hg @ 2007-03-24 11:46:37 by stephent]
stephent
parents: 2554
diff changeset
101
a827a51c3241 [xemacs-hg @ 2007-03-24 11:46:37 by stephent]
stephent
parents: 2554
diff changeset
102 This document is free software; you can redistribute it and/or modify
a827a51c3241 [xemacs-hg @ 2007-03-24 11:46:37 by stephent]
stephent
parents: 2554
diff changeset
103 it under the terms of the GNU General Public License as published by
a827a51c3241 [xemacs-hg @ 2007-03-24 11:46:37 by stephent]
stephent
parents: 2554
diff changeset
104 the Free Software Foundation; either version 2 of the License, or
a827a51c3241 [xemacs-hg @ 2007-03-24 11:46:37 by stephent]
stephent
parents: 2554
diff changeset
105 (at your option) any later version.
a827a51c3241 [xemacs-hg @ 2007-03-24 11:46:37 by stephent]
stephent
parents: 2554
diff changeset
106
a827a51c3241 [xemacs-hg @ 2007-03-24 11:46:37 by stephent]
stephent
parents: 2554
diff changeset
107 This program is distributed in the hope that it will be useful,
a827a51c3241 [xemacs-hg @ 2007-03-24 11:46:37 by stephent]
stephent
parents: 2554
diff changeset
108 but WITHOUT ANY WARRANTY; without even the implied warranty of
a827a51c3241 [xemacs-hg @ 2007-03-24 11:46:37 by stephent]
stephent
parents: 2554
diff changeset
109 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
a827a51c3241 [xemacs-hg @ 2007-03-24 11:46:37 by stephent]
stephent
parents: 2554
diff changeset
110 GNU General Public License for more details.
a827a51c3241 [xemacs-hg @ 2007-03-24 11:46:37 by stephent]
stephent
parents: 2554
diff changeset
111
a827a51c3241 [xemacs-hg @ 2007-03-24 11:46:37 by stephent]
stephent
parents: 2554
diff changeset
112 You should have received a copy of the GNU General Public License
a827a51c3241 [xemacs-hg @ 2007-03-24 11:46:37 by stephent]
stephent
parents: 2554
diff changeset
113 along with this program; if not, write to the Free Software
a827a51c3241 [xemacs-hg @ 2007-03-24 11:46:37 by stephent]
stephent
parents: 2554
diff changeset
114 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA