Subject: 23.1.50; (string-match "string" nil) error when typing `M-x help RET'
From: Giorgos Keramidas <[email-masked]>
To: [email-masked]
Date: Sat, 26 Sep 2009 10:52:29 +0300

Something seems to have changed in the way string-match works with its
second argument is nil.  By typing `M-x help RET' I expected to see the
same prompt that is displayed by <f1>, but instead of that a snapshot of
Emacs built from the Git mirror of the repository throws me into the
debugger at:

    Debugger entered--Lisp error: (wrong-type-argument stringp nil)
      string-match("%THIS-KEY%" nil)
      help()
      call-interactively(help t nil)
      execute-extended-command(nil)
      call-interactively(execute-extended-command nil nil)

The last changeset I have in my local Git clone is:

    commit f6829d72c1b405d6c43caa554c2123f41917e358
    Author: Chong Yidong <[email-masked]>
    Date:   Fri Sep 25 22:04:07 2009 +0000

        * files.el (safe-local-eval-forms): Allow time-stamp in
        before-save-hook (Bug#4554).

I'm updating a local mirror of the CVS repository now to check if this
is an artifact of the Git mirror.  In the meantime, does this seem like
a bug in `M-x help' or like something we recently changed in the
behavior of `string-match'?

In GNU Emacs 23.1.50.1 (i386-unknown-freebsd9.0, GTK+ Version 2.16.6)
 of 2009-09-26 on kobe
configured using `configure  '--prefix=/opt/emacs' '--with-x' '--with-x-toolkit=gtk' '--with-xpm' '--with-jpeg' '--with-tiff' '--with-gif' '--with-png''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: el_GR.ISO8859-7
  value of $LC_CTYPE: el_GR.ISO8859-7
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: C
  value of $XMODIFIERS: nil
  locale-coding-system: greek-iso-8bit-unix
  default enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  erc-list-mode: t
  erc-menu-mode: t
  erc-button-mode: t
  erc-netsplit-mode: t
  erc-track-mode: t
  erc-track-minor-mode: t
  erc-match-mode: t
  erc-notify-mode: t
  erc-autojoin-mode: t
  erc-services-mode: t
  erc-networks-mode: t
  erc-pcomplete-mode: t
  erc-ring-mode: t
  erc-log-mode: t
  erc-stamp-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-move-to-prompt-mode: t
  erc-readonly-mode: t
  iswitchb-mode: t
  cua-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
RET C-x C-b s a RET C-x b d e m o RET C-x b n u x RET
C-x b d a r k RET C-l C-x b n u x RET C-x b s c r a
RET ESC x t o g g TAB d e b u TAB e TAB RET ESC x h
e l p RET ESC O A ESC [ 1 ; 2 B ESC [ 1 ; 2 B ESC [
1 ; 2 B ESC [ 1 ; 2 B ESC [ 1 ; 2 B ESC [ 1 ; 2 B ESC
[ 1 ; 2 B ESC w C-] RET C-y RET ESC x r e p o r t -
TAB b u TAB RET

Recent messages:
#Linux modes: +nc
#Linux was created on Tuesday 1999/03/30 04:13:13
Updating buffer list...
Formats have changed, recompiling...done
Updating buffer list...done
Commands: m, u, t, RET, g, k, S, D, Q; q to quit; h for help
Debug on Error enabled globally
Entering debugger...
Quit
Mark set

Load-path shadows:
None found.