Subject: bug#25015: closed (Re: bug#25015: 26.0.50; beginning-of-defun-raw goes too far)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 24 Nov 2016 21:19:02 +0000

Your bug report

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

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
25015: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=25015
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#25015: 26.0.50; beginning-of-defun-raw goes too far
From: Marcin Borkowski <[email-masked]>
To: Eli Zaretskii <[email-masked]>
Cc: [email-masked], [email-masked]
Date: Thu, 24 Nov 2016 22:18:28 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

On 2016-11-24, at 17:59, Eli Zaretskii <[email-masked]> wrote:

>> From: Marcin Borkowski <[email-masked]>
>> Date: Thu, 24 Nov 2016 14:03:30 +0100
>> 
>> 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).
>
> This means point is actually _before_ the function, right?

Now that I think of it...  yes.

>> Type M-x beginning-of-defun-raw.  The point moves to the beginning
>> of buffer instead of staying where it is.
>
> Do you still think it's a problem?

Yes and no.  I can see now that this is not necessarily a bug.  OTOH, if
you now press M-h instead of e.g. C-M-a, you will see why I considered
this a problem.  (And this is in stock mark-defun; my version has the
same problem, I'll have to think how to deal with it.)

I'm thus closing this, and sorry for the noise.

-- 
Marcin Borkowski

Subject: 26.0.50; beginning-of-defun-raw goes too far
From: Marcin Borkowski <[email-masked]>
To: [email-masked]
Date: Thu, 24 Nov 2016 14:03:30 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

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