unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#67820: 29.1; Code example in "fwd-para while" has unmatched ending parentheses
@ 2023-12-14  5:55 Xiyue Deng
       [not found] ` <handler.67820.B.170253338629937.ack@debbugs.gnu.org>
  2023-12-15 13:37 ` bug#67820: 29.1; Code example in "fwd-para while" has unmatched ending parentheses Eli Zaretskii
  0 siblings, 2 replies; 9+ messages in thread
From: Xiyue Deng @ 2023-12-14  5:55 UTC (permalink / raw)
  To: 67820


The code example in section "fwd-para while" has unmatched ending
parentheses[1].  Admittedly this code snippet was copied literally from
the previous longer code sample where the 2 extra ending parentheses
were to match the `if' and `while', but it would make more sense to drop
them in this example.  Will add a patch next.

[1] https://git.savannah.gnu.org/cgit/emacs.git/tree/doc/lispintro/emacs-lisp-intro.texi#n13248


In GNU Emacs 29.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.37,
 cairo version 1.16.0) of 2023-09-19, modified by Debian built on
 debian-hx90
System Description: Debian GNU/Linux 12 (bookworm)

Configured using:
 'configure --build x86_64-linux-gnu --prefix=/usr
 --sharedstatedir=/var/lib --libexecdir=/usr/libexec
 --localstatedir=/var/lib --infodir=/usr/share/info
 --mandir=/usr/share/man --with-libsystemd --with-pop=yes
 --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/29.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/29.1/site-lisp:/usr/share/emacs/site-lisp
 --with-sound=alsa --without-gconf --with-mailutils
 --with-native-compilation --build x86_64-linux-gnu --prefix=/usr
 --sharedstatedir=/var/lib --libexecdir=/usr/libexec
 --localstatedir=/var/lib --infodir=/usr/share/info
 --mandir=/usr/share/man --with-libsystemd --with-pop=yes
 --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/29.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/29.1/site-lisp:/usr/share/emacs/site-lisp
 --with-sound=alsa --without-gconf --with-mailutils
 --with-native-compilation --with-cairo --with-x=yes
 --with-x-toolkit=gtk3 --with-toolkit-scroll-bars 'CFLAGS=-g -O2
 -ffile-prefix-map=/build/emacs-bYKTEl/emacs-29.1+1=. -fstack-protector-strong
 -Wformat -Werror=format-security -Wall' 'CPPFLAGS=-Wdate-time
 -D_FORTIFY_SOURCE=2' LDFLAGS=-Wl,-z,relro'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES
NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3
THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XDBE XIM XINPUT2
XPM GTK3 ZLIB

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

Major mode: Texinfo/P

Minor modes in effect:
  TeX-PDF-mode: t
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  shell-dirtrack-mode: t
  windmove-mode: t
  flyspell-mode: t
  rcirc-track-minor-mode: t
  server-mode: t
  bug-reference-prog-mode: t
  global-company-mode: t
  company-mode: t
  icomplete-mode: t
  fido-mode: t
  override-global-mode: t
  global-display-line-numbers-mode: t
  display-line-numbers-mode: t
  global-auto-revert-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  tab-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/usr/share/emacs/site-lisp/elpa/debian-el-37.11/debian-el-autoloads hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37.11/debian-el-autoloads
