Subject: bug#25015: 26.0.50; beginning-of-defun-raw goes too far

From: Marcin Borkowski <[email-masked]>
Date: Thu, 24 Nov 2016 14:03:30 +0100

Hello,

consider this in an Elisp-mode buffer:

--8<---------------cut here---------------start------------->8---
;; Comment header

-!-(defun func-1 (arg)
  "docstring"
  body)
--8<---------------cut here---------------end--------------->8---

(-!- means the point).  Type M-x beginning-of-defun-raw.  The point
moves to the beginning of buffer instead of staying where it is.

Tested on emacs -Q.

(I encountered it while working - still - on bug #21072.)

Best,
Marcin Borkowski

In GNU Emacs 26.0.50.3 (x86_64-unknown-linux-gnu, GTK+ Version 3.22.2)
 of 2016-10-28 built on jane
Repository revision: e2fd20683ad6c771912958058985c9696a1fc063
Windowing system distributor 'The X.Org Foundation', version 11.0.11804000

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

Important settings:
  value of $LC_COLLATE: pl_PL.UTF-8
  value of $LC_CTYPE: pl_PL.UTF-8
  value of $LC_MESSAGES: pl_PL.UTF-8
  value of $LANG: pl_PL.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Emacs-Lisp

Minor modes in effect:
  lispy-mode: t
  diff-auto-refine-mode: t
  global-git-commit-mode: t
  async-bytecomp-package-mode: t
  beeminder-org-integration-mode: t
  TeX-PDF-mode: t
  TeX-source-correlate-mode: t
  pdf-occur-global-minor-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  savehist-mode: t
  global-flycheck-mode: t
  projectile-global-mode: t
  projectile-mode: t
  ivy-mode: t
  show-paren-mode: t
  shell-dirtrack-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
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Features:
(shadow emacsbug vc-dispatcher vc-hg time dired-aux texmathp ruler-mode
hexl pdf-sync pdf-annot pdf-outline pdf-links pdf-history latexenc
reposition net-search mm-archive org-datetree org-capture calc-alg
calc-ext tabify calc-menu calc-aent calc calc-loaddefs calc-macs qp
eieio-opt counsel preview prv-emacs tex-buf adaptive-wrap font-latex
latex tex-ispell tex-style find-dired mail-extr face-remap shr-color
misearch multi-isearch timezone network-stream starttls url-cache eww
mm-url gnus nnheader url-queue shr svg dom cal-move parse-time dabbrev
diary-lib diary-loaddefs cal-iso executable lispy swiper iedit iedit-lib
lispy-inline avy semantic/db eieio-base etags xref project ediff-merg
ediff-wind ediff-diff ediff-mult ediff-help ediff-init ediff-util ediff
edebug lispy-tags vc-git magit-blame magit-stash magit-bisect
magit-remote magit-commit magit-sequence magit magit-apply magit-wip
magit-log magit-diff smerge-mode diff-mode magit-core magit-autorevert
autorevert filenotify magit-process magit-popup magit-mode magit-git
magit-section magit-utils git-commit help-fns radix-tree log-edit
pcvs-util add-log with-editor async-bytecomp async tramp-sh ert debug
colir color typopunct beeminder ewoc anaphora request url-http tls
gnutls url-auth url-gw nsm sierotki emms-librefm-stream
emms-librefm-scrobbler emms-playlist-limit emms-volume
emms-volume-amixer emms-i18n emms-history emms-score emms-stream-info
emms-metaplaylist-mode emms-bookmarks emms-cue emms-mode-line-icon
emms-browser sort emms-playlist-sort emms-last-played emms-player-xine
emms-player-mpd emms-playing-time emms-lyrics emms-url url url-proxy
url-privacy url-expand url-methods url-history url-cookie url-domsuf
mailcap emms-streams emms-show-all emms-tag-editor emms-mark
emms-mode-line emms-cache emms-info-ogginfo emms-info-mp3info emms-info
later-do emms-playlist-mode emms-player-vlc emms-player-mplayer
emms-player-simple emms-source-playlist emms-source-file locate
emms-setup emms emms-compat tex dbus xml crm pdf-occur tablist
tablist-filter semantic/wisent/comp semantic/wisent
semantic/wisent/wisent semantic/util-modes semantic/util semantic
semantic/tag semantic/lex semantic/fw mode-local cedet pdf-isearch
let-alist pdf-misc imenu pdf-tools pdf-view bookmark pp pdf-cache
pdf-info tq pdf-util tex-mode ansible f s yasnippet org-info org-habit
org-docview org-tree-slide org-timer org-drill savehist org-id hi-lock
org-learn org-protocol org-clock ledger-mode ledger-check
ledger-schedule ledger-xact ledger-texi ledger-test ledger-sort
ledger-report ledger-reconcile ledger-post ledger-occur ledger-init
ledger-fontify ledger-state ledger-navigate ledger-fonts ledger-exec
ledger-context ledger-complete ledger-commodities esh-var esh-io esh-cmd
esh-opt esh-ext esh-proc esh-groups eshell esh-module esh-mode esh-arg
esh-util cus-edit cus-start cus-load wid-edit ledger-regex js-lookup
flycheck rx projectile grep compile ibuf-ext ibuffer ibuffer-loaddefs
dash hydra lv not-too-often gnus-dired org-mu4e org-element avl-tree
org-location-google-maps org-agenda google-maps google-maps-static
url-util google-maps-geocode google-maps-base json map org org-macro
org-footnote org-pcomplete org-list org-faces org-entities noutline
outline easy-mmode 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 find-func mu4e-contrib mu4e desktop frameset
mu4e-speedbar speedbar sb-image ezimage dframe mu4e-main mu4e-context
mu4e-view cal-menu calendar cal-loaddefs browse-url mu4e-headers
mu4e-compose mu4e-draft mu4e-actions ido rfc2368 smtpmail sendmail
mu4e-mark mu4e-message html2text mu4e-proc mu4e-utils doc-view jka-compr
image-mode mu4e-lists mu4e-vars message subr-x puny rfc822 mml mml-sec
epa derived epg gnus-util rmail rmail-loaddefs mm-decode mm-bodies
mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums
mail-prsvr mailabbrev mail-utils gmm-utils mailheader hl-line cl
mu4e-meta ivy delsel ffap thingatpt edmacro kmacro server dired-x dired
dired-loaddefs paren tramp tramp-compat tramp-loaddefs trampver
ucs-normalize shell pcomplete comint ansi-color ring format-spec advice
finder-inf tex-site dired-dups-autoloads dired-efap-autoloads
git-gutter-fringe-autoloads fringe-helper-autoloads git-gutter-autoloads
htmlize-autoloads typopunct-autoloads info package epg-config
url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs
eieio-loaddefs password-cache url-vars seq byte-opt gv bytecomp
byte-compile cl-extra help-mode easymenu cconv cl-loaddefs pcase cl-lib
time-date mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel term/x-win 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
term/tty-colors 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
obarray 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 1243575 132189)
 (symbols 48 66382 0)
 (miscs 40 9873 7660)
 (strings 32 230539 145336)
 (string-bytes 1 9348822)
 (vectors 16 110926)
 (vector-slots 8 2530441 92715)
 (floats 8 11299 8067)
 (intervals 56 70725 2550)
 (buffers 976 111))

-- 
Marcin Borkowski