Archive for April, 2006

Report-an-Apple-bug Friday! 38

Friday, April 28th, 2006

This bug is Can’t drag text into a text input in a form. It was filed on 2006-04-28 at 01:07 PDT.


Summary:

Inputs of type “text” do not register themselves as drop targets.

Steps to Reproduce:

  1. Select some text. I used some text in Adium’s inputline, and in a textarea in Safari, and on the page in Safari.
  2. Drag it into an input of type “text” in a form on a page in Safari.

Expected Results:

The input accepts the drop.

Actual Results:

The input fails the drop.

Regression:

None known.

Notes:

Dragging to a textarea works.


At 05:14, I uploaded a test case.


Technorati tags: ,

Report-an-Apple-bug Friday! 37

Friday, April 28th, 2006

This bug is Volume MenuExtra is not accessible. It was filed on 2006-04-28 at 00:54 PDT.


Summary:

The slider in the Volume MenuExtra is not usable by Accessibility applications.

Steps to Reproduce:

  1. Launch the Accessibility Inspector.
  2. Click on the Volume MenuExtra.
  3. Point to the slider.

Expected Results:

Accessibility Inspector describes a slider.

Actual Results:

Attributes:

AXRole: “AXUnknown”

AXRoleDescription: “unknown”

AXChildren: “

AXParent: “

AXPosition: “x=987 y=22”

AXSize: “w=29 h=116”

AXEnabled: “true”

Regression:

None known. The Volume MenuExtra from Panther (10.3.9) has the same problem.

Notes:

None.


Technorati tags: ,

Report-an-Apple-bug Friday! 36

Friday, April 28th, 2006

This bug is -mtune (Instruction Scheduling) does not include Intel processors. It was filed on 2006-04-28 at 00:35 PDT.


Summary:

With the move to Intel processors, Xcode needs to support processor-specific optimization for them.

Steps to Reproduce:

  1. Get info on a target or project.
  2. Switch to the Build tab.
  3. Change the active Collection to one that includes GCC/Code Generation.
  4. Edit the “Instruction Scheduling” setting.

Expected Results:

At least pentium-m is listed, being (presumably) the most similar to Yonah (the “Core Solo”/”Core Duo” processors). Ideally, scheduling optimizations for Yonah itself should be added to GCC, with a matching listing in Xcode’s pop-up menu.

Actual Results:

Only G3, G4, and G5 are listed (besides “None”).

Regression:

This wasn’t a problem before the move to Intel.

Notes:

Direct Yonah support isn’t supported by GCC (yet) according to the GCC manual’s page “i386 and x86-64 Options”. GNU’s current documentation doesn’t list it either.


Technorati tags: ,

Unscheduled downtime

Thursday, April 27th, 2006

Last night, my hard drive started making some unpleasant noises (click-of-death-ish). So I backed up my C and Obj-C programs (annoying my dad, who wanted to watch NCIS during that time). They resumed with renewed vigor tonight, so I’m now backing up everything, and today I’ll be going to CompUSA to buy a new hard drive. It’s more than twice as big as my current drive (250 GB rather than 120 GB), and it’ll be $60 after rebate.

Preceding that will be lunch at Sizzler, and following it will be photocopying the rebate form and the receipt so we can mail the required documents to Maxtor. I don’t know when I’ll be back — probably a day or two.

Free SEE (maybee)

Tuesday, April 25th, 2006

MacZOT is doing a thing called BlogZOT. Every time somebody posts and submits a blog post about it, the price of SubEthaEdit goes down by 5 cents (USD, I guess). As of this writing, it’s at $11.75 with 365 posts. And the lower bound? $0. That’s right; if enough people blog about it, SEE will be free for the rest of the day. This post is my contribution.

Hope you enjoy your free SEE!

UPDATE 15:18 PDT: I looked at the MacZOT homepage and they mention two other requirements for a blog post:

  • MacZOT and TheCodingMonkeys will award $105,000 in Mac software
  • any comments you have about the software, the web site, or the promotion

So, uh, yeah. MacZOT and TheCodingMonkeys will award 105 kilobucks of Mac software. And SEE rocks.

Technorati tags: MacZOT, BlogZOT, SubEthaEdit.

Boring personal stuff #2

Monday, April 24th, 2006

Filed for my state ID today. Supposed to arrive in “about three weeks”. Next on the list will be passport.

Making vim grok Obj-C

Monday, April 24th, 2006

Like many, I use the popular open-source text editor vim. Earlier, I set about making it more usable through syntax coloring. This included tweaking its support for Objective-C.

First, mkdir ~/.vim, and cd ~/.vim. Now mkdir syntax. cp /usr/share/vim/vim62/filetype.vim . and cp /usr/share/vim/vim62/syntax/objc.vim syntax/. Then select and copy this patch:

