gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r25131 - in libmicrohttpd: . doc src/include


From: gnunet
Subject: [GNUnet-SVN] r25131 - in libmicrohttpd: . doc src/include
Date: Sun, 25 Nov 2012 14:12:04 +0100

Author: grothoff
Date: 2012-11-25 14:12:04 +0100 (Sun, 25 Nov 2012)
New Revision: 25131

Modified:
   libmicrohttpd/INSTALL
   libmicrohttpd/doc/texinfo.tex
   libmicrohttpd/src/include/microhttpd.h
Log:
-new API proposal

Modified: libmicrohttpd/INSTALL
===================================================================
--- libmicrohttpd/INSTALL       2012-11-25 12:32:59 UTC (rev 25130)
+++ libmicrohttpd/INSTALL       2012-11-25 13:12:04 UTC (rev 25131)
@@ -1,7 +1,7 @@
 Installation Instructions
 *************************
 
-Copyright (C) 1994-1996, 1999-2002, 2004-2012 Free Software Foundation,
+Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation,
 Inc.
 
    Copying and distribution of this file, with or without modification,
@@ -309,10 +309,9 @@
 overridden in the site shell script).
 
 Unfortunately, this technique does not work for `CONFIG_SHELL' due to
-an Autoconf limitation.  Until the limitation is lifted, you can use
-this workaround:
+an Autoconf bug.  Until the bug is fixed you can use this workaround:
 
-     CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
+     CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
 
 `configure' Invocation
 ======================
@@ -368,3 +367,4 @@
 
 `configure' also accepts some other, not widely useful, options.  Run
 `configure --help' for more details.
+

Modified: libmicrohttpd/doc/texinfo.tex
===================================================================
--- libmicrohttpd/doc/texinfo.tex       2012-11-25 12:32:59 UTC (rev 25130)
+++ libmicrohttpd/doc/texinfo.tex       2012-11-25 13:12:04 UTC (rev 25131)
@@ -3,11 +3,11 @@
 % Load plain if necessary, i.e., if running under initex.
 \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
 %
-\def\texinfoversion{2012-09-05.06}
+\def\texinfoversion{2012-01-03.09}
 %
 % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
 % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-% 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+% 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
 %
 % This texinfo.tex file is free software: you can redistribute it and/or
 % modify it under the terms of the GNU General Public License as
@@ -28,9 +28,9 @@
 %
 % Please try the latest version of texinfo.tex before submitting bug
 % reports; you can get the latest version from:
-%   http://ftp.gnu.org/gnu/texinfo/ (the Texinfo release area), or
-%   http://ftpmirror.gnu.org/texinfo/ (same, via a mirror), or
-%   http://www.gnu.org/software/texinfo/ (the Texinfo home page)
+%   http://www.gnu.org/software/texinfo/ (the Texinfo home page), or
+%   ftp://tug.org/tex/texinfo.tex
+%     (and all CTAN mirrors, see http://www.ctan.org).
 % The texinfo.tex in any given distribution could well be out
 % of date, so if that's what you're using, please check.
 %
@@ -594,7 +594,7 @@
 \def\:{\spacefactor=1000 }
 
 % @* forces a line break.
-\def\*{\unskip\hfil\break\hbox{}\ignorespaces}
+\def\*{\hfil\break\hbox{}\ignorespaces}
 
 % @/ allows a line break.
 \let\/=\allowbreak
@@ -887,7 +887,7 @@
 \def\popthisfilestack{\errthisfilestackempty}
 \def\errthisfilestackempty{\errmessage{Internal error:
   the stack of filenames is empty.}}
-%
+
 \def\thisfile{}
 
 % @center line
@@ -895,46 +895,36 @@
 %
 \parseargdef\center{%
   \ifhmode
-    \let\centersub\centerH
+    \let\next\centerH
   \else
-    \let\centersub\centerV
+    \let\next\centerV
   \fi
-  \centersub{\hfil \ignorespaces#1\unskip \hfil}%
-  \let\centersub\relax % don't let the definition persist, just in case
+  \next{\hfil \ignorespaces#1\unskip \hfil}%
 }
-\def\centerH#1{{%
-  \hfil\break
-  \advance\hsize by -\leftskip
-  \advance\hsize by -\rightskip
-  \line{#1}%
-  \break
-}}
-%
-\newcount\centerpenalty
-\def\centerV#1{%
-  % The idea here is the same as in \startdefun, \cartouche, etc.: if
-  % @center is the first thing after a section heading, we need to wipe
-  % out the negative parskip inserted by \sectionheading, but still
-  % prevent a page break here.
-  \centerpenalty = \lastpenalty
-  \ifnum\centerpenalty>10000 \vskip\parskip \fi
-  \ifnum\centerpenalty>9999 \penalty\centerpenalty \fi
-  \line{\kern\leftskip #1\kern\rightskip}%
+\def\centerH#1{%
+  {%
+    \hfil\break
+    \advance\hsize by -\leftskip
+    \advance\hsize by -\rightskip
+    \line{#1}%
+    \break
+  }%
 }
+\def\centerV#1{\line{\kern\leftskip #1\kern\rightskip}}
 
 % @sp n   outputs n lines of vertical space
-%
+
 \parseargdef\sp{\vskip #1\baselineskip}
 
 % @comment ...line which is ignored...
 % @c is the same as @comment
 % @ignore ... @end ignore  is another way to write a comment
-%
+
 \def\comment{\begingroup \catcode`\^^M=\other%
 address@hidden \catcode`\{=\other \catcode`\}=\other%
 \commentxxx}
 {\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}}
-%
+
 \let\c=\comment
 
 % @paragraphindent NCHARS
@@ -1117,7 +1107,7 @@
 % #1 is a control sequence in which to do the replacements,
 % which we \xdef.
 \def\txiescapepdf#1{%
-  \ifx\pdfescapestring\thisisundefined
+  \ifx\pdfescapestring\relax
     % No primitive available; should we give a warning or log?
     % Many times it won't matter.
   \else
@@ -1183,8 +1173,8 @@
   %
   % #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto).
   \def\dopdfimage#1#2#3{%
-    \def\pdfimagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}%
-    \def\pdfimageheight{#3}\setbox2 = \hbox{\ignorespaces #3}%
+    \def\imagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}%
+    \def\imageheight{#3}\setbox2 = \hbox{\ignorespaces #3}%
     %
     % pdftex (and the PDF format) support .pdf, .png, .jpg (among
     % others).  Let's try in that order, PDF first since if
@@ -1222,8 +1212,8 @@
     \else
       \immediate\pdfximage
     \fi
-      \ifdim \wd0 >0pt width \pdfimagewidth \fi
-      \ifdim \wd2 >0pt height \pdfimageheight \fi
+      \ifdim \wd0 >0pt width \imagewidth \fi
+      \ifdim \wd2 >0pt height \imageheight \fi
       \ifnum\pdftexversion<13
          #1.\pdfimgext
        \else
@@ -1367,17 +1357,12 @@
   \def\skipspaces#1{\def\PP{#1}\def\D{|}%
     \ifx\PP\D\let\nextsp\relax
     \else\let\nextsp\skipspaces
-      \addtokens{\filename}{\PP}%
-      \advance\filenamelength by 1
+      \ifx\p\space\else\addtokens{\filename}{\PP}%
+        \advance\filenamelength by 1
+      \fi
     \fi
     \nextsp}
-  \def\getfilename#1{%
-    \filenamelength=0
-    % If we don't expand the argument now, \skipspaces will get
-    % snagged on things like "@value{foo}".
-    \edef\temp{#1}%
-    \expandafter\skipspaces\temp|\relax
-  }
+  \def\getfilename#1{\filenamelength=0\expandafter\skipspaces#1|\relax}
   \ifnum\pdftexversion < 14
     \let \startlink \pdfannotlink
   \else
@@ -1474,6 +1459,9 @@
 \def\ttsl{\setfontstyle{ttsl}}
 
 
+% Default leading.
+\newdimen\textleading  \textleading = 13.2pt
+
 % Set the baselineskip to #1, and the lineskip and strut size
 % correspondingly.  There is no deep meaning behind these magic numbers
 % used as factors; they just match (closely enough) what Knuth defined.
@@ -1485,7 +1473,6 @@
 % can get a sort of poor man's double spacing by redefining this.
 \def\baselinefactor{1}
 %
-\newdimen\textleading
 \def\setleading#1{%
   \dimen0 = #1\relax
   \normalbaselineskip = \baselinefactor\dimen0
@@ -1758,24 +1745,18 @@
 \fi\fi
 
 
-% Set the font macro #1 to the font named \fontprefix#2.
+% Set the font macro #1 to the font named #2, adding on the
+% specified font prefix (normally `cm').
 % #3 is the font's design size, #4 is a scale factor, #5 is the CMap
-% encoding (only OT1, OT1IT and OT1TT are allowed, or empty to omit).
-% Example:
-% #1 = \textrm
-% #2 = \rmshape
-% #3 = 10
-% #4 = \mainmagstep
-% #5 = OT1
-%
+% encoding (currently only OT1, OT1IT and OT1TT are allowed, pass
+% empty to omit).
 \def\setfont#1#2#3#4#5{%
   \font#1=\fontprefix#2#3 scaled #4
   \csname cmap#5\endcsname#1%
 }
 % This is what gets called when #5 of \setfont is empty.
 \let\cmap\gobble
-%
-% (end of cmaps)
+% emacs-page end of cmaps
 
 % Use cm as the default font prefix.
 % To specify the font prefix, you must define \fontprefix
@@ -1785,7 +1766,7 @@
 \fi
 % Support font families that don't use the same naming scheme as CM.
 \def\rmshape{r}
-\def\rmbshape{bx}               % where the normal face is bold
+\def\rmbshape{bx}               %where the normal face is bold
 \def\bfshape{b}
 \def\bxshape{bx}
 \def\ttshape{tt}
@@ -1800,7 +1781,8 @@
 \def\scshape{csc}
 \def\scbshape{csc}
 
-% Definitions for a main text size of 11pt.  (The default in Texinfo.)
+% Definitions for a main text size of 11pt.  This is the default in
+% Texinfo.
 %
 \def\definetextfontsizexi{%
 % Text fonts (11.2pt, magstep1).
@@ -1925,7 +1907,7 @@
 \textleading = 13.2pt % line spacing for 11pt CM
 \textfonts            % reset the current fonts
 \rm
-} % end of 11pt text font size definitions, \definetextfontsizexi
+} % end of 11pt text font size definitions
 
 
 % Definitions to make the main text be 10pt Computer Modern, with
@@ -2057,7 +2039,7 @@
 \textleading = 12pt   % line spacing for 10pt CM
 \textfonts            % reset the current fonts
 \rm
-} % end of 10pt text font size definitions, \definetextfontsizex
+} % end of 10pt text font size definitions
 
 
 % We provide the user-level command
@@ -2448,12 +2430,34 @@
 % @samp.
 \def\samp#1{{\setupmarkupstyle{samp}\lq\tclose{#1}\rq\null}}
 
-% @indicateurl is \samp, that is, with quotes.
-\let\indicateurl=\samp
+% definition of @key that produces a lozenge.  Doesn't adjust to text size.
+%\setfont\keyrm\rmshape{8}{1000}{OT1}
+%\font\keysy=cmsy9
+%\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
+%  \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
+%    \vbox{\hrule\kern-0.4pt
+%     \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
+%    \kern-0.4pt\hrule}%
+%  \kern-.06em\raise0.4pt\hbox{\angleright}}}}
 
