                          'picolisp-indent ) ) )
         (if (integerp method)
             (lisp-indent-specform method state indent-point normal-indent)
-          (funcall method state indent-point normal-indent) ) ) ) ) )
+          (funcall (if (save-excursion
+                         (let ((state9 (reverse (elt state 9))))
+                           (when (cadr state9)
+                             (goto-char (+ 1 (cadr (reverse (elt state 9)))))
+                             (and (looking-at "let\\|use")
+                                 (save-excursion
+                                   (forward-sexp)
+                                   (forward-sexp)
+                                   (backward-sexp)
+                                   (when (equal (point)  (car state9))
+                                     (looking-at "(") ) ) ) ) ) )
+                       'picolisp-indent-let
+                     method )
+                   state indent-point normal-indent ) ) ) ) ) )
 
 
 ;;; Some functions are different in picoLisp

     ;;
     ;; Declarations.
     (list 
      (concat "(" (regexp-opt '("be" "de" "dm" "set" "setq") t) "\\>"
              ;; Any whitespace and declared object.
              "[ \t]*(?"
              "\\(\\sw+\\)?" )
      '(1 font-lock-keyword-face)
      '(2 (cond ((match-beginning 0) font-lock-function-name-face)
                ((match-beginning 3) font-lock-variable-name-face)
                (t font-lock-type-face) )
          nil t ) )
     (list (concat "[( \t]'?"
                   (regexp-opt '("NIL" "T") t)  
                   "[ )\n\t]" )
           '(1 font-lock-constant-face) )
     (list
      (concat "[( ]"
              (regexp-opt '("*OS" "*DB" "*Solo" "*PPid" "*Pid" "@" "@@" "@@@"
                            "This" "*Dbg" "*Zap" "*Scl" "*Class" "*Dbs" "*Run"
                            "*Hup" "*Sig1" "*Sig2" "^" "*Err" "*Msg" "*Uni" 
                            "*Led" "*Adr" "*Allow" "*Fork" "*Bye" ) t )
              "[ )\n\t]" )
      '(1 font-lock-builtin-face) )
     ;; This is so we make the point used in conses more visible
     '("[ \t]\\(\\.\\)[ \t)]" (1 font-lock-negation-char-face))
     '("(\\(====\\)\\>" (1 font-lock-negation-char-face)) ) )
  "Subdued expressions to highlight in Picolisp modes." )

(defconst picolisp-font-lock-keywords-2
  (append picolisp-font-lock-keywords-1
          (eval-when-compile
            (list
             ;;
             ;; Control structures.
             (cons
              (concat

;;;;;; picolisp-mode: Major mode to edit picoLisp.
;;;;;; Version: 1.2

;;; Copyright (c) 2009, Guillermo R. Palavecino

