Coder Social home page Coder Social logo

busfactor1 / mcl Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 17.68 MB

Automatically exported from code.google.com/p/mcl

License: Other

Common Lisp 97.43% Makefile 0.01% C 1.65% NewLisp 0.01% C++ 0.01% Assembly 0.55% M4 0.02% Rebol 0.27% Shell 0.01% Groff 0.05%

mcl's People

Contributors

burtonsamograd avatar njordhov avatar

Stargazers

 avatar

Watchers

 avatar

mcl's Issues

pathname-name can return :unspecific

pathname-name can return :unspecific which, without "(eq  
name :unspecific)" creates an error when trying to compute the length  
of a symbol.

;; l1-files.lisp
(in-package :ccl)
(defun directory-pathname-p (path)
  (let ((name (pathname-name path))(type (pathname-type path)))
    (and (or (null name) (eq name :unspecific) (%izerop (length name)))
              (or (null type) (eq type :unspecific)))))


Original issue reported on code.google.com by terje.norderhaug on 17 Sep 2009 at 8:55

Quit - no confirm

In order to make MCL behave like conventional Mac apps, a patch to allow MCL to 
quit without confirmation dialog.

(let ((*warn-if-redefine* nil)
      (*warn-if-redefine-kernel* nil))
  (defun ccl::do-quit-dialog () T)
  )

{Terje, where do contribs/mods go in Google code?}

Original issue reported on code.google.com by [email protected] on 22 Jul 2010 at 7:40

Logical pathnames with a "newest" component causes failure to translate pathnames

