view nt/make-nt-depend @ 5872:f9e59cd39a9a

Clean up #'read-quoted-char, support help-event-list there. lisp/changeLog addition: 2015-03-14 Aidan Kehoe <kehoea@parhasard.net> * simple.el (quoted-insert): Update the docstring here, syncing GNU's, especially mentioning read-quoted-char-radix. * cmdloop.el: * cmdloop.el (read-quoted-char-radix): Move this up here, outside the functions. * cmdloop.el (read-function-key-map): New label, reading and replacing characters from function-key-map if appropriate. * cmdloop.el (read-quoted-char): Multiple changes: -- Take advantage of help-event-list, but be careful not to have any keystrokes with character equivalents in it, so the user can type C-q C-h and have the expected result. -- Use function-key-map, as does #'read-char and #'read-exclusive-char, helpful for character composition under X11. -- Pop up the help window ourselves if, e.g. F1 arrives on a TTY via function-key-map, event-stream won't have done it. -- Error if no keystroke that can be converted into a character is specified, don't just insert ?\x00 as we used to and as does GNU -- Use #'digit-char-p instead of reimplementing it. -- Fix a bug of mine where I wasn't consistent about treating character codes as Unicode.
author Aidan Kehoe <kehoea@parhasard.net>
date Tue, 17 Mar 2015 12:22:50 +0000
parents 308d34e9f07d
children
line wrap: on
line source

: #-*- Perl -*-

# Generate dependency info in a form acceptable to nmake
#
# Copyright (C) 2000, 2002 Jonathan Harris.
#
# This file is part of XEmacs.
# 
# XEmacs 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.
# 
# XEmacs 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 XEmacs.  If not, see <http://www.gnu.org/licenses/>.
#
# Author: Jonathan Harris <jonathan@xemacs.org>
#
# Synched up with: Not in FSF.

use Getopt::Long;

my $optsok = GetOptions ('src=s' => \$src,
			 'config=s' => \$config,
			 'obj=s' => \$obj);

die "Generates nmake dependencies for the XEmacs src directory.

Usage: $0 --src SRCDIR --config CONFIGDIR --obj OBJDIR

  SRCDIR        Location of XEmacs sources
  CONFIGDIR     Location of config.inc
  OBJDIR	Location for compiler-generated object files

Expects output from src/make-src-depend on stdin.
The dependencies are written to stdout.
" if (@ARGV || !$optsok
      || !defined ($src) || !defined ($config) || !defined ($obj));

while (<>)
  {
    # must hack away CRLF junk.  wouldn't it be nice if perl handled this
    # right??  really can't be that hard!!!
    s/\r\n/\n/g;

    # rewrite references to generating script
    s/make-src-depend/make-nt-depend/;

    # rewrite '#if defined(...)' into nmake syntax
    s/^#if defined(.+)/!if defined$1/;

    # rewrite '#else' and '#endif' into nmake syntax
    s/^#e/!e/;

    # add src path to source filenames
    # allow for source filename being used in variable assignment
    s/([\s=])([\w\d\.\-]+\.[ch])/$1$src\\$2/g;

    # add obj path to object filenames
    # rewrite .o to .obj
    s/^(.+)\.o:(.+)/$obj\\$1.obj:$2/;

    # add dependency on config.inc wherever config.h is.
    s/\\config.h/\\config.h $config\\config.inc/;
   print;
  }