Re: quotation question + good lisp doc



Christopher Roy Bratusek wrote:

> Am Sat, 20 Feb 2010 18:59:30 +0100 schrieb Christopher Roy Bratusek:
>
>> O.K. attached is the current complete one, but now it doesn't work.
>>
>> ( cycle-or-exec "Nautilus" "nautilus" "fm" t )
>>
>> = invalid function nautilus

  (define (cycle-or-exec re prog #!key name match-class)
    (let (forward-name backward-name)
      (when (stringp prog)
        (setq name prog))
      (if name
        (prog
         ^^^^
To me this looks like you wanted "prog1" or "progn" (without the quotes!)
instead of "prog".  As called, the "prog" in the text would be the
string "nautilus" in an operator position, which cannot work in this
lisp dialect.  If you want more than one form in the true or false part
of an "(if ...)" special form, you'd want one of the sequencing
operators from "Info: (librep.info)Sequencing Structures".

          (setq forward-name (concat "cycle-" name))
          (setq backward-name (concat forward-name "-backwards")))
        (setq forward-name
          (concat "cycle-" (closure-name prog)))
        (setq backward-name
          (concat forward-name "-backwards")))
      (if match-class
        (define-cycle-command-pair
          forward-name backward-name
          (cycle-or-exec-backend (filter-windows-by-class re) prog))
        (define-cycle-command-pair
          forward-name backward-name
          (cycle-or-exec-backend (filter-windows-by-name re) prog))))))

Unfortunately, I just joined the list via gmane and don't have the
entire thread available, so I can't comment further on "quotation
question + good lisp doc".


clemens



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