The problem occurs after loading the portable usocket library, which defines a 
logical pathname translation with a .newest version component:

    (setf (logical-pathname-translations "usocket")
          `(("**;*.*.NEWEST" ,(loading-file-source-file))
            ("**;*.*" ,(loading-file-source-file))))

MCL doesn't properly resolve such logical pathnames. For example, probe-file 
signals an error reporting that NIL is not of the expected type (OR STRING 
ENCODED-STRING PATHNAME STREAM).

The following functions need to be modified to accommodate a "newest" pathname 
version component:

pathname-match-p
translate-pathname

Original issue reported on code.google.com by terje.norderhaug on 17 May 2011 at 9:09

copy-file errs when copying to existing file even with :if-exists nil

What steps will reproduce the problem?

(progn
  (create-file "ccl:tmp1.tmp" :if-exists nil)
  (create-file "ccl:tmp2.tmp" :if-exists nil)
  (copy-file "ccl:tmp1.tmp" "ccl:tmp2.tmp" :if-exists nil))

What is the expected output? 

NIL

What do you see instead?

Error in process Listener: value NIL is not of the expected type (OR STRING 
CCL::ENCODED-
STRING PATHNAME STREAM).
> While executing: PATHNAME-NAME

Original issue reported on code.google.com by terje.norderhaug on 3 Nov 2009 at 4:27

crash from optimized double-float given bad arg

Another irrelevance, posted in case of use to others ...

(defun test (x)
  (declare (double-float x)
           (optimize (speed 3) (safety 0)))
  (zerop (the double-float (mod x 100))))

Calling with fixnum rather than double 
  (WARNING: this causes sudden death crash):
(test 1)

CLZ manages to catch this gracefully.

The crash report shows:
Exception Type:  EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x000000000000000a
...
so if you have some crash with this report, perhaps it is a type violation.

Original issue reported on code.google.com by [email protected] on 9 Nov 2009 at 5:47

Failure to read or set string resources

The get-string and set-string-resource functions in ccl:library;resources.lisp 
have malfunctioned 
since MCL 5.1. The fix is to modify get-string and set-string-resource to work 
with handles.


Original issue reported on code.google.com by terje.norderhaug on 25 Jan 2010 at 3:10

Non-portable stream-write-string method definition

In MCL, stream-write-string requires the start and end arguments. In other 
Common Lisp 
implementations, including Clozure, the start and end arguments are optional:

http://www.lispworks.com/documentation/lw51/LWRM/html/lwref-643.htm
http://www.clos.org/support/documentation/7.0/doc/operators/excl/stream-write-st
ring.htm
http://franz.com/support/documentation/6.0/doc/pages/operators/excl/stream-write
-string.htm
http://www.sbcl.org/manual/Character-output-stream-methods.html

The different method definition in MCL for stream-write-string creates 
conflicts with portable code. I suggest stream write-string is changed to be 
consistent with other lisp implementations by 
making the start and end arguments optional.

Original issue reported on code.google.com by terje.norderhaug on 2 Jan 2010 at 12:06

Wrong machine-version for Intel

#'machine-version reports wrong processor on Intel machines.

For example, when called on an Intel Core 2 Duo:

? (machine-version)
=>
MacBookPro3,1 with G4


Original issue reported on code.google.com by terje.norderhaug on 23 Dec 2009 at 11:26

Snow logout crash

Running RMCL under Snow Leopard suffers occasional logout crashes. That is,
unexpectedly the system logs out and back in again (Window Server crash)
with no apps running.  Apparently a rosetta bug in MacOS 10.6.  Maybe
impossible for RMCL to avoid as due to some problem the system has with PPC
apps (plus maybe keyboard interaction).  But in case anyone finds a
workaround or preventive measure, please report.

<http://discussions.apple.com/thread.jspa?threadID=2136412&tstart=45&start=30>
etc.




Original issue reported on code.google.com by [email protected] on 3 Nov 2009 at 10:08

Failure to recognize text files

The mac-file-type function doesn't consistently recognize text files.

Original issue reported on code.google.com by terje.norderhaug on 7 Nov 2010 at 10:13

Cursor text navigation

When moving the cursor in text (Fred  or Listener), it used to be that c-F
and c-B moved one character. m-F and m-B moved one part word, c-m-F did the
whole word or form.

Now m-F moves the whole word. Ie. it used to stop at #\- chars.

COMMON-LISP-USER::MOST-POSITIVE-FIXNUM
      ^    ^    ^     ^        ^      ^     old m-F
                ^                     ^     new m-F

(possible cause: Unicode side effect?)

Original issue reported on code.google.com by [email protected] on 24 Feb 2010 at 8:38

Display revision code with version number

The *mcl-revision* holds the revision code, but it is not displayed anywhere. 
Perhaps it should be 
displayed with the version number in the about dialog and/or in the welcome 
message in the 
listener?

Original issue reported on code.google.com by terje.norderhaug on 13 Nov 2009 at 11:56

Incorrect reading double float

Welcome to Macintosh Common Lisp Version 5.2.1!
? (read-from-string "0.6146281499692686  ")
0.61462814
19

? (setf *READ-DEFAULT-FLOAT-FORMAT* 'double-float)
DOUBLE-FLOAT

? (read-from-string "0.6146281499692686  ")
0.6146281332167046                              <<<<<< WHAT?
19

? (read-from-string "0.9847365829640571 ")
0.9847365829640571
19

Original issue reported on code.google.com by terje.norderhaug on 16 Mar 2010 at 10:56

Font Panel for the Font menu

The Font item of the Edit menu takes a long time to display the list of fonts 
and scrolls slowly, 
particularly under Rosetta.

The fix is to upgrade to a Font Panel as provided by Carbon and Cocoa.

Original issue reported on code.google.com by terje.norderhaug on 16 Mar 2010 at 11:12

UNADVISE macro inconsistent documentation/functionality

The documentation for UNADVISE (spec &key when name) states that it:

"unadvises everything matching spec, when, and name. When the value of
spec is t and the values of when and name are nil, unadvise
unadvises everything ever advised; when spec is t, when is nil and
name is non-nil, unadvise unadvises everything with the given name."

However, unadvise unadvises everything when spec is T no matter the value of 
the when and name 
keywords.

Original issue reported on code.google.com by terje.norderhaug on 4 Nov 2009 at 2:54

MCL ref missing from distribution

The Macintosh Common Lisp Ref need to be included in the distribution.

Fix by adding a line in the gather-distribution script. 

Original issue reported on code.google.com by terje.norderhaug on 8 Nov 2010 at 4:00

Passive TCP connections on OS assigned ports

The opentransport.lisp module does not support ports assigned by the OS for 
passive connections. 

Developers should be able to let the OS determine the port instead of always 
having to specify the 
port when opening a TCP stream.

Original issue reported on code.google.com by terje.norderhaug on 3 Jan 2010 at 9:36

loop return not working

on MacOS 10.6.1:

(loop ... finally return (values ...)) used to work in prior MCL 
releases, it does not appear to now. I assume this is inappropriate 
use of loop anyway.  (loop ... finally (return (values ...))) seems 
to work fine.

Original issue reported on code.google.com by terje.norderhaug on 20 Sep 2009 at 6:31

Apropos history

In the Apropos dialog, it could be useful to have a search history. Command-[ 
would inject last search keys in and execute.  Command-] to go forward again.

Original issue reported on code.google.com by [email protected] on 2 Jul 2010 at 12:28

Compare/Merge lock-up

Load Extension Compare/Merge
execute command, at choose file dialog MCL freezes.
(seems intermittent)

Original issue reported on code.google.com by [email protected] on 12 Jul 2010 at 9:09

Interface Toolkit: color editor: "The timer probaly won't work here"

Using Interface Toolkit, make new dialog, add any dialog item (eg. static 
text), double click to edit this, click Frame to edit background color ...

... system hangs (with Listener notice: "The timer probaly won't work here").
Only crash boot possible (which is exasperating when an hour of detailed GUI 
editing is lost!).

Original issue reported on code.google.com by [email protected] on 20 Jun 2010 at 8:44

svref error signal

A nit (and not to do with recent ports/upgrades to MCL, but on a todo list
for anyone hacking in these parts):

Attempting to access outside the bounds of a vector with svref gives a not
very helpful error report.

(svref (vector 1) 1)
> Error: Too few arguments.
> While executing: CCL::%ERR-DISP
...

OK the debugger backtrace probably shows how things went awry, but I think
the initial error report is suboptimal (could be more user friendly).
(there ARE enough arguments in what I am looking at!)

Original issue reported on code.google.com by [email protected] on 8 Nov 2009 at 3:08

Backtrace arrow navigation

When in a debugger backtrace window, it would be useful to be able to
navigate the backtrace listing rows using the arrow keys.
(wasn't this once the case).

Original issue reported on code.google.com by [email protected] on 2 Dec 2009 at 8:37

Stale version of view-click-event-handler on stack-inspector-view

 The view-click-event-handler method on stack-inspector-view is redefined to a legacy version. An old version of the method remains in the code.

The fix is to eliminate the old version.

Original issue reported on code.google.com by terje.norderhaug on 7 Nov 2010 at 10:20

choose-file-dialog

RMCL doesn't allow opening of vanilla text files (such as CLZ (Clozure)
sources) under MacOS 10.5.* and 10.6.*.  

(ccl::choose-file-dialog) works fine, but command-O and other API file
openers do not.

Playing with the definition and varying mac-file-type and mac-file-creator
args has not helped.

mac-file-creator is bound to (application-file-creator *application*) which
is :CCL2.  (ccl::CHOOSE-FILE-DIALOG :mac-file-creator "????") does allow
CLZ source files to be chosen.

But I assume file type and creator codes are obsolete now.

Callers found are:
pop-up-path-menu calls (choose-file-dialog :directory item-dir
:mac-file-type "TEXT")
edit-select-file calls (choose-file-dialog :mac-file-type "TEXT")
get-doc-string-file  calls (choose-file-dialog :directory (or
(ignore-errors (probe-file "ccl:")) (startup-directory)) :mac-file-type :HELP)
load calls (choose-file-dialog :button-string "Load")
require calls (choose-file-dialog :button-string "Load" :mac-file-type
'(#-ppc-target :fasl #+ppc-target :pfsl :text))
ed-yank-file calls (choose-file-dialog :mac-file-type :text)

I would far rather err on the side of being allowed to open more file types
rather than less (even if erroneously).  MCL can be a very useful tool for
work in all sorts of situations beyond editing MCL source code.

Original issue reported on code.google.com by [email protected] on 6 Oct 2009 at 9:07

Menubar Editor bug

Apple menu: [Tools] [Extensions] [Interface Toolkit] 
then [Design] [Edit Menubar] select File [Edit] =>

error: value (:SHIFT #\S) is not of the expected type CHARACTER.
> While executing: CCL::GRAFPORT-WRITE-CHAR-AT-POINT

Although the old Interface Toolkit may not be so relevant in these Cocoa
days, perhaps the bug crops up elsewhere (I haven't begun looking into it).


Original issue reported on code.google.com by [email protected] on 9 Oct 2009 at 9:17

Save file dialogs should be sheets

The Save... and Save As... navigation dialogs should be window modal (sheets) 
in MacOSX according 
to the UI guidelines.


Original issue reported on code.google.com by terje.norderhaug on 8 Oct 2009 at 8:13

AppleEvent error for each keystroke

To reproduce, evaluate:

(trace error)

For each character subsequently typed into the listener, trace will report:

Calling (ERROR #<APPLEEVENT-ERROR #x34F1B56>) 

A backtrace reveals that the event has the class :|tsvc| and the id :|unim| 
(#$kTextService #$kUnicodeNotFromInputMethod).


Original issue reported on code.google.com by terje.norderhaug on 22 Mar 2010 at 8:42

MCL 6 release notes

MCL 6 (currently found in MCLIDE bundle contents) does not seem to have any 
release notes.  It seems unclear what has changed beyond presumably adding 
backtrace-fatality-patch.lisp from "ccl:Patches 6.0;" and the "Mods" directory 
contents (see ccl:Mods;mcl6.lisp). I.e. being integrated into the MCL image 
(Info version: 5.2b6).


Original issue reported on code.google.com by [email protected] on 17 May 2011 at 4:05

Apropos dialog whitespace

on MacOS 10.6.1:

Apropos dialog: terminal whitespace in keys is not trimmed for search.


Original issue reported on code.google.com by terje.norderhaug on 20 Sep 2009 at 6:32

Fails to launch.

What steps will reproduce the problem?
1. Attempt to launch RMCL 5.2 on 10.6 (intel) will fail.
2.
3.

What is the expected output? What do you see instead?
I would at least expect to see *SOMETHING!*

What version of the product are you using? On what operating system?
5.2 on 10.6.1

Please provide any additional information below.

Nov  3 20:58:39 c-24-22-23-69 [0x0-0x2b22b2].com.digitool.MCL5.1b1[5958]: 
RMCL(5958,0x1d86ee00) malloc: *** mmap(size=1187840) failed (error code=12)
Nov  3 20:58:39 c-24-22-23-69 [0x0-0x2b22b2].com.digitool.MCL5.1b1[5958]: *** 
error: 
can't allocate region
Nov  3 20:58:39 c-24-22-23-69 [0x0-0x2b22b2].com.digitool.MCL5.1b1[5958]: *** 
set a 
breakpoint in malloc_error_break to debug
Nov  3 20:58:39 c-24-22-23-69 RMCL[5958]: RMCL(5958,0x1d86ee00) malloc: *** 
mmap(size=1187840) failed (error code=12)\n*** error: can't allocate 
region\n*** set a 
breakpoint in malloc_error_break to debug

Original issue reported on code.google.com by [email protected] on 4 Nov 2009 at 5:02

save-application rejects both a fixnum and a list of fixnums as size

? (save-application "MCL2" :size `(,(ash 1 26) ,(ash 1 26)))
> Error in process Initial: Invalid :SIZE argument : (67108864 67108864)

