From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Pierre Lorenzon Newsgroups: gmane.emacs.bugs Subject: bug#25129: 26.0.50; seq-some function Date: Wed, 07 Dec 2016 09:09:54 +0100 (CET) Message-ID: <20161207.090954.2116981160523579782.devel@pollock-nageoire.net> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: blaine.gmane.org 1481099238 17386 195.159.176.226 (7 Dec 2016 08:27:18 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 7 Dec 2016 08:27:18 +0000 (UTC) To: 25129@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Dec 07 09:27:11 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cEXZG-0003O3-O1 for geb-bug-gnu-emacs@m.gmane.org; Wed, 07 Dec 2016 09:27:10 +0100 Original-Received: from localhost ([::1]:37021 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cEXZK-0004AL-OA for geb-bug-gnu-emacs@m.gmane.org; Wed, 07 Dec 2016 03:27:14 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:38831) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cEXZD-0004A3-5K for bug-gnu-emacs@gnu.org; Wed, 07 Dec 2016 03:27:08 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cEXZ9-0007fi-3J for bug-gnu-emacs@gnu.org; Wed, 07 Dec 2016 03:27:07 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:43406) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cEXZ8-0007fd-VD for bug-gnu-emacs@gnu.org; Wed, 07 Dec 2016 03:27:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1cEXZ8-0003BN-Nb for bug-gnu-emacs@gnu.org; Wed, 07 Dec 2016 03:27:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Pierre Lorenzon Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 07 Dec 2016 08:27:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 25129 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.148109920312199 (code B ref -1); Wed, 07 Dec 2016 08:27:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 7 Dec 2016 08:26:43 +0000 Original-Received: from localhost ([127.0.0.1]:58805 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cEXYo-0003Ag-RG for submit@debbugs.gnu.org; Wed, 07 Dec 2016 03:26:43 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:47768) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cEXYn-0003AU-9t for submit@debbugs.gnu.org; Wed, 07 Dec 2016 03:26:41 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cEXYg-0007bF-93 for submit@debbugs.gnu.org; Wed, 07 Dec 2016 03:26:36 -0500 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:53273) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cEXYg-0007bB-5d for submit@debbugs.gnu.org; Wed, 07 Dec 2016 03:26:34 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:38704) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cEXYe-00041f-7t for bug-gnu-emacs@gnu.org; Wed, 07 Dec 2016 03:26:33 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cEXYa-0007Z9-6i for bug-gnu-emacs@gnu.org; Wed, 07 Dec 2016 03:26:32 -0500 Original-Received: from smtp09.smtpout.orange.fr ([80.12.242.131]:36122 helo=smtp.smtpout.orange.fr) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cEXYZ-0007Yg-Mm for bug-gnu-emacs@gnu.org; Wed, 07 Dec 2016 03:26:28 -0500 Original-Received: from localhost ([86.246.134.14]) by mwinf5d17 with ME id GwSG1u0020JoMeW03wSGbP; Wed, 07 Dec 2016 09:26:24 +0100 X-ME-Helo: localhost X-ME-Date: Wed, 07 Dec 2016 09:26:24 +0100 X-ME-IP: 86.246.134.14 X-Mailer: Mew version 6.7 on Emacs 26.0.50 / Mule 6.0 (HANACHIRUSATO) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:126588 Archived-At: Is documentation in following seq-somme function not ambiguous ? One might believe taht it returns the element and not the test result as it does. Moreover I suspect even if I did not verify that it was not so in a previous implementation since I had no error in my code before using seq-some. I well understand now that I must use seq-find instead of seq-some but I think that I will not be the only one being confused by these functions specifications ! In fact there is a very subtle difference between two documentation : value not equal element .... But what means value ? Is it obvious taht it means test result ? Regards Pierre >>> -- Code (cl-defgeneric seq-some (pred sequence) "Return the first value for which if (PRED element) is non-nil for in SEQUENCE." (catch 'seq--break (seq-doseq (elt sequence) (let ((result (funcall pred elt))) (when result (throw 'seq--break result)))) nil)) (cl-defgeneric seq-find (pred sequence &optional default) "Return the first element for which (PRED element) is non-nil in SEQUENCE. If no element is found, return DEFAULT. Note that `seq-find' has an ambiguity if the found element is identical to DEFAULT, as it cannot be known if an element was found or not." (catch 'seq--break (seq-doseq (elt sequence) (when (funcall pred elt) (throw 'seq--break elt))) default)) >>> -- End Code In GNU Emacs 26.0.50.1 (x86_64-unknown-linux-gnu) of 2016-11-15 built on jabberwocky Repository revision: db43613307bb05d0f43d2d5649b5bb2f29876cee Recent messages: Mark set Making completion list... Type "q" in help window to restore its previous buffer, C-M-v to scroll help. line-move-visual: End of buffer mouse-2, RET: find function's definition uncompressing seq.el.gz...done Note: file is write protected Unable to find location in file Mark saved where search started Making completion list... Configured using: 'configure --prefix=/usr --libdir=/usr/lib64 'CC=gcc -m64' PKG_CONFIG_PATH=/usr/lib64/pkgconfig' Configured features: JPEG SOUND NOTIFY GNUTLS LIBXML2 ZLIB Important settings: value of $LANG: C locale-coding-system: nil Major mode: Emacs-Lisp Minor modes in effect: gpm-mouse-mode: t global-ede-mode: t ede-minor-mode: t desktop-save-mode: t global-speechd-speak-mode: t speechd-speak-mode: t global-speechd-speak-map-mode: t speechd-speak-map-mode: t tooltip-mode: t electric-indent-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t buffer-read-only: t line-number-mode: t transient-mark-mode: t Load-path shadows: /usr/local/share/emacs/site-lisp/customization/site-start hides /usr/share/emacs/site-lisp/site-start Features: (shadow emacsbug sendmail thingatpt eieio-opt j++-packages-sound-alsa-enumerated j++-packages-sound-alsa-iec958 j++-packages-sound-alsa-boolean j++-basic-widgets-synchronized-switch j++-basic-parsers-slot j++-packages-sound-alsa-two-integer j++-basic-widgets-synchronized-two-incdec j++-packages-sound-alsa-integer j++-basic-widgets-synchronized-incdec j++-basic-widgets-bar-title j++-basic-widgets-synchronized-object j++-packages-sound-alsa-item j++-packages-sound-alsa-amixer j++-interfaces-pointed j++-packages-sound-alsa-cclient j++-packages-sound-alsa-client j++-basic-parsers-parser j++-basic-parsers-utils utils/regexp utils/string j++-basic-synchronized j++-basic-processes-synchronous j++-basic-processes-command help-fns radix-tree debug vc-cvs vc-rcs misearch multi-isearch pp qp mew-varsx mew-unix inversion make-mode ede/srecode compile comint ansi-color log-edit easy-mmode message rfc822 mml mml-sec epa derived epg epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader ring pcvs-util add-log j++-packages-subsystems-descriptors-creator dired-aux j++-packages-scmel-results j++-packages-scmel-output speechd-el-extension t-mouse term/linux vc-dir ewoc ede/dired semantic/lex-spp pln-w3m mew-w3m w3m regexp-opt doc-view dired dired-loaddefs image-mode timezone w3m-hist w3m-fb bookmark-w3m w3m-ems w3m-ccl ccl w3m-favicon w3m-image w3m-proc w3m-util mew-auth mew-config mew-imap2 mew-imap mew-nntp2 mew-nntp mew-pop mew-smtp mew-ssl mew-ssh mew-net mew-highlight mew-sort mew-fib mew-ext mew-refile mew-demo mew-attach mew-draft mew-message mew-thread mew-virtual mew-summary4 mew-summary3 mew-summary2 mew-summary mew-search mew-pick mew-passwd mew-scan mew-syntax mew-bq mew-smime mew-pgp mew-header mew-exec mew-mark mew-mime mew-edit mew-decode mew-encode mew-cache mew-minibuf mew-complete mew-addrbook mew-local mew-vars3 mew-vars2 mew-vars mew-env mew-mule3 mew-mule mew-gemacs mew-key mew-func mew-blvs mew-const mew pln-mew pln-eww url-file url-dired eww mm-url gnus nnheader gnus-util rmail tool-bar rmail-loaddefs rfc2047 rfc2045 ietf-drums mail-utils mm-util mail-prsvr url-queue url url-proxy url-privacy url-history url-cookie url-domsuf mailcap shr svg xml dom browse-url format-spec url-expand url-util url-methods url-parse url-vars Tss-TeX-remap tex-style-system tex-site auto-loads j++-packages-databases-actions j++-basic-widgets-bar-object j++-packages-subsystems-descriptors-descriptor j++-packages-subsystems-descriptors-class j++-packages-databases-items-item j++-basic-mastered j++-basic-widgets-open-close-title j++-basic-widgets-title j++-basic-widgets-open-close-object j++-packages-subsystems-subsystems j++-packages-databases-database j++-packages-databases-mutable j++-interfaces-loadable-basic-logger j++-interfaces-basic-logger j++-interfaces-loadable-basic-lists-pointed j++-interfaces-basic-lists-pointed j++-basic-widgets-lists-pointed j++-basic-lists-pointed j++-basic-creator j++-interfaces-loadable-basic-lists-list j++-interfaces-basic-lists-list j++-basic-widgets-lists-list j++-basic-lists-list j++-basic-mapable j++-basic-sortable j++-project j++-packages-project-project j++-basic-files-file edext-project-latex edext-project-project edext-utils-vc vc-svn vc vc-dispatcher edext-target-exercise edext-target-history edext-target-student edext-target-latex edext edext-automake edext-srecode semantic/edit srecode/srt-mode semantic/analyze semantic/sort semantic/scope semantic/analyze/fcn semantic/db semantic/format srecode/template srecode/srt-wy semantic/wisent semantic/wisent/wisent semantic/ctxt edext-compat pln-ede srecode/insert srecode/filters srecode/args srecode/find srecode/map srecode/ctxt semantic/tag-ls semantic/find srecode/compile srecode/dictionary srecode/table srecode semantic/util-modes semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local find-func ede/proj-elisp ede/pconf ede/proj-misc ede/proj-shared ede/proj-prog ede/pmake ede/proj-obj ede/proj ede/make ede/proj-comp ede/autoconf-edit autoconf autoconf-mode pln-auctex pln-customization ede/speedbar ede/files ede ede/detect ede/base ede/auto ede/source eieio-speedbar speedbar sb-image ezimage image dframe cedet desktop frameset cus-start cus-load time-date j++-packages-scmel-efm-parameters j++-packages-scmel-efm-connection network-stream puny nsm subr-x auth-source password-cache starttls tls gnutls j++-packages-scmel-efm-driver j++-packages-scmel-efm-efm j++-packages-scmel-monitor j++-packages-scmel-scmel j++-basic-logger j++-basic-processes-network-filtered j++-basic-processes-filtered j++-basic-processes-put-and-get j++-basic-processes-network-stream j++-basic-processes-process j++-packages-subsystems-subsystem j++-interfaces-loadable-loadable j++-interfaces-interface j++-basic-widgets-object warnings j++-basic-files-loadable j++-basic-state j++-basic-files-serializable j++-basic-files-stringifiable j++-basic-files-load eieio-base eieio-custom wid-edit speechd-speak advice speechd-brltty speechd-braille braille mmanager brltty speechd-ssip speechd speechd-out eieio-compat cl-seq speechd-common jka-compr j++ j++-compat j++-precompat eieio eieio-core cl-macs eieio-loaddefs seq byte-opt bytecomp byte-compile cl-extra help-mode easymenu cconv cl gv cl-loaddefs pcase cl-lib mule-util disp-table tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type tabulated-list newcomment elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow timer select 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 inotify multi-tty make-network-process emacs) Memory information: ((conses 16 402793 68817) (symbols 48 40865 109) (miscs 40 1386 237) (strings 32 90674 7379) (string-bytes 1 2616687) (vectors 16 45189) (vector-slots 8 963465 20687) (floats 8 1962 250) (intervals 56 8907 541) (buffers 976 76) (heap 1024 45549 1348))