Mercurial > emacs
view lib-src/ntlib.c @ 67246:bce5c0d2041c
* mh-comp.el (mh-letter-mode): Use mh-highlight-citation-style instead
of mh-highlight-citation-p.
(mh-letter-toggle-header-field-display): "Ellipsed" isn't a word, I
think, so use "truncated".
* mh-customize.el (mh-folder, mh-folder-faces): Group's manual section
is Folders, not Organizing. Parent of mh-folder-faces is mh-folder,
not mh-show.
(mh-speed): Rename to mh-speedbar for consistency with mh-toolbar.
(mh-thread): New group that corresponds with manual's Threading
chapter.
(mh-letter-faces): Group's manual section is Editing Drafts, not
Sending Mail.
(mh-sortm-args): New customization variable that used to be a defvar.
(mh-index-new-messages-folders, mh-index-ticked-messages-folders):
Move from mh-index group to mh-folders group.
(mh-alias-local-users-prefix, mh-large-folder)
(mh-recursive-folders-flag, mh-before-quit-hook)
(mh-folder-mode-hook, mh-kill-folder-suppress-prompt-hook)
(mh-quit-hook, mh-refile-msg-hook): Move from mh-show group to
mh-folder group.
(mh-highlight-citation-style): Rename from mh-highlight-citation-p.
Sync docstrings with manual.
(mh-mhl-format-file): Rename from mhl-formfile. Sync docstrings with
manual.
(mh-show-threads-flag): Move from mh-show group to mh-thread group.
(mh-find-path-hook): Move from mh-show group to mh-e group.
(mh-folder-updated-hook): Add to mh-folder group.
(mh-forward-hook): Move from mh-folder to mh-sending-mail group.
(mh-unseen-updated-hook): Move from mh-show to mh-sequences group.
(mh-bury-show-buffer-flag, mh-clean-message-header-flag)
(mh-decode-mime-flag, mh-display-buttons-for-alternatives-flag)
(mh-display-buttons-for-inline-parts-flag)
(mh-do-not-confirm-flag, mh-fetch-x-image-url)
(mh-graphical-smileys-flag, mh-graphical-emphasis-flag)
(mh-invisible-header-fields-default, mh-invisible-header-fields)
(mh-lpr-command-format, mh-max-inline-image-height)
(mh-max-inline-image-width)
(mh-mime-save-parts-default-directory, mh-print-background-flag)
(mh-show-maximum-size, mh-show-use-goto-addr-flag)
(mh-show-use-xface-flag, mh-store-default-directory)
(mh-summary-height, mh-delete-msg-hook
(mh-show-hook, mh-show-mode-hook): Sync docstrings with manual.
* mh-e.el (mh-scan-format-mh, mh-scan-good-msg-regexp)
(mh-scan-deleted-msg-regexp, mh-scan-refiled-msg-regexp)
(mh-scan-cur-msg-number-regexp, mh-scan-subject-regexp): Use
non-fontification instead of non-fontifying.
(mh-header-display): Use mh-mhl-format-file instead of mhl-formfile.
Sync docstrings with manual.
(mh-next-undeleted-msg, mh-previous-undeleted-msg): Rename arg to
count. Sync docstrings with manual.
(mh-refile-or-write-again): Use output from mh-write-msg-to-file so
that message doesn't change when using this command. Sync docstrings
with manual.
(mh-page-msg, mh-previous-page): Rename arg to lines. Sync docstrings
with manual.
(mh-write-msg-to-file): Rename msg to message. Rename no-headers to
no-header. Sync docstrings with manual.
(mh-ps-print-map): Delete keybindings for deleted commands
mh-ps-print-toggle-mime and mh-ps-print-msg-show.
(mh-help-messages): Updated printing help.
(mh-delete-msg, mh-delete-msg-no-motion, mh-first-msg)
(mh-last-msg, mh-previous-unread-msg, mh-next-button)
(mh-prev-button, mh-folder-toggle-mime-part)
(mh-folder-inline-mime-part, mh-folder-save-mime-part)
(mh-next-unread-msg, mh-toggle-mime-buttons): Sync docstrings with
manual.
* mh-funcs.el (mh-sortm-args): Now a customization option and in
mh-customize.el.
(mh-pipe-msg): Rename include-headers to include-header. Sync
docstrings with manual.
(mh-burst-digest, mh-page-digest, mh-page-digest-backwards)
(mh-store-msg): Sync docstrings with manual.
* mh-mime.el (mh-mime-save-parts): Rename arg to prompt. Sync
docstrings with manual.
(mh-toggle-mh-decode-mime-flag): Use English in message, not Lisp.
Sync docstrings with manual.
(mh-mm-display-part, mh-mm-inline-message): Use
mh-highlight-citation-style instead of mh-highlight-citation-p.
(mh-press-button): Sync docstrings with manual.
(mh-display-with-external-viewer): Fix default output in minibuffer.
Sync docstrings with manual.
* mh-print.el: (mh-ps-print-mime, mh-ps-print-toggle-mime): Deleted.
(mh-ps-print-color-option): Incorporate docstring from
ps-print-color-p.
(mh-ps-spool-buffer): Remove unused code. Fix indent. Slimline
docstring.
(mh-ps-spool-msg): Slimline docstring. Rename from mh-ps-spool-a-msg.
Rewrote to use existing show buffer when available.
(mh-ps-print-range): Extract method from common code in
mh-ps-print-msg and mh-ps-print-msg-file.
(mh-ps-print-preprint): Clean docstring. Use filename "mh-%s".
(mh-ps-print-msg-show): Delete. Can use either mh-ps-print-msg-show or
mh-ps-print-msg-show to same effect with new code in mh-ps-spool-msg.
(mh-print-msg): Use mh-mhl-format-file instead of mhl-formfile. Sync
docstrings with manual.
(mh-ps-print-msg, mh-ps-print-msg-file)
(mh-ps-print-toggle-faces, mh-ps-print-toggle-color): Sync docstrings
with manual.
* mh-utils.el (mh-show-ps-print-msg-show)
(mh-show-ps-print-toggle-mime): Delete.
(mh-show-ps-print-map): Updated accordingly.
(mh-show-mode): Use mh-highlight-citation-style instead of
mh-highlight-citation-p.
(mh-show-xface, mh-display-msg): Use mh-mhl-format-file instead of
mhl-formfile.
(mh-show): Use mh-mhl-format-file instead of mhl-formfile. Sync
docstrings with manual.
(mh-show-font-lock-fontify-region, mh-modify, mh-goto-msg): Sync
docstrings with manual.
author | Bill Wohler <wohler@newt.com> |
---|---|
date | Fri, 02 Dec 2005 05:54:33 +0000 |
parents | 6358e3c6075c |
children | 3661e9b3c48f 2d92f5c9d6ae |
line wrap: on
line source
/* Utility and Unix shadow routines for GNU Emacs support programs on NT. Copyright (C) 1994, 2002, 2003, 2004, 2005 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 2, 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; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Geoff Voelker (voelker@cs.washington.edu) 10-8-94 */ #include <windows.h> #include <stdlib.h> #include <stdio.h> #include <time.h> #include <direct.h> #include "ntlib.h" #define MAXPATHLEN _MAX_PATH /* Emulate sleep...we could have done this with a define, but that would necessitate including windows.h in the files that used it. This is much easier. */ void sleep(unsigned long seconds) { Sleep (seconds * 1000); } /* Get the current working directory. */ char * getwd (char *dir) { if (GetCurrentDirectory (MAXPATHLEN, dir) > 0) return dir; return NULL; } static HANDLE getppid_parent; static int getppid_ppid; int getppid(void) { char *ppid; DWORD result; ppid = getenv ("EM_PARENT_PROCESS_ID"); if (!ppid) { printf("no pid.\n"); return 0; } else { getppid_ppid = atoi (ppid); } if (!getppid_parent) { getppid_parent = OpenProcess (SYNCHRONIZE, FALSE, atoi(ppid)); if (!getppid_parent) { printf ("Failed to open handle to parent process: %d\n", GetLastError()); exit (1); } } result = WaitForSingleObject (getppid_parent, 0); switch (result) { case WAIT_TIMEOUT: /* The parent is still alive. */ return getppid_ppid; case WAIT_OBJECT_0: /* The parent is gone. Return the pid of Unix init (1). */ return 1; case WAIT_FAILED: default: printf ("Checking parent status failed: %d\n", GetLastError()); exit (1); } } char * getlogin () { static char user_name[256]; DWORD length = sizeof (user_name); if (GetUserName (user_name, &length)) return user_name; return NULL; } char * cuserid (char * s) { char * name = getlogin (); if (s) return strcpy (s, name ? name : ""); return name; } int getuid () { return 0; } int setuid (int uid) { return 0; } struct passwd * getpwuid (int uid) { return NULL; } char * getpass (const char * prompt) { static char input[256]; HANDLE in; HANDLE err; DWORD count; in = GetStdHandle (STD_INPUT_HANDLE); err = GetStdHandle (STD_ERROR_HANDLE); if (in == INVALID_HANDLE_VALUE || err == INVALID_HANDLE_VALUE) return NULL; if (WriteFile (err, prompt, strlen (prompt), &count, NULL)) { int istty = (GetFileType (in) == FILE_TYPE_CHAR); DWORD old_flags; int rc; if (istty) { if (GetConsoleMode (in, &old_flags)) SetConsoleMode (in, ENABLE_LINE_INPUT | ENABLE_PROCESSED_INPUT); else istty = 0; } rc = ReadFile (in, input, sizeof (input), &count, NULL); if (count >= 2 && input[count - 2] == '\r') input[count - 2] = '\0'; else { char buf[256]; while (ReadFile (in, buf, sizeof (buf), &count, NULL) > 0) if (count >= 2 && buf[count - 2] == '\r') break; } WriteFile (err, "\r\n", 2, &count, NULL); if (istty) SetConsoleMode (in, old_flags); if (rc) return input; } return NULL; } int fchown (int fd, int uid, int gid) { return 0; } /* Place a wrapper around the MSVC version of ctime. It returns NULL on network directories, so we handle that case here. (Ulrich Leodolter, 1/11/95). */ char * sys_ctime (const time_t *t) { char *str = (char *) ctime (t); return (str ? str : "Sun Jan 01 00:00:00 1970"); } FILE * sys_fopen(const char * path, const char * mode) { return fopen (path, mode); } int sys_chdir (const char * path) { return _chdir (path); } /* arch-tag: 7b63fb83-70ee-4124-8822-54e53e5d0773 (do not change this comment) */