? (save-application "MCL2" :size (ash 1 26)
> Error in process Initial: value 67108864 is not of the expected type LIST.

Work-around:

(let* ((handle (#_NewHandle 4)))
  (setf (%hget-unsigned-long handle 0) (ash 1 26))
  (save-application "MCL2" :resources `((,handle "NSIZ" 1))))


Original issue reported on code.google.com by terje.norderhaug on 18 Sep 2009 at 7:37

Fatal crashes on backtrace

Fatal crashes sometimes occur during crashes or errors.

I have tracked this issue to backtracing and the frame-supplied-args function, 
which may call frame-vsp with NIL if that is returned by parent-frame. The 
frame-vsp function will return a bogus value if called with NIL.

Original issue reported on code.google.com by terje.norderhaug on 26 Apr 2011 at 8:40

inconsistent every function

(every #'< '(1 2 3) (cdr '(1 2 3)))
=> T

(defun sorted (predicate list)
  (every predicate list (cdr list)))

(sorted #'< '(1 2 3))
=> NIL ; !!!




Original issue reported on code.google.com by terje.norderhaug on 14 Apr 2011 at 2:14

RMCL 5.2 reports as 5.1b1

The RMCL 5.2 distribution displays as version "5.1b1" in the Finder's Get Info 
dialog.

Original issue reported on code.google.com by terje.norderhaug on 21 Oct 2009 at 5:39

combining destructuring-bind with ignore may lead to crashes

 The following bit of code (originally from MCLIDE) seem to introduce instability that may lead to a hard crash some seconds later:

(destructuring-bind (name command &rest properties &key default install 
&allow-other-keys) imp
    (declare (ignore command properties))

The instability only occurs if both command and properties are ignored.




Original issue reported on code.google.com by terje.norderhaug on 16 Apr 2011 at 8:36

stream-clear-output endless loop

Using the opentransport module, %io-buffer-stream-write-string from 
io-buffer.lisp ends up in an 
endless loop after a call to clear-output on the stream. The problem seems to 
stem from that io-
buffer-outcount stays at zero forever in the first loop of 
%io-buffer-stream-write-string.

Original issue reported on code.google.com by terje.norderhaug on 18 Sep 2009 at 4:12

Passive TCP streams should be able to listen to the loopback interface

The open-tcp-stream function and the opentransport classes will create a 
passive/listener TCP stream if the 
host is NIL. However, there is no way to create a TCP stream that listens to 
the loopback interface rather than 
making the listener public.

A patch is to use a parameter to pass the loopback address to 
ot-conn-tcp-passive-connect:

(defparameter *passive-interface-address* NIL
  "Address to use for passive connections - optionally bind to loopback address while opening a tcp stream")

 This can be integrated into ot-conn-tcp-passive-connect rather than being an advise:

(advise local-interface-ip-address
 (or *passive-interface-address* (:do-it))
 :when :around :name override-local-interface-ip-address) 

Here is a new open-tcp-listener function that demonstrates the patch - call 
with :loopback as host:

(defun open-tcp-listener (host port &rest rest)
  "Open a passive tcp stream listening at the port, with same keyword arguments as open-tcp-stream. 
Use NIL for host to allow public access and :loopback to only allow connections 
from the computer."
  (declare (dynamic-extent rest))
  (let ((*passive-interface-address* 
         (etypecase host
           (null NIL)
           ((eql :loopback) #.(ccl::get-host-address "127.0.0.1"))
           ((unsigned-byte 32) host)
           (string (ccl::get-host-address host)))))
    (apply #'ccl::open-tcp-stream NIL (or port #$kOTAnyInetAddress) rest)))




Original issue reported on code.google.com by terje.norderhaug on 2 Jan 2010 at 10:34

windowrecord.visible deprecated

(rref wptr windowrecord.visible) seems deprecated
but (#_IsWindowVisible wptr) seem an alternative

Original issue reported on code.google.com by terje.norderhaug on 20 Sep 2009 at 6:34

float return broken after calling (choose-directory-dialog)

What steps will reproduce the problem?
1. call (choose-directory-dialog)
2. eval any expression returning float: value returned will always be 0.0, e.g.

? 3.3
0.0

What is the expected output? What do you see instead?

expected:

? 3.3
3.3



Original issue reported on code.google.com by [email protected] on 18 Oct 2009 at 4:28

RMCL 5.2 takes a long time to start

The dock icon bounces for a long time during app startup.

According to Toomas Altosaar:

"The problem was that the 5.2 version of RMCL reserves 1 Gb of RAM 
... which this old machine does not have. So after many minutes of 
startup, the Listener finally appeared. The solution was to use the 
hint presented by Andrew a few days ago on changing the amount of 
memory requested:

I evaled this in the listener:

(let* ((handle (#_NewHandle 4)))
  (setf (%hget-unsigned-long handle 0) (ash 1 29)) ; 1.5 GB ==> 0.5 GB
  (save-application "smaller-rmcl" :resources `((,handle "NSIZ" 1))))

and now the new app called smaller-mcl starts up in a second."

Original issue reported on code.google.com by terje.norderhaug on 17 Sep 2009 at 3:09

expt dependence on *read-default-float-format*

From info-mcl September 17, 2009 11:01:00 AM PDT:

apparent bug in MCL/RMCL  
implementation of expt?

;; problem: dependence of expt on *read-default-float-format*
;; MCL -- causes inappropriate error when *read-default-float-format*  
should not matter
;; RMCL -- crashes the application


(setq *read-default-float-format* 'double-float)

;; appropriate error -- floating point overflow
(null (expt 2.0e7 2.0e7))
Error: FLOATING-POINT-OVERFLOW detected
       performing EXPT on (2.0D+7 2.0D+7)

;; no error
(null (expt 2.0e7 6.0))



(setq *read-default-float-format* 'short-float)

;; appropriate error -- floating point overflow
(null (expt 2.0e7 2.0e7))
Error: FLOATING-POINT-OVERFLOW detected
       performing EXPT on (2.0D+7 2.0D+7)

;; inappropriate error in MCL, crashes RMCL
;; nobody asked for type coercion to short-float!!!!
(null (expt 2.0e7 6.0))
Error: Can't coerce 6.4D+43 to SHORT-FLOAT
While executing: CCL::%DOUBLE-FLOAT->SHORT-FLOAT

--------------

*read-default-float-format* is relevant here:

"Controls the floating-point format that is to be used when reading a  
floating-point number that has noexponent marker or that has e or E  
for an exponent marker."

So 2.0e7 is a double-float if *read-default-float-format* is double- 
float.

The RMCL crash is definitely a bug. I'm not sure why regular MCL is  
working with double-floats when you set *read-default-float-format* to  
short-float.

Original issue reported on code.google.com by terje.norderhaug on 20 Sep 2009 at 6:39

choose-new-file-dialod list "MCL 5.1 Document" as format

The dialog resulting from evaluating (choose-new-file-dialog) lists "MCL 5.1 
Document" as one of 
the options (the default) in the Format pop-up menu.

Original issue reported on code.google.com by terje.norderhaug on 8 Oct 2009 at 5:16

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.