Skip to content

Instantly share code, notes, and snippets.

@jmercouris
Created February 5, 2018 21:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jmercouris/f5cc42b6d8d663df4e387684746c8ca1 to your computer and use it in GitHub Desktop.
Save jmercouris/f5cc42b6d8d663df4e387684746c8ca1 to your computer and use it in GitHub Desktop.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Code
(defun add-function-to-hook (hook-name function-key function)
(let (hook-hash (alexandria:ensure-gethash
hook-name
*available-hooks*
(make-hash-table :test #'equalp)))
(setf (gethash function-key hook-hash) function)))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Error
While compiling ADD-FUNCTION-TO-HOOK :
Bad initialization form: (ALEXANDRIA.0.DEV:ENSURE-GETHASH
HOOK-NAME
*AVAILABLE-HOOKS*
(MAKE-HASH-TABLE :TEST #'EQUALP)).
[Condition of type CCL::COMPILE-TIME-PROGRAM-ERROR]
Restarts:
0: [CONTINUE] continue compilation ignoring this form
1: [RETRY] Retry SLIME interactive evaluation request.
2: [*ABORT] Return to SLIME's top level.
3: [ABORT-BREAK] Reset this thread
4: [ABORT] Kill this thread
Backtrace:
0: ((:INTERNAL CCL::NX1-COMPILE-LAMBDA) #<CCL::COMPILE-TIME-PROGRAM-ERROR #x302003DBDD3D>)
1: (SIGNAL #<CCL::COMPILE-TIME-PROGRAM-ERROR #x302003DBDD3D>)
2: (CCL::%ERROR #<CCL::COMPILE-TIME-PROGRAM-ERROR #x302003DBDD3D> NIL 106049983)
3: (CCL::NX-ERROR "Bad initialization form: ~S." (ALEXANDRIA.0.DEV:ENSURE-GETHASH HOOK-NAME *AVAILABLE-HOOKS* (MAKE-HASH-TABLE :TEST #'EQUALP)))
4: (CCL::NX1-LET :RETURN (LET (HOOK-HASH (ALEXANDRIA.0.DEV:ENSURE-GETHASH HOOK-NAME *AVAILABLE-HOOKS* (MAKE-HASH-TABLE :TEST #'EQUALP))) (SETF (GETHASH FUNCTION-KEY HOOK-HASH) FUNCTION)) #<CCL::LEXICAL-E..
5: (CCL::NX1-COMBINATION :RETURN (LET (HOOK-HASH (ALEXANDRIA.0.DEV:ENSURE-GETHASH HOOK-NAME *AVAILABLE-HOOKS* (MAKE-HASH-TABLE :TEST #'EQUALP))) (SETF (GETHASH FUNCTION-KEY HOOK-HASH) FUNCTION)) #<CCL::L..
6: (CCL::NX1-TRANSFORMED-FORM :RETURN (LET (HOOK-HASH (ALEXANDRIA.0.DEV:ENSURE-GETHASH HOOK-NAME *AVAILABLE-HOOKS* (MAKE-HASH-TABLE :TEST #'EQUALP))) (SETF (GETHASH FUNCTION-KEY HOOK-HASH) FUNCTION)) #<C..
7: (CCL::NX1-TYPED-FORM :RETURN (LET (HOOK-HASH (ALEXANDRIA.0.DEV:ENSURE-GETHASH HOOK-NAME *AVAILABLE-HOOKS* (MAKE-HASH-TABLE :TEST #'EQUALP))) (SETF (GETHASH FUNCTION-KEY HOOK-HASH) FUNCTION)) #<CCL::LE..
8: (CCL::NX1-FORM :RETURN (LET (HOOK-HASH (ALEXANDRIA.0.DEV:ENSURE-GETHASH HOOK-NAME *AVAILABLE-HOOKS* (MAKE-HASH-TABLE :TEST #'EQUALP))) (SETF (GETHASH FUNCTION-KEY HOOK-HASH) FUNCTION)) #<CCL::LEXICAL-..
9: (CCL::NX1-BLOCK :RETURN (BLOCK ADD-FUNCTION-TO-HOOK (LET (HOOK-HASH (ALEXANDRIA.0.DEV:ENSURE-GETHASH HOOK-NAME *AVAILABLE-HOOKS* #)) (SETF (GETHASH FUNCTION-KEY HOOK-HASH) FUNCTION))) #<CCL::LEXICAL-E..
10: (CCL::NX1-COMBINATION :RETURN (BLOCK ADD-FUNCTION-TO-HOOK (LET (HOOK-HASH (ALEXANDRIA.0.DEV:ENSURE-GETHASH HOOK-NAME *AVAILABLE-HOOKS* #)) (SETF (GETHASH FUNCTION-KEY HOOK-HASH) FUNCTION))) #<CCL::LEX..
11: (CCL::NX1-TRANSFORMED-FORM :RETURN (BLOCK ADD-FUNCTION-TO-HOOK (LET (HOOK-HASH (ALEXANDRIA.0.DEV:ENSURE-GETHASH HOOK-NAME *AVAILABLE-HOOKS* #)) (SETF (GETHASH FUNCTION-KEY HOOK-HASH) FUNCTION))) #<CCL..
12: (CCL::NX1-TYPED-FORM :RETURN (BLOCK ADD-FUNCTION-TO-HOOK (LET (HOOK-HASH (ALEXANDRIA.0.DEV:ENSURE-GETHASH HOOK-NAME *AVAILABLE-HOOKS* #)) (SETF (GETHASH FUNCTION-KEY HOOK-HASH) FUNCTION))) #<CCL::LEXI..
13: (CCL::NX1-FORM :RETURN (BLOCK ADD-FUNCTION-TO-HOOK (LET (HOOK-HASH (ALEXANDRIA.0.DEV:ENSURE-GETHASH HOOK-NAME *AVAILABLE-HOOKS* #)) (SETF (GETHASH FUNCTION-KEY HOOK-HASH) FUNCTION))) #<CCL::LEXICAL-EN..
14: (CCL::NX1-ENV-BODY :RETURN ((BLOCK ADD-FUNCTION-TO-HOOK (LET (HOOK-HASH #) (SETF # FUNCTION)))) #<CCL::LEXICAL-ENVIRONMENT #x302003DBE43D> NIL)
15: (CCL::NX1-LAMBDA (HOOK-NAME FUNCTION-KEY FUNCTION) ((BLOCK ADD-FUNCTION-TO-HOOK (LET (HOOK-HASH #) (SETF # FUNCTION)))) ((DECLARE (CCL::GLOBAL-FUNCTION-NAME ADD-FUNCTION-TO-HOOK))))
16: (CCL::NX1-COMPILE-LAMBDA ADD-FUNCTION-TO-HOOK (LAMBDA (HOOK-NAME FUNCTION-KEY FUNCTION) ..) #<CCL::AFUNC #x302003DBE48D> NIL #<CCL::LEXICAL-ENVIRONMENT #x302003DBE55D> #<CCL:COMPILER-POLICY #x3020001B..
17: (CCL::COMPILE-NAMED-FUNCTION (LAMBDA (HOOK-NAME FUNCTION-KEY FUNCTION) (DECLARE (CCL::GLOBAL-FUNCTION-NAME ADD-FUNCTION-TO-HOOK)) (BLOCK ADD-FUNCTION-TO-HOOK (LET (HOOK-HASH #) (SETF # FUNCTION)))) :N..
18: (CCL::CHEAP-EVAL-FUNCTION ADD-FUNCTION-TO-HOOK (LAMBDA (HOOK-NAME FUNCTION-KEY FUNCTION) ..) #<CCL::LEXICAL-ENVIRONMENT #x302003DBE5AD>)
19: (CCL::CHEAP-EVAL-IN-ENVIRONMENT (CCL::%DEFUN (CCL:NFUNCTION ADD-FUNCTION-TO-HOOK (LAMBDA (HOOK-NAME FUNCTION-KEY FUNCTION) (DECLARE #) (BLOCK ADD-FUNCTION-TO-HOOK #))) 'NIL) #<CCL::LEXICAL-ENVIRONMENT..
--more--
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment