[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [AUCTeX] Unable to compile: Symbol's function definition is void: ma

From: Joost Kremers
Subject: Re: [AUCTeX] Unable to compile: Symbol's function definition is void: mapchar *
Date: Thu, 27 Sep 2012 00:02:43 +0200
User-agent: mu4e 0.9.9-dev6; emacs

On Wed, Sep 26 2012, Ralf Angeli <address@hidden> wrote:
> * Sree Harsha Totakura (2012-09-26) writes:
> In `TeX-check-files' there is a call to `map' which was introduced with
> the changes for biber.  That could be the culprit.

map is one of the "forbidden" CL compatibility functions. Official
policy states that it shouldn't be used in packages:


   *Please note:* the "CL" functions are not standard parts of the
Emacs Lisp name space, so it is legitimate for users to define them
with other, conflicting meanings.  To avoid conflicting with those user
activities, we have a policy that packages installed in Emacs must not
load "CL" at run time.  (It is ok for them to load "CL" at compile time
only, with `eval-when-compile', and use the macros it provides.)  If
you are writing packages that you plan to distribute and invite
widespread use for, you might want to observe the same rule.


See (info "(cl) Overview")

>  Maybe this should be
> replaced by something more Elispy.

Well, since this particular call to map has 'list as return type and
maps over just a single list, the call can easily be replaced with a
call to mapcar:


@@ -374,10 +374,10 @@
   (let ((existingoriginals nil)
         (found nil)
         (buffers (buffer-list)))
-      (dolist (path (map 'list (lambda (dir)
-                               (expand-file-name
-                                (file-name-as-directory dir)))
-                       TeX-check-path))
+      (dolist (path (mapcar (lambda (dir)
+                              (expand-file-name
+                               (file-name-as-directory dir)))
+                            TeX-check-path))
         (dolist (orig originals)
           (dolist (ext extensions)
            (let ((filepath (concat path orig "." ext)))


In Emacs 24.2, the CL compat functions have all been renamed to cl-*,
which makes it possible to use them in packages.

Joost Kremers
Life has its moments

reply via email to

[Prev in Thread] Current Thread [Next in Thread]