/usr/share/emacs/site-lisp/elpa/debian-el-37.11/apt-sources hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37.11/apt-sources
/usr/share/emacs/site-lisp/elpa/debian-el-37.11/debian-bug hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37.11/debian-bug
/usr/share/emacs/site-lisp/elpa/debian-el-37.11/apt-utils hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37.11/apt-utils
/usr/share/emacs/site-lisp/elpa/debian-el-37.11/debian-el-pkg hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37.11/debian-el-pkg
/usr/share/emacs/site-lisp/elpa/debian-el-37.11/gnus-BTS hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37.11/gnus-BTS
/usr/share/emacs/site-lisp/elpa/debian-el-37.11/deb-view hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37.11/deb-view
/usr/share/emacs/site-lisp/elpa/debian-el-37.11/debian-el hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37.11/debian-el
/usr/share/emacs/site-lisp/elpa/debian-el-37.11/preseed hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37.11/preseed
/usr/share/emacs/site-lisp/elpa/devscripts-40/devscripts hides /usr/share/emacs/site-lisp/elpa-src/devscripts-40/devscripts
/usr/share/emacs/site-lisp/elpa/devscripts-40/devscripts-autoloads hides /usr/share/emacs/site-lisp/elpa-src/devscripts-40/devscripts-autoloads
/usr/share/emacs/site-lisp/elpa/devscripts-40/pbuilder-mode hides /usr/share/emacs/site-lisp/elpa-src/devscripts-40/pbuilder-mode
/usr/share/emacs/site-lisp/elpa/devscripts-40/devscripts-pkg hides /usr/share/emacs/site-lisp/elpa-src/devscripts-40/devscripts-pkg
/usr/share/emacs/site-lisp/elpa/devscripts-40/pbuilder-log-view-mode hides /usr/share/emacs/site-lisp/elpa-src/devscripts-40/pbuilder-log-view-mode
/usr/share/emacs/site-lisp/elpa/dockerfile-mode-1.7/dockerfile-mode hides /usr/share/emacs/site-lisp/elpa-src/dockerfile-mode-1.7/dockerfile-mode
/usr/share/emacs/site-lisp/elpa/dockerfile-mode-1.7/dockerfile-mode-autoloads hides /usr/share/emacs/site-lisp/elpa-src/dockerfile-mode-1.7/dockerfile-mode-autoloads
/usr/share/emacs/site-lisp/elpa/dockerfile-mode-1.7/dockerfile-mode-pkg hides /usr/share/emacs/site-lisp/elpa-src/dockerfile-mode-1.7/dockerfile-mode-pkg
/usr/share/emacs/site-lisp/elpa/dpkg-dev-el-37.10/debian-bts-control hides /usr/share/emacs/site-lisp/elpa-src/dpkg-dev-el-37.10/debian-bts-control
/usr/share/emacs/site-lisp/elpa/dpkg-dev-el-37.10/debian-changelog-mode hides /usr/share/emacs/site-lisp/elpa-src/dpkg-dev-el-37.10/debian-changelog-mode
/usr/share/emacs/site-lisp/elpa/dpkg-dev-el-37.10/dpkg-dev-el-autoloads hides /usr/share/emacs/site-lisp/elpa-src/dpkg-dev-el-37.10/dpkg-dev-el-autoloads
/usr/share/emacs/site-lisp/elpa/dpkg-dev-el-37.10/dpkg-dev-el-pkg hides /usr/share/emacs/site-lisp/elpa-src/dpkg-dev-el-37.10/dpkg-dev-el-pkg
/usr/share/emacs/site-lisp/elpa/dpkg-dev-el-37.10/dpkg-dev-el hides /usr/share/emacs/site-lisp/elpa-src/dpkg-dev-el-37.10/dpkg-dev-el
/usr/share/emacs/site-lisp/elpa/dpkg-dev-el-37.10/debian-control-mode hides /usr/share/emacs/site-lisp/elpa-src/dpkg-dev-el-37.10/debian-control-mode
/usr/share/emacs/site-lisp/elpa/dpkg-dev-el-37.10/debian-copyright hides /usr/share/emacs/site-lisp/elpa-src/dpkg-dev-el-37.10/debian-copyright
/usr/share/emacs/site-lisp/elpa/dpkg-dev-el-37.10/readme-debian hides /usr/share/emacs/site-lisp/elpa-src/dpkg-dev-el-37.10/readme-debian
/usr/share/emacs/site-lisp/elpa/lintian-0.1/lintian-pkg hides /usr/share/emacs/site-lisp/elpa-src/lintian-0.1/lintian-pkg
/usr/share/emacs/site-lisp/elpa/lintian-0.1/lintian-autoloads hides /usr/share/emacs/site-lisp/elpa-src/lintian-0.1/lintian-autoloads
/usr/share/emacs/site-lisp/elpa/lintian-0.1/lintian hides /usr/share/emacs/site-lisp/elpa-src/lintian-0.1/lintian
/usr/share/emacs/site-lisp/elpa/po-mode-0.21/po-mode-pkg hides /usr/share/emacs/site-lisp/elpa-src/po-mode-0.21/po-mode-pkg
/usr/share/emacs/site-lisp/elpa/po-mode-0.21/po-mode-autoloads hides /usr/share/emacs/site-lisp/elpa-src/po-mode-0.21/po-mode-autoloads
/usr/share/emacs/site-lisp/elpa/po-mode-0.21/po-mode hides /usr/share/emacs/site-lisp/elpa-src/po-mode-0.21/po-mode
/usr/share/emacs/site-lisp/elpa/py-isort-2016.1/py-isort hides /usr/share/emacs/site-lisp/elpa-src/py-isort-2016.1/py-isort
/usr/share/emacs/site-lisp/elpa/py-isort-2016.1/py-isort-autoloads hides /usr/share/emacs/site-lisp/elpa-src/py-isort-2016.1/py-isort-autoloads
/usr/share/emacs/site-lisp/elpa/py-isort-2016.1/py-isort-pkg hides /usr/share/emacs/site-lisp/elpa-src/py-isort-2016.1/py-isort-pkg
/home/xiyueden/.config/emacs/elpa/transient-0.5.2/transient hides /usr/share/emacs/29.1/lisp/transient

