14.5 Version 1.40

  1. The meaning of ‘@+’ has changed. (SORRY!) Formerly, this inhibited a line break; that function is now performed by ‘@~’. The new meaning of ‘@+’ is to force an index entry (the opposite of ‘@-’, which inhibits an index entry).

    If you have large codes using the old ‘@+’ that you do not wish to convert, you can recover the old mappings by placing the following commands into fweb.sty:

    yes_index = "~"
    no_line_break = "+"
    

    However, please try to make the conversion; the new codes are intended to be more symmetrical and easier to remember.

  2. Built-in functions now begin with ‘$’, not ‘_’. The underscore prefix was a bad design decision; it introduces conflicts with ANSI C in certain circumstances. To ease conversion, the old forms are still understood. Thus, one can use ‘$EVAL’ and ‘_EVAL’ interchangably. However, do not use the underscore forms; they will be deleted in future releases.
  3. Full LaTeX support. FWEB no longer usurps LaTeX’s \output routine, and LaTeX’s sectioning commands, Table-of-Contents commands, etc. are used. The appearance of the woven output is changed to be more book-like. (This is an experiment.)
  4. Verbatim language.@Lv’ selects a language-independent format. See Special considerations for the VERBATIM language
  5. Language-independent mode. The N mode inhibits pretty-printing, blank compression, etc.; source code is essentially copied literally from input to output. This mode is turned on automatically by the VERBATIM language, but it can also be used with the other languages. It is turned on by the command-line option ‘-N’ or the local command ‘@N’. See @N’: Turn on N mode.
  6. Writing of temporary files. When the ‘-F’ command-line option is in effect, tangled output is written to temporary files instead of the final target files, and the temporary files are compared to the last version of the target files on disk. If there is no change, the target files are not updated. This avoid unnecessary recompilation if only the documentation, not the code, was changed. See -F’: Compare output files with old versions (FTANGLE).
  7. Converting output tokens to lower case. See -U’: Convert reserved output tokens to lower case (FTANGLE).
  8. The built-in functions ‘$E’ and ‘$PI’. See $E: Base of the natural logarithms, $PI: Pi.
  9. The built-in functions ‘$EXP’, ‘$LOG’, and ‘$LOG10’. See $EXP: Exponential function, $LOG: Natural logarithm, and $LOG10: Logarithm to the base 10.
  10. $MAX’ and ‘$MIN’ generalized to take arbitrary list of arguments. See $MAX: Maximum of a list, $MIN: Minimum.
  11. The marriage-saver option. In response to a serious user request, see -B’: Turn off audible beeps.