Subject: [PATCH] 23.1 info.el::Info-goto-node - Wrong type argument: stringp, nil

From: Jari Aalto <[email-masked]>
Date: Fri, 14 Aug 2009 20:35:39 +0300

Cf. Debian bug http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=531094

    apt-get install w3m-el emacs23 emacs23-el

    $ emacs -Q
    M-: (setq debug-on-error t) <return>
    C-h i   m   Emacs - w3m <return> i <return> 3

    Debugger entered--Lisp error: (wrong-type-argument stringp nil)
      string-match("\\s *\\((\\s *\\([^     )]*\\)\\s *)\\s
      *\\|\\)\\(.*\\)"
      nil)
      Info-goto-node(nil)
      Info-nth-menu-item()
      call-interactively(Info-nth-menu-item nil nil)

    Original bug submitter said:

    I'm there on
    (info "(emacs-w3m)Index")
    and I can't enter
    "3" which runs the command Info-nth-menu-item

The problem seems to be in lisp/info.el

    (defun Info-nth-menu-item ()
      "Go to the node of the Nth menu item.
    N is the digit argument used to invoke this command."
      (interactive)
      (Info-goto-node
       (Info-extract-menu-counting
        (- (aref (this-command-keys) (1- (length (this-command-keys))))
      ?0))))

The value of Info-extract-menu-counting isn't checked for nil before
passing it to Info-goto-node.

Jari

2009-08-14  Jari Aalto  <[email-masked]>

        * info.el (Info-nth-menu-item): Check return value
        of `Info-extract-menu-counting' for nil.

PATCH: http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=10;filename=0001-info.el-Info-nth-menu-item-Check-return-value-of-Inf.patch;att=1;bug=531094