Features:
(mailalias cl-print shadow git-rebase ediff ediff-merg ediff-mult
ediff-wind ediff-diff ediff-help ediff-init ediff-util novice emacsbug
vterm magit-bookmark bookmark tramp tramp-loaddefs trampver
tramp-integration files-x tramp-compat term ehelp vterm-module rect
goto-addr misearch multi-isearch tex-info tex texmathp texinfo
texinfo-loaddefs dired-aux shortdoc help-fns radix-tree url-http url-gw
url-auth url-queue url-cache magit-extras face-remap magit-submodule
magit-obsolete magit-blame magit-stash magit-reflog magit-bisect
magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit
magit-sequence magit-notes magit-worktree magit-tag magit-merge
magit-branch magit-reset magit-files magit-refs magit-status magit
magit-repos magit-apply magit-wip magit-log which-func magit-diff
git-commit log-edit add-log magit-core magit-autorevert magit-margin
magit-transient magit-process with-editor shell pcomplete magit-mode
transient edmacro kmacro compat format-spec magit-git magit-section
eglot external-completion array jsonrpc ert ewoc debug backtrace
find-func imenu smerge-mode diff magit-utils crm dash mule-util
jka-compr shr-color qp sort gnus-cite flow-fill matlab matlab-scan
matlab-syntax matlab-compat pulse color mm-archive mail-extr textsec
uni-scripts idna-mapping ucs-normalize uni-confusable textsec-check
gnus-async gnus-bcklg gnus-ml gnus-topic cursor-sensor utf-7 nnfolder
gnus-demon nnml ezgnus gnus-delay gnus-draft gnus-agent gnus-srvr
gnus-score score-mode nnvirtual nntp gnus-cache gnus-msg gnus-art mm-uu
mml2015 mm-view mml-smime smime dig gnus-sum shr pixel-fill kinsoku
url-file svg dom nndraft nnmh gnus-group gnus-undo smtpmail gnus-start
gnus-dbus dbus xml gnus-cloud nnimap nnmail mail-source utf7 nnoo
gnus-spec gnus-int gnus-range message sendmail yank-media dired
dired-loaddefs rfc822 mml mml-sec mm-decode mm-bodies mm-encode
mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils
mailheader gnus-win gnus nnheader gnus-util mail-utils range mm-util
mail-prsvr windmove flyspell ispell gnutls network-stream puny nsm
epa-file epa derived epg rfc6068 epg-config rcirc parse-time iso8601
time-date term/xterm xterm comp comp-cstr rx server cap-words superword
subword vc-hg vc-git diff-mode vc-bzr vc-src vc-sccs vc-svn vc-cvs
vc-rcs log-view pcvs-util vc vc-dispatcher bug-reference disp-table
whitespace yasnippet cus-edit pp cus-start wid-edit company-oddmuse
company-keywords company-etags etags fileloop generator xref
company-gtags company-dabbrev-code company-dabbrev company-files
company-clang company-capf company-cmake company-semantic
company-template company-bbdb company pcase init zenburn-theme
keychain-environment exec-path-from-shell icomplete cus-load
flymake-proc flymake project compile text-property-search comint
ansi-osc ansi-color ring warnings icons thingatpt advice cl-extra
help-mode use-package use-package-ensure use-package-delight
use-package-diminish use-package-bind-key bind-key easy-mmode
use-package-core display-line-numbers autorevert filenotify
apache-mode-autoloads auctex-autoloads tex-site bison-mode-autoloads
boxquote-autoloads cargo-autoloads cmake-mode-autoloads
company-autoloads csv-mode-autoloads dart-mode-autoloads
exec-path-from-shell-autoloads flutter-autoloads format-all-autoloads
git-modes-autoloads gnuplot-autoloads go-mode-autoloads
graphviz-dot-mode-autoloads inheritenv-autoloads
keychain-environment-autoloads language-id-autoloads magit-autoloads
git-commit-autoloads magit-section-autoloads dash-autoloads
matlab-mode-autoloads meson-mode-autoloads nginx-mode-autoloads
pyvenv-autoloads rust-mode-autoloads scala-mode-autoloads
transient-autoloads vterm-autoloads with-editor-autoloads
compat-autoloads xclip-autoloads yaml-mode-autoloads yasnippet-autoloads
zenburn-theme-autoloads info debian-el-autoloads dpkg-dev-el-autoloads
package browse-url url url-proxy url-privacy url-expand url-methods
url-history url-cookie generate-lisp-file url-domsuf url-util mailcap
url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs
password-cache json subr-x map byte-opt gv bytecomp byte-compile
url-vars cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren
electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel
term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image
regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu
timer select scroll-bar mouse jit-lock font-lock syntax font-core
term/tty-colors frame minibuffer nadvice seq simple cl-generic
indonesian philippine 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
composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs
theme-loaddefs faces cus-face macroexp files window text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads dbusbind inotify lcms2
dynamic-setting system-font-setting font-render-setting cairo
move-toolbar gtk x-toolkit xinput2 x multi-tty make-network-process
native-compile emacs)

