Custom Query (1030 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (559 - 561 of 1030)

Ticket Resolution Summary Owner Reporter
#467 fixed @class macro and high safety R. Matthew Emerson
Description

(from ticket:447)

(@class "Foo") expands into

(the (@metaclass "Foo") ...)

@metaclass isn't a valid type specifier, and the compiler complains about it when SAFETY is sufficiently high, e.g.,

? (locally (declare (optimize (safety 3))) (@class "NSObject"))
> Error: Unknown type specifier: (@METACLASS "NSObject")
> While executing: %%TYPEP, in process Listener(3).
> Type :POP to abort, :R for a list of available restarts.
> Type :? for other options.
1 > 
#468 fixed find-applicable-methods errors when called with class-instances instead of symbols Ralf Stoye
Description

find-applicable-methods expects to be called with symbols:

(ccl::FIND-APPLICABLE-METHODS 'PROCESS-KILL '(PROCESS) nil) -> (#<CCL::STANDARD-KERNEL-METHOD PROCESS-KILL (PROCESS)>)

but "some" functions pass a list of actual classes as the args parameter, like swank-backend::xref-locations so i can't use "who calls".

my workaround is to map the args list and replace non-symbols by the class-name like this:

(defun find-applicable-methods (name args qualifiers)
  (setf args
	(mapcar #'(lambda (arg)
		    (if (symbolp arg)
			arg
			(class-name arg)))
		args))
  ...)

you can trigger the error without slime with xref-describe:

Welcome to Clozure Common Lisp Version 1.3-r11936  (DarwinX8664)!
? (ccl::xref-describe 'ccl:process-interrupt :verbose t)

 PROCESS-INTERRUPT is directly called by:
     PROCESS-ABORT
       Type: FUNCTION
       File: /Users/Shared/develop/lisp/ccl/level-1/l1-processes.lisp

     PROCESS-KILL (#<STANDARD-CLASS PROCESS>)
       Type: METHOD
> Error: Class named #<STANDARD-CLASS PROCESS> not found.
...
1 > :B
 (6A57C8) : 0 (FIND-CLASS #<STANDARD-CLASS PROCESS> NIL NIL) 669
 (6A5828) : 1 (FIND-APPLICABLE-METHODS PROCESS-KILL (#<STANDARD-CLASS PROCESS>) NIL) 2093
 (6A58A8) : 2 (GET-SOURCE-FILES-WITH-TYPES (PROCESS-KILL (#<STANDARD-CLASS PROCESS>)) METHOD) 357
 (6A5918) : 3 (EDIT-DEFINITION-P (PROCESS-KILL (#<STANDARD-CLASS PROCESS>)) METHOD) 125
 (6A5960) : 4 (%SOURCE-FILE-FOR-XREF-ENTRY #<XREF-ENTRY PROCESS-KILL METHOD (#<STANDARD-CLASS PROCESS>)>) 205
 (6A5980) : 5 (%PRINT-XREF-ENTRIES (#<XREF-ENTRY PROCESS-ABORT FUNCTION> #<XREF-ENTRY PROCESS-KILL METHOD #> #<XREF-ENTRY PROCESS-RESET METHOD #> #<XREF-ENTRY QUIT FUNCTION> #<XREF-ENTRY INTERACTIVE-ABORT-IN-PROCESS FUNCTION> ...) #<ECHOING-TWO-WAY-STREAM input #<BASIC-CHARACTER-INPUT-STREAM ISO-8859-1 (TTY/0) #x300040F00FED>, output #<BASIC-CHARACTER-OUTPUT-STREAM ISO-8859-1 (TTY/1) #x300040F00ADD> #x300040F03A7D> T) 477
 (6A59B8) : 6 (WHO-DIRECTLY-CALLS PROCESS-INTERRUPT :INVERSE NIL :IN-FILES NIL :IN-FUNCTIONS NIL :VERBOSE T :STREAM #<ECHOING-TWO-WAY-STREAM input #<BASIC-CHARACTER-INPUT-STREAM ISO-8859-1 (TTY/0) #x300040F00FED>, output #<BASIC-CHARACTER-OUTPUT-STREAM ISO-8859-1 (TTY/1) #x300040F00ADD> #x300040F03A7D>) 397
 (6A5A28) : 7 (WHO-CALLS PROCESS-INTERRUPT :INVERSE NIL :IN-FILES NIL :IN-FUNCTIONS NIL :VERBOSE T :STREAM #<ECHOING-TWO-WAY-STREAM input #<BASIC-CHARACTER-INPUT-STREAM ISO-8859-1 (TTY/0) #x300040F00FED>, output #<BASIC-CHARACTER-OUTPUT-STREAM ISO-8859-1 (TTY/1) #x300040F00ADD> #x300040F03A7D>) 189
 (6A5A90) : 8 (XREF-DESCRIBE PROCESS-INTERRUPT :VERBOSE T) 189


#469 fixed source-note missing under certain conditions Ralf Stoye
Description

compile a file containing a defgeneric as its last form, and load the compiled file. the source-notes for that function (and its methods) are missing, instead there are pathnames. Consequently slime fails when trying to "goto definition" (meta-.). Now for the magic: if you add some other definition (eg. a defun) below (and compile again), the source-notes are there!?

example: (contents of file "~/source-note-test.lisp" )


(defgeneric adoctestfun (input)

(:documentation "Parse INPUT, ") (:method ((input string))

(format t "string ~s" input))

(:method ((input number))

(format t "number ~s" (* 2 input))))

;; (defun somethingunrelated (i) (* 2 i))


(compile-file "~/source-note-test.lisp") (load "~/source-note-test.dx64fsl") (find-definition-sources 'adoctestfun) -> no source notes

;; now uncomment the defun and try again:

(compile-file "~/source-note-test.lisp") (load "~/source-note-test.dx64fsl") (find-definition-sources 'adoctestfun) -> ok, source notes are there

(tested in 1.3-r11936 DarwinX8664 and 1.3-RC1-r11804MS (LinuxX8632)

Batch Modify
Note: See TracBatchModify for help on using batch modify.
Note: See TracQuery for help on using queries.