-% @code (and similar) prints in typewriter, but with spaces the same
-% size as normal in the surrounding text, without hyphenation, etc.
-% This is a subroutine for that.
+% definition of @key with no lozenge.  If the current font is already
+% monospace, don't change it; that way, we respect @kbdinputstyle.  But
+% if it isn't monospace, then use \tt.
+%
+\def\key#1{{\setupmarkupstyle{key}%
+  \nohyphenation
+  \ifmonospace\else\tt\fi
+  #1}\null}
+
+% ctrl is no longer a Texinfo command.
+\def\ctrl #1{{\tt \rawbackslash \hat}#1}
+
+% @file, @option are the same as @samp.
+\let\file=\samp
+\let\option=\samp
+
+% @code is a modification of @t,
+% which makes spaces the same size as normal in the surrounding text.
 \def\tclose#1{%
   {%
     % Change normal interword space to be same as for the current font.
@@ -2478,7 +2482,7 @@
 % We *must* turn on hyphenation at `-' and `_' in @code.
 % Otherwise, it is too hard to avoid overfull hboxes
 % in the Emacs manual, the Library manual, etc.
-%
+
 % Unfortunately, TeX uses one parameter (\hyphenchar) to control
 % both hyphenation at - and hyphenation within words.
 % We must therefore turn them both off (\tclose does that)
@@ -2542,13 +2546,6 @@
   \fi\fi
 }
 
-% For @command, @env, @file, @option quotes seem unnecessary,
-% so use \code rather than \samp.
-\let\command=\code
-\let\env=\code
-\let\file=\code
-\let\option=\code
-
 % @uref (abbreviation for `urlref') takes an optional (comma-separated)
 % second argument specifying the text to display and an optional third
 % arg as text to display instead of (rather than in addition to) the url
@@ -2728,25 +2725,11 @@
 \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
 \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi}
 
-% definition of @key that produces a lozenge.  Doesn't adjust to text size.
-%\setfont\keyrm\rmshape{8}{1000}{OT1}
-%\font\keysy=cmsy9
-%\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
-%  \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
-%    \vbox{\hrule\kern-0.4pt
-%     \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
-%    \kern-0.4pt\hrule}%
-%  \kern-.06em\raise0.4pt\hbox{\angleright}}}}
+% For @indicateurl, @env, @command quotes seem unnecessary, so use \code.
+\let\indicateurl=\code
+\let\env=\code
+\let\command=\code
 
-% definition of @key with no lozenge.  If the current font is already
-% monospace, don't change it; that way, we respect @kbdinputstyle.  But
-% if it isn't monospace, then use \tt.
-%
-\def\key#1{{\setupmarkupstyle{key}%
-  \nohyphenation
-  \ifmonospace\else\tt\fi
-  #1}\null}
-
 % @clicksequence{File @click{} Open ...}
 \def\clicksequence#1{\begingroup #1\endgroup}
 
@@ -2853,17 +2836,14 @@
   }
 }
 
-% ctrl is no longer a Texinfo command, but leave this definition for fun.
-\def\ctrl #1{{\tt \rawbackslash \hat}#1}
-
 % @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}.
 % Ignore unless FMTNAME == tex; then it is like @iftex and @tex,
 % except specified as a normal braced arg, so no newlines to worry about.
 % 
 \def\outfmtnametex{tex}
 %
-\long\def\inlinefmt#1{\doinlinefmt #1,\finish}
-\long\def\doinlinefmt#1,#2,\finish{%
+\def\inlinefmt#1{\doinlinefmt #1,\finish}
+\def\doinlinefmt#1,#2,\finish{%
   \def\inlinefmtname{#1}%
   \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\fi
 }
@@ -2875,8 +2855,8 @@
 % well use a command to get a left brace too.  We could re-use the
 % delimiter character idea from \verb, but it seems like overkill.
 % 
-\long\def\inlineraw{\tex \doinlineraw}
-\long\def\doinlineraw#1{\doinlinerawtwo #1,\finish}
+\def\inlineraw{\tex \doinlineraw}
+\def\doinlineraw#1{\doinlinerawtwo #1,\finish}
 \def\doinlinerawtwo#1,#2,\finish{%
   \def\inlinerawname{#1}%
   \ifx\inlinerawname\outfmtnametex \ignorespaces #2\fi
@@ -3146,17 +3126,12 @@
   % hopefully nobody will notice/care.
   \edef\ecsize{\csname\curfontsize ecsize\endcsname}%
   \edef\nominalsize{\csname\curfontsize nominalsize\endcsname}%
-  \ifmonospace
-    % typewriter:
-    \font\thisecfont = ectt\ecsize \space at \nominalsize
+  \ifx\curfontstyle\bfstylename
+    % bold:
+    \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize
   \else
-    \ifx\curfontstyle\bfstylename
-      % bold:
-      \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize
-    \else
-      % regular:
-      \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize
-    \fi
+    % regular:
+    \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize
   \fi
   \thisecfont
 }
@@ -3269,20 +3244,6 @@
   \finishedtitlepagetrue
 }
 
-% Settings used for typesetting titles: no hyphenation, no indentation,
-% don't worry much about spacing, ragged right.  This should be used
-% inside a \vbox, and fonts need to be set appropriately first.  Because
-% it is always used for titles, nothing else, we call \rmisbold.  \par
-% should be specified before the end of the \vbox, since a vbox is a group.
-% 
-\def\raggedtitlesettings{%
-  \rmisbold
-  \hyphenpenalty=10000
-  \parindent=0pt
-  \tolerance=5000
-  \ptexraggedright
-}
-
 % Macros to be used within @titlepage:
 
 \let\subtitlerm=\tenrm
@@ -3290,7 +3251,7 @@
 
 \parseargdef\title{%
   \checkenv\titlepage
-  \vbox{\titlefonts \raggedtitlesettings #1\par}%
+  \leftline{\titlefonts\rmisbold #1}
   % print a rule at the page bottom also.
   \finishedtitlepagefalse
   \vskip4pt \hrule height 4pt width \hsize \vskip4pt
@@ -4227,7 +4188,7 @@
 }
 \def\ifsetfail{\doignore{ifset}}
 
-% @ifclear VAR ... @end executes the `...' iff VAR has never been
+% @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been
 % defined with @set, or has been undefined with @clear.
 %
 % The `\else' inside the `\doifset' parameter is a trick to reuse the
@@ -4238,35 +4199,6 @@
 \def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}}
 \def\ifclearfail{\doignore{ifclear}}
 
-% @ifcommandisdefined CMD ... @end executes the `...' if CMD (written
-% without the @) is in fact defined.  We can only feasibly check at the
-% TeX level, so something like `mathcode' is going to considered
-% defined even though it is not a Texinfo command.
-% 
-\makecond{ifcommanddefined}
-\def\ifcommanddefined{\parsearg{\doifcmddefined{\let\next=\ifcmddefinedfail}}}
-%
-\def\doifcmddefined#1#2{{%
-    \makevalueexpandable
-    \let\next=\empty
-    \expandafter\ifx\csname #2\endcsname\relax
-      #1% If not defined, \let\next as above.
-    \fi
-    \expandafter
-  }\next
-}
-\def\ifcmddefinedfail{\doignore{ifcommanddefined}}
-
-% @ifcommandnotdefined CMD ... handlded similar to @ifclear above.
-\makecond{ifcommandnotdefined}
-\def\ifcommandnotdefined{%
-  \parsearg{\doifcmddefined{\else \let\next=\ifcmdnotdefinedfail}}}
-\def\ifcmdnotdefinedfail{\doignore{ifcommandnotdefined}}
-
-% Set the `txicommandconditionals' variable, so documents have a way to
-% test if the @ifcommand...defined conditionals are available.
-\set txicommandconditionals
-
 % @dircategory CATEGORY  -- specify a category of the dir file
 % which this file should belong to.  Ignore this in TeX.
 \let\dircategory=\comment
@@ -4503,7 +4435,6 @@
   \definedummyword\guillemetright
   \definedummyword\guilsinglleft
   \definedummyword\guilsinglright
-  \definedummyword\lbracechar
   \definedummyword\leq
   \definedummyword\minus
   \definedummyword\ogonek
@@ -4516,7 +4447,6 @@
   \definedummyword\quoteleft
   \definedummyword\quoteright
   \definedummyword\quotesinglbase
-  \definedummyword\rbracechar
   \definedummyword\result
   \definedummyword\textdegree
   %
@@ -4568,7 +4498,6 @@
   \definedummyword\t
   %
   % Commands that take arguments.
-  \definedummyword\abbr
   \definedummyword\acronym
   \definedummyword\anchor
   \definedummyword\cite
@@ -4580,9 +4509,7 @@
   \definedummyword\emph
   \definedummyword\env
   \definedummyword\file
-  \definedummyword\image
   \definedummyword\indicateurl
-  \definedummyword\inforef
   \definedummyword\kbd
   \definedummyword\key
   \definedummyword\math
@@ -4629,10 +4556,7 @@
   % content at all.  So for index sorting, we map @{ and @} to strings
   % starting with |, since that ASCII character is between ASCII { and }.
   \def\{{|a}%
-  \def\lbracechar{|a}%
-  %
   \def\}{|b}%
-  \def\rbracechar{|b}%
   %
   % Non-English letters.
   \def\AA{AA}%
@@ -4808,9 +4732,10 @@
 %
 % ..., ready, GO:
 %
-\def\safewhatsit#1{\ifhmode
+\def\safewhatsit#1{%
+\ifhmode
   #1%
- \else
+\else
   % \lastskip and \lastpenalty cannot both be nonzero simultaneously.
   \whatsitskip = \lastskip
   \edef\lastskipmacro{\the\lastskip}%
@@ -4834,6 +4759,7 @@
     % to re-insert the same penalty (values >10000 are used for various
     % signals); since we just inserted a non-discardable item, any
     % following glue (such as a \parskip) would be a breakpoint.  For example:
+    %
     %   @deffn deffn-whatever
     %   @vindex index-whatever
     %   Description.
@@ -4846,7 +4772,8 @@
     % (the whatsit from the \write), so we must insert a \nobreak.
     \nobreak\vskip\whatsitskip
   \fi
-\fi}
+\fi
+}
 
 % The index entry written in the file actually looks like
 %  \entry {sortstring}{page}{topic}
@@ -5593,6 +5520,14 @@
 
 % Define @majorheading, @heading and @subheading
 
+% NOTE on use of \vbox for chapter headings, section headings, and such:
+%       1) We use \vbox rather than the earlier \line to permit
+%          overlong headings to fold.
+%       2) \hyphenpenalty is set to 10000 because hyphenation in a
+%          heading is obnoxious; this forbids it.
+%       3) Likewise, headings look best if no \parindent is used, and
+%          if justification is not attempted.  Hence \raggedright.
+
 \def\majorheading{%
   {\advance\chapheadingskip by 10pt \chapbreak }%
   \parsearg\chapheadingzzz
@@ -5600,8 +5535,10 @@
 
 \def\chapheading{\chapbreak \parsearg\chapheadingzzz}
 \def\chapheadingzzz#1{%
-  \vbox{\chapfonts \raggedtitlesettings #1\par}%
-  \nobreak\bigskip \nobreak
+  {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
+                    \parindent=0pt\ptexraggedright
+                    \rmisbold #1\hfill}}%
+  \bigskip \par\penalty 200\relax
   \suppressfirstparagraphindent
 }
 
@@ -5760,7 +5697,8 @@
     %
     % Typeset the actual heading.
     \nobreak % Avoid page breaks at the interline glue.
-    \vbox{\raggedtitlesettings \hangindent=\wd0 \centerparametersmaybe
+    \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \ptexraggedright
+          \hangindent=\wd0 \centerparametersmaybe
           \unhbox0 #1\par}%
   }%
   \nobreak\bigskip % no page break after a chapter title
@@ -5782,18 +5720,18 @@
 \def\setchapterstyle #1 {\csname CHAPF#1\endcsname}
 %
 \def\unnchfopen #1{%
-  \chapoddpage
-  \vbox{\chapfonts \raggedtitlesettings #1\par}%
-  \nobreak\bigskip\nobreak
+\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
+                       \parindent=0pt\ptexraggedright
+                       \rmisbold #1\hfill}}\bigskip \par\nobreak
 }
 \def\chfopen #1#2{\chapoddpage {\chapfonts
 \vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}%
 \par\penalty 5000 %
 }
 \def\centerchfopen #1{%
-  \chapoddpage
-  \vbox{\chapfonts \raggedtitlesettings \hfill #1\hfill}%
-  \nobreak\bigskip \nobreak
+\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
+                       \parindent=0pt
+                       \hfill {\rmisbold #1}\hfill}}\bigskip \par\nobreak
 }
 \def\CHAPFopen{%
   \global\let\chapmacro=\chfopen
@@ -5938,15 +5876,14 @@
   %
   % We'll almost certainly start a paragraph next, so don't let that
   % glue accumulate.  (Not a breakpoint because it's preceded by a
-  % discardable item.)  However, when a paragraph is not started next
-  % (\startdefun, \cartouche, \center, etc.), this needs to be wiped out
-  % or the negative glue will cause weirdly wrong output, typically
-  % obscuring the section heading with something else.
+  % discardable item.)
   \vskip-\parskip
   %
-  % This is so the last item on the main vertical list is a known
-  % \penalty > 10000, so \startdefun, etc., can recognize the situation
-  % and do the needful.
+  % This is purely so the last item on the list is a known \penalty >
+  % 10000.  This is so \startdefun can avoid allowing breakpoints after
+  % section headings.  Otherwise, it would insert a valid breakpoint between:
+  %   @section sec-whatever
+  %   @deffn def-whatever
   \penalty 10001
 }
 
@@ -6366,7 +6303,7 @@
   % If this cartouche directly follows a sectioning command, we need the
   % \parskip glue (backspaced over by default) or the cartouche can
   % collide with the section heading.
-  \ifnum\lastpenalty>10000 \vskip\parskip \penalty\lastpenalty \fi
+  \ifnum\lastpenalty>10000 \vskip\parskip \fi
   %
   \vbox\bgroup
       \baselineskip=0pt\parskip=0pt\lineskip=0pt
@@ -7856,7 +7793,7 @@
   \fi\fi
 }
 
-% 
+
 % @xref, @pxref, and @ref generate cross-references.  For \xrefX, #1 is
 % the node name, #2 the name of the Info cross-reference, #3 the printed
 % node name, #4 the name of the Info file, #5 the name of the printed
@@ -7865,41 +7802,26 @@
 \def\pxref#1{\putwordsee{} \xrefX[#1,,,,,,,]}
 \def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]}
 \def\ref#1{\xrefX[#1,,,,,,,]}
-%
-\newbox\toprefbox
-\newbox\printedrefnamebox
-\newbox\infofilenamebox
-\newbox\printedmanualbox
-%
 \def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup
   \unsepspaces
-  %
-  % Get args without leading/trailing spaces.
+  \def\printedmanual{\ignorespaces #5}%
   \def\printedrefname{\ignorespaces #3}%
-  \setbox\printedrefnamebox = \hbox{\printedrefname\unskip}%
-  %
-  \def\infofilename{\ignorespaces #4}%
-  \setbox\infofilenamebox = \hbox{\infofilename\unskip}%
-  %
-  \def\printedmanual{\ignorespaces #5}%
-  \setbox\printedmanualbox  = \hbox{\printedmanual\unskip}%
-  %
-  % If the printed reference name (arg #3) was not explicitly given in
-  % the @xref, figure out what we want to use.
-  \ifdim \wd\printedrefnamebox = 0pt
+  \setbox1=\hbox{\printedmanual\unskip}%
+  \setbox0=\hbox{\printedrefname\unskip}%
+  \ifdim \wd0 = 0pt
     % No printed node name was explicitly given.
     \expandafter\ifx\csname SETxref-automatic-section-title\endcsname \relax
-      % Not auto section-title: use node name inside the square brackets.
+      % Use the node name inside the square brackets.
       \def\printedrefname{\ignorespaces #1}%
     \else
-      % Auto section-title: use chapter/section title inside
-      % the square brackets if we have it.
-      \ifdim \wd\printedmanualbox > 0pt
-        % It is in another manual, so we don't have it; use node name.
+      % Use the actual chapter/section title appear inside
+      % the square brackets.  Use the real section title if we have it.
+      \ifdim \wd1 > 0pt
+        % It is in another manual, so we don't have it.
         \def\printedrefname{\ignorespaces #1}%
       \else
         \ifhavexrefs
-          % We (should) know the real title if we have the xref values.
+          % We know the real title if we have the xref values.
           \def\printedrefname{\refx{#1-title}{}}%
         \else
           % Otherwise just copy the Info node name.
@@ -7913,20 +7835,12 @@
   \ifpdf
     {\indexnofonts
      \turnoffactive
-     \makevalueexpandable
      % This expands tokens, so do it after making catcode changes, so _
-     % etc. don't get their TeX definitions.  This ignores all spaces in
-     % #4, including (wrongly) those in the middle of the filename.
+     % etc. don't get their TeX definitions.
      \getfilename{#4}%
      %
-     % This (wrongly) does not take account of leading or trailing
-     % spaces in #1, which should be ignored.
      \edef\pdfxrefdest{#1}%
-     \ifx\pdfxrefdest\empty
-       \def\pdfxrefdest{Top}% no empty targets
-     \else
-       \txiescapepdf\pdfxrefdest  % escape PDF special chars
-     \fi
+     \txiescapepdf\pdfxrefdest
      %
      \leavevmode
      \startlink attr{/Border [0 0 0]}%
@@ -7953,42 +7867,29 @@
   \iffloat\Xthisreftitle
     % If the user specified the print name (third arg) to the ref,
     % print it instead of our usual "Figure 1.2".
-    \ifdim\wd\printedrefnamebox = 0pt
+    \ifdim\wd0 = 0pt
       \refx{#1-snt}{}%
     \else
       \printedrefname
     \fi
     %
-    % If the user also gave the printed manual name (fifth arg), append
+    % if the user also gave the printed manual name (fifth arg), append
     % "in MANUALNAME".
-    \ifdim \wd\printedmanualbox > 0pt
+    \ifdim \wd1 > 0pt
       \space \putwordin{} \cite{\printedmanual}%
     \fi
   \else
     % node/anchor (non-float) references.
-    % 
-    % If we use \unhbox to print the node names, TeX does not insert
-    % empty discretionaries after hyphens, which means that it will not
-    % find a line break at a hyphen in a node names.  Since some manuals
-    % are best written with fairly long node names, containing hyphens,
-    % this is a loss.  Therefore, we give the text of the node name
-    % again, so it is as if TeX is seeing it for the first time.
-    % 
-    \ifdim \wd\printedmanualbox > 0pt
-      % Cross-manual reference with a printed manual name.
-      % 
-      \crossmanualxref{\cite{\printedmanual\unskip}}%
     %
-    \else\ifdim \wd\infofilenamebox > 0pt
-      % Cross-manual reference with only an info filename (arg 4), no
-      % printed manual name (arg 5).  This is essentially the same as
-      % the case above; we output the filename, since we have nothing else.
-      % 
-      \crossmanualxref{\code{\infofilename\unskip}}%
-    %
+    % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not
+    % insert empty discretionaries after hyphens, which means that it will
+    % not find a line break at a hyphen in a node names.  Since some manuals
+    % are best written with fairly long node names, containing hyphens, this
+    % is a loss.  Therefore, we give the text of the node name again, so it
+    % is as if TeX is seeing it for the first time.
+    \ifdim \wd1 > 0pt
+      \putwordSection{} ``\printedrefname'' \putwordin{} \cite{\printedmanual}%
     \else
-      % Reference within this manual.
-      %
       % _ (for example) has to be the character _ for the purposes of the
       % control sequence corresponding to the node, but it has to expand
       % into the usual \leavevmode...\vrule stuff for purposes of
@@ -8000,7 +7901,7 @@
        \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}%
        \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi
       }%
-      % output the `[mynode]' via the macro below so it can be overridden.
+      % output the `[mynode]' via a macro so it can be overridden.
       \xrefprintnodename\printedrefname
       %
       % But we always want a comma and a space:
@@ -8008,37 +7909,11 @@
       %
       % output the `page 3'.
       \turnoffactive \putwordpage\tie\refx{#1-pg}{}%
-    \fi\fi
+    \fi
   \fi
   \endlink
 \endgroup}
 
-% Output a cross-manual xref to #1.  Used just above (twice).
-% 
-% Only include the text "Section ``foo'' in" if the foo is neither
-% missing or Top.  Thus, @xref{,,,foo,The Foo Manual} outputs simply
-% "see The Foo Manual", the idea being to refer to the whole manual.
-% 
-% But, this being TeX, we can't easily compare our node name against the
-% string "Top" while ignoring the possible spaces before and after in
-% the input.  By adding the arbitrary 7sp below, we make it much less
-% likely that a real node name would have the same width as "Top" (e.g.,
-% in a monospaced font).  Hopefully it will never happen in practice.
-% 
-% For the same basic reason, we retypeset the "Top" at every
-% reference, since the current font is indeterminate.
-% 
-\def\crossmanualxref#1{%
-  \setbox\toprefbox = \hbox{Top\kern7sp}%
-  \setbox2 = \hbox{\ignorespaces \printedrefname \unskip \kern7sp}%
-  \ifdim \wd2 > 7sp  % nonempty?
-    \ifdim \wd2 = \wd\toprefbox \else  % same as Top?
-      \putwordSection{} ``\printedrefname'' \putwordin{}\space
-    \fi
-  \fi
-  #1%
-}
-
 % This macro is called from \xrefX for the `[nodename]' part of xref
 % output.  It's a separate macro only so it can be changed more easily,
 % since square brackets don't work well in some documents.  Particularly
@@ -8406,7 +8281,7 @@
   it from ftp://tug.org/tex/epsf.tex.}
 %
 \def\image#1{%
-  \ifx\epsfbox\thisisundefined
+  \ifx\epsfbox\thisiundefined
     \ifwarnednoepsf \else
       \errhelp = \noepsfhelp
       \errmessage{epsf.tex not found, images will be ignored}%
@@ -8430,13 +8305,6 @@
   % If the image is by itself, center it.
   \ifvmode
     \imagevmodetrue
-  \else \ifx\centersub\centerV
-    % for @center @image, we need a vbox so we can have our vertical space
-    \imagevmodetrue
-    \vbox\bgroup % vbox has better behavior than vtop herev
-  \fi\fi
-  %
-  \ifimagevmode
     \nobreak\medskip
     % Usually we'll have text after the image which will insert
     % \parskip glue, so insert it here too to equalize the space
@@ -8446,13 +8314,9 @@
   \fi
   %
   % Leave vertical mode so that indentation from an enclosing
-  %  environment such as @quotation is respected.
-  % However, if we're at the top level, we don't want the
-  %  normal paragraph indentation.
-  % On the other hand, if we are in the case of @center @image, we don't
-  %  want to start a paragraph, which will create a hsize-width box and
-  %  eradicate the centering.
-  \ifx\centersub\centerV\else \noindent \fi
+  % environment such as @quotation is respected.  On the other hand, if
+  % it's at the top level, we don't want the normal paragraph indentation.
+  \noindent
   %
   % Output the image.
   \ifpdf
@@ -8464,10 +8328,7 @@
     \epsfbox{#1.eps}%
   \fi
   %
-  \ifimagevmode
-    \medskip  % space after a standalone image
-  \fi  
-  \ifx\centersub\centerV \egroup \fi
+  \ifimagevmode \medskip \fi  % space after the standalone image
 \endgroup}
 
 

Modified: libmicrohttpd/src/include/microhttpd.h
===================================================================
--- libmicrohttpd/src/include/microhttpd.h      2012-11-25 12:32:59 UTC (rev 
25130)
+++ libmicrohttpd/src/include/microhttpd.h      2012-11-25 13:12:04 UTC (rev 
25131)
@@ -1418,17 +1418,83 @@
                                       off_t offset);
 
 
+#if 0
 /**
- * Function called after a protocol upgrade response was sent
+ * Bits in an event mask that specifies which actions
+ * MHD should perform and under which conditions it
+ * should call the 'upgrade' callback again.
+ */ 
+enum MHD_UpgradeEventMask
+{
+
+  /**
+   * Never call the handler again; finish sending bytes
+   * in the 'write' buffer and then close the socket.
+   */
+  MHD_UPGRADE_EVENT_TERMINATE = 0,
+
+  /**
+   * Call the handler again once there is data ready
+   * for reading.
+   */
+  MHD_UPGRADE_EVENT_READ = 1,
+
+  /**
+   * Call the handler again once there is buffer space
+   * available for writing.
+   */
+  MHD_UPGRADE_EVENT_WRITE = 2,
+
+  /**
+   * Do not wait on any socket actions, we're waiting on
+   * an 'external' event.  Run the function again once
+   * the 'select' call returns _without_ this socket even
+   * being involved in the select sets (useful in 
+   * conjunction with the external select loop).
+   */
+  MHD_UPGRADE_EVENT_EXTERNAL = 4,
+
+  /**
+   * Uncork the TCP write buffer (that is, tell the OS to transmit all
+   * bytes in the buffer now, and to not use TCP-CORKing).  This is
+   * not really an event flag, but an additional request (which MHD
+   * may ignore if the platform does not support it).  Note that
+   * only returning 'CORK' will *also* cause the socket to be closed!
+   */
+  MHD_UPGRADE_EVENT_CORK = 8  
+    
+};
+
+
+/**
+ * Function called after a protocol "upgrade" response was sent
  * successfully and the socket should now be controlled by some
- * protocol other than HTTP.  Note that from this point on, MHD will
- * consider this connection to be "complete", so it will no longer be
- * counted as an active connection for the
- * MHD_OPTION_PER_IP_CONNECTION_LIMIT or the
- * MHD_OPTION_CONNECTION_LIMIT.  After this function returns, the
+ * protocol other than HTTP. 
+ *
+ * Any data received on the socket will be made available in
+ * 'data_in'.  The function should update 'data_in_size' to
+ * reflect the number of bytes consumed from 'data_in' (the remaining
+ * bytes will be made available in the next call to the handler).
+ *
+ * Any data that should be transmitted on the socket should be
+ * stored in 'data_out'.  '*data_out_size' is initially set to
+ * the available buffer space in 'data_out'.  It should be set to
+ * the number of bytes stored in 'data_out' (which can be zero).
+ *
+ * The return value is a BITMASK that indicates how the function
+ * intends to interact with the event loop.  It can request to be
+ * notified for reading, writing, request to UNCORK the send buffer
+ * (which MHD is allowed to ignore, if it is not possible to uncork on
+ * the local platform), to wait for the 'external' select loop to
+ * trigger another round.  It is also possible to specify "no events"
+ * to terminate the connection; in this case, the
  * MHD_RequestCompletedCallback will be called and all resources of
- * the connection (except for the socket itself) will be released.
+ * the connection will be released.
  *
+ * Except when in 'thread-per-connection' mode, implementations
+ * of this function should never block (as it will still be called
+ * from within the main event loop).
+ *
  * @param cls closure
  * @param connection original HTTP connection handle,
  *                   giving the function a last chance
@@ -1436,24 +1502,29 @@
  * @param con_cls value as set by the last call to the
  *                MHD_AccessHandlerCallback; will afterwards
  *                be also given to the MHD_RequestCompletedCallback
- * @param upgrade_socket TCP socket that was upgraded from HTTP
- *                to some other protocol.  This function must
- *                take over the communication and is ultimately
- *                responsible for closing the socket.
+ * @param data_in_size available data for reading, set to data read
+ * @param data_in data read from the socket
+ * @param data_out_size available buffer for writing, set to bytes 
+ *                written to 'data_out'
+ * @param data_out buffer for sending data via the connection
+ * @return desired actions for event handling loop
  */
-typedef void (*MHD_UpgradeHandler)(void *cls,
-                                  struct MHD_Connection *connection,
-                                  void **con_cls,
-                                  int upgrade_socket);
+typedef enum MHD_UpgradeEventMask (*MHD_UpgradeHandler)(void *cls,
+                                                       struct MHD_Connection 
*connection,
+                                                       void **con_cls,
+                                                       size_t *data_in_size,
+                                                       const char *data_in,
+                                                       size_t *data_out_size,
+                                                       char *data_out);
 
-#if 0
+
 /**
  * Create a response object that can be used for 101 UPGRADE
  * responses, for example to implement websockets.  After sending the
- * response, control over the socket is given to the callback (which
+ * response, control over the data stream is given to the callback (which
  * can then, for example, start some bi-directional communication).
  * If the response is queued for multiple connections, the callback
- * will be called with a socket for each connection.  The callback
+ * will be called for each connection.  The callback
  * will ONLY be called if the response header was successfully passed
  * to the OS; if there are communication errors before, the usual MHD
  * connection error handling code will be performed.
@@ -1461,12 +1532,12 @@
  * Setting the correct HTTP code (i.e. MHD_HTTP_SWITCHING_PROTOCOLS)
  * and setting correct HTTP headers for the upgrade must be done
  * manually (this way, it is possible to implement most existing
- * WebSocket version using this API; in fact, this API might be useful
- * for any protocol switch, not just web sockets).  Note that
+ * WebSocket versions using this API; in fact, this API might be useful
+ * for any protocol switch, not just websockets).  Note that
  * draft-ietf-hybi-thewebsocketprotocol-00 cannot be implemented this
  * way as the header "HTTP/1.1 101 WebSocket Protocol Handshake"
  * cannot be generated; instead, MHD will always produce "HTTP/1.1 101
- * Switching Protocols" (if the response 101 is used).
+ * Switching Protocols" (if the response code 101 is used).
  *
  * As usual, the response object can be extended with header
  * information and then be used any number of times (as long as the




reply via email to

[Prev in Thread] Current Thread [Next in Thread]