emacs-devel
[Top][All Lists]
Advanced

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

Compiler-macro error -- what is this?


From: Eric Abrahamsen
Subject: Compiler-macro error -- what is this?
Date: Thu, 13 Dec 2018 12:38:24 -0800
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux)

I got a compilation error report from someone compiling EBDB. These are
all the details so far:

Slackware-14.0 (32-bit)
GNU Emacs 25.3.1

Compiling /home/eric/.emacs.d/elpa/ebdb-0.6/ebdb-migrate.el... 
(ebdb-migrate-parse-records)
Compiler-macro error for cl--block-wrapper: (wrong-number-of-arguments (3 . 5) 
6) [3 times]

That doesn't look like anything familiar to me -- does anyone know
what's going wrong? I'm pasting the code for
`ebdb-migrate-parse-records' below:

Thanks,
Eric

(defun ebdb-migrate-parse-records ()
  "Parse an earlier (non-EIEIO) version of a BBDB database file."
  (save-excursion
    (save-restriction
      (widen)
      (goto-char (point-min))
      ;; look backwards for file-format, and convert if necessary.
      (let ((file-format
             (if (re-search-forward
                  "^;+[ \t]*file-\\(format\\|version\\):[ \t]*\\([0-9]+\\)[ 
\t]*$" nil t)
                 (string-to-number (match-string 2))))
            migrate records)
        (unless file-format ; current file-format, but no file-format: line.
          (error "BBDB corrupted: no file-format line"))
        (if (> file-format ebdb-file-format)
            (error "EBDB understands file format %s but not %s."
                   ebdb-file-format file-format)
          (setq migrate (< file-format ebdb-file-format)))
        (unless (re-search-forward "^\\[" nil t)
          (error "Unreadabe BBDB file: no contacts found"))
        (goto-char (point-at-bol))
        ;; narrow the buffer to skip over the rubbish before the first record.
        (narrow-to-region (point) (point-max))
        (let ((modp (buffer-modified-p))
              ;; Make sure those parens get cleaned up.
              ;; This code had better stay simple!
              (inhibit-quit t)
              (buffer-undo-list t)
              buffer-read-only)
          (goto-char (point-min)) (insert "(\n")
          (goto-char (point-max)) (insert "\n)")
          (goto-char (point-min))
          (unwind-protect
              (setq records (read (current-buffer)))
            (goto-char (point-min)) (delete-char 2)
            (goto-char (point-max)) (delete-char -2)
            (set-buffer-modified-p modp)))
        (widen)

        ;; Migrate if `bbdb-file' is outdated.
        (if migrate (setq records (ebdb-migrate records file-format)))

        records))))




reply via email to

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