[dev-context] Texexec help message

Aditya Mahajan adityam at umich.edu
Thu Nov 29 00:27:37 CET 2012


On Wed, 28 Nov 2012, Hans Hagen wrote:

> On 11/27/2012 9:37 PM, Aditya Mahajan wrote:
>> 
>> It appears that a `.join` or `.to_s` method is missing somewhere.
>
> can you patch
>
>            r << '  ' + s.to_s
>
> in line 736
>
> (a pretty weird situation if that changed in ruby; on my system that patch is 
> not needed; ruby version 1.8.6)

I use ruby 1.9.3p286 (2012-10-12 revision 37165) [i686-linux] and it does 
appear to be due to a change in the Array class.

See http://stackoverflow.com/a/3960429/193149
http://nuclearsquid.com/writings/ruby-1-9-what-s-new-what-s-changed/ 
(search for to_s)


The bug is not in line 736. If I change that line to

    r << ' '

(an extreme case always helps testing), I get

texexec --help --all

TeXExec | ["version 6.2.1 - 1997-2009 - PRAGMA ADE/POD"]

TeXExec | ["--check        check versions"]
TeXExec | ["--figures      generate overview of figures"]
TeXExec | ["--listing      list of file content"]
TeXExec | ["--make         make formats"]
TeXExec | ["--modules      generate module documentation"]
TeXExec | ["--mpgraphic    process mp file to stand-alone graphics"]
TeXExec | ["--mpstatic     process mp/ctx file to stand-alone graphics"]
TeXExec | ["--mptex        process mp file"]
TeXExec | ["--mpxtex       process mpx file"]
TeXExec | ["--pdfarrange   impose pages (booklets)"]
TeXExec | ["--pdfcombine   combine multiple pages"]
TeXExec | ["--pdfcopy      copy pages from file(s)"]
TeXExec | ["--pdfselect    select pages from file(s)"]
TeXExec | ["--pdfsplit     split file in pages"]
TeXExec | ["--pdftrim      trim pages from file(s)"]
TeXExec | ["--process      process file"]
TeXExec | [""]
TeXExec | ["boolean switches:"]
TeXExec | [""]
TeXExec | ["          "]
TeXExec | ["          "]
TeXExec | ["          "]
TeXExec | ["          "]
TeXExec | ["          "]
TeXExec | ["          "]
TeXExec | ["          "]
TeXExec | ["          "]
TeXExec | ["          "]
TeXExec | ["        "]
TeXExec | [""]
TeXExec | ["string switches:"]
TeXExec | [""]
TeXExec | ["          "]
TeXExec | ["          "]
TeXExec | ["          "]
TeXExec | ["          "]
TeXExec | ["          "]
TeXExec | ["          "]
TeXExec | ["          "]
TeXExec | ["          "]
TeXExec | ["          "]
TeXExec | ["          "]
TeXExec | ["      "]


So, the `s` part is being formatted correctly, the brackets are coming 
from somewhere else.

I tested by changing report function in base/logger.rb, and if I change 
line 50 to

                     message = str.first.join(' ')

then texexec --help --all gives

TeXExec | --check        check versions
TeXExec | --figures      generate overview of figures
TeXExec | --listing      list of file content
TeXExec | --make         make formats
TeXExec | --modules      generate module documentation
TeXExec | --mpgraphic    process mp file to stand-alone graphics
TeXExec | --mpstatic     process mp/ctx file to stand-alone graphics
TeXExec | --mptex        process mp file
TeXExec | --mpxtex       process mpx file
TeXExec | --pdfarrange   impose pages (booklets)
TeXExec | --pdfcombine   combine multiple pages
TeXExec | --pdfcopy      copy pages from file(s)
TeXExec | --pdfselect    select pages from file(s)
TeXExec | --pdfsplit     split file in pages
TeXExec | --pdftrim      trim pages from file(s)
TeXExec | --process      process file
TeXExec |
TeXExec | boolean switches:
TeXExec |
TeXExec |   allpatterns  alpha  arrange  automprun  autopath
TeXExec |   autopdf  batchmode  beta  centerpage  color
TeXExec |   combine  draft  fast  final  forcempy
TeXExec |   forcetexutil  forcexml  foxet  fullscreen  globalfile
TeXExec |   keep  local  markings  mkii  mkiv
TeXExec |   mpyforce  noarrange  nobackend  nobanner  noctx
TeXExec |   noduplex  nomapfiles  nompmode  nomprun  nonstopmode
TeXExec |   nooptionfile  notparanoid  once  paranoid  pretty
TeXExec |   purge  purgeall  screensaver  simplerun  synctex
TeXExec |   texutil  utfbom  verbose  xpdf
TeXExec |
TeXExec | string switches:
TeXExec |
TeXExec |   addempty  arguments  backend  background  backspace
TeXExec |   bannerheight  bodyfont  boxtype  combination  ctxfile
TeXExec |   distribution  endcolumn  endline  engine  environments
TeXExec |   filename  filters  input  interface  language
TeXExec |   logfile  mainlanguage  method  mode  modefile
TeXExec |   modes  mpsformats  output  pages  paperformat
TeXExec |   paperoffset  passon  path  pdftitle  printformat
TeXExec |   progname  randomseed  response  result  runs
TeXExec |   scale  selection  separation  setuppath  startcolumn
TeXExec |   startline  suffix  tempdir  texformats  textwidth
TeXExec |   timeout  topspace  usemodules


Aditya


More information about the dev-context mailing list