Memory information:
((conses 16 1665714 433170)
 (symbols 48 36458 63)
 (strings 32 153206 27400)
 (string-bytes 1 4660985)
 (vectors 16 93474)
 (vector-slots 8 2030012 128620)
 (floats 8 676 2953)
 (intervals 56 68484 2684)
 (buffers 984 78))





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

* bug#67820: Acknowledgement (29.1; Code example in "fwd-para while" has unmatched ending parentheses)
       [not found] ` <handler.67820.B.170253338629937.ack@debbugs.gnu.org>
@ 2023-12-14  6:00   ` Xiyue Deng
  0 siblings, 0 replies; 9+ messages in thread
From: Xiyue Deng @ 2023-12-14  6:00 UTC (permalink / raw)
  To: 67820

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

Patch attached.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Drop-unmatched-ending-parentheses-in-example-code-bu.patch --]
[-- Type: text/x-diff, Size: 845 bytes --]

From f19104695734ba9e508ac14459d9a93e700521bc Mon Sep 17 00:00:00 2001
From: Xiyue Deng <manphiz@gmail.com>
Date: Wed, 13 Dec 2023 16:21:10 -0800
Subject: [PATCH] Drop unmatched ending parentheses in example code (bug#67820)

* doc/lispintro/emacs-lisp-intro.texi (fwd-para while): drop unmatched
ending parentheses.
---
 doc/lispintro/emacs-lisp-intro.texi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi
index eb8ff413b79..fdd0fd0860f 100644
--- a/doc/lispintro/emacs-lisp-intro.texi
+++ b/doc/lispintro/emacs-lisp-intro.texi
@@ -13245,7 +13245,7 @@ The last expression when there is no fill prefix is
 @smallexample
 @group
 (if (< (point) (point-max))
-    (goto-char start))))
+    (goto-char start))
 @end group
 @end smallexample
 
-- 
2.39.2


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


-- 
Xiyue Deng

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

