all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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



  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.