unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#64441: 29.0.92; elisp arithmetic error at ielm prompt
@ 2023-07-03 16:20 Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2023-07-03 16:50 ` Stephen Berman
  2023-07-03 16:53 ` Eli Zaretskii
  0 siblings, 2 replies; 5+ messages in thread
From: Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-07-03 16:20 UTC (permalink / raw)
  To: 64441

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


Hello,

The following calculation errors in elisp.

  ELISP> (/ (* (/ 3 4) (/ 7 13)) (/ 5 12))
  *** Eval error ***  Arithmetic error

The SBCL repl doesn't.

  CL-USER> (/ (* (/ 3 4) (/ 7 13)) (/ 5 12))
  63/65 (0.9692308, 1260/13%)

Steps to reproduce the error.

  1. start using, 'emacs -Q'
  2. get to the ielm elisp prompt, 'M-x ielm'
  3. enter the above calculation


[-- Attachment #2: bug-gnu-emacs-report --]
[-- Type: application/octet-stream, Size: 2929 bytes --]


In GNU Emacs 29.0.92 (build 1, aarch64-unknown-linux-gnu, GTK+ Version
 3.24.24, cairo version 1.16.0) of 2023-06-21 built on x23
Windowing system distributor 'The X.Org Foundation', version 11.0.12011000
System Description: Debian GNU/Linux 11 (bullseye)

Configured using:
 'configure --without-pop --without-mailutils'

Configured features:
CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG
LIBSELINUX LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG SECCOMP SOUND
SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER X11 XDBE XIM
XINPUT2 XPM GTK3 ZLIB

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

Major mode: IELM

Minor modes in effect:
  comint-fontify-input-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message mailcap yank-media puny dired
dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068
epg-config gnus-util text-property-search time-date subr-x mm-decode
mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader
sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils ielm
pp cl-loaddefs cl-lib comint ansi-osc ansi-color ring 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 dynamic-setting system-font-setting font-render-setting cairo
move-toolbar gtk x-toolkit xinput2 x multi-tty make-network-process
emacs)

Memory information:
((conses 16 41919 6638)
 (symbols 48 5580 0)
 (strings 32 15414 1295)
 (string-bytes 1 434232)
 (vectors 16 10157)
 (vector-slots 8 157009 9300)
 (floats 8 22 21)
 (intervals 56 226 0)
 (buffers 984 13))

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

* bug#64441: 29.0.92; elisp arithmetic error at ielm prompt
  2023-07-03 16:20 bug#64441: 29.0.92; elisp arithmetic error at ielm prompt Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-07-03 16:50 ` Stephen Berman
  2023-07-04 10:44   ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2023-07-03 16:53 ` Eli Zaretskii
  1 sibling, 1 reply; 5+ messages in thread
From: Stephen Berman @ 2023-07-03 16:50 UTC (permalink / raw)
  To: 64441; +Cc: van.ly

On Mon, 3 Jul 2023 16:20:34 GMT Van Ly via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org> wrote:

> Hello,
>
> The following calculation errors in elisp.
>
>   ELISP> (/ (* (/ 3 4) (/ 7 13)) (/ 5 12))
>   *** Eval error ***  Arithmetic error
>
> The SBCL repl doesn't.
>
>   CL-USER> (/ (* (/ 3 4) (/ 7 13)) (/ 5 12))
>   63/65 (0.9692308, 1260/13%)
>
> Steps to reproduce the error.
>
>   1. start using, 'emacs -Q'
>   2. get to the ielm elisp prompt, 'M-x ielm'
>   3. enter the above calculation

`/' in Elisp is different from `/' in Common Lisp.

(elisp) Arithmetic Operations:

  If all the arguments are integers, the result is an integer,
  obtained by rounding the quotient towards zero after each division.

Hence (/ 3 4), (/ 7 13) and (/ 5 12) all evaluate to 0, and "If you
divide an integer by the integer 0, Emacs signals an ‘arith-error’
error".

But in Common Lisp
(http://www.lispworks.com/documentation/HyperSpec/Body/f_sl.htm):

  If each argument is either an integer or a ratio, and the result is
  not an integer, then it is a ratio.

Hence (/ 3 4) => 3/4,  (/ 7 13) => 7/13 and (/ 5 12) => 5/12

Steve Berman





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

* bug#64441: 29.0.92; elisp arithmetic error at ielm prompt
  2023-07-03 16:20 bug#64441: 29.0.92; elisp arithmetic error at ielm prompt Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2023-07-03 16:50 ` Stephen Berman
@ 2023-07-03 16:53 ` Eli Zaretskii
  2023-09-08 16:20   ` Stefan Kangas
  1 sibling, 1 reply; 5+ messages in thread
From: Eli Zaretskii @ 2023-07-03 16:53 UTC (permalink / raw)
  To: Van Ly; +Cc: 64441

> Date: Mon, 3 Jul 2023 16:20:34 GMT
> From:  Van Ly via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
> 
> The following calculation errors in elisp.
> 
>   ELISP> (/ (* (/ 3 4) (/ 7 13)) (/ 5 12))
>   *** Eval error ***  Arithmetic error

You are dividing zero by zero.

This is not a bug.

> The SBCL repl doesn't.

Emacs is not SBCL.





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

* bug#64441: 29.0.92; elisp arithmetic error at ielm prompt
  2023-07-03 16:50 ` Stephen Berman
@ 2023-07-04 10:44   ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 0 replies; 5+ messages in thread
From: Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-07-04 10:44 UTC (permalink / raw)
  To: Stephen Berman; +Cc: 64441


> From: Stephen Berman
>
> `/' in Elisp is different from `/' in Common Lisp.
> 
> (elisp) Arithmetic Operations:
> 
>   If all the arguments are integers, the result is an integer,
>   obtained by rounding the quotient towards zero after each division.
> 
> Hence (/ 3 4), (/ 7 13) and (/ 5 12) all evaluate to 0, and "If you
> divide an integer by the integer 0, Emacs signals an ‘arith-error’
> error".
> 
> But in Common Lisp
> (http://www.lispworks.com/documentation/HyperSpec/Body/f_sl.htm):
> 
>   If each argument is either an integer or a ratio, and the result is
>   not an integer, then it is a ratio.
> 
> Hence (/ 3 4) => 3/4,  (/ 7 13) => 7/13 and (/ 5 12) => 5/12
> 

Thank you Steve.











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

* bug#64441: 29.0.92; elisp arithmetic error at ielm prompt
  2023-07-03 16:53 ` Eli Zaretskii
@ 2023-09-08 16:20   ` Stefan Kangas
  0 siblings, 0 replies; 5+ messages in thread
From: Stefan Kangas @ 2023-09-08 16:20 UTC (permalink / raw)
  To: Eli Zaretskii, Van Ly; +Cc: 64441

tags 64441 + notabug
close 64441
thanks

Eli Zaretskii <eliz@gnu.org> writes:

>>   ELISP> (/ (* (/ 3 4) (/ 7 13)) (/ 5 12))
>>   *** Eval error ***  Arithmetic error
>
> You are dividing zero by zero.
>
> This is not a bug.

Yup, so I'm closing it.





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

end of thread, other threads:[~2023-09-08 16:20 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-07-03 16:20 bug#64441: 29.0.92; elisp arithmetic error at ielm prompt Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-07-03 16:50 ` Stephen Berman
2023-07-04 10:44   ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-07-03 16:53 ` Eli Zaretskii
2023-09-08 16:20   ` Stefan Kangas

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