unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* missing quote in define-package arg
@ 2014-05-24  7:18 Thien-Thi Nguyen
  2014-05-24  8:02 ` Thien-Thi Nguyen
  0 siblings, 1 reply; 10+ messages in thread
From: Thien-Thi Nguyen @ 2014-05-24  7:18 UTC (permalink / raw)
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 1704 bytes --]

I just now did a "make bootstrap" from the Git read-only mirror
(aside: i've given up on prodding git-remote-bzr -- wombat, sigh[0]),
followed by "rm -rf ~/.emacs.d/elpa", followed by "M-x list-packages".
I moved to ascii-art-to-unicode, typed ‘i’, saw "I", typed ‘x’, and now
see:

 Compiling file /home/ttn/.emacs.d/elpa/ascii-art-to-unicode-1.8/ascii-art-to-unicode-pkg.el at Sat May 24 08:50:33 2014
 Entering directory `/home/ttn/.emacs.d/elpa/ascii-art-to-unicode-1.8/'
 ascii-art-to-unicode-pkg.el:1:1:Warning: `"ascii"' is a malformed function

in the *Compile-Log* buffer.  Here is the full contents of the offending
file, manually wrapped for readability:

 (define-package
   "ascii-art-to-unicode" "1.8"
   "a small artist adjunct"
   'nil
   :url "http://elpa.gnu.org/packages/ascii-art-to-unicode.html"
   :keywords ("ascii" "unicode" "box-drawing"))

In ELPA admin/archive-contents.el func ‘archive--write-pkg-file’, i see
a call to ‘archive--alist-to-plist-args’, which by my reading should
include the missing quote before the open paren before "ascii", but
suspect that that func is not even being called in this whole process
since the -pkg file lacks the ";; Generated package description" blurb.

So there must be some other flow, hmmm.  What's the real story, here?


________________________
[0] On a positive note, i'm now resolved to try Bazaar proper;
    the slug finally reaches the starting line!


-- 
Thien-Thi Nguyen
   GPG key: 4C807502
   (if you're human and you know it)
      read my lisp: (responsep (questions 'technical)
                               (not (via 'mailing-list)))
                     => nil

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

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

* Re: missing quote in define-package arg
  2014-05-24  7:18 missing quote in define-package arg Thien-Thi Nguyen
@ 2014-05-24  8:02 ` Thien-Thi Nguyen
  2014-05-24 11:32   ` Dmitry Gutov
  0 siblings, 1 reply; 10+ messages in thread
From: Thien-Thi Nguyen @ 2014-05-24  8:02 UTC (permalink / raw)
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 1120 bytes --]

() Thien-Thi Nguyen <ttn@gnu.org>
() Sat, 24 May 2014 09:18:25 +0200

   So there must be some other flow, hmmm.
   What's the real story, here?

Yes, the other flow is in package.el.  Things go smoothly if
‘package--alist-to-plist’ is changed to:

 (defun package--alist-to-plist (alist)
   (mapcar (lambda (x)
             (if (and (not (consp x))
                      (or (keywordp x)
                          (not (symbolp x))
                          (memq x '(nil t))))
                 x `',x))
           (apply #'nconc (mapcar (lambda (pair)
                                    (list (car pair) (cdr pair)))
                                  alist))))

w/ the wrapping ‘(mapcar (lambda (x) ...) ...)’ snarfed from
‘archive--alist-to-plist-args’.  Surprising this has gone so far
unnoticed.  Probably everyone "installs" directly from repo.  :-D

