refer.h revision 104862
1235633Sdim// -*- C++ -*- 2224133Sdim/* Copyright (C) 1989, 1990, 1991, 1992, 2001 Free Software Foundation, Inc. 3224133Sdim Written by James Clark (jjc@jclark.com) 4224133Sdim 5224133SdimThis file is part of groff. 6224133Sdim 7224133Sdimgroff is free software; you can redistribute it and/or modify it under 8224133Sdimthe terms of the GNU General Public License as published by the Free 9224133SdimSoftware Foundation; either version 2, or (at your option) any later 10224133Sdimversion. 11224133Sdim 12224133Sdimgroff is distributed in the hope that it will be useful, but WITHOUT ANY 13224133SdimWARRANTY; without even the implied warranty of MERCHANTABILITY or 14224133SdimFITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 15252723Sdimfor more details. 16224133Sdim 17226890SdimYou should have received a copy of the GNU General Public License along 18224133Sdimwith groff; see the file COPYING. If not, write to the Free Software 19224133SdimFoundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 20224133Sdim 21235633Sdim#include "lib.h" 22226890Sdim 23224133Sdim#include <stdlib.h> 24224133Sdim#include <assert.h> 25224133Sdim#include <errno.h> 26224133Sdim 27224133Sdim#include "errarg.h" 28224133Sdim#include "error.h" 29224133Sdim#include "stringclass.h" 30224133Sdim#include "cset.h" 31224133Sdim#include "cmap.h" 32224133Sdim 33224133Sdim#include "defs.h" 34224133Sdim 35224133Sdimunsigned hash_string(const char *, int); 36224133Sdimint next_size(int); 37224133Sdim 38224133Sdimextern string capitalize_fields; 39224133Sdimextern string reverse_fields; 40224133Sdimextern string abbreviate_fields; 41226890Sdimextern string period_before_last_name; 42226890Sdimextern string period_before_initial; 43226890Sdimextern string period_before_hyphen; 44226890Sdimextern string period_before_other; 45224133Sdimextern string sort_fields; 46224133Sdimextern int annotation_field; 47224133Sdimextern string annotation_macro; 48224133Sdimextern string discard_fields; 49224133Sdimextern string articles; 50224133Sdimextern int abbreviate_label_ranges; 51224133Sdimextern string label_range_indicator; 52224133Sdimextern int date_as_label; 53224133Sdimextern string join_authors_exactly_two; 54263509Sdimextern string join_authors_last_two; 55263509Sdimextern string join_authors_default; 56263509Sdimextern string separate_label_second_parts; 57226890Sdimextern string et_al; 58226890Sdimextern int et_al_min_elide; 59263509Sdimextern int et_al_min_total; 60263509Sdim 61226890Sdimextern int compatible_flag; 62226890Sdim 63226890Sdimextern int set_label_spec(const char *); 64226890Sdimextern int set_date_label_spec(const char *); 65226890Sdimextern int set_short_label_spec(const char *); 66235633Sdim 67235633Sdimextern int short_label_flag; 68226890Sdim 69252723Sdimvoid clear_labels(); 70252723Sdimvoid command_error(const char *, 71252723Sdim const errarg &arg1 = empty_errarg, 72235633Sdim const errarg &arg2 = empty_errarg, 73226890Sdim const errarg &arg3 = empty_errarg); 74226890Sdim 75226890Sdimstruct reference; 76252723Sdim 77252723Sdimvoid compute_labels(reference **, int); 78252723Sdim