* bug#67820: 29.1; Code example in "fwd-para while" has unmatched ending parentheses
  2023-12-14  5:55 bug#67820: 29.1; Code example in "fwd-para while" has unmatched ending parentheses Xiyue Deng
       [not found] ` <handler.67820.B.170253338629937.ack@debbugs.gnu.org>
@ 2023-12-15 13:37 ` Eli Zaretskii
  2023-12-15 22:08   ` Xiyue Deng
  1 sibling, 1 reply; 9+ messages in thread
From: Eli Zaretskii @ 2023-12-15 13:37 UTC (permalink / raw)
  To: Xiyue Deng; +Cc: 67820

> From: Xiyue Deng <manphiz@gmail.com>
> Date: Wed, 13 Dec 2023 21:55:55 -0800
> 
> 
> The code example in section "fwd-para while" has unmatched ending
> parentheses[1].  Admittedly this code snippet was copied literally from
> the previous longer code sample where the 2 extra ending parentheses
> were to match the `if' and `while', but it would make more sense to drop
> them in this example.  Will add a patch next.

I'm not sure it makes sense to make this expression stand-alone.  As
you say, this snippet is copied verbatim from the full example at the
beginning of the section.  So I think we should leave this alone.

Thanks.





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

* bug#67820: 29.1; Code example in "fwd-para while" has unmatched ending parentheses
  2023-12-15 13:37 ` bug#67820: 29.1; Code example in "fwd-para while" has unmatched ending parentheses Eli Zaretskii
@ 2023-12-15 22:08   ` Xiyue Deng
  2023-12-16  7:52     ` Eli Zaretskii
  0 siblings, 1 reply; 9+ messages in thread
From: Xiyue Deng @ 2023-12-15 22:08 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 67820

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Xiyue Deng <manphiz@gmail.com>
>> Date: Wed, 13 Dec 2023 21:55:55 -0800
>> 
>> 
>> The code example in section "fwd-para while" has unmatched ending
>> parentheses[1].  Admittedly this code snippet was copied literally from
>> the previous longer code sample where the 2 extra ending parentheses
>> were to match the `if' and `while', but it would make more sense to drop
>> them in this example.  Will add a patch next.
>
> I'm not sure it makes sense to make this expression stand-alone.  As
> you say, this snippet is copied verbatim from the full example at the
> beginning of the section.  So I think we should leave this alone.
>
> Thanks.

This essentially was due to the coding convention to put all ending
parentheses on the last line of the sexp, which most other programming
languages don't normally share.  But anyway.

Just want to say that a code snippet with unmatched ending parentheses
would confuse beginners a little.  However, if from a book writing point
of view that code snippets should be copied literally, it's probably
understandable (adding a small explanation for the extras would better
still, and I can update the patch accordingly.)

Wdyt?

-- 
Xiyue Deng





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

* bug#67820: 29.1; Code example in "fwd-para while" has unmatched ending parentheses
  2023-12-15 22:08   ` Xiyue Deng
@ 2023-12-16  7:52     ` Eli Zaretskii
  2023-12-16 10:46       ` Xiyue Deng
  0 siblings, 1 reply; 9+ messages in thread
From: Eli Zaretskii @ 2023-12-16  7:52 UTC (permalink / raw)
  To: Xiyue Deng; +Cc: 67820

> From: Xiyue Deng <manphiz@gmail.com>
> Cc: 67820@debbugs.gnu.org
> Date: Fri, 15 Dec 2023 14:08:51 -0800
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> From: Xiyue Deng <manphiz@gmail.com>
> >> Date: Wed, 13 Dec 2023 21:55:55 -0800
> >> 
> >> 
> >> The code example in section "fwd-para while" has unmatched ending
> >> parentheses[1].  Admittedly this code snippet was copied literally from
> >> the previous longer code sample where the 2 extra ending parentheses
> >> were to match the `if' and `while', but it would make more sense to drop
> >> them in this example.  Will add a patch next.
> >
> > I'm not sure it makes sense to make this expression stand-alone.  As
> > you say, this snippet is copied verbatim from the full example at the
> > beginning of the section.  So I think we should leave this alone.
> >
> > Thanks.
> 
> This essentially was due to the coding convention to put all ending
> parentheses on the last line of the sexp, which most other programming
> languages don't normally share.  But anyway.
> 
> Just want to say that a code snippet with unmatched ending parentheses
> would confuse beginners a little.  However, if from a book writing point
> of view that code snippets should be copied literally, it's probably
> understandable (adding a small explanation for the extras would better
> still, and I can update the patch accordingly.)
> 
> Wdyt?

It's okay to add a note in parentheses that this snippet is from the
above full code, and therefore is not standalone.





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