Index: filetype.vim
===================================================================
--- filetype.vim 2005-03-21 02:12:47.000000000 -0800
+++ filetype.vim 2006-04-24 03:33:27.000000000 -0700
@@ -262,7 +262,7 @@

 " .h files can be C or C++, set c_syntax_for_h if you want C
 au BufNewFile,BufRead *.h
- \ if exists("c_syntax_for_h") | setf c | else | setf cpp | endif
+ \ if exists("c_syntax_for_h") | setf c | else | if exists("objc_syntax_for_h") | setf objc | else | setf cpp | endif | endif

 " TLH files are C++ headers generated by Visual C++'s #import from typelibs
 au BufNewFile,BufRead *.tlh   setf cpp
Index: syntax/objc.vim
===================================================================
--- syntax/objc.vim 2005-03-21 02:12:49.000000000 -0800
+++ syntax/objc.vim 2006-04-24 03:19:25.000000000 -0700
@@ -43,6 +43,8 @@
 syn match  objcDirective "@class\|@end\|@defs"
 syn match  objcDirective "@encode\|@protocol\|@selector"

+syn keyword     objcStorageClass   in out inout byref bycopy
+
 " Match the ObjC method types
 "
 " NOTE: here I match only the indicators, this looks
@@ -73,6 +75,7 @@
   HiLink objcFactMethod Function
   HiLink objcStatement Statement
   HiLink objcDirective Statement
+  HiLink objcStorageClass StorageClass

   delcommand HiLink
 endif

Now type pbpaste | patch -p0.

OK, now you have modified copies of the file type detector and the Obj-C syntax coloring. Now you need a .vimrc. If you already have one, add this to it; otherwise, create it with this:

let c_gnu=1
let c_no_bracket_error=1
let objc_syntax_for_h=1
syntax enable

This makes the following changes:

c_gnu
Enables detection of some GCC extensions to C.
c_no_bracket_error
Allows {} inside of []. This lets you do compound literals inside messages; for example: [self setFrame:(NSRect){ NSZeroPoint, (NSSize){ 128.0f, 128.0f } }];
objc_syntax_for_h
Tells vim (with my modifications, that you did above) that a .h file is an Obj-C header, not a C++ header.
syntax enable
Enables syntax-highlighting.

Technorati tags: , .

Report-an-Apple-bug Friday! 35

Friday, April 21st, 2006

This bug is Xcode: Use standard Xcode text view as field editor. It was filed on 2006-04-21 at 22:03 PDT.


Summary:

Xcode’s field editor should be an Xcode text view rather than a plain NSTextView, so that completion and ctrl-left/-right are supported.

Steps to Reproduce:

  1. ⌥-click on a file reference in the project to rename it.
  2. Press ctrl-left or ctrl-right to move within the class name.

Expected Results:

The insertion point moves to within the class name.

Actual Results:

Xcode/NSTextView beeps.

Regression:

None.

Notes:

None.


Technorati tags: , .

Report-an-Apple-bug Friday! 34

Friday, April 21st, 2006

This bug is Xcode: Cocoa Document-Based Application template uses old-style document methods. It was filed on 2006-04-21 at 21:19 PDT.


Summary:

NSDocument documentation recommends using -readFromData:ofType:error: and -dataOfType:error:, but the project template uses the older methods.

Steps to Reproduce:

  1. Create a new project.
  2. Use the Cocoa Document-Based Application template.

Expected Results:

MyDocument, from the new document, implements -readFromData:ofType:error: and -dataOfType:error:.

Actual Results:

MyDocument implements the deprecated methods -loadDataRepresentation:ofType: and -dataRepresentationOfType:.

Regression:

Prior to Mac OS X 10.4, this wasn’t a problem, because -loadDataRepresentation:ofType: and -dataRepresentationOfType: were not deprecated.

Notes:

One could make the argument that the deprecated methods should still be implemented so that the new application is compatible with 10.3.x and earlier. But a new application is not likely to require such compatibility. Also, if this argument is indeed the motivation, then the project should target the 10.3 (or an earlier) SDK.


Technorati tags: , .

Report-an-Apple-bug Friday! 33

Friday, April 21st, 2006

This bug is Interface Builder should use +/- buttons for Outlets and Actions lists. It was filed on 2006-04-21 at 21:06 PDT.


Summary:

IB uses “Add” and “Remove” buttons on the Outlets and Actions lists; it should use +/- instead, like the Accounts prefpane.

Steps to Reproduce:

  1. Inspect a class in the nib.
  2. Switch to the Attributes Inspector.

Expected Results:

IB shows small square buttons labeled + and – like the Accounts prefpane has.

Actual Results:

IB shows plain “Add” and “Remove” push buttons.

Regression:

None.

Notes:

None.


Technorati tags: , .

Report-an-Apple-bug Friday! 32

Friday, April 21st, 2006

This bug is Can’t reorder login items in Accounts preference pane. It was filed on 2006-04-21 at 20:53 PDT.


Summary:

The Accounts preference pane does not allow you to drag and drop login items into different orders.

Steps to Reproduce:

  1. Drag a login item to a different position.

Expected Results:

The login item is moved.

Actual Results:

The prefpane does a multiple selection.

Regression:

None known.

Notes:

Probably results from rdar://4523642.

Workaround:

Edit loginwindow.plist directly.


Technorati tags: , .

Report-an-Apple-bug Friday! 31

Friday, April 21st, 2006

This bug is System Events does not allow insertion of Login Items. It was filed on 2006-04-21 at 20:53 PDT.


Summary:

No supported way exists to insert a login item at a specific index, rather than just the end.

Steps to Reproduce:

  1. Run the following AppleScript script: tell application "System Events" to make new login item at login item 1 with properties {name:"Foo", path:"X:Y:Z:Foo", kind:"application", hidden:false}

Expected Results:

The login item is inserted at the start of the list.

Actual Results:

The login item is inserted at the end of the list.

Regression:

None known.

Notes:

None.

Workaround:

Edit loginwindow.plist directly.


Technorati tags: , .

Free plus and minus images

Wednesday, April 19th, 2006

I’ve created a pair of plus and minus images, similar to those used in the Accounts pane of System Preferences. They are free, released by me into the public domain. Enjoy.

Technorati tags: , .

Change of plans

Tuesday, April 18th, 2006

Driving is hard. Recognizing this, I’ve decided to get a plain state ID for now, and work on the DL later. A DL will take too long.

Free stuff on iTunes: 2006-04-18

Tuesday, April 18th, 2006

Just the one: an Apprentice highlight reel.

Technorati tags: iTunes, iTunes Music Store, iTMS, iTunes Video Store.

Alias, now on iTunes

Tuesday, April 18th, 2006

You can now buy season 4 and season 5 from iTVS. Good to see.

Technorati tags: iTunes, iTunes Music Store, iTMS, iTunes Video Store.

Monday, Monday

Saturday, April 15th, 2006

Full grammar changeover is complete starting Monday at 00:00 PDT. This includes IRC, the last holdout.

Report-an-Apple-bug Friday! 30

Friday, April 14th, 2006

This bug is ⌘W and ⌘⌥W close Inspectors too. It was filed on 2006-04-14 at 23:45 PDT.


Summary:

When the user presses ⌘W, IB will close a floating window if it has focus. When the user presses ⌘⌥W to close all nib windows, IB also closes all of the floating windows.

Steps to Reproduce:

  1. Press ⌘W or ⌘⌥W.

Expected Results:

The frontmost non-floating window closes, or all non-floating windows and no floating windows close.

Actual Results:

The frontmost window (floating or not) closes, or all windows (including floating windows) close.

Regression:

None known.

Notes:

Floating windows in IB are the Palette, the Alignment palette, and the Inspector.


Technorati tags: , .

Report-an-Apple-bug Friday! 29

Friday, April 14th, 2006

This bug is NSWorkspace documentation contains two split sentences. It was filed on 2006-04-14 at 23:30 PDT.


Summary:

Documentation of several instance methods of NSWorkspace contains two sentences that have each been split in two, with the method signature between.

Steps to Reproduce:

  1. Go to the NSWorkspace documentation.
  2. Visit -activeApplication or -launchedApplications.

Expected Results:

Both sentences are not split.

Actual Results:

Both sentences are split.

Regression:

None.

Notes:

None.


Technorati tags: , .

Report-an-Apple-bug Friday! 28

Friday, April 14th, 2006

This bug is NSAnimation documented as inheriting from itself. It was filed on 2006-04-14 at 23:25 PDT.


Summary:

The infobox at the top of the NSAnimation reference gives a cyclic inheritance path.

Steps to Reproduce:

  1. Go to the NSAnimation reference.

Expected Results:

The infobox at the top says that NSAnimation inherits from NSObject.

Actual Results:

The infobox at the top says that NSAnimation inherits from NSAnimation inherits from NSObject.

Regression:

None known.

Notes:

As documented, NSAnimation inherits from both itself and NSObject. This is both cyclic inheritance and multiple inheritance, and both are illegal in Objective-C.

Similar to “NSViewAnimation documentation documented as inheriting from itself.”.


Technorati tags: ,