Custom Query (1030 matches)
Results (955 - 957 of 1030)
| Ticket | Resolution | Summary | Owner | Reporter |
|---|---|---|---|---|
| #1283 | fixed | win64 build fails | ||
| Description |
Hi, It looks like there's a mismatched #ifndef/#endif pair in ccl/lisp-kernel/lisp-debug.c for Windows here: void
redirect_debugger_io()
{
#ifndef WINDOWS
if (1 || !isatty(fileno(dbgin))) {
int fd = open("/dev/tty", O_RDWR);
if (fd >=0) {
dbgin=fdopen(fd,"r");
open_debug_output(fd);
}
#endif <--- too soon?
}
}
This causes the build to fail with: x86_64-w64-mingw32-gcc -include ../platform-win64.h -c ../lisp-debug.c -DWIN_64 -DWINDOWS -D_REENTRANT -DX86 -DX8664 -D_GNU_SOURCE -DHAVE_TLS -DEMUTLS -DTCR_IN_GPR -DSVN_REVISION="16387" -g -O2 -Wno-format -m64 -o lisp-debug.o
../lisp-debug.c:234:1: error: expected identifier or '(' before '}' token
}
^
Makefile:74: recipe for target 'lisp-debug.o' failed
make: *** [lisp-debug.o] Error 1
I think the #endif just needs to come after the subsequent }. After moving it the build seems to succeed for me. Thanks, Jared |
|||
| #1286 | invalid | Cannot INLINE functions created by MACROLET - again? | ||
| Description |
Intro: generating a declaim-inline declaration and a function definition via macrolet somehow gets in the way of inlining. Detailed minimal example below. This looks very similar to the following Clozure CL bug, whence the "again?" in the summary comes from. http://trac.clozure.com/ccl/ticket/1280
Example with 3 files, package.lisp, a.lisp, and b.lisp: package.lisp:
(in-package :cl-user)
(defpackage a
(:use :cl)
(:export #:***f*** #:///f///)) ; easy to see in disassembly
(defpackage b
(:use :cl)
(:export #:g #:g2))
a.lisp:
(in-package #:a)
(macrolet ((define-op (name op)
`(progn
(declaim (inline ,op))
(defun ,name (x y)
(,op x y)))))
(define-op ***f*** +))
(declaim (inline ///f///))
(defun ///f/// (x y)
(+ x y))
b.lisp:
(in-package #:b)
(defun g (x y)
(flet ((h ()
(a:***f*** x y)))
#'h))
(defun g2 (x y)
(flet ((h ()
(a:///f/// x y)))
#'h))
Session with results: ; SLIME 2015-06-01
CL-USER> (progn
(load "package.lisp")
(load (compile-file "a.lisp"))
(load (compile-file "b.lisp")))
#P"b.lx64fsl"
CL-USER> (disassemble (b:g 1 2))
L0
(leaq (@ (:^ L0) (% rip)) (% fn)) ; [0]
(cmpl ($ 16) (% nargs)) ; [7]
(jne L81) ; [10]
(pushq (% rbp)) ; [12]
(movq (% rsp) (% rbp)) ; [13]
(pushq (% arg_y)) ; [16]
(pushq (% arg_z)) ; [17]
;;; (a:***f*** x y)
(leaq (@ (:^ L61) (% fn)) (% temp0)) ; [18]
(pushq (% temp0)) ; [25]
(movq (% arg_z) (% arg_y)) ; [26]
(movq (@ -8 (% rbp)) (% arg_z)) ; [29]
(movl ($ 16) (% nargs)) ; [33]
(movq (@ 'A:***F*** (% fn)) (% temp0)) ; [38]
(pushq (@ #x12FB8)) ; [45]
(jmpq (@ 10 (% temp0))) ; [52]
L61
(leaq (@ (:^ L0) (% rip)) (% fn)) ; [61]
(jmpq (@ .SPNVALRET)) ; [68]
;;; #<no source text>
L81
(uuo-error-wrong-number-of-args) ; [81]
NIL
CL-USER> (disassemble (b:g2 1 2))
L0
(leaq (@ (:^ L0) (% rip)) (% fn)) ; [0]
(cmpl ($ 16) (% nargs)) ; [7]
(jne L81) ; [10]
(pushq (% rbp)) ; [12]
(movq (% rsp) (% rbp)) ; [13]
(pushq (% arg_y)) ; [16]
(pushq (% arg_z)) ; [17]
;;; (a:///f/// x y)
(leaq (@ (:^ L61) (% fn)) (% temp0)) ; [18]
(pushq (% temp0)) ; [25]
(movq (% arg_z) (% arg_y)) ; [26]
(movq (@ -8 (% rbp)) (% arg_z)) ; [29]
(movl ($ 16) (% nargs)) ; [33]
(movq (@ '+ (% fn)) (% temp0)) ; [38]
(pushq (@ #x12FB8)) ; [45]
(jmpq (@ 10 (% temp0))) ; [52]
L61
(leaq (@ (:^ L0) (% rip)) (% fn)) ; [61]
(jmpq (@ .SPNVALRET)) ; [68]
;;; #<no source text>
L81
(uuo-error-wrong-number-of-args) ; [81]
NIL
Summary: g's #'h does NOT get a:***f*** inlined g2's #'h DOES get a:///f/// inlined |
|||
| #1289 | fixed | Scrolling confuses mouse clicks in duplicate windows | ||
| Description |
Open a largish file, e.g. cocoa-editor.lisp Right click in it and select Duplicate this window. Go back to the first window and scroll it down to near the end, and click somewhere in the text. Go back to the second window, and scroll by large amounts and try to click in the text. For me, most of the time, clicking places the insertion point in an apparently random location in the buffer, instead of where I clicked. |
|||
