view lib-src/mac-fix-env.m @ 97078:2f3e251c6e3c

Typo fixes for Ada mode. * progmodes/ada-mode.el (ada-batch-reformat): Doc fix. (ada-create-case-exception): Fix typo in docstring. (ada-no-auto-case): Return nil, not the docstring. (ada-indent-current): Reflow docstring. * progmodes/ada-prj.el (ada-prj-edit, ada-prj-initialize-values) (ada-prj-save-specific-option, ada-prj-field): Fix typos in docstrings. (ada-prj-load-from-file): Reflow docstring. (ada-prj-display-page): Fix typo in widget. * progmodes/ada-stmt.el (ada-case, ada-package-body, ada-private): Fix typos in docstrings. * progmodes/ada-xref.el (ada-find-executable, ada-gnat-parse-gpr) (ada-compile-current, ada-check-current, ada-run-application) (ada-get-ali-file-name): Fix typos in docstrings. (ada-xref-confirm-compile, ada-find-references) (ada-find-local-references, ada-find-any-references): Doc fixes. (ada-get-all-references): Fix typo in error message. (ada-xref-current-project): Use `let', not `let*'. (ada-do-file-completion, ada-xref-change-buffer): Reflow docstring.
author Juanma Barranquero <lekktu@gmail.com>
date Tue, 29 Jul 2008 13:20:39 +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