Mercurial > emacs
view lib-src/mac-fix-env.m @ 98230:e37978ef9db9
* xterm.h (x_display_info): Remove `height' and `width' members.
* nsterm.h (ns_display_info): Remove `height' and `width' members.
* w32term.h (w32_display_info): Remove `height', `width',
`height_in', and `width_in' members.
* xterm.c (x_display_pixel_height, x_display_pixel_width): New
functions.
(x_calc_absolute_position): Use them.
(x_term_init): Omit removed `height' and `width' members.
* w32term.c (x_display_pixel_height, x_display_pixel_width): New
functions.
(w32_read_socket, x_calc_absolute_position): Use them.
(w32_initialize_display_info, w32_term_init): Omit removed members
of w32_display_info.
* nsterm.m (x_display_pixel_height, x_display_pixel_width): New
functions.
(ns_initialize_display_info): Omit removed members of
ns_display_info.
* xterm.c (x_display_pixel_height, x_display_pixel_width): New
functions.
(x_calc_absolute_position): Use them.
(x_term_init): Omit removed `height' and `width' members.
* xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
(compute_tip_xy): Use x_display_pixel_height and
x_display_pixel_width.
* frame.c (x_fullscreen_adjust): Use x_display_pixel_height and
x_display_pixel_width.
* xmenu.c (menu_position_func): Use x_display_pixel_height and
x_display_pixel_width.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Thu, 18 Sep 2008 18:21:05 +0000 |
parents | 98ae99a5a007 |
children | a9f7e446141d |
line wrap: on
line source
/* mac-fix-env: A small utility to pick up the shell environment on MacOS X and insert it into the file ~/.MacOSX/environment.plist creating if necessary. Copyright (C) 1989, 1993, 2005, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ /* usage: Run from command line (in Terminal) once or whenever path changes: /Applications/Emacs.app/Contents/MacOS/bin/mac-fix-env (change initial part to where you installed Emacs). */ #import <Foundation/Foundation.h> #include <stdlib.h> int main(int argc, char *argv[]) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; NSMutableDictionary *envPlist; NSString *file = [[NSHomeDirectory() stringByAppendingPathComponent:@".MacOSX"] stringByAppendingPathComponent:@"environment.plist"]; NSString *path = [NSString stringWithCString: getenv("PATH")]; envPlist = [[NSDictionary dictionaryWithContentsOfFile: file] mutableCopy]; if (envPlist == nil) { // create NSString *dir = [file stringByDeletingLastPathComponent]; envPlist = [NSMutableDictionary dictionaryWithCapacity: 5]; if ([[NSFileManager defaultManager] fileExistsAtPath: dir] == NO) { if ([[NSFileManager defaultManager] createDirectoryAtPath:dir attributes:nil]==NO) { NSLog(@":\nCould not create directory at '%@'; aborting.",dir); return 1; } } } [envPlist setObject: path forKey: @"PATH"]; if ([envPlist writeToFile: file atomically: YES] == NO) { NSLog(@":\nCould not write file at '%@'; aborting.", file); return 1; } NSLog(@":\nWrote file to '%@'.\nPlease inspect it to make sure PATH is correct.", file); return 0; } // arch-tag: 609d5528-5ac1-42c5-859b-24c14341ee3b