* bug#67820: 29.1; Code example in "fwd-para while" has unmatched ending parentheses
  2023-12-16  7:52     ` Eli Zaretskii
@ 2023-12-16 10:46       ` Xiyue Deng
  2023-12-16 13:40         ` Eli Zaretskii
  0 siblings, 1 reply; 9+ messages in thread
From: Xiyue Deng @ 2023-12-16 10:46 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 67820

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

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Xiyue Deng <manphiz@gmail.com>
>> Cc: 67820@debbugs.gnu.org
>> Date: Fri, 15 Dec 2023 14:08:51 -0800
>> 
>> Eli Zaretskii <eliz@gnu.org> writes:
>> 
>> >> From: Xiyue Deng <manphiz@gmail.com>
>> >> Date: Wed, 13 Dec 2023 21:55:55 -0800
>> >> 
>> >> 
>> >> The code example in section "fwd-para while" has unmatched ending
>> >> parentheses[1].  Admittedly this code snippet was copied literally from
>> >> the previous longer code sample where the 2 extra ending parentheses
>> >> were to match the `if' and `while', but it would make more sense to drop
>> >> them in this example.  Will add a patch next.
>> >
>> > I'm not sure it makes sense to make this expression stand-alone.  As
>> > you say, this snippet is copied verbatim from the full example at the
>> > beginning of the section.  So I think we should leave this alone.
>> >
>> > Thanks.
>> 
>> This essentially was due to the coding convention to put all ending
>> parentheses on the last line of the sexp, which most other programming
>> languages don't normally share.  But anyway.
>> 
>> Just want to say that a code snippet with unmatched ending parentheses
>> would confuse beginners a little.  However, if from a book writing point
>> of view that code snippets should be copied literally, it's probably
>> understandable (adding a small explanation for the extras would better
>> still, and I can update the patch accordingly.)
>> 
>> Wdyt?
>
> It's okay to add a note in parentheses that this snippet is from the
> above full code, and therefore is not standalone.

Sounds good.  Please see the updated patch attached.
-- 
Xiyue Deng


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Add-explanation-for-the-two-extra-ending-parentheses.patch --]
[-- Type: text/x-diff, Size: 1098 bytes --]

