Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
GNU is Not Unix Software

GNU Texinfo 5.0 Released 173

Four years after the last release, version 5.0 of Texinfo, the GNU documentation language, has been released. The primary highlight is a new implementation of makeinfo info in Perl rather than C. Although slower, the new version offers several advantages: cleaner code using a structured representation of the input document, Unicode support, and saner support for multiple output backends. There are over a dozen other improvements including better formatting of URLs, improved cross-manual references, and a program to convert Perl POD documentation to Texinfo.
This discussion has been archived. No new comments can be posted.

GNU Texinfo 5.0 Released

Comments Filter:
  • by bogaboga ( 793279 ) on Sunday February 17, 2013 @07:19PM (#42931259)

    Although slower, the new version offers several advantages: cleaner code using a structured representation of the input document, Unicode support, and saner support for multiple output backends. (emphasis mine).

    Whether a end user will notice, I don't know for sure! Who does?

    • by larry bagina ( 561269 ) on Sunday February 17, 2013 @07:25PM (#42931295) Journal
      how often do you run makeinfo? Probably never directly. And only indirectly if you're compiling and installing a GNU package from source (I mean, who else even uses it? )-- in which case configure checks and compilation times are the bottleneck, not makeinfo
    • by ais523 ( 1172701 )
      It'd only be even potentially noticeable if the end user compiles their documentation from source. That's only likely to happen if they're also compiling their binaries from source, i.e. on source-based distros. (I doubt it'd be particularly noticeable even in such cases.) Most people would get the compiled version of the documentation, rather than compiling it themselves.
    • Hooray. Nice to see they finally got round to supporting Unicode. Structured docs. Woohoo. Multiple formatting backends. Yippee.

      DocBook XML has had all these things from the beginning, and thus we (ubiquitous FOSS project) dumped TexInfo in favour of DBXML 6 or 7 years ago as the source format for all our end user docs.

      I do not miss TexInfo one bit.

      • Re: (Score:3, Interesting)

        by deepsky ( 11076 )

        Texinfo produces very nice paper manuals effortlessly. With Docbook one has to dive into XSL-FO unpleasantness.

        • Texinfo produces very nice paper manuals effortlessly.

          With those changes and the advent of LuaTeX, perhaps it will be possible to produce even better paper manuals even more effortlessly. (But I still bet my money on Pandoc...)

  • by Anonymous Coward on Sunday February 17, 2013 @07:21PM (#42931271)

    "Nobody could understand the source code anymore without massive doses of caffeine... ao we decided to rewrite the whole thing in Perl."

    • by c0lo ( 1497653 ) on Sunday February 17, 2013 @09:40PM (#42931885)

      "Nobody could understand the source code anymore without massive doses of caffeine... ao we decided to rewrite the whole thing in Perl."

      Oblig xkcd [xkcd.org]

      • by swm ( 171547 ) * <swmcd@world.std.com> on Sunday February 17, 2013 @09:58PM (#42931959) Homepage

        Lisp
        http://xkcd.com/224/ [xkcd.com]

        • Re:Oblig oblig XKCD (Score:5, Interesting)

          by Unknown Lamer ( 78415 ) Works for Slashdot <clinton@nOSPAm.unknownlamer.org> on Sunday February 17, 2013 @11:25PM (#42932335) Homepage Journal

          What I find interesting about this Perl rewrite is that Guile, ostensibly the official scripting language of GNU, has had excellent structured texinfo support [gnu.org] for years now. It uses stexi which has the same structure as sxml, so you gain access to all of the really great Scheme XML processing tools, including SXSLT which is basically ideal for spitting out arbitrary formats.

          • by TheRaven64 ( 641858 ) on Monday February 18, 2013 @04:25AM (#42933391) Journal
            Being the official anything of the GNU project pretty much guarantees that no other part of the GNU project will use your stuff.
            • Re:Oblig oblig XKCD (Score:4, Informative)

              by LizardKing ( 5245 ) on Monday February 18, 2013 @06:20AM (#42933749)
              Whenever I install Debian or a derivative of it, I always find it includes Guile, but that no packages depend on it. The only reason it exists is because RMS didn't like Tcl, which was the up and coming glue language at the time. Despite its shortcomings, Tcl was a very nice language to extend, whereas Guile was (and probably still is) an incomplete dialect of Scheme that only satisfies the Lisp obsessives.
              • by fatphil ( 181876 )
                Debian stable:

                $ dpkg -l | grep guile
                $

                To be honest, I have written a few programs in tcl, and it was a very clumsy syntax that I had to fight with constantly. I have better experiences with LUA, but wish they'd stopped adding "meta" smarts to it earlier than they did, they went a bit over-the-top.

                Of course, in the real world I just hack everything in Perl still no matter what other scripting languages come and go...
      • by VortexCortex ( 1117377 ) <VortexCortex AT ... trograde DOT com> on Monday February 18, 2013 @01:29AM (#42932861)

        "Nobody could understand the source code anymore without massive doses of caffeine... ao we decided to rewrite the whole thing in Perl."

        Oblig xkcd [xkcd.org]

        Obligatory Rebuttal xkcd [xkcd.com]

        This is interesting for two reasons:
        0. It was Perl's built in features, such as regex, system calls, and ability to be terse enough to enter a solution on a single swinging pass that make it an obvious choice -- It was made for this type of job.
        1. I'm confident that if we have not already, we will soon reach a point where entire discussions can be composed of no text other than xkcd links. [xkcd.com]

        • by c0lo ( 1497653 )

          Obligatory Rebuttal xkcd [xkcd.com]

          This is interesting for two reasons:

          0. It was Perl's built in features, such as regex, system calls, and ability to be terse enough to enter a solution on a single swinging pass that make it an obvious choice -- It was made for this type of job.

          Whenever the problem allows for a single pass.

          1. I'm confident that if we have not already, we will soon reach a point where entire discussions can be composed of no text other than xkcd links. [xkcd.com]

          Due to limited contexts available on xkcd, I surmise we are quite far at that point. E.g. I challenge you to find the very basic "laser on sharks" or "car analogies" cartoons on xkcd.com.
          "grits" (hot or not), "petrified/statue" etc??? Not a chance in hell.

        • 1. I'm confident that if we have not already, we will soon reach a point where entire discussions can be composed of no text other than xkcd links. [xkcd.com]

          Indeed [xkcd.com].

    • Re: (Score:2, Redundant)

      by murdocj ( 543661 )

      That is pretty scary when you rewrite it in Perl to make it intelligible.

      • by one eyed kangaroo ( 215202 ) on Monday February 18, 2013 @12:48AM (#42932691) Homepage

        A witty response, but really this is getting a bit tired.

        I suppose people are free to keep reading the same old, self-reinforcing sources that insist that Perl is somehow a language of the past. And if they read enough of these cliches, the anti-Perl FUD may seem to be accurate, but as any developer who spends time wrestling with real-world problems in modern Perl will attest, the so-called modern Perl ecosystem is, (just like the modern Python or PHP ecosystems), a fabulous place to work in.

        I work in all three.

        • by murdocj ( 543661 )

          Yes Perl has lots of libraries, lots of code, lots of support, and I'm sure if you spend all of your time in Perl, you eventually get used to it. But I spent time working on occasion on some Perl scripts we used for glue, and from that point of view, Perl is a nightmare. Random crap done by random characters depending on random context. Basically it looks like whenever Larry Wall needed to do something, he added some functionality and assigned the next unused character combination to it. I've programmed

        • by murdocj ( 543661 )

          I must admit, one of my issues with Perl isn't really Perl, it's the Camel book. It seems to be deliberately written out of order so whatever you are reading, it's guaranteed that you need to read something later in the book first.

  • man texinfo (Score:5, Insightful)

    by Anonymous Coward on Sunday February 17, 2013 @07:22PM (#42931281)

    Can't be much use, it doesn't have a man page.

  • by Anonymous Coward on Sunday February 17, 2013 @07:40PM (#42931353)

    I haven't used TexInfo for years, but what I remember most was the absolutely abysmal standalone "info" reader. That thing was the biggest piece of shit I've ever seen in any program. Hopefully they've abandoned the crappy "info" format and all of the shitty standalone readers to view info documents, and just use HTML by default now.

  • Perl??? (Score:3, Insightful)

    by mark-t ( 151149 ) <markt.nerdflat@com> on Sunday February 17, 2013 @07:48PM (#42931395) Journal
    Why on earth would they have picked perl? Perl isn't really a native gnu project. At least gcc is.
    • Probably because it's the second most widely known and used language on systems that run makeinfo, next to C?

    • by jbolden ( 176878 )

      GCC is C. This is a job for a scripting language not a low level compiled language. Typically GNU uses Scheme as their scripting language. But knowledge of Scheme and Scheme syntax is decreasing. Perl has good support for parsing, tons of people know it, It seems like a reasonable choice for GNU to start doing scripting type stuff in. The Perl community has been active with free software for a long time and hasn't gotten involved in anything questionable.

      Seems like a reasonable choice.

      • GCC is C.

        Not anymore. [slashdot.org]

    • Usually people make fun of the FSF for choosing crappy projects (see: bzr for emacs) because they are part of GNU instead of making pragmatic choices for technical reasons...

      • by mark-t ( 151149 )

        Possibly... but here they just made a crappy choice period. And the fact that it's not even really part of GNU means that they don't even have an excuse for it other than ignorance.

        Perl is not a remotely elegant or clean language to develop in, and I have completely lost count of the number of projects I've seen written in it, as they evolved, showed a distinct propensity to quickly *DE*volve into an undecipherable mess. It's a language that is best avoided in the 21st century, because there are many a

  • Speed. (Score:4, Interesting)

    by Atzanteol ( 99067 ) on Sunday February 17, 2013 @07:52PM (#42931419) Homepage

    I love how a language that was "fast enough" in the '90s is now suddenly "too slow" in 2013.

    What's with the "I need all my code hyper-optimized" crowd on /. these days? We running a Gentoo help forum I didn't notice?

    • Re: (Score:2, Insightful)

      by Anonymous Coward

      I love how a language that was "fast enough" in the '90s is now suddenly "too slow" in 2013.

      No-one said it was "too slow", if they thought that they wouldn't have released it. They said it was slower than the C version, which is (presumably, as I haven't measured it myself) an objective fact.

    • I love how a language that was "fast enough" in the '90s is now suddenly "too slow" in 2013.

      What's with the "I need all my code hyper-optimized" crowd on /. these days? We running a Gentoo help forum I didn't notice?

      Help me Obi Gentoo Kenobi. You're our only hope.

  • Do not want (Score:5, Insightful)

    by GlobalEcho ( 26240 ) on Sunday February 17, 2013 @08:38PM (#42931649)

    Allow me to initiate the inevitable hatefest:

    Every time I run man and get a pointer to texinfo, I want to beat my head on the keyboard. I do not have the time, once again, to look up those obscure keyboard commands so that I may navigate laboriously through the documentation. It's time to interrupt my command-line workflow, go to the nearest GUI and run a web search for the nearest HTML manual.

    • I'm with you. The GNU folks we are told "in general, abhor man pages, and create info documents instead.". Tis a shame.
      • Re:Do not want (Score:5, Insightful)

        by dbIII ( 701233 ) on Sunday February 17, 2013 @11:33PM (#42932381)
        It was even worse when you type "man foo", get a message telling you man is evil and to use info, then the info gives you nothing but a placeholder. The gnome stuff was full of that (gconf stuff especially) before they decided to not even bother pretending they had documentation.
        Back in the day doing "man grub", getting a rude message to use info, then "info grub" and getting a "grub is wonderful LILO sux" message and no documentation was definitely one of those moments where I wanted to beat somebody's head with a model M keyboard.
        At least "pinfo" can be used without having to spend more time working out how to use the info tool than reading the documentation.
    • by ls671 ( 1122017 )

      This, exactly this.

    • Re:Do not want (Score:4, Insightful)

      by Nimey ( 114278 ) on Sunday February 17, 2013 @09:21PM (#42931787) Homepage Journal

      Agreed. The worst is when a package has a half-assed manpage that points to the info documentation, and when you fire up info it's the exact same stuff as the manpage.

      Texinfo should be retired in favor of HTML for when there's too much documentation for a man page.

      • Re:Do not want (Score:4, Informative)

        by ais523 ( 1172701 ) <ais523(524\)(525)x)@bham.ac.uk> on Sunday February 17, 2013 @11:48PM (#42932427)
        info shows the manpage by default if the info documentation isn't installed. So what you're seeing is probably a packaging problem, where the documentation exists but, for whatever reason (perhaps you're using a Debian-based distro and forgot to explicitly ask for it), wasn't installed on your computer.
      • by Trogre ( 513942 )

        HTML that still renders legibly in a text terminal, that is. Test case: lynx

        • by Nimey ( 114278 )

          Naturally. I wouldn't necessarily restrict it to just lynx, though; there are at least two other families of decent ncurses browsers (links, w3m) and they can handle complex pages better.

    • Re: (Score:2, Interesting)

      by Anonymous Coward

      Both texinfo and man have their place. texinfo is good for learning the deep details of a product. man pages are good for quick "what was that option for doing X again?" checks.

      The attitude of the FSF towards man pages is, to put it politely, stupid. And counterproductive. Damnit, the response to a bug report saying "the man page is out of date/inaccurate/incorrect" should be to fix the damn man page, not to remove it!

      Don't get me wrong, there are times when the texinfo documentation is incredibly useful, a

      • texinfo is good for learning the deep details of a product.

        No, it's not. It is clunky and difficult to navigate. A set of linked HTML pages would be good for learning the deep details of a product. Texinfo is just crap.

        • Texinfo is is a decent format for writing documentation in - nicer and less verbose than HTML or DocBook. You can generate either HTML or DocBook or XML from Texinfo, and then do a bunch of processing on it. For example the documentation for Kawa [gnu.org] is written in texinfo, then makeinfo converts it to docbook, which is then converted to html. The result isn't splashy but (if I say so myself) fairly nice.
          • Texinfo is is a decent format for writing documentation in - nicer and less verbose than HTML or DocBook.

            You have got to be kidding. That's true only in the sense that making the trip from Stockholm to Vladivostok via dogsled might be a "decent" mode of travel.

            Aside from the fact that it's Just Plain Horrid(TM) to read or write in source format, TexInfo suffers from the same problem that HTML does: No semantics.

            The reason that DocBook is so "verbose" is that it actually indicates what things are.

            And knowing what things are can be very helpful.

            • Aside from the fact that it's Just Plain Horrid(TM) to read or write in source format, TexInfo suffers from the same problem that HTML does: No semantics.

              You don't seem to know much about Texinfo. It is definitely very much about semantics - quite like DocBook. I agree DocBook takes the semantics thing slightly further than Texinfo - but it has big holes too: For example DocBook doesn't have a standard way to specify the structure of a command/function synopsis except for the C language.

              The reason tha

            • by fatphil ( 181876 )
              It's clear that DocBook was written by a couple of groups who each had their own documentation needs in mind. So firstly there are more-than-one-way-to-do-similar-things clashes, and if you're not trying to write something that's just like one, and only one, of theirs - you'll end up with a bit of a 3-legged camel.
    • Allow me to initiate the inevitable hatefest:

      Every time I run man and get a pointer to texinfo, I want to beat my head on the keyboard. I do not have the time, once again, to look up those obscure keyboard commands so that I may navigate laboriously through the documentation. It's time to interrupt my command-line workflow, go to the nearest GUI and run a web search for the nearest HTML manual.

      Thank you, sir. That's something I would have said myself precisely like that.

    • by swillden ( 191260 ) <shawn-ds@willden.org> on Sunday February 17, 2013 @10:42PM (#42932171) Journal

      I do not have the time, once again, to look up those obscure keyboard commands so that I may navigate laboriously through the documentation.

      What obscure keyboard commands? They're just the keybindings for the help system of the One True Editor. If you are using something inferior and have therefore memorized some truly obscure keyboard commands instead, how is that their fault?

      • Re: (Score:2, Funny)

        by Anonymous Coward

        What obscure keyboard commands? They're just the keybindings for the help system of the One True Editor.

        You, sir, have no idea what the One True Editor actually is:

        http://www.gnu.org/fun/jokes/ed-msg.html

      • by murdocj ( 543661 )

        Because lord knows, open source is all about choice.

        • by gorzek ( 647352 )

          Choice for the developer, not the end user. The end user is stuck with whatever the developer picked. ;)

    • by jbolden ( 176878 )

      Well you can use info to read man pages and then you'll know those keywords when you need them. :) But yeah texinfo is a pain.

    • by fa2k ( 881632 )

      It's weird, I've seen a reference to texinfo many times while using man, but I have never actually followed through. Texinfo was just the weird disclaimer on some man pages to me. I just did info grub now, and it's not that bad if you stick to page up / page down and searching, like with man. Maybe I'll start actually using the texinfo pages now...

    • by Rozzin ( 9910 )

      Every time I run man and get a pointer to texinfo, I want to beat my head on the keyboard. I do not have the time, once again, to look up those obscure keyboard commands so that I may navigate laboriously through the documentation.

      Then just pipe it through your pager, and you'll have basically the exact same experience as if it was a man page. e.g.:

      info info | less

      OK?

  • How do you compile the documentation when you're building Perl's prerequisites from source?

  • oxymoron (Score:3, Informative)

    by csumpi ( 2258986 ) on Sunday February 17, 2013 @10:05PM (#42931993)
    ...perl...cleaner code...
    • by tyrione ( 134248 )

      ...perl...cleaner code...

      True, not to mention with C11 you get Unicode and much more. C resurgence as a popular language is widely quantifiable. Perl as a dying language is widely quantifiable.

    • by arielCo ( 995647 )

      No oxymoron here. Perl frees you to create real messes, but that's mostly because it's very expressive, which also helps you code with less temp variables, shorter loops, etc., which can be actually easier to read if you know the language (Perl has a higher "cognitive load" than other languages that may alienate casual participants).

      OTOH there are best-practices and style guides to ease things for the next lucky person to read your masterpiece (possibly a future you). So don't blame the language; hell, ther

  • by manu0601 ( 2221348 ) on Sunday February 17, 2013 @10:33PM (#42932135)
    Now we will have a perl dependency for all GNU stuff, and this to read documentation that is even less nice to read than man pages. The best thing they could have done to texinfo is to get rid of it, IMO.
  • Just an End User (Score:4, Interesting)

    by rueger ( 210566 ) * on Monday February 18, 2013 @02:45AM (#42933115) Homepage
    I very happily gave up on man pages (and variants thereof) years ago because they were too obtuse and circular to be useful to me, a mere end user. Early on I figured out that the basic rule of man pages was that the one you need relied on you already having read and digested fifteen others, each of which relied on you having read an digested fifteen others.... actually finding what you needed was an endless exercise in frustration.

    Google + Forums is what real people rely on.
  • by e70838 ( 976799 ) on Monday February 18, 2013 @04:24AM (#42933385)
    It has been used as a pretext for not providing correct man pages. For example man sed:
    COMMAND SYNOPSIS
    This is just a brief synopsis of sed commands to serve as a reminder to those who
    already know sed; other documentation (such as the texinfo document) must be con-
    sulted for fuller descriptions.

    When I have learned unix, man pages were complete, concise, accurate and uptodate documentation of all the system. I feel that because of this textinfo mess, man pages on Linux are incomplete and vague and that the documentation dislayed by info is not very clear.
  • by SgtChaireBourne ( 457691 ) on Monday February 18, 2013 @04:59AM (#42933507) Homepage
    I'd rather see the format scrapped and replaced with either better man pages or else HTML2. With HTML 2 you can use a text based browser like Lynx, which is more polished and gives you better navigation capabilities. There are also more modules, libraries and packages that can work directly with HTML, so less time is spent trying to reinvent the wheel.

One man's constant is another man's variable. -- A.J. Perlis

Working...