-- 
Thien-Thi Nguyen
   GPG key: 4C807502
   (if you're human and you know it)
      read my lisp: (responsep (questions 'technical)
                               (not (via 'mailing-list)))
                     => nil

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

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

* Re: missing quote in define-package arg
  2014-05-24  8:02 ` Thien-Thi Nguyen
@ 2014-05-24 11:32   ` Dmitry Gutov
  2014-05-24 14:42     ` Thien-Thi Nguyen
  0 siblings, 1 reply; 10+ messages in thread
From: Dmitry Gutov @ 2014-05-24 11:32 UTC (permalink / raw)
  To: emacs-devel

Thien-Thi Nguyen <ttn@gnu.org> writes:

> w/ the wrapping ‘(mapcar (lambda (x) ...) ...)’ snarfed from
> ‘archive--alist-to-plist-args’.  Surprising this has gone so far
> unnoticed.  Probably everyone "installs" directly from repo.  :-D

Not exactly unnoticed
(https://github.com/milkypostman/melpa/pull/1619#issuecomment-39480891,
https://github.com/milkypostman/melpa/issues/1669), but it's a minor
issue that has no bearing on functionality.

I believe it can be fixed in two ways: by adding quoting where it was
missed (like you're suggesting), or by excluding -pkg.el files from
byte-compilation.



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

* Re: missing quote in define-package arg
  2014-05-24 11:32   ` Dmitry Gutov
@ 2014-05-24 14:42     ` Thien-Thi Nguyen
  2014-05-24 19:57       ` Dmitry Gutov
  2014-05-25 17:05       ` Thien-Thi Nguyen
  0 siblings, 2 replies; 10+ messages in thread
From: Thien-Thi Nguyen @ 2014-05-24 14:42 UTC (permalink / raw)
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 1353 bytes --]

() Dmitry Gutov <dgutov@yandex.ru>
() Sat, 24 May 2014 14:32:50 +0300

   Not exactly unnoticed
   (https://github.com/milkypostman/melpa/pull/1619#issuecomment-39480891,
   https://github.com/milkypostman/melpa/issues/1669), but it's a minor
   issue that has no bearing on functionality.

Agreed, if by functionality, we limit ourselves to the package in
question.  Whether or not it is minor, it should be fixed, anyway...

   I believe it can be fixed in two ways: by adding quoting where it was
   missed (like you're suggesting), or by excluding -pkg.el files from
   byte-compilation.

The second way is not a fix, for it leaves manifest a syntax error, on
disk (and maybe later, in memory -- i admit i haven't yet looked closely
at package.el to know its design).  It's not a bad idea per se, however,
since it seems there is little gain from byte-compiling -pkg.el files.

I am presently reading the BzrForEmacsDevs page on the EmacsWiki (while
waiting for bzr-initiated bits to percolate my way through the net), and
hope to install a fix, as well as the simplification you suggest, shortly.

-- 
Thien-Thi Nguyen
   GPG key: 4C807502
   (if you're human and you know it)
      read my lisp: (responsep (questions 'technical)
                               (not (via 'mailing-list)))
                     => nil

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

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

* Re: missing quote in define-package arg
  2014-05-24 14:42     ` Thien-Thi Nguyen
@ 2014-05-24 19:57       ` Dmitry Gutov
  2014-05-25  7:53         ` Thien-Thi Nguyen
  2014-05-25 17:05       ` Thien-Thi Nguyen
  1 sibling, 1 reply; 10+ messages in thread
From: Dmitry Gutov @ 2014-05-24 19:57 UTC (permalink / raw)
  To: emacs-devel

Thien-Thi Nguyen <ttn@gnu.org> writes:

> The second way is not a fix, for it leaves manifest a syntax error, on
> disk (and maybe later, in memory -- i admit i haven't yet looked closely
> at package.el to know its design).

Since -pkg.el files are not evaluated anymore in the latest version of
package.el, there's no syntax error.

The only reason we see the warning is that the byte-compiler treats the
form contained in the file as a function application, whereas
essentially it's just data now.



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

* Re: missing quote in define-package arg
  2014-05-24 19:57       ` Dmitry Gutov
@ 2014-05-25  7:53         ` Thien-Thi Nguyen
  0 siblings, 0 replies; 10+ messages in thread
From: Thien-Thi Nguyen @ 2014-05-25  7:53 UTC (permalink / raw)
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 1180 bytes --]

() Dmitry Gutov <dgutov@yandex.ru>
() Sat, 24 May 2014 22:57:56 +0300

   Since -pkg.el files are not evaluated anymore in the latest version
   of package.el, there's no syntax error.

Thanks for clarifying.  To me, the key word here is "anymore", which
hints that there is some (internal) design skew, a signal that other
bugs / incompatibilities might be latent.

   The only reason we see the warning is that the byte-compiler treats
   the form contained in the file as a function application, whereas
   essentially it's just data now.

Yes.  It is "just" data now, though tantalizingly dressed in executable
(function application) form.  So really, if the goal is to rid ourselves
of this temptation (so as to be able to focus on others :-D), would it
be correct to say that another option is to avoid generating that file
in the first place?  Hmm, i wonder how we got to this state -- time to
go read the ChangeLog files...

-- 
Thien-Thi Nguyen
   GPG key: 4C807502
   (if you're human and you know it)
      read my lisp: (responsep (questions 'technical)
                               (not (via 'mailing-list)))
                     => nil

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

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

* Re: missing quote in define-package arg
  2014-05-24 14:42     ` Thien-Thi Nguyen
  2014-05-24 19:57       ` Dmitry Gutov
@ 2014-05-25 17:05       ` Thien-Thi Nguyen
  2014-05-26  0:19         ` Stephen J. Turnbull
  2014-05-27 19:23         ` chad
  1 sibling, 2 replies; 10+ messages in thread
From: Thien-Thi Nguyen @ 2014-05-25 17:05 UTC (permalink / raw)
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 1214 bytes --]

() Thien-Thi Nguyen <ttn@gnu.org>
() Sat, 24 May 2014 16:42:54 +0200

   I am presently reading the BzrForEmacsDevs page on the EmacsWiki
   (while waiting for bzr-initiated bits to percolate my way through the
   net), and hope to install a fix, as well as the simplification you
   suggest, shortly.

Both fix and optimization (rather, cruft avoidance) are now installed,
presuming i haven't screwed up somehow[0] -- it seems to work fine w/
ascii-art-to-unicode.el, at least.  Onwards, slug!

_____________________________________________
[0] Being used to Git, i'm a little nervous w/ the "bound branch"
    approach, but that's what's recommended on EmacsWiki.  Ideally,
    there is a Bazaar analog to the workflow where i can do a series
    of commits w/o worrying too much about form (ChangeLog, primarily)
    followed by a squash and "serious" commit, followed by a push.
    It seems the bound branch approach makes *every* commit serious.
               
-- 
Thien-Thi Nguyen
   GPG key: 4C807502
   (if you're human and you know it)
      read my lisp: (responsep (questions 'technical)
                               (not (via 'mailing-list)))
                     => nil

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

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

* Re: missing quote in define-package arg
  2014-05-25 17:05       ` Thien-Thi Nguyen
@ 2014-05-26  0:19         ` Stephen J. Turnbull
  2014-05-26  9:15           ` Thien-Thi Nguyen
  2014-05-27 19:23         ` chad
  1 sibling, 1 reply; 10+ messages in thread
From: Stephen J. Turnbull @ 2014-05-26  0:19 UTC (permalink / raw)
  To: Thien-Thi Nguyen; +Cc: emacs-devel

Thien-Thi Nguyen writes:

 > [0] Being used to Git, i'm a little nervous w/ the "bound branch"
 >     approach, but that's what's recommended on EmacsWiki.  Ideally,
 >     there is a Bazaar analog to the workflow where i can do a series
 >     of commits w/o worrying too much about form (ChangeLog, primarily)
 >     followed by a squash and "serious" commit, followed by a push.
 >     It seems the bound branch approach makes *every* commit serious.

You might like the pipeline extension, which IIRC approximates "quilt"
or Mercurial queues.[1] But I don't think there is any Bazaar workflow
that approximates the "squash, document, and push" workflow (eg, I
don't think pipelines have a "merge patches" feature).  The Bazaar
developers just don't think that way.

Footnotes: 
[1]  Dunno if you're at all familiar with hg.  Basic idea is a deque
of patches that you can pop or push, and which come off the deque FIFO
when converting to commits.




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

* Re: missing quote in define-package arg
  2014-05-26  0:19         ` Stephen J. Turnbull
@ 2014-05-26  9:15           ` Thien-Thi Nguyen
  0 siblings, 0 replies; 10+ messages in thread
From: Thien-Thi Nguyen @ 2014-05-26  9:15 UTC (permalink / raw)
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 882 bytes --]

() "Stephen J. Turnbull" <stephen@xemacs.org>
() Mon, 26 May 2014 09:19:45 +0900

   You might like the pipeline extension, which IIRC approximates
   "quilt" or Mercurial queues.[1] But I don't think there is any Bazaar
   workflow that approximates the "squash, document, and push" workflow
   (eg, I don't think pipelines have a "merge patches" feature).  The
   Bazaar developers just don't think that way.

Thanks for the tip.  I have skimmed:

 http://wiki.bazaar.canonical.com/BzrPipeline

and might try it out on a test repo.  It seems somewhat complicated at
first sight, both conceptually and in terms of command-line jockeying.

-- 
Thien-Thi Nguyen
   GPG key: 4C807502
   (if you're human and you know it)
      read my lisp: (responsep (questions 'technical)
                               (not (via 'mailing-list)))
                     => nil

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

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

* Re: missing quote in define-package arg
  2014-05-25 17:05       ` Thien-Thi Nguyen
  2014-05-26  0:19         ` Stephen J. Turnbull
@ 2014-05-27 19:23         ` chad
  1 sibling, 0 replies; 10+ messages in thread
From: chad @ 2014-05-27 19:23 UTC (permalink / raw)
  To: Thien-Thi Nguyen; +Cc: emacs-devel

I don't remember when it was supplanted by the suggestion to use
bound branches, but if you just maintain a bzr checkout of trunk
and a working branch, you can hack on the working branch to your
heart's content, then extract changes between working and trunk for
submission or pushing up whenever you're ready. The downside is
that you have two copies of the source tree on disk, but many usage
patterns make that not a big deal, and it's sometimes nice to have
a clean source tree at hand for reference.

For me:

	; du -sk trunk working
	130456	trunk
	323620	working

I use a script to pull into trunk, merge and commit into working,
then build working and let me know if the build succeeded or not.
I run this script every couple days.

Hope that helps,
~Chad




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

end of thread, other threads:[~2014-05-27 19:23 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-24  7:18 missing quote in define-package arg Thien-Thi Nguyen
2014-05-24  8:02 ` Thien-Thi Nguyen
2014-05-24 11:32   ` Dmitry Gutov
2014-05-24 14:42     ` Thien-Thi Nguyen
2014-05-24 19:57       ` Dmitry Gutov
2014-05-25  7:53         ` Thien-Thi Nguyen
2014-05-25 17:05       ` Thien-Thi Nguyen
2014-05-26  0:19         ` Stephen J. Turnbull
2014-05-26  9:15           ` Thien-Thi Nguyen
2014-05-27 19:23         ` chad

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).