From 823abac0236aa07fee317bfa35f913d1f0be48d5 Mon Sep 17 00:00:00 2001
From: Xiyue Deng <manphiz@gmail.com>
Date: Wed, 13 Dec 2023 16:21:10 -0800
Subject: [PATCH] Add explanation for the two extra ending parentheses
 (bug#67820)

* doc/lispintro/emacs-lisp-intro.texi (fwd-para while): add notes to
explain the extra ending parentheses.
---
 doc/lispintro/emacs-lisp-intro.texi | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi
index eb8ff413b79..09ab97110ae 100644
--- a/doc/lispintro/emacs-lisp-intro.texi
+++ b/doc/lispintro/emacs-lisp-intro.texi
@@ -13250,6 +13250,10 @@ The last expression when there is no fill prefix is
 @end smallexample
 
 @noindent
+(Note that this code snippet is copied verbatim from the original code,
+so the two extra ending parentheses are matching the previous `if' and
+`while'.)
+
 This says that if there is no fill prefix and if we are not at the
 end, point should move to the beginning of whatever was found by the
 regular expression search for @code{sp-parstart}.
-- 
2.39.2


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

* bug#67820: 29.1; Code example in "fwd-para while" has unmatched ending parentheses
  2023-12-16 10:46       ` Xiyue Deng
@ 2023-12-16 13:40         ` Eli Zaretskii
  2023-12-16 22:57           ` Xiyue Deng
  0 siblings, 1 reply; 9+ messages in thread
From: Eli Zaretskii @ 2023-12-16 13:40 UTC (permalink / raw)
  To: Xiyue Deng; +Cc: 67820

> From: Xiyue Deng <manphiz@gmail.com>
> Cc: 67820@debbugs.gnu.org
> Date: Sat, 16 Dec 2023 02:46:42 -0800
> 
> +(Note that this code snippet is copied verbatim from the original code,
> +so the two extra ending parentheses are matching the previous `if' and
> +`while'.)

The "if" and "while" should be in @code, not quoted with literal
characters.





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

* bug#67820: 29.1; Code example in "fwd-para while" has unmatched ending parentheses
  2023-12-16 13:40         ` Eli Zaretskii
@ 2023-12-16 22:57           ` Xiyue Deng
  2023-12-23  9:38             ` Eli Zaretskii
  0 siblings, 1 reply; 9+ messages in thread
From: Xiyue Deng @ 2023-12-16 22:57 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 67820

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

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Xiyue Deng <manphiz@gmail.com>
>> Cc: 67820@debbugs.gnu.org
>> Date: Sat, 16 Dec 2023 02:46:42 -0800
>> 
>> +(Note that this code snippet is copied verbatim from the original code,
>> +so the two extra ending parentheses are matching the previous `if' and
>> +`while'.)
>
> The "if" and "while" should be in @code, not quoted with literal
> characters.

Indeed.  Please find the updated patch attached.
-- 
Xiyue Deng


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Add-explanation-for-the-two-extra-ending-parentheses.patch --]
[-- Type: text/x-diff, Size: 1108 bytes --]

From e276780292b2cc32d8052ae7a4d6f3430866750b Mon Sep 17 00:00:00 2001
From: Xiyue Deng <manphiz@gmail.com>
Date: Wed, 13 Dec 2023 16:21:10 -0800
Subject: [PATCH] Add explanation for the two extra ending parentheses
 (bug#67820)

* doc/lispintro/emacs-lisp-intro.texi (fwd-para while): add notes to
explain the extra ending parentheses.
---
 doc/lispintro/emacs-lisp-intro.texi | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi
index eb8ff413b79..a9201963836 100644
--- a/doc/lispintro/emacs-lisp-intro.texi
+++ b/doc/lispintro/emacs-lisp-intro.texi
@@ -13250,6 +13250,10 @@ The last expression when there is no fill prefix is
 @end smallexample
 
 @noindent
+(Note that this code snippet is copied verbatim from the original code,
+so the two extra ending parentheses are matching the previous @code{if}
+and @code{while}.)
+
 This says that if there is no fill prefix and if we are not at the
 end, point should move to the beginning of whatever was found by the
 regular expression search for @code{sp-parstart}.
-- 
2.39.2


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

* bug#67820: 29.1; Code example in "fwd-para while" has unmatched ending parentheses
  2023-12-16 22:57           ` Xiyue Deng
@ 2023-12-23  9:38             ` Eli Zaretskii
  0 siblings, 0 replies; 9+ messages in thread
From: Eli Zaretskii @ 2023-12-23  9:38 UTC (permalink / raw)
  To: Xiyue Deng; +Cc: 67820-done

> From: Xiyue Deng <manphiz@gmail.com>
> Cc: 67820@debbugs.gnu.org
> Date: Sat, 16 Dec 2023 14:57:50 -0800
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> From: Xiyue Deng <manphiz@gmail.com>
> >> Cc: 67820@debbugs.gnu.org
> >> Date: Sat, 16 Dec 2023 02:46:42 -0800
> >> 
> >> +(Note that this code snippet is copied verbatim from the original code,
> >> +so the two extra ending parentheses are matching the previous `if' and
> >> +`while'.)
> >
> > The "if" and "while" should be in @code, not quoted with literal
> > characters.
> 
> Indeed.  Please find the updated patch attached.

Thanks, installed on the emacs-29 branch, and closing the bug.

Please in the future make a point of capitalizing the description of
the changes in the commit log messages (I fixed that this time).  Each
description should be a complete sentence.





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

end of thread, other threads:[~2023-12-23  9:38 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-14  5:55 bug#67820: 29.1; Code example in "fwd-para while" has unmatched ending parentheses Xiyue Deng
     [not found] ` <handler.67820.B.170253338629937.ack@debbugs.gnu.org>
2023-12-14  6:00   ` bug#67820: Acknowledgement (29.1; Code example in "fwd-para while" has unmatched ending parentheses) Xiyue Deng
2023-12-15 13:37 ` bug#67820: 29.1; Code example in "fwd-para while" has unmatched ending parentheses Eli Zaretskii
2023-12-15 22:08   ` Xiyue Deng
2023-12-16  7:52     ` Eli Zaretskii
2023-12-16 10:46       ` Xiyue Deng
2023-12-16 13:40         ` Eli Zaretskii
2023-12-16 22:57           ` Xiyue Deng
2023-12-23  9:38             ` Eli Zaretskii

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).