Subject: bug#22718: 25.0.50; sexp parser error when 'vector' forms are in the docstring

From: Tim Visher <[email-masked]>
Date: Thu, 09 Apr 2015 07:47:50 -0400

Define a function with the following form:

(defun sexp-parser-bug? ()
  "Should this work?

[ [a b c]
  [d e f]
 |[g h i]]

[[|a b c]
 [ d e f]
 [ g h i]]"
  (interactive) 
  (message "charnock"))

Attempt to `M-x eval-defun` and notice that it doesn't eval the top
level.

Attempt to change the body and notice that it doesn't indent properly.

Various other navigation and editing things go wrong.

Remove the vector forms from the docstring and everything starts
working again.

(defun sexp-parser-bug? ()
  "Should this work?"
  (interactive) 
  (message "charnock"))

In GNU Emacs 25.0.50.1 (x86_64-apple-darwin14.1.0)
 of 2015-04-02 on timvisher-rjmetrics
Repository revision: 0c2ea36d2032ef47a0d6520b3e513459e072a553
Configured using:
 `configure --prefix=/usr/local/Cellar/emacs/HEAD
 --enable-locallisppath=/usr/local/share/emacs/site-lisp
 --infodir=/usr/local/Cellar/emacs/HEAD/share/info/emacs --without-dbus
 --with-gnutls --without-popmail --without-x'

Configured features:
ACL GNUTLS LIBXML2 ZLIB

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
sexp-parser-bug\?
[[|a b c] [d e f] [g h i]]
Making completion list... [3 times]

Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr emacsbug message dired format-spec
rfc822 mml easymenu mml-sec mm-decode mm-bodies mm-encode mail-parse
rfc2231 mailabbrev gmm-utils mailheader sendmail regexp-opt rfc2047
rfc2045 ietf-drums mm-util help-fns mail-prsvr mail-utils xterm
time-date tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type tabulated-list newcomment elisp-mode lisp-mode prog-mode
register page menu-bar rfn-eshadow timer select mouse jit-lock font-lock
syntax facemenu font-core frame cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer
cl-preloaded nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote make-network-process
multi-tty emacs)

Memory information:
((conses 16 78361 6603)
 (symbols 48 17307 0)
 (miscs 40 34 127)
 (strings 32 11194 4585)
 (string-bytes 1 302757)
 (vectors 16 7637)
 (vector-slots 8 339910 30744)
 (floats 8 76 643)
 (intervals 56 260 166)
 (buffers 976 12))