Subject: 25.0.50; incorrect jsdoc comment wrapping in js mode

From: Tom Tromey <[email-masked]>
Date: Fri, 22 Jan 2016 08:46:31 -0700

I'm using js-mode for .js files and I set this in my prog-mode-hook:

  (setq-local comment-auto-fill-only-comments t)
  (auto-fill-mode 1)

To see the bug, open a new .js file (but it works in an existing file as
well).  Then enter:

/**
 * Load the inspector's shared head.js for use by tests that need to

Now move point to the end of the comment line and type " open the".
This causes wrapping for me, but the result looks like:

/**
 * Load the inspector's shared head.js for use by tests that need to
/**open the

However, it should look like:

/**
 * Load the inspector's shared head.js for use by tests that need to
 * open the

In GNU Emacs 25.0.50.3 (x86_64-unknown-linux-gnu, GTK+ Version 3.18.6)
 of 2016-01-20 built on pokyo
Windowing system distributor 'Fedora Project', version 11.0.11800000
Configured using:
 'configure --prefix=/home/tromey/Emacs/install
 --with-file-notifications=no'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND DBUS GCONF GSETTINGS NOTIFY
LIBSELINUX GNUTLS LIBXML2 FREETYPE LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS
GTK3 X11

Important settings:
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: JS

Minor modes in effect:
  shell-dirtrack-mode: t
  bug-reference-prog-mode: t
  diff-auto-refine-mode: t
  erc-spelling-mode: t
  erc-truncate-mode: t
  flyspell-mode: t
  which-function-mode: t
  projectile-global-mode: t
  projectile-mode: t
  erc-notify-mode: t
  erc-notifications-mode: t
  erc-services-mode: t
  erc-list-mode: t
  erc-menu-mode: t
  erc-autojoin-mode: t
  erc-ring-mode: t
  erc-networks-mode: t
  erc-pcomplete-mode: t
  erc-track-mode: t
  erc-track-minor-mode: t
  erc-match-mode: t
  erc-netsplit-mode: t
  erc-hl-nicks-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-move-to-prompt-mode: t
  erc-readonly-mode: t
  flycheck-mode: t
  savehist-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-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
  column-number-mode: t
  line-number-mode: t
  auto-fill-function: do-auto-fill
  transient-mark-mode: t

Recent messages:
Saving file /home/tromey/firefox-git/gecko/devtools/client/styleeditor/test/browser_styleeditor_syncEditSelector.js...
Wrote /home/tromey/firefox-git/gecko/devtools/client/styleeditor/test/browser_styleeditor_syncEditSelector.js
More than 1 blank line not allowed. [no-multiple-empty-lines]
Auto-saving...done
Making comment-continue buffer-local while locally let-bound!
Quit
(New file)
Mark set [2 times]
Saving file /tmp/q.js...
Wrote /tmp/q.js

Load-path shadows:
/home/tromey/.emacs.d/elpa/bubbles-0.5/bubbles hides /home/tromey/Emacs/install/share/emacs/25.0.50/lisp/play/bubbles

Features:
(shadow emacsbug vc-annotate compare-w shell smerge-mode css-mode
perl-mode rst tabify man gud autoconf autoconf-mode git-rebase-mode
etags xref project dxr org-element org-rmail org-mhe org-irc org-info
org-gnus org-docview doc-view image-mode org-bibtex bibtex org-bbdb
org-w3m org org-macro org-footnote org-pcomplete org-list org-faces
org-entities noutline outline org-version ob-emacs-lisp ob ob-tangle
ob-ref ob-lob ob-table ob-exp org-src ob-keys ob-comint ob-core ob-eval
org-compat org-macs org-loaddefs mailalias bbdb-sc supercite regi
mail-hist nnir url-http url-gw url-auth eww url-queue gnus-fun log-view
idutils gnus-html url-cache mm-url url url-proxy url-privacy url-expand
url-methods url-history url-cookie url-domsuf find-dired git-commit-mode
log-edit pcvs-util term/xterm xterm copyright dabbrev conf-mode grep js
json cc-mode cc-fonts cc-guess cc-menus cc-cmds add-log bug-reference
map sgml-mode flow-fill shr-color url-util url-parse url-vars shr dom
mm-archive browse-url character-fold misearch multi-isearch bbdb-gui
bbdb-hooks bbdb-rmail rmailsum rmail vc-mtn vc-hg vc-git diff-mode
vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs seq sort smiley gnus-cite
gnus-async gnus-bcklg qp gnus-ml disp-table gnus-topic nndraft nnmh
nnfolder utf-7 bbdb-gnus bbdb-snarf mail-extr bbdb-com warnings
gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg nntp
gnus-cache gnus-registry registry eieio-compat eieio-base gnus-art mm-uu
mml2015 mm-view mml-smime smime dig mailcap gnus-sum gnus-group
gnus-undo smtpmail sendmail gnus-start gnus-cloud nnimap nnmail
mail-source utf7 netrc nnoo parse-time gnus-spec gnus-int gnus-range
message idna rfc822 mml mml-sec epg mm-decode mm-bodies mm-encode
mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils
mailheader gnus-win gnus gnus-ems nnheader mail-utils network-stream nsm
starttls tls gnutls erc-spelling erc-truncate flyspell ispell diminish
appt diary-lib diary-loaddefs cal-menu calendar cal-loaddefs which-func
imenu projectile ibuf-macs ibuf-ext ibuffer minimap autorevert
filenotify desktop frameset cus-start cus-load erc-notify
erc-desktop-notifications notifications dbus xml erc-services erc-list
erc-menu erc-join erc-ring erc-networks erc-pcomplete pcomplete
erc-track erc-match erc-netsplit erc-hl-nicks color erc-button erc-fill
erc-stamp wid-edit erc-goodies erc erc-backend erc-compat format-spec
auth-source eieio byte-opt bytecomp byte-compile cl-extra cconv
gnus-util mm-util help-fns mail-prsvr password-cache thingatpt pp status
dired-aux dired-x dired advice vc-dir ewoc vc vc-dispatcher flycheck
derived easy-mmode cl-seq edmacro kmacro find-func help-mode rx subr-x
dash jka-compr sh-script smie executable compile let-alist cc-styles
cc-align cc-engine cc-vars cc-defs bbdb cl timezone ange-ftp comint
ansi-color ring server savehist bbdb-autoloads dwarf-mode-autoloads
eieio-core cl-macs gv cl-loaddefs pcase cl-lib finder-inf
lisppaste-autoloads pydoc-info-autoloads info-look weblogger-autoloads
info package easymenu epg-config time-date mule-util tooltip eldoc
electric uniquify ediff-hook vc-hooks lisp-float-type mwheel x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list newcomment elisp-mode lisp-mode prog-mode register page
menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock
syntax facemenu font-core frame cl-generic cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese charscript 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
dbusbind inotify dynamic-setting system-font-setting font-render-setting
move-toolbar gtk x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 2444835 1037424)
 (symbols 48 114236 66)
 (miscs 40 29658 13350)
 (strings 32 1021236 415862)
 (string-bytes 1 43274617)
 (vectors 16 118902)
 (vector-slots 8 2744111 224997)
 (floats 8 1008 1451)
 (intervals 56 87454 4187)
 (buffers 976 255)
 (heap 1024 355968 203309))

Tom