unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#15069: Introduction to Elisp 14.3: Function 'count-words-defun' does not work as described.
@ 2013-08-11 11:32 Sian Mountbatten
  2013-08-11 11:47 ` bug#15069: Bug: 15069: Correct functioning in the *scratch* buffer Sian Mountbatten
  2021-05-21 19:39 ` bug#15069: [PATCH] " pillule
  0 siblings, 2 replies; 7+ messages in thread
From: Sian Mountbatten @ 2013-08-11 11:32 UTC (permalink / raw)
  To: 15069

[-- Attachment #1: Type: text/plain, Size: 6511 bytes --]

From: Sian Mountbatten <poenikatu@fastmail.co.uk>
To: bug-gnu-emacs@gnu.org
Subject: 24.3; Introduction to Elisp 14.3: count-words-defun misbehaves
--text follows this line--
This bug report will be sent to the Bug-GNU-Emacs mailing list
and the GNU bug tracker at debbugs.gnu.org.  Please check that
the From: line contains a valid email address.  After a delay of up
to one day, you should receive an acknowledgment at that address.

Please write in English if possible, as the Emacs maintainers
usually do not have translators for other languages.

Please describe exactly what actions triggered the bug, and
the precise symptoms of the bug.  If you can, give a recipe
starting from `emacs -Q':

I used C-xC-e to evaluate the functions count-words-in-defun and
count-words-defun as displayed in the Info section 14.3 of the
Introduction. I then used C-xC-e to set the key sequence C-c= to invoke
the latter function. I then positioned point in the sample function
provided to see whether the two count-words functions were correct.
Instead of reporting that there were 10 words or symbols in the
function, Emacs reported that there were 1 word or symbol and point was
moved to the beginning of section 14.3. Point should not have been moved
in that fashion, according to the Introduction.


If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
     `bt full' and `xbacktrace'.
For information about debugging Emacs, please read the file
/usr/share/emacs/24.3/etc/DEBUG.


In GNU Emacs 24.3.1 (x86_64-pc-linux-gnu, GTK+ Version 3.8.2)
  of 2013-06-25 on sochi, modified by Debian
Windowing system distributor `The X.Org Foundation', version 11.0.11204000
System Description:    Debian GNU/Linux unstable (sid)

Configured using:
  `configure '--build' 'x86_64-linux-gnu' '--build' 'x86_64-linux-gnu'
  '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib'
  '--localstatedir=/var/lib' '--infodir=/usr/share/info'
  '--mandir=/usr/share/man' '--with-pop=yes'
  '--enable-locallisppath=/etc/emacs24:/etc/emacs:/usr/local/share/emacs/24.3/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.3/site-lisp:/usr/share/emacs/site-lisp'
  '--with-crt-dir=/usr/lib/x86_64-linux-gnu' '--with-x=yes'
  '--with-x-toolkit=gtk3' '--with-toolkit-scroll-bars'
  'build_alias=x86_64-linux-gnu' 'CFLAGS=-g -O2 -fstack-protector
  --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall'
  'LDFLAGS=-Wl,-z,relro' 'CPPFLAGS=-D_FORTIFY_SOURCE=2''

Important settings:
   value of $LANG: eo.UTF-8
   locale-coding-system: utf-8-unix
   default enable-multibyte-characters: t

Major mode: Fundamental

Minor modes in effect:
   tooltip-mode: t
   mouse-wheel-mode: t
   tool-bar-mode: t
   menu-bar-mode: t
   file-name-shadow-mode: t
   global-font-lock-mode: t
   blink-cursor-mode: t
   auto-composition-mode: t
   auto-encryption-mode: t
   auto-compression-mode: t
   buffer-read-only: t
   column-number-mode: t
   line-number-mode: t
   transient-mark-mode: t

Recent input:
SPC e m SPC SPC <return> 1 <backspace> I n t o <backspace>
r o d u c t i o n SPC t o SPC E l i s p SPC 1 4 . 3
: SPC c o u n t - w o r d s - d e f u n SPC d <backspace>
n o t SPC w o r k i n g SPC a s SPC d e s c r i b e
d <return> C-y <up> <down> C-x 2 C-x C-f * m e s <tab>
<return> C-SPC <down> <down> <down> <down> <down> <down>
<down> <down> <down> M-w C-x k <return> C-y C-x 0 <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> <backspace> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> <right> <right> <right>
<right> <right> <right> <right> <right> <right> <right>
<right> <right> <right> <right> <right> <right> <right>
<right> <right> <right> <right> <right> <right> <right>
M-d M-d p o e n i k a t u @ f a s t m a i l . c o .
u k <right> <right> C-c C-c y e s <return> m a i l
SPC c l i e n t <return> <help-echo> <down-mouse-1>
<mouse-1> C-x o <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <menu-bar> <buffer> C-a C-x
k <return> C-x 1 C-x C-f * m e s <tab> <return> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <S-down> <S-down>
<S-down> <S-down> <S-down> <S-down> <S-down> <S-down>
<S-down> M-w C-x k <return> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <menu-bar>
<help-menu> <emacs-manual-bug> <help-echo> <tab> <tab>
<tab> <return> SPC q M-x r e p o r t SPC e m SPC SPC
<return>

Recent messages:
Mark set [2 times]
Auto-saving...done
byte-code: Beginning of buffer [9 times]
Mark set
Saving file /home/sian/.emacs...
Wrote /home/sian/.emacs [2 times]
Sending...
Mark set [2 times]
Sending via mail...
Sending...done

Load-path shadows:
/usr/share/emacs/24.3/site-lisp/debian-startup hides 
/usr/share/emacs/site-lisp/debian-startup
/usr/share/emacs24/site-lisp/dictionaries-common/ispell hides 
/usr/share/emacs/24.3/lisp/textmodes/ispell
/usr/share/emacs24/site-lisp/dictionaries-common/flyspell hides 
/usr/share/emacs/24.3/lisp/textmodes/flyspell

Features:
(jka-compr info mailalias mailclient browse-url cus-edit cus-start
cus-load wid-edit help-mode shadow sort gnus-util mail-extr emacsbug
message format-spec rfc822 mml easymenu mml-sec mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail
rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils server
saveplace time-date tooltip ediff-hook vc-hooks lisp-float-type mwheel
x-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list
newcomment lisp-mode register page menu-bar rfn-eshadow timer select
scroll-bar 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 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
dbusbind dynamic-setting system-font-setting font-render-setting
move-toolbar gtk x-toolkit x multi-tty emacs)

-- 
Sian Mountbatten (home web-site http://www.poenikatu.co.uk/>)
Learning C++11 from the C++ Primer 5th edition.
I'm an associate FSF member (no. 10888).
Help us support software freedom! http://www.fsf.org/jf?referrer=10888


[-- Attachment #2: Type: text/html, Size: 9797 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#15069: Bug: 15069: Correct functioning in the *scratch* buffer
  2013-08-11 11:32 bug#15069: Introduction to Elisp 14.3: Function 'count-words-defun' does not work as described Sian Mountbatten
@ 2013-08-11 11:47 ` Sian Mountbatten
  2021-05-21 19:39 ` bug#15069: [PATCH] " pillule
  1 sibling, 0 replies; 7+ messages in thread
From: Sian Mountbatten @ 2013-08-11 11:47 UTC (permalink / raw)
  To: 15069

[-- Attachment #1: Type: text/plain, Size: 727 bytes --]

The commands C-xC-e were issued within the *info* buffer.
After positioning point within the sample function definition,
and issuing C-c=, the erroneous behaviour, as described, occurred.

However, copying the two functions and the global key setting and
the sample function to the *scratch* buffer and then setting point
into the sample function definition and keying C-c= produced the
correct result: There are 10 words or symbols... Point was set to the
character beyond the function definition.

-- 
Sian Mountbatten (home web-site http://www.poenikatu.co.uk/>)
Learning C++11 from the C++ Primer 5th edition.
I'm an associate FSF member (no. 10888).
Help us support software freedom! http://www.fsf.org/jf?referrer=10888


[-- Attachment #2: Type: text/html, Size: 1230 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#15069: [PATCH] Bug: 15069: Correct functioning in the *scratch* buffer
  2013-08-11 11:32 bug#15069: Introduction to Elisp 14.3: Function 'count-words-defun' does not work as described Sian Mountbatten
  2013-08-11 11:47 ` bug#15069: Bug: 15069: Correct functioning in the *scratch* buffer Sian Mountbatten
@ 2021-05-21 19:39 ` pillule
  2021-05-22  6:34   ` Eli Zaretskii
  1 sibling, 1 reply; 7+ messages in thread
From: pillule @ 2021-05-21 19:39 UTC (permalink / raw)
  To: 15069; +Cc: Sian Mountbatten, Stefan Kangas

[-- Attachment #1: Type: text/plain, Size: 316 bytes --]


Hi,

Is that correct that it is a documentation bug (need to specify to 
the user to evaluate `count-words-in-defun' in eg, a *scratch* 
buffer) rather than an implementation bug (fixing the behavior of 
beginning-of-defun in Info-mode) ?

If so I attached a small patch there, and verified it after a 
`make docs`

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: patch for the emacs-lisp introduction manual --]
[-- Type: text/x-diff, Size: 1233 bytes --]

From 22e3722320bab1f8fbfef062afc0c7f889440c9a Mon Sep 17 00:00:00 2001
From: Trust me I am a doctor <pillule@riseup.net>
Date: Fri, 21 May 2021 18:34:58 +0000
Subject: [PATCH] Clarify page 14.3 of eintr manual (bug#15069)

It has been pointed the instructions for `count-words-in-defun` are
ambiguous : One can expect to evaluate the sexp in the Info manual but
that would not work, so this commit explicit that it must be done in a
clean buffer (= with a valid syntaxe tree).

Copyright-paperwork-exempt: yes
---
 doc/lispintro/emacs-lisp-intro.texi | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi
index fade4096e3..ba5fae4ff0 100644
--- a/doc/lispintro/emacs-lisp-intro.texi
+++ b/doc/lispintro/emacs-lisp-intro.texi
@@ -14650,7 +14650,8 @@ Let's re-use @kbd{C-c =} as a convenient keybinding:
 
 Now we can try out @code{count-words-defun}: install both
 @code{count-words-in-defun} and @code{count-words-defun}, and set the
-keybinding, and then place the cursor within the following definition:
+keybinding, and then place the cursor within the following definition,
+in a clean scratch buffer:
 
 @smallexample
 @group
-- 
2.20.1


[-- Attachment #3: Type: text/plain, Size: 481 bytes --]


I remember I especially liked to be able to evaluate sexp in place 
in the eintr manual, that is fitting so well the interpreted 
nature of elisp, but here the situation is out of my mind :
 - 1. the norm seems to *not* use the column 0 to declare top 
 level sexp in Info manuals even if 
 `open-paren-in-column-0-is-defun-start' is set to t.
 - 2. there is many opened sexp given as exemple, which will 
 confuse the syntaxe tree.

Have a nice day, or, night, I don't know.
-- 

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* bug#15069: [PATCH] Bug: 15069: Correct functioning in the *scratch* buffer
  2021-05-21 19:39 ` bug#15069: [PATCH] " pillule
@ 2021-05-22  6:34   ` Eli Zaretskii
  2021-05-24 15:48     ` pillule
  0 siblings, 1 reply; 7+ messages in thread
From: Eli Zaretskii @ 2021-05-22  6:34 UTC (permalink / raw)
  To: pillule; +Cc: poenikatu, stefan, 15069

> From: pillule <pillule@riseup.net>
> Date: Fri, 21 May 2021 19:39:37 +0000
> Cc: Sian Mountbatten <poenikatu@fastmail.co.uk>,
>  Stefan Kangas <stefan@marxist.se>
> 
> It has been pointed the instructions for `count-words-in-defun` are
> ambiguous : One can expect to evaluate the sexp in the Info manual but
> that would not work, so this commit explicit that it must be done in a
> clean buffer (= with a valid syntaxe tree).
> 
> Copyright-paperwork-exempt: yes
> ---
>  doc/lispintro/emacs-lisp-intro.texi | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi
> index fade4096e3..ba5fae4ff0 100644
> --- a/doc/lispintro/emacs-lisp-intro.texi
> +++ b/doc/lispintro/emacs-lisp-intro.texi
> @@ -14650,7 +14650,8 @@ Let's re-use @kbd{C-c =} as a convenient keybinding:
>  
>  Now we can try out @code{count-words-defun}: install both
>  @code{count-words-in-defun} and @code{count-words-defun}, and set the
> -keybinding, and then place the cursor within the following definition:
> +keybinding, and then place the cursor within the following definition,
> +in a clean scratch buffer:

It says "install the functions", which means they should be evaluated
or loaded, and that tells you the Lisp code should already be
available in some Lisp buffer, whether it's *scratch* or some *.el
file.

So why did you think it speaks about the text in the Info buffer?
That's not the intent of the text, and the text says as much.

So I'm not sure we should install this fix.  Any other opinions?

In any case:

  . just talking about *scratch* is too restrictive
  . the commit log message is not according to our conventions (see
    CONTRIBUTE)

Thanks.





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#15069: [PATCH] Bug: 15069: Correct functioning in the *scratch* buffer
  2021-05-22  6:34   ` Eli Zaretskii
@ 2021-05-24 15:48     ` pillule
  2021-08-21 13:44       ` bug#15069: Introduction to Elisp 14.3: Function 'count-words-defun' does not work as described Lars Ingebrigtsen
  0 siblings, 1 reply; 7+ messages in thread
From: pillule @ 2021-05-24 15:48 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: pillule, poenikatu, stefan, 15069


Eli Zaretskii <eliz@gnu.org> writes:

> It says "install the functions", which means they should be 
> evaluated
> or loaded, and that tells you the Lisp code should already be
> available in some Lisp buffer, whether it's *scratch* or some 
> *.el
> file.
>
> So why did you think it speaks about the text in the Info 
> buffer?
> That's not the intent of the text, and the text says as much.

That is what I have done when studying this manual, I don't 
remember well,
but I may have been comforted in this habit by the following 
sections :

(info "(eintr) How to Evaluate")
«   In addition to typing keyboard commands, we have seen a second 
way to
evaluate an expression: by positioning the cursor after a list and
typing ‘C-x C-e’.  This is what we will do in the rest of this 
section.
There are other ways to evaluate an expression as well; these will 
be
described as we come to them.»

(info "(eintr) Buffer Names")
«   If you are reading this in Info inside of GNU Emacs, you can 
evaluate
each of the following expressions by positioning the cursor after 
it and
typing ‘C-x C-e’.»

Finally the section :

(info "(eintr) count-words-in-defun")
«   Now we can try out ‘count-words-defun’: install both
‘count-words-in-defun’ and ‘count-words-defun’, and set the 
keybinding,
and then place the cursor within the following definition:»
                          ^_____________________________^

So I can understand one may be confused to discover that in this 
case,
he or she must instead copy the following definition in a separate 
file,
then call the command `count-words-in-defun' within it.

> So I'm not sure we should install this fix.  Any other opinions?
>
> In any case:
>
>   . just talking about *scratch* is too restrictive
>   . the commit log message is not according to our conventions 
>   (see
>     CONTRIBUTE)

Yes please don't.
-- 





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#15069: Introduction to Elisp 14.3: Function 'count-words-defun' does not work as described.
  2021-05-24 15:48     ` pillule
@ 2021-08-21 13:44       ` Lars Ingebrigtsen
  2021-08-30 20:02         ` Trust me I am a Doctor
  0 siblings, 1 reply; 7+ messages in thread
From: Lars Ingebrigtsen @ 2021-08-21 13:44 UTC (permalink / raw)
  To: pillule; +Cc: poenikatu, stefan, 15069

pillule <pillule@riseup.net> writes:

>> So why did you think it speaks about the text in the Info buffer?
>> That's not the intent of the text, and the text says as much.

[...]

> (info "(eintr) Buffer Names")
> «   If you are reading this in Info inside of GNU Emacs, you can
> evaluate
> each of the following expressions by positioning the cursor after it
> and
> typing ‘C-x C-e’.»
>
> Finally the section :
>
> (info "(eintr) count-words-in-defun")
> «   Now we can try out ‘count-words-defun’: install both
> ‘count-words-in-defun’ and ‘count-words-defun’, and set the
> keybinding,
> and then place the cursor within the following definition:»
>                          ^_____________________________^
>
> So I can understand one may be confused to discover that in this case,
> he or she must instead copy the following definition in a separate
> file,
> then call the command `count-words-in-defun' within it.

I agree -- I read the section now, and `C-x C-e'-d the definitions as
expected (in the *info* buffer), and then I naturally tried the `C-c ='
command in the *info* buffer too -- which failed.

So I've installed a clarification along the lines suggested by pillule
in Emacs 28.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#15069: Introduction to Elisp 14.3: Function 'count-words-defun' does not work as described.
  2021-08-21 13:44       ` bug#15069: Introduction to Elisp 14.3: Function 'count-words-defun' does not work as described Lars Ingebrigtsen
@ 2021-08-30 20:02         ` Trust me I am a Doctor
  0 siblings, 0 replies; 7+ messages in thread
From: Trust me I am a Doctor @ 2021-08-30 20:02 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: poenikatu, stefan, 15069


Lars Ingebrigtsen <larsi@gnus.org> writes:

> I agree -- I read the section now, and `C-x C-e'-d the definitions as
> expected (in the *info* buffer), and then I naturally tried the `C-c ='
> command in the *info* buffer too -- which failed.

Thanks Lars to find the right words and to take care of that old bug :)

--





^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-08-30 20:02 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-08-11 11:32 bug#15069: Introduction to Elisp 14.3: Function 'count-words-defun' does not work as described Sian Mountbatten
2013-08-11 11:47 ` bug#15069: Bug: 15069: Correct functioning in the *scratch* buffer Sian Mountbatten
2021-05-21 19:39 ` bug#15069: [PATCH] " pillule
2021-05-22  6:34   ` Eli Zaretskii
2021-05-24 15:48     ` pillule
2021-08-21 13:44       ` bug#15069: Introduction to Elisp 14.3: Function 'count-words-defun' does not work as described Lars Ingebrigtsen
2021-08-30 20:02         ` Trust me I am a Doctor

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).