From: Jean Louis <bugs@gnu.support>
To: help-gnu-emacs@gnu.org
Subject: Re: How to avoid compiler warning `unused lexical variable' for `dolist' or `dotimes'?
Date: Thu, 7 Jan 2021 14:00:56 +0300 [thread overview]
Message-ID: <X/bp6DD35h17kCZD@protected.rcdrun.com> (raw)
In-Reply-To: <878s95qd1p.fsf@zoho.eu>
* Emanuel Berg via Users list for the GNU Emacs text editor <help-gnu-emacs@gnu.org> [2021-01-07 13:07]:
> Jean Louis wrote:
>
> > (defun db/table-id-plist (table id pg)
> > "Returns plist for table by its table_id"
> > (let* ((columns (db/table-columns table pg))
> > (sql (db/sql-by-columns table columns id))
> > (values (rcd-sql-first sql pg))
> > (values (append values nil))
> > (length (length columns))
> > (plist '()))
> > (dotimes (i length plist)
> > (setf plist (plist-put plist (intern (elt columns i)) (elt values i))))))
> >
> > What is proper way to avoid this warning in `dolist' or
> > `dotimes':
> >
> > rcd-db.el:841:1: Warning: Unused lexical variable ‘i’
> >
> > Declaring variable `i' in `let' before `dolist' or `dotimes'
> > did not help.
>
> Right. Let's just say it is a `dotimes' thing, see line
> 309-310, /usr/local/share/emacs/28.0.50/lisp/subr.el
>
> ;; FIXME: This let often leads to "unused var" warnings.
> `((let ((,(car spec) ,counter)) ,@(cddr spec))))))
>
> (require 'cl-lib)
>
> (defun db/table-id-plist (table id pg)
> "Do something with TABLE, ID and PG."
> (let*((cols (db/table-columns table pg))
> (sql (db/sql-by-columns table cols id))
> (vals (rcd-sql-first sql pg))
> (plist) )
> (cl-loop for c in cols
> for v in vals
> do (setf plist (plist-put plist (intern c) v)) )))
Thank you.
cl-loop I have used all times in Common Lisp, fine, but not so
nice. So instead of `dolist' I can use mapcar or similar function with
lambda and there is no complaint.
I would rather like to solve `dolist' compiler complain, and not
change to more complex `cl-loop' and avoid changing to `mapcar' usage.
Jean
next prev parent reply other threads:[~2021-01-07 11:00 UTC|newest]
Thread overview: 77+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-07 7:58 How to avoid compiler warning `unused lexical variable' for `dolist' or `dotimes'? Jean Louis
2021-01-07 10:03 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-01-07 11:00 ` Jean Louis [this message]
2021-01-07 10:07 ` Philipp Stephani
2021-01-07 10:07 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-01-07 11:06 ` Jean Louis
2021-01-07 11:23 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-01-07 11:12 ` Jean Louis
2021-01-07 11:33 ` Philipp Stephani
2021-01-07 11:35 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-01-07 16:05 ` FW: " Drew Adams
2021-01-08 1:04 ` Jean Louis
2021-01-08 2:26 ` Stefan Monnier
2021-01-08 2:39 ` Jean Louis
2021-01-08 2:45 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-01-08 2:50 ` Jean Louis
2021-01-08 3:36 ` Stefan Monnier
2021-01-08 2:52 ` Jean Louis
2021-01-08 3:08 ` Drew Adams
2021-01-08 3:31 ` Stefan Monnier
2021-01-08 2:19 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-01-08 0:58 ` Jean Louis
2021-01-08 1:08 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-01-07 15:38 ` Stefan Monnier
2021-01-08 1:03 ` Jean Louis
2021-01-08 2:21 ` Stefan Monnier
2021-01-08 2:21 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-01-08 2:38 ` Jean Louis
2021-01-08 3:39 ` Stefan Monnier
2021-01-08 4:09 ` Jean Louis
2021-01-08 5:13 ` Stefan Monnier
2021-01-08 5:38 ` Robert Thorpe
2021-01-08 6:22 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-01-08 7:10 ` Stefan Monnier
2021-01-09 18:57 ` Tomas Hlavaty
2021-01-09 19:01 ` Stefan Monnier
2021-01-10 9:20 ` Tomas Hlavaty
2021-01-10 14:52 ` Stefan Monnier
2021-01-11 22:23 ` Tomas Hlavaty
2021-01-08 5:40 ` Jean Louis
2021-01-08 7:14 ` Stefan Monnier
2021-01-08 8:28 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-01-08 11:07 ` tomas
2021-01-08 12:38 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-01-08 13:13 ` tomas
2021-01-08 13:31 ` Philipp Stephani
2021-01-08 13:35 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-01-08 13:47 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-01-08 13:15 ` Philipp Stephani
2021-01-08 13:31 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-01-08 14:03 ` tomas
2021-01-09 7:55 ` Jean Louis
2021-01-09 13:15 ` Leo Butler
2021-01-09 14:02 ` Philipp Stephani
2021-01-09 23:06 ` Leo Butler
2021-01-09 23:14 ` Stefan Monnier
2021-01-11 12:53 ` Leo Butler
2021-01-11 15:03 ` Stefan Monnier
2021-01-08 3:03 ` Drew Adams
2021-01-08 4:40 ` Stefan Monnier
2021-01-08 17:22 ` Drew Adams
2021-01-08 4:48 ` How to get plist properties list? Jean Louis
2021-01-08 5:20 ` Stefan Monnier
2021-01-08 5:46 ` Jean Louis
2021-01-08 6:50 ` Stefan Monnier
2021-01-09 7:54 ` Jean Louis
2021-01-09 9:27 ` tomas
2021-01-09 10:41 ` Jean Louis
2021-01-09 16:57 ` Stefan Monnier
2021-01-12 20:32 ` Jean Louis
2021-01-12 21:23 ` Stefan Monnier
2021-01-08 0:57 ` How to avoid compiler warning `unused lexical variable' for `dolist' or `dotimes'? Jean Louis
2021-01-07 15:35 ` Stefan Monnier
2021-01-08 1:02 ` Jean Louis
2021-01-08 1:12 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-01-08 2:08 ` Jean Louis
2021-01-08 2:26 ` Emanuel Berg via Users list for the GNU Emacs text editor
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=X/bp6DD35h17kCZD@protected.rcdrun.com \
--to=bugs@gnu.support \
--cc=help-gnu-emacs@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.