%D \module %D [ file=lang-url, %D version=2008.01.22, % used to be lang-mis %D title=\CONTEXT\ Language Macros, %D subtitle=Language Options, %D author=Hans Hagen, %D date=\currentdate, %D copyright={PRAGMA / Hans Hagen \& Ton Otten}] %C %C This module is part of the \CONTEXT\ macro||package and is %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. \registerctxluafile{lang-url}{1.001} \unprotect % \urlsplitmode is not (yet) supported (not that much needed) \newtoks\everyhyphenatedurl \appendtoks \let\&\letterampersand \let\#\letterhash \let\~\lettertilde \let\\\letterbackslash \let\$\letterdollar \let\^\letterhat \let\_\letterunderscore \let\{\letterleftbrace \let\}\letterrightbrace \let\|\letterbar \let~=\lettertilde \let|=\letterbar \to \everyhyphenatedurl \def\hyphenatedurlseparator{} % \periodcentered \def\dohyphenatedurlafter #1{\char#1\discretionary{}{\hyphenatedurlseparator}{}}% \def\dohyphenatedurlbefore#1{\discretionary{\hyphenatedurlseparator}{}{}\char#1\relax}% \def\dohyphenatedurlnormal#1{\char#1\relax}% \def\sethyphenatedurlnormal#1{\ctxlua{commands.hyphenatedurl.characters[\!!bs#1\!!es]=0}} \def\sethyphenatedurlbefore#1{\ctxlua{commands.hyphenatedurl.characters[\!!bs#1\!!es]=1}} \def\sethyphenatedurlafter #1{\ctxlua{commands.hyphenatedurl.characters[\!!bs#1\!!es]=2}} \chardef\hyphenatedurllefthyphenmin = 3 \chardef\hyphenatedurlrighthyphenmin = 3 \unexpanded \def\hyphenatedurl#1% {\dontleavehmode \begingroup \the\everyhyphenatedurl \let\n\dohyphenatedurlnormal \let\b\dohyphenatedurlbefore \let\a\dohyphenatedurlafter \expanded{\ctxlua{commands.hyphenatedurl.action( \!!bs\noexpand\detokenize{#1}\!!es, \number\hyphenatedurllefthyphenmin, \number\hyphenatedurlrighthyphenmin )}}% \endgroup} \protect \endinput