summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Make `test-groff' work again -- previously, wrong paths have beenwl2004-12-1617-160/+354
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | used. Additionally, it can now be called from anywhere. * test-groff.in: Don't test for groff binary. This is no longer necessary since the proper paths are determined by `configure'. (EXEEXT): Removed. No longer used. (srcdir, builddir): Use values provided by the configure script. (XENVIRONMENT): Updated. * INSTALL: Updated. Make .tag and .taga work for all devices (but only grohtml actually handles them). * src/devices/grohtml/post-html.cpp: s/html-tag/devtag/. (text_glob::is_br, page::add_tag, html_printer::troff_tag, html_printer::handle_assertion): Don't use hard-coded string lengths. (html_printer::lookahead_for_table): Reset `tbl' properly if necessary. (html_printer::devtag): New function, handling `devtag'. (html_printer::special): Don't handle `html-tag'. * src/include/printer.h, src/libs/libdriver/printer.cpp (printer::devtag): New virtual function. * src/libs/libdriver/input.cpp (parse_x_command) <'X'>: Handle `devtag'. * src/roff/troff/env.cpp, src/roff/troff/mtsm.cpp, src/roff/troff/node.cpp: s/html-tag/devtag/. * src/roff/troff/input.cpp (tag, taga): Always call curenv->add_node. * tmac/an-old.tmac, tmac/s.tmac, tmac/troffrc-end: Use DEVTAG* macros instead of HTML-TAG*. * tmac/devtag.tmac: New file, defining the DEVTAG-* macros. * tmac/www.tmac: Load devtag.tmac. Replace HTML-TAG* macros with DEVTAG* macros. (HTML, HTML-NS): Changed definitions. (URL): Use HTML-NS. (HTML-TAG, HTML-TAG-NS, HTML-TAG-NEXT): Removed. * tmac/Makefile.sub (NORMALFILES): Add devtag.tmac.
* *** empty log message ***wl2004-12-151-0/+2
|
* * gdiffmk.sh: Make sed pattern work with alternate result of GNUwl2004-12-1510-31/+186
| | | | | | | | | | diff's -D option, using `!' instead of `not' in #endif comments. (Exit): Use prefix for each emitted message line. * tests/*: New files for testing gdiffmk. * README, gdiffmk.man, gdiffmk.sh: Updated. Minor fixes.
* Add `-x' command line option to select a diff program.wl2004-12-133-20/+58
| | | | | | | | * gdiffmk.sh: Add code to handle `-x'. Move test for working `diff' down. Fix sed pattern. (Usage): Updated. * gdiffmk.man: Updated.
* * README: New file.wl2004-12-122-0/+44
|
* *** empty log message ***wl2004-12-121-4/+4
|
* Cosmetical fixes.wl2004-12-123-19/+25
|
* Import Mike's `gdiffmk' package.wl2004-12-116-1/+538
| | | | | | * contrib/gdiffmk/*: New files. * Makefile.in (OTHERDIRS): Add contrib/gdiffmk. * NEWS: Updated.
* * TODO: Updated.wl2004-12-112-4/+13
|
* (VFP_CHECK): Must be run in a separate environment.wl2004-12-101-10/+14
|
* *** empty log message ***wl2004-12-081-0/+1
|
* (OTHERDIRS: Fix directory order.wl2004-12-081-2/+2
|
* Import Keith's `pdfmark' package. Integration is very preliminary.wl2004-12-0812-0/+4525
| | | | | | * contrib/pdfmark/*: New files. * Makefile.in (OTHERDIRS): Add contrib/pdfmark. * NEWS: Updated.
* o Small fixes to elvis_syntax.new (dealing with strings, \{\ and \}wl2004-12-086-238/+232
| | | | | | | | | | | | | | | | o Changed . ie \\n[#START] \{\ . if \\n[#DOC_HEADER]=0 \{ . \} . \} in HEAD to . ie \\n[#START] \{\ . if \\n[#DOC_HEADER]=0 \{ .RLD 1v \} . \} so that HEADs at the start of docs with no docheaders falls on the correct baseline. o Removed spurious parens from if ( \\n[#TRAP_DISTANCE] < \\n[#DOC_LEAD]*2 ) in SUBHEAD.
* Fix a bug with title handling in HTML.wl2004-12-073-9/+48
| | | | | | | | | | | * src/devices/grohtml/post-html.cpp (text_glob::is_nf, text_glob::is_fi, text_glob::is_ce): Use strlen to compute string length. (html_printer::handle_tag_within_title): New function. (html_printer::do_title): Use it. * tmac/s.tmac (TL): Don't set `need_eo_tl'. (cov*tl-au-print): Emit `.eo.tl' tag.
* * man/groff_char.man: Minor imrovements.wl2004-12-062-5/+10
|
* * src/preproc/eqn/eqn.man: Revised.wl2004-12-042-88/+275
|
* *** empty log message ***wl2004-11-291-0/+1
|
* * src/utils/xtotroff/xtotroff.c: Reformat to be similar to otherwl2004-11-2514-317/+570
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | groff source files. Include config.h. Include limits.h. Remove X_NOT_STDC_ENV conditional. (Version_string, program_name): New global variables. (groff_flag): Removed. (MapFont): Updated. (usage): Take a stream as argument. Use `program_name'. Update all callers. (main): Add `long_options' array for `--help' and `--version'. Make `-g' a dummy option. Handle `-v' and unknown options. Remove unused `position' variable. * src/utils/xtotroff/Makefile.sub (MAN1): Define. (XLIBS): Add LIBGROFF. * src/utils/xtotroff/xtotroff.man, src/utils/xtotroff/Makefile.in: New files. * src/devices/xditview/Dvi.c (default_font_map): Split into three parts to avoid compiler warning. (resources): Don't initialize with `default_font_map'. (ClassInitialize): Initialize first element of `resources'. * src/devices/xditview/Makefile.sub (devdir, xtotroff, DPIS, fonts): Removed. * src/utils/lkbib/lkbib.man, src/utils/lookbib/lookbib.man, src/utils/pfbtops/pfbtops.man: Revised, updated. * configure.ac: Generate src/utils/xtotroff/Makefile. * configure: Regenerated.
* (HR, LI): Use `HTML</p>', not `HTML'.wl2004-11-242-2/+3
|
* First fixes to get produce HTML.wl2004-11-244-13/+27
| | | | | | | | | * src/devices/grohtml/post-html.cpp (generate_img_src): Add `alt' attribute. * tmac/www.tmac (IMG, PIMG, MPIMG): Add `alt' attribute. * doc/webpage.ms: Minor updates.
* Add option -S grohtml to determine the file split level.wl2004-11-235-115/+159
| | | | | | | | | | | | | | | * src/devices/grohtml/post-html.cpp (split_level): New global variable. (html_header::determine_header_level): Use split_level. (main): Handle `-S' command line option. Sort options. * src/preproc/html/pre-html.cpp (scanArguments): Updated. * src/devices/grohtml/grohtml.man: Document it. Sort options. * NEWS: Document it.
* * tmac/s.tmac (ref*add-V, ref*add-N): New macros for handlingwl2004-11-232-0/+11
| | | | the volume and number refer entries.
* *** empty log message ***wl2004-11-231-0/+2
|
* * src/devices/grohtml/html-table.cppwl2004-11-234-39/+55
| | | | | (html_table::emit_table_header): Don't emit `cols' attribute which doesn't exist in HTML 4.0 and is thus invalid.
* formattingwl2004-11-221-3/+5
|
* * tmac/www.tmac (HTML-NS, HTML-TAG-NS, HTML-TAG-NEXT): Simplified.wl2004-11-206-51/+152
| | | | | | | | | | | | | | | | | | | (HTML</p>): Minor clean-up. * tmac/groff_www.man: Updated. * src/devices/grohtml/grohtml.man: Revised and updated. * NEWS: Updated. * src/devices/grohtml/post-html.cpp (html_printer::do_heading): Fix space insertion. (html_printer::do_links): Fix rules generation around automatic heading links. * tmac/www.tmac (LK): Use HTML-TAG-NS. (HR): Simplify. No longer emit empty line for non-HTML devices.
* * doc/Makefile.in (prepare_examples, webpage.html): Handlewl2004-11-173-4/+16
| | | | | | | `groff.css'. * doc/Makefile.sub (EXAMPLEFILES, CLEANNOTSRCDIRADD, prepare_examples, webpage.html): Handle `groff.css'.
* *** empty log message ***wl2004-11-161-1/+1
|
* * README, doc/webpage.ms: Updated.wl2004-11-165-59/+65
| | | | * tmac/www.tmac (HTML, HTML-TAG): Minor clean-ups.
* * release of groffer 0.9.12wl2004-11-163-36/+92
| | | | | | | | | | | | | | | * groffer.sh: - main_init(): Rewriting of the creation of the temporary directory to ensure that it cannot be made writable apart from the user. If the directory already exists and cannot be removed then append `X' to the directory name. - is_non_empty_file(): fix it to use POSIX `test -s'. - is_existing(): new function. - POSIX `rm -f -r': use this in `clean_up()' and `main_init()'. - `--macro-file': remove this unused long option. - `-V', `--source', `--device': move these from groff options to groffer options. - `$_TMP_DIR_SUB': remove this unused variable.
* * src/include/printer.h (printer): Remove virtual functionwl2004-10-308-27/+11
| | | | | | | | `round_width'. Update all source files. * src/devices/grohtml/post-html.cpp (html_printer): New member function `round_width'.
* * src/preproc/tbl/table.cpp (table::do_row): Fix handling of the `d'wl2004-10-202-1/+12
| | | | column key letter suffix.
* o Reworked the LL macro so that the argument can take a prepended +wl2004-10-155-32/+127
| | | | | | | | | | | | | | | or - sign (i.e. the argument is relative to the current line length). o Added an .if \\n(.n=0 if to the ie clause in LS that controls how mom responds to initial LS invocation at page top if T_MARGIN has been set. Now, if there's text on the "top" baseline, LS behaves as expected when invoked afterwards. o Added an ie !r#DOCS clause to the processing of "top baseline" ALDs. ALD is used extensively (internally) in the document processing macros, and does not need to check--indeed, should not check--for top baseline placement prior to execution.
* * Makefile.in (check): Depend on `site.exp' and `docheck'.wl2004-10-153-3/+39
| | | | | | | (docheck): Run dejagnu's `runtest' if it exists. (site.exp): Create dejagnu configuration file. * Makefile.sub (DISTCLEANFILES): Add files related to dejagnu.
* * src/devices/grohtml/html-text.cpp (html_text_get_alignment),wl2004-10-1512-84/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | src/devices/grohtml/post-html.cpp (make_val, html_printer::handle_state_assertion): Fix compiler warnings. * src/roff/troff/div.cpp: Include `stringclass.h' and `mtsm.h'. (diversion::diversion): Fix order of initializers. * src/roff/troff/div.h: Don't include `mtsm.h'. * src/roff/troff/env.cpp: Include `stringclass.h' and `mtsm.h'. (environment::environment): Fix order of initializers. (environment::make_tag, environment::construct_format_state): Fix compiler warnings. * src/roff/troff/input.cpp: Include `stringclass.h' and `mtsm.h'. (input_iterator::input_iterator, macro::macro): Fix order of initializers. * src/roff/troff/mtsm.cpp: Include only necessary header files. (state_set::add, state_set::val): Fix compiler warnings. * src/roff/troff/mtsm.h: Don't include `stringclass.h'. (bool_value_state, int_value_state, units_value_state, string_value_state): Remove comma after last element which causes an error with g++ 3.3.3. * src/roff/troff/node.cpp: Include `stringclass.h'. (hline_node::hline_node, vline_node::vline_node, space_char_hmotion_node, left_italic_corrected_node): Fix compiler warnings. (zero_width_node::zero_width_node): Fix order of initializers. * src/roff/troff/node.h: Don't include `mtsm.h'. (hmotion_node): Fix compiler warnings. * src/roff/troff/number.cpp: Include `stringclass.h' and `mtsm.h'.
* * doc/groff.css: New file.wl2004-10-136-53/+162
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/webpage.ms: Use `groff.css'. Other small fixes. * tmac/an-old.tmac (need_eo_h): New number register. (TH): Emit `.eo.tl' tag after title. (SH): Set `need_eo_h'. (an-trap): Handle `need_eo_h'. (an-do-tag): s/HTML-TAG-NS/HTML-TAG-NEXT/. * tmac/s.tmac (need_eo_h, need_eo_tl): New number registers. (TL): Always start diversion. Updated. (@AI): Always call `par@reset'. (@AB): Update code for -Thtml. (cov*tl-au-print): Handle -Thtml. (par@reset): Handle `need_eo_tl', `need_eo_h'. (@IP): Simplified. (@IT-html): Removed. (@SH): Set `need_eo_h' for -Thtml. (par@TL): s/HTML-TAG/HTMl-TAG-NS/. Set `need_eo_tl'. (@NH): s/HTML-TAG/HTMl-TAG-NS/. Set `need_eo_h' for -Thtml. (@EQ, @EN): Don't handle -Thtml specially. (par@load-init): Don't handle -Thtml specially. * tmac/www.tmac (www:paraspace): New macro. (HTML-NS, HTML-TAG-NS): Use new `tag' request. (HTML</p>, HTML-TAG-NEXT): New macros. (HnE): Emit tag `.eo.h' instead of break. (HR): s/HTML-NS/HTML/. (www-end-nowhere): End diversion only if `www-html' not set. Emit `.eo.tl' tag. (ULS, ULE): s|HTML|HTML</p>|. (LI): Call `www:paraspace'. (HEAD): New macro.
* * src/roff/troff/request.h (macro): Make `p' public.wl2004-10-1210-264/+1271
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New variable `is_a_diversion'. New member function `is_diversion'. * src/devices/grohtml/html.h (simple_output): New member function `force_nl'. * src/devices/grohtml/html-table.cpp (tabs::compatible): Fix computation of `total'. (tabs::check_init): New function. (html_table::emit_table_header): Emit style data. (html_table::insert_column): Improved. * src/devices/grohtml/html-table.h: Updated. * src/devices/grohtml/html-text.cpp (html_text::html_text): Initialize `start_space' with TRUE. (html_text::end_tag, html_start_tag): Fix `P_TAG' and `PRE_TAG' cases. (html_text::flush_text): Set `start_space' flag. (html_text::uses_indent, html_text::remove_para_space, html_text::get_alignment): New functions. (html_text::push_para): Updated. (html_text::do_para): Check for empty argument. Don't set `space_emitted'. (html_text::do_space, html_text::emit_space): Updated. * src/devices/grohtml/html-text.h (tag_definition): New variable `really_issued'. (html_text): New member function `uses_indent', `remove_para_space', `get_alignment'. * src/devices/grohtml/output.cpp (simple_output::force_nl): New function. (simple_output:nl): Always emit `\n'. * src/devices/grohtml/post-html.cpp: Include `string.h'. (BASE_POINT_SIZE): Removed. (base_point_size, head_info): New global variables. (text_glob): New member functions `is_ll', `is_tl', `is_eo_tl', `is_eo_h'. (text_glob::is_nf, text_glob::is_fi): Handle `.fi 0' and `.fi 1' tags, respectively. (page::add_and_encode): Pass additional parameter for tag flag. (assert_pos): New structure. (assert_state): New class. (html_printer): Remove `indentation', `prev_indent'. Add variables `troff_indent', `device_indent', `temp_indent'. Add variables `seen_indent', `next_indent', `seen_pageoffset', `next_pageoffset', `seen_linelenght', `next_linelength', `seen_center', `next_center', `seen_space', `seen_break', `as'. Add member functions `do_check_center', `do_space', `do_head', `get_troff_indent', `restore_troff_indent', `handle_assertion', `handle_state_assertion', `do_end_para', `set_char_and_width'. Change argument to `do_fill' to `char *'. Update constructor. (html_printer::emit_raw): Call `shutdown_table'. Use new functions. (html_printer::do_center): Simplified. (html_printer::do_title): Improved. (html_printer::write_header): Emit one more newline. Use new functions. (html_printer::do_heading, html_printer::do_indent, html_printer::do_eol, html_printer::do_tab_ts, html_printer::do_tab, html_printer::do_tab0, html_printer::calc_po_in, html_printer::next_horiz_pos, html_printer::remove_courier_tabs, html_printer::insert_tab0_foreach_tab, html_printer::begin_page): Updated. (html_printer::do_linelength, html_printer::do_pageoffset, html_printer::do_indentation, html_printer::do_tempindent, html_printer::do_tab_te): Simplified. (html_printer::do_pointsize): Check whether point size is really associated a `.tl' tag. (html_printer::do_break): Rewritten. (html_printer::troff_tag): Improved. (html_printer::flush_globs): Updated. (html_printer::lookahead_for_tables): Handle `is_br'. Use new functions. (html_printer::set_char): Check `sbuf_style.f'. (html_printer::write_navigation): Use string comparison. (html_printer::~html_printer): Emit `head_info'. (html_printer::special): Rewritten. (get_str, make_val): New functions. (main): New option `s' to set the base point size. * src/preproc/html/pre-html.cpp (scanArguments): Handle option `s'.
* * src/roff/troff/node.cpp: New extern `debug_state'.wl2004-10-123-111/+663
| | | | | | | | | | | | | | | | | | | | | | Include `stringclass.h' and `mtsm.h'. Implement new classes and class members from `node.h'. (real_output_file): Make `fp' public. (troff_output_file): New variables `cur_div_level' and `tag_list'. Update constructors. (troff_output_file::really_print_line): Check whether we should push the current troff state and use the state at the start of the invocation of this diversion. (troff_output_file::add_to_tag_list): New member function. (node::add_char): Handle `glyph_comp_np'. * src/roff/troff/node.h: Include `mtsm.h'. (node): New variables `state', `push_state', `div_nest_level', `is_special'. Update constructors, all descendants. Pass additional argument to `add_char' member function. New virtual member functions `is_tag', `debug_node', `debug_node_list'. Update all descendants. (tag_node): New class for handling tags. (output_file): Add variable `state'.
* * src/roff/troff/mtsm.cpp, src/roff/troff/mtsm.h: New files,wl2004-10-104-0/+826
| | | | | | | | providing a minimal troff state machine to emit meta tags for the post-grohtml device driver. * src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS): Handle new files.
* * src/roff/troff/column.cpp (vjustify_node::copy): Updated.wl2004-10-106-195/+449
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/roff/troff/div.h: Include `mtsm.h'. (diversion): New variables `any_chars_added', `needs_push', `saved_seen_break', `saved_seen_space', `saved_seen_eol', `saved_suppress_next_eol', `modified_tag'. New virtual member function `is_diversion'. Update all descendants. * src/roff/troff/div.cpp (diversion::diversion, macro_diversion::macro_diversion): Updated. (do_divert): Handle `seen_break', `seen_space', `seen_eol', `suppress_next_eol'. (top_level_diversion::space): Handle `curenv->seen_space'. (page_offset): Update tag handling. (space_request, blank_line, flush_output): Don't call `add_html_tag'. * src/roff/troff/env.h (environment): Make `tabs' public. Remove `ignore_next_eol', `emitted_node'. Update `output_line', `output'. New variables `seen_space', `seen_eol', `suppress_next_eol', `seen_break'. New member functions `construct_state', `make_tag', `construct_format_state, `construct_new_line_state, `dump_troff_state'. Remove `add_html_tag', `make_html_tag'. * src/roff/troff/env.cpp: New externs `suppress_push', `get_diversion_state', `global_diverted_space'. (pending_output_line): New variable `was_centered'. Update constructor and all callers. (pending_output_line::output): Call `curenv->construct_format_state'. (environment::environment, environment::copy): Updated. (environment::output): Handle `was_centered'. (environment::add_char): Handle construct and diversion state. (environment::add_node): Handle construct state. (environment::newline): Handle `was_centered'. (environment::output_line): Updated. (environment::possibly_break_line): Updated. Update tag handling. (environment::add_html_tag): Replaced with... (environment::make_tag): New function. (environment::add_html_tag_tabs, environment::make_html_tag): Removed. (environment::dump_troff_state): New debugging function. (environment::construct_state, environment::construct_format_state, environment::construct_new_line_state): New functions. (environment::do_break): Updated. Handle `global_diverted_space'. (environment::handle_tag): Update tag handling. (point_size, fill, do_break_request): Don't call `add_html_tag'. (no_fill): Don't call `add_html_tag'. Set `suppress_next_eol'. (center, right_justify, line_length, indent, temporary_indent, set_tabs): Update tag handling. * src/roff/troff/input.cpp: Don't include `stringclass.h'. (input_iterator): New variables `is_diversion', `diversion_state'. Update constructors. (input_stack): New member functions `get_div_level', `get_diversion_state', `check_end_diversion'. New variables `div_level', `diversion_state'. Initialize them. (suppress_push, global_diverted_space): New global variables. (input_stack::finish_get, input_stack::finish_peek, input_stack::remove_boundary, input_stack::end_file, input_stack::clear, input_stack::pop_macro): Call `check_end_diversion'. (input_stack::push): Handle `div_level' and `diversion_state'. (get_diversion_state): New function. (diverted_space_node::reread): Handle `global_diverted_space'. (macro::macro): Update constructors. (macro::is_diversion): New function. (macro::operator=): Set `is_a_diversion'. (string_iterator): New member function `is_diversion'. (string_iterator::string_iterator): Update constructors. (string_iterator::fill): Set `div_nest_level'. (macro_iterator): New member function `is_diversion'. (do_if_request): Handle `suppress_push'. (tag, taga): New functions. (init_input_requests): Add `tag' and `taga' requests.
* * tmac/trace.tmac: Fix handling of `am' and `am1' calls.wl2004-10-102-4/+93
|
* * src/include/font.h (font): New member functionwl2004-10-088-7/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | `get_image_generator'. New variables `unscaled_charwidths' and `image_generator'. * src/libs/libgroff/font.cpp (font::get_width): Always return the character's unscaled width if `font::unscaled_charwidths' is set. (font::get_image_generator): New function. (font::load_desc): Check the `unscaled_charwidths' and `image_generator' keywords. * src/libs/libgroff/fontfile.cpp: Initialize `font::unscaled_charwidths' and `font::image_generator'. * font/devhtml/DESC.proto: s/html/unscaled_charwidths/. * font/devhtml/Makefile.sub (DESC): Set `image_generator' keyword. * man/groff_font.man: Document `unscaled_charwidths' and `image_generator'. * src/preproc/html/pre-html.cpp: Include `device.h'. (image_gen): New global variable. (imageList::createPage): Use `image_gen'. (main): Use `image_generator' keyword.
* * tmac/html.tmac: Handle \[sqrtex].wl2004-10-072-0/+5
|
* * src/include/printer.h (printer): New virtual method `round_width'.wl2004-10-078-0/+60
| | | | | | | | | | | * src/devices/grodvi/dvi.cpp, src/devices/grolbp/lbp.cpp, src/devices/grolj4/lj4.cpp, src/devices/grops/ps.cpp, src/devices/grotty/tty.cpp (printer::round_width): New function member. * src/devices/grohtml/post-html.cpp (printer::round_width): New function member. (html_printer::set_numbered_char): Use it.
* * aclocal.m4 (GROFF_GHOSTSCRIPT_PATH): New macro.wl2004-10-075-2/+128
| | | | | | | | | * configure.ac: Call GROFF_GHOSTSCRIPT_PATH. * configure: Regenerated. * Makefile.in (GHOSTSCRIPT): New variable. (MDEFINES): Add GHOSTSCRIPT.
* * INSTALL.gen: Updated (taken from texinfo CVS).wl2004-10-072-41/+50
|
* Minor typos.wl2004-10-046-9/+7
|
* o Additions to elvis_syntax.newwl2004-09-297-36/+132
|
* * NEWS: Updated.wl2004-09-293-38/+110
| | | | * tmac/groff_www.man: Revised and updated.