all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#11938: 24.1.50; Some not so useful CL related byte compiler warnings
@ 2012-07-13 18:00 Michael Heerdegen
  2012-07-13 18:18 ` Andreas Schwab
  2012-07-18 10:25 ` Stefan Monnier
  0 siblings, 2 replies; 4+ messages in thread
From: Michael Heerdegen @ 2012-07-13 18:00 UTC (permalink / raw)
  To: 11938

Hi,

I create an example file with the following content:

(eval-when-compile
  (require 'cl))

(defvar my-holiday-alist
      '((2012 . ((( 1  1) . "New Year")))))

(defun* my-holidayp (&optional date no-warn-if-no-info)
  (save-excursion
    (progv '(a b year) date
      (cdr (assoc (list a b)
                  (cdr (or (assoc year my-holiday-alist)
                           (prog1 nil   ;always return nil
                             (push (cons year ()) my-holiday-alist) ;; --> Warn only one time
                             (unless no-warn-if-no-info
                               (ding)
                               (message "Note: No holiday info for %s in `my-holiday-alist'." year)
                               (sit-for 3))))))))))

(labels ((fac (x) (if (< x 2) 1 (* x (fac (1- x))))))
  (defun test () (fac 5)))


If I byte compile it, I get the following warnings:

progv-bug.el:7:37:Warning: global/dynamic var `body' lacks a prefix
progv-bug.el:10:25:Warning: reference to free variable `a'
progv-bug.el:10:27:Warning: reference to free variable `b'
progv-bug.el:11:35:Warning: reference to free variable `year'
progv-bug.el:19:1:Warning: `labels' is an obsolete function (as of 24.2); use
    `(quote cl-labels)' instead.


In detail:

  progv-bug.el:7:37:Warning: global/dynamic var `body' lacks a prefix

Dunno what that means, the code doesn't include such a variable.

  progv-bug.el:10:25:Warning: reference to free variable `a'
  progv-bug.el:10:27:Warning: reference to free variable `b'
  progv-bug.el:11:35:Warning: reference to free variable `year'

Not very useful, since the variables' values are never looked up
before they are bound, but ok, I can live with it.

  progv-bug.el:19:1:Warning: `labels' is an obsolete function (as of 24.2); use
      `(quote cl-labels)' instead.

What does `(quote cl-labels)' mean?  I guess this should be just
`cl-labels'.


Thanks,

Michael.




In GNU Emacs 24.1.50.1 (i486-pc-linux-gnu, GTK+ Version 3.4.2)
 of 2012-07-12 on keller, modified by Debian
 (emacs-snapshot package, version 2:20120712-1)
Windowing system distributor `The X.Org Foundation', version 11.0.11201902
Configured using:
 `configure '--build' 'i486-linux-gnu' '--host' 'i486-linux-gnu'
 '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib'
 '--localstatedir=/var' '--infodir=/usr/share/info'
 '--mandir=/usr/share/man' '--with-pop=yes'
 '--enable-locallisppath=/etc/emacs-snapshot:/etc/emacs:/usr/local/share/emacs/24.1.50/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.1.50/site-lisp:/usr/share/emacs/site-lisp'
 '--without-compress-info' '--with-crt-dir=/usr/lib/i386-linux-gnu/'
 '--with-x=yes' '--with-x-toolkit=gtk3' '--with-imagemagick=yes'
 'build_alias=i486-linux-gnu' 'host_alias=i486-linux-gnu'
 'CFLAGS=-DDEBIAN -DSITELOAD_PURESIZE_EXTRA=5000 -g -O2' 'LDFLAGS=-g
 -Wl,--as-needed -znocombreloc' 'CPPFLAGS=-D_FORTIFY_SOURCE=2''






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

end of thread, other threads:[~2012-07-19  0:19 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-13 18:00 bug#11938: 24.1.50; Some not so useful CL related byte compiler warnings Michael Heerdegen
2012-07-13 18:18 ` Andreas Schwab
2012-07-18 10:25 ` Stefan Monnier
2012-07-19  0:19   ` Juanma Barranquero

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.