dan@MONET.CBCC.COLOSTATE.EDU (04/23/91)
To: gnu@prep.ai.mit.edu Dear Sir, I am having problems compiling the EMACS, is it possible for you to help me? I have configured the required files for our HP 9000, under HPUX 7.0. I'm using make all and getting a ERROR 1 in the middle of the process. Is there any site that I could "ftp" a compiled version of the EMACS Editor for my machine ? Thank you very much for your time, Dan Silva College of Business Colorado State University dan@monet.cbcc.ColoState.EDU
darrylo@HPNMXX.SR.HP.COM (04/25/91)
> I am having problems compiling the EMACS, is it possible for you to help me? > > I have configured the required files for our HP 9000, under HPUX 7.0. > I'm using make all and getting a ERROR 1 in the middle of the process. > > Is there any site that I could "ftp" a compiled version of the EMACS Editor > for my machine ? Interex (an HP user's group) has been given a copy of the "unofficial HP GNU Emacs", for inclusion on their contrib tape. Get a copy of the tape (while there is no reason it could not be made available via anonymous ftp, I don't have access to an appropriate machine). In a compressed tar archive, the sources, etc., take up 15MB, and you need about 35MB to extract and compile everything. The "unofficial HP GNU Emacs" is a "value added" version of GNU Emacs V18.57. While it will work on non-HP machines, it has special support for HP terminals and X-windows (like softkey support). It's a complete "compile-and-go" kit, with PCL versions of major manuals ready for direct printing on an HP laserjet. I've included a partial feature list at the end of this message. Note that this version falls under the GNU Public License, and that it is not supported in any way or fashion by Hewlett-Packard. -- Darryl Okahata UUCP: {hplabs!, hpcea!, hpfcla!} hpnmd!darrylo Internet: darrylo%hpnmd@relay.hp.com DISCLAIMER: this message is the author's personal opinion and does not constitute the support, opinion or policy of Hewlett-Packard or of the little green men that have been following him all day. =============================================================================== Many of these features have already been made available to the public, often by people outside HP; however, this may be the only publicly available version where all of these features have been combined into a single monolithic version of GNU Emacs (we imagine that other, similar, versions are probably available, but we are not aware of them). Features: 1. This is a "complete" version of GNU Emacs, with extensive modifications, additions, and documentation. Complete high-quality manuals, ready for printing on an HP Laserjet or compatible, are included. Many separate, but highly useful, packages have been integrated into this version, which means that novice users do not have to ask around or hunt through the Internet to find useful utilities. You no longer need access to a "GNU Emacs GURU" to have a powerful version of Emacs. 2. Extensive HP keyboard support, both on terminals and in X11. If you want, you can use hierarchical softkey menus (they exist even if you run Emacs in native X11 mode). 3. A sample .emacs file is provided, with copious comments describing how to configure Emacs to your liking. If an error occurs while reading the .emacs file, a useful error message is displayed, and not just the cryptic "error in init" message. 4. Enhanced X11 support: You can specify a class and resource name for Emacs. Regions being "cut" by the mouse are highlighted. You can programmatically read and set the name of the Emacs' icon. You can programmatically read and set the window name. You can programmatically move, resize, iconify, and uniconify the window. Emacs can be started in iconic form. Pop-up X Menus are enabled. Full interrupt (signal) driven I/O. 5. Has hooks to "ispell", the interactive spelling checker (the sources to this program is included, if you do not already have ispell -- see the file "HP-new/README.HP" for details). You can do interactive spell-checking (where you are given a list of possible correct spellings of a word) from within Emacs. 6. Gnuserv is integrated within this version. Gnuserv, along with the accompanying programs "gnuclient" and "gnudoit", is like a more powerful version of "emacsclient". By running "gnuclient" on machine "A", you can cause a copy of emacs running on machine "B" to edit a file on machine "A". You can also issue Emacs-lisp commands remotely (this feature is particularly useful with X11 window-manager pop-up menus -- you can cause Emacs to do things by selecting a window-manager menu pick). 7. Complete on-line documentation. The documentation have also been processed into PCL files, for direct feeding to an HP-Laserjet or compatible to create high-quality printed manuals (this assumes that the laser printer has enough toner and paper to print hundreds of pages). 8. The following non-standard functions are available. Note that those functions that start with `x-HP-' are functions that will no longer exist when GNU Emacs V19 is released -- they start with `x-HP-' to make it easier to identify functions that may have to be emulated when V19 appears (these functions are "stopgap" functions, functions whose functionality need to be in Emacs, but do not yet officially exist). This is not a complete list, but it is in alphabetical order: add-load-hook Add a load hook for FILE which is FORM. FORM is added to load-hooks after all load-hooks for FILE which are presently there. align-equals Make the first assignment operator on each line line up vertically. ange-crypt-mode Toggle ange-crypt mode. With arg, turn ange-crypt mode on iff arg is positive. In ange-crypt mode, when the buffer is saved, it is encrypted first, and when restored, it is decrypted first. ange-crypt-set-key Prompt the user for the key to encrypt/decrypt the current buffer. Echos a . for each character typed. End with <cr>, <lf>, or <esc>. DEL or backspace rubs out. ange-find-tag Similar to find-tag except that the tag table associated with the current buffer is used. See the documentation for find-tag and ange-tags-alist for more details. ange-find-tag-other-window Similar to find-tag-other-window except that the tag table associated with the current buffer is used. ange-tags-loop-continue Similar to tags-loop-continue except that it remembers the name of the tag file used on the last tag operation. See the documentaton for tags-loop- continue for more details. block-comment-edit Copies the comment surrounding point into a temporary buffer for editing in a more suitable major mode. See the documentation for this function for more details. browse-kill-ring Browses the kill ring in another buffer. Use C-y to yank most recent kill ring entry (number 1.) into the buffer which was current when browse-kill-ring was invoked. Use a numeric argument (M-# C-y) to yank the corresponding entry. If you move point into the browse-kill-ring buffer, the keys C-y, y, Y, or SPC will yank the entry on the current line into the previous buffer. Note that browse-kill-ring should always be called before its contents is used; its buffer is not automatically updated when kills and yanks are done. This is normally not a problem, since yanks will cause the buffer to be deleted automatically. byte-compile-file Compile a file of Lisp code named FILENAME into a file of byte code. The output file's name is made by appending "c" to the end of FILENAME. c++-mode Major mode for editing C++ code. Very much like editing C code. Expression and list commands understand all C++ brackets. Turning on C++ mode calls the value of the variable c++-mode-hook with no args, if that value is non-nil. c-comment-edit Edit multi-line C comments. The comment may be indented or flush with the left margin. Similar to block-comment-edit. calc* This is Dave Gillespie's excellent GNU Emacs Calc, a symbolic RPN calculator for GNU Emacs. It can be described as a "poor man's symbolic algebra system". calendar Display a three-month calendar in another window. The three months appear side by side, with the current month in the middle surrounded by the previous and next months. The cursor is put on today's date. This function is suitable for execution in a .emacs file; appropriate setting of the variable `view-diary-entries-initially' will cause the diary entries for the current date to be displayed in another window. The value of the variable `number- of-diary-entries' controls the number of days of diary entries displayed upon initial display of the calendar. An optional prefix argument ARG causes the calendar displayed to be ARG months in the future if ARG is positive or in the past if ARG is negative; in this case the cursor goes on the first day of the month. Once in the calendar window, future or past months can be moved into view. Arbitrary months can be displayed, or the calendar can be scrolled forward or backward. The cursor can be moved forward or backward by one day, one week, one month, or one year. All of these commands take prefix arguments which, when negative, cause movement in the opposite direction. For convenience, the digit keys and the minus sign are automatically prefixes. The window is replotted as necessary to display the desired date. Diary entries can be marked on the calendar or displayed in another window. Use M-x describe-mode for details of the key bindings in the calendar window. The Gregorian calendar is assumed. After preparing the calendar window initially, the hooks given by the variable `initial-calendar- window-hook' are run. The hooks given by the variable `today-visible-calendar-hook' are run everytime the calendar window gets shifted, if the current date is visible in the window. If it is not visible, the hooks given by the variable `today-invisible-calendar-hook' are run. Thus, for example, setting `today-visible-calendar-hook' to 'calendar-star-date will cause today's date to be replaced by asterisks to highlight it whenever it is in the window. ci-buffer Performs an RCS check-in of the file associated with the current buffer. Pops up a buffer for creation of a log message then does a "ci -u file", a "ci -l file", or a "ci file". cindent Reformat the specified BUFFER using the Unix indent(1) program. Selects the specified buffer, and saves it to disk, displays new version. M-x revert-buffer and M-x undo work as expected. User may opt not to save the newly indented buffer. co-buffer Performs an RCS check-out of the file associated with the current buffer. If ARGS is not specified, the file is checked out locked. If ARGS is a string, it is used for the switches to pass to ci. Otherwise (the function was called interactively with a prefix argument) the switches to pass to ci are prompted for in the minibuffer. complete-or-expand-token Complete token before point using COMPLETION-LIST, or if complete expand to show generic declaration, and display synopsis in the echo area complete-token Complete token before point using COMPLETION-LIST. Inserts as many characters as possible, and then if multiple completions, display them in a *Completions* buffer. completing-find-tag A "better> interface to find-tag. completing-find-tag-other-window A "better" interface to find-tag, uses other window. compress-mode Automatically uncompress a compressed file when editing it. Unfortunately, there is no automatic re-compression done when the file is saved. copy-line Duplicate the current line. If repeat is non-nil, it indicates how many copys to make. copy-region Duplicate the region indicated by start and stop. If repeat is non-nil, it indicates how many copys to make. The duplicates are inserted after stop. cpp-buffer Run the current buffer through the C preprocessor. cpp-buffer-for-display Run the current buffer through the C preprocessor and make it suitable for viewing. All occurrences of successive blank lines are each compressed into one blank line. crontab Function to allow the easy editing of crontab files. date-code Update datecode and filecode of the current buffer. This function is usually bound to write-file-hooks. define-cxxr-function Given string XX, create standard function cXXr. delatex Remove LaTeX commands from the current buffer. describe-region Gives a message briefly describing the text at the beginning and end of the region. detex TeX commands from the current buffer. diff Take the diff(1) of a BUFFER and its oldest backup file. With prefix arg, (or optional flag if noninteractive) does a normal non-context diff. display-file-info Run `ls -l <filename>' whenever a file is visited, placing the output in the message line. display-line-numbers Temporarily display the line numbers of lines in a buffer. edebug-defun Evaluate the defun that point is in or before, but set it up for edebug. Print its name in the minibuffer. edit-c-prologue Edit the prologue for the C function enclosing or after point, or the file prologue if file prologue is specified. emerge-buffers Run Emerge on two buffers. emerge-files Run Emerge on two files. emerge-files-with-ancestor Run Emerge on two files, giving another file as the ancestor. etags2ctags-buffer Convert a TAGS buffer to ctags format. etags2ctags-file Convert a TAGS file to ctags format. execute-unix-command Execute a unix command, wait for it for finish, and return the exit status. This function creates a process, using BUFFER for output, and waits for the process to exit. The name of the program to run is given by PROGRAM, and any remaining arguments, ARGS, are passed as command line arguments to the program. All arguments are strings. Note that there are no provisions for giving input to the program. If you must give input to the program, create a file containing the input for the process and pass the name of this file to a shell script that starts up the program with standard input redirected to the given file. If BUFFER is nil, any output from the program will be throw away. If a ^G is pressed while the program is running, the program will be killed via a SIGINT, and this function will return nil. All other keypresses will be flushed. Upon normal completion of the program, the numeric exit status of the program will be returned. Note that this function returns either nil or a numeric value. expand-token Expand COMPLETION using COMPLETION-LIST to (momentarily) show generic declaration, and display synopsis in echo area. COMPLETION must be complete, and COMPLETION-LIST is a list of elements of the form: ("completion" . ("declaration" . "synopsis")) fast-apropos Show all symbols whose names contain matches for REGEXP. If optional argument DO-ALL is non-nil, does more (time-consuming) work such as showing key bindings. Returns list of symbols and documentation found. find-alter-file Like find-alternate-file, but presents current filename for editing. find-directory Search for DIR in the directories listed in cd-path. If found, switch to a buffer in dired-mode for that directory. find-directory-noread Search for DIR in the directories listed in cd-path. If found, switch to a buffer in dired-mode for that directory. The directory list is not read in by default; you can read it with the normal dired-mode commands. find-this-error Find the error that point is on and position to that skipping all in between. If error is before the previous error found, then reparse the errors and try again. finger Show who is on the system. free-space-checker Start a background process to display "nn% free" in the mode line. The string to be inserted into the mode-line is produced by free-space-checker-script. getris Clone of a famous Russian game program. gomoku Start a Gomoku game between you and Emacs. If a game is in progress, this command allow you to resume it. If optional arguments N and M are given, an N by M board is used. You and Emacs play in turn by marking a free square. You mark it with X and Emacs marks it with O. The winner is the first to get five contiguous marks horizontally, vertically or in diagonal. You play by moving the cursor over the square you choose and hitting RET, x, .. or whatever has been set locally. Use C-h m for more info. grep Run grep, with user-specified args, and collect output in a buffer. While grep runs asynchronously, you can use the C-x ` command to find the text that grep hits refer to. hexl-find-file A major mode for editing binary files in hex dump format. This function automatically converts the buffer to the hexl format using the function `hexlify-buffer'. Each line in the buffer has an `address' (in hexadecimal) representing the offset into the file that the characters on this line are at, 16 characters from the file in displayed as their ascii values in hexadecimal grouped every 16 bits, and (the same) 16 characters displayed as ascii characters. If any of the characters (displayed as ascii characters) are unprintable (control or meta characters) they will be replaced as periods. hide-ifdef-mode Toggle hide-ifdef-mode. Thus this is a minor mode, albeit a large one. With arg, turn hide-ifdef-mode on iff arg is positive. In hide-ifdef-mode, code within ifdefs that the C preprocessor would eliminate may be hidden from view. HP-fork-and-exit-emacs Fork the current emacs process and exit. (In case you forgot the ampersand when starting emacs.) increment-number-on-line increment-numbers-in-column insert-file-name-tail Prompts for a file or directory name and inserts that name after point. Does not include unnecessary directory path prefixes. The name may be non- existent. Useful in Shell mode. insert-prototypes Generate and insert ANSI C prototype definitions for the current buffer. The program specified by `proto-program' is used to do the actual prototype generation. The options specified by `proto- options' are also passed to the `proto-program'. ispell-buffer Check the current buffer for spelling errors interactively. The variable which should be buffer or mode specific ispell-filter-hook is called to filter out text processing commands. ispell-region Check a region for spelling errors interactively. The variable which should be buffer or mode specific ispell-filter-hook is called to filter out text processing commands. ispell-word Check spelling of word at or before dot. If word not found in dictionary, display possible corrections in a window and let user select. jbm-shell Run an inferior shell, with I/O through buffer *shell*. If buffer exists but shell process is not running, make new shell. Shell program used comes from variable SHELL, or defaults to /bin/ksh. The buffer is put in jbm-shell-mode, which gives you a number of facilities for interacting with the shell. A negative prefix argument causes further shell windows (*shell<2>*, *shell<3>*, etc.) to be created. A positive argument causes the shell window with that number to be selected, instead of *shell* (which is number 1). Shells with numbers > 1 must be created explicitly; shell 1 is created automatically if it does not already exist. The current directory of the shell is the same as the default-directory from which the command was given. kill-region-wimpy Like kill-region, this deletes the text between BEG and END, and stuffs it in the kill ring. (Interactively, uses the region.) However, it asks you if you really want to delete a large chunk of text. lint Run lint(1) on specified buffer and collect output in a buffer. While lint runs asynchronously, you can use the C-x ` command to find the text that lint gripes refer to. lint-goto-problem Show the file and line responsible for the lint output under the cursor. lispref-search Symbol is regexps. Search lispref manual, display text in other-window. make-c-prologue Make up nice software development-type prologue for the C routine enclosing or after point. If ARG is non-nil, then ask for section text, each in its own buffer (see doc for c-prologue-section-alist). Leaves point at top of C defun. Leaves mark at start of prologue. math Run Mathematica, input and output via buffer *math*. math-mode Major mode for interacting with Mathematica and editing .m files. start-math Starts a Mathematica process in the current buffer. netunam (NOTE: OBSOLETE AS OF HP-UX 8.0) Open a network connection to another machine using RFA. PATH is the full name of network special file for the machine, LOGIN is the name to login as. If netunam is called programatically, it will only prompt for a password if LOGIN contains a ':' as its last character (just like netunam(1)). If netunam is called interactively, it will always prompt for a separate login and password. If the login contains no password, the user may hit <return> right after the password prompt. To close a network connection, hit <return> after being prompted for a login. Netunam will always give a message on the status of the connection when it finishes, and will also signal an error and return nil if the connection cannot be made. Users wanting a "quiet" netunam to call programatically should call the function (sysnetunam PATH LOGIN) directly, as that function will only return t/nil to give the status of the netunam system call. The variable netunam-network-file-path may be changed (with setq) to match the configuration of your machine's network special file directory. Every successful netunam will automatically update the variable netunam-host-alist in order to allow other programs to determine which hosts/logins have been netunamed. This variable should be read only. Do M-X describe-variable netunam-host-alist for more information. new-find-file Like find-file, but does a server-netunam if necessary. next-buffer Switch editing to the next buffer. A list (in regexp form) of buffers to skip over are contained in the variable next-buffers-to-skip. occur-menu Show menu of lines containing match for REGEXP. Enters recursive edit on text showing an entry for each matching line. User can move to an entry and then exit with C-c C-e to move to the line in the original buffer described by the selected entry. Abort with C-] to avoid moving in the original buffer. If REGEXP is empty then THE EXACT SAME menu is presented again, with cursor initially at the next successive entry. This is useful for stepping through located lines rapidly in order. pascal-mode This is a mode intended to support program development in Pascal. Most control constructs and declarations of Pascal can be inserted by typing Control-C followed by a character mnemonic for the construct. Generally, the functions expect to be invoked right after typing M-x pascal-newline, except for array, record, and proc/func body which start at the end of a line. Elements of the construct to insert are prompted for. Optional elements have prompts in square brackets[]. pass-to-sh Pass the line that point is on to shell. ps-mode A major-mode for sending signals to processes. In ps-mode, you indicate signals to send to UNIX processes. Signals are marked on the left hand side of the display using an abbreviated name. query-exit-from-emacs A function to bind to C-x C-c to query the user if he really wants to exit Emacs. rcs-ci Check in a file to rcs. rcs-co Check out a file from rcs. rcs-show-diff Pops up a buffer showing the difference between FILENAME and REVISON. If FILENAME is not specified, the file for the current buffer is used. If REVISION is not specified, the revision that the user has locked is used. Failing that, the latest revision is used. re-search-backward-command Search backward from point for match for regular expression REGEXP. Set point to the beginning of the match, and return t. Optional second argument REPEAT (prefix argument interactively) is the number of times to repeat the search. re-search-forward-command Search forward from point for regular expression REGEXP. Set point to the end of the occurrence found, and return t. Optional second argument REPEAT (prefix argument interactively) is the number of times to repeat the search. read-load-hook Read the next input form and add it as a load hook for FILE. If a call to read-load-hook is in a file that is being loaded, the next lisp expression after it will be read as the load hook. read-msdos Function to strip <cr><lf> sequence out of a file when read. results-of-command Execute the given COMMAND with &rest ARGS, and return the resulting output as a string. rmb-insert-line-numbers Add line numbers to an rocky mountain basic file save-help Sometimes you want to save the *Help* buffer for later examination, e.g., when you do an apropos. save-help will rename the *Help* buffer *Help<1>*, *Help<2>*, etc., so the information won't get clobbered by further help requests. search-backward-command Search backward from point for STRING. Set point to the beginning of the occurrence found, and return t. Optional second argument REPEAT (prefix argument interactively) is the number of times to repeat the search. search-forward-command Search forward from point for STRING. Set point to the end of the occurrence found, and return t. Optional second argument REPEAT (prefix argument interactively) is the number of times to repeat the search. search-manpath-for-cat-directories Return a list of all 'cat' directories in the current path specified by the 'MANPATH' environment variable. see-chars Displays characters typed, terminated by a 3-second timeout. server-start Allow this Emacs process to be a server for client processes (this is for gnuserv(1L) -- see the corresponding man page). This starts a server communications subprocess through which client "editors" can send editing commands to this Emacs job. set-c-style Set up the c-mode style variables from STYLE if it is given, or default-c-style otherwise. It makes the c indentation style variables buffer local. show-time Display the current time repeatedly in large characters. Optional SLEEPTIME gives number of seconds between updates (default is 5 seconds). Any input pending terminates the loop, and restores the original screen configuration (if the input is a space character, it is discarded). If SLEEPTIME is negative, append a cute quote to the time. sql-mode This mode provides both for editing of sql files and for the transmittal to another process of sql statements. This later ability provides a significant functionality improvement over either 'isql' (from Sybase) or 'sqlplus' (from Oracle). strip-line-numbers Strip Basic line numbers from file sum-column Return the sum of the integers in the rectangle delimited by START and END. Interactively, it prints the sum as well, and uses the region. sum-region Adds up the numbers in the region START to END. Primitive as yet. If called interactively, uses the region and prints the sum in a message. Ignores things that aren't numbers or signs, so $1 + $4 will sum to 5, and 1 -4 will sum to -3. Of course, it's really dumb, and things like 2*3 - 5 will sum to 2+3+5 = 10 -- as will 2 + 3.5. Improvements welcomed. super-apropos Show symbols whose names/documentation contain matches for REGEXP. If optional argument DO-ALL is non-nil, does more (time-consuming) work such as showing key bindings and documentation that is not stored in the documentation file. Returns list of symbols and documentation found. symbol-around-point Return the symbol around the point as a string. template-mode Toggle template-mode, a minor mode for manipulation of text via templates. Calls 'template-mode-hook' if it is defined. tinymud Connect to a tinymud host and play tinymud. Note that the variables `tinymud-server' and `tinymud- port' may have to be set before this function can be executed. unix-apropos Display apropos for TOPIC unix-apropos-get-man Get the manual entry for the current line visit-vi-tags-table Tell tags commands to use ctags tag table file FILE. FILE should be the name of a file created with the `ctags' program. A directory name is ok too; it means file "tags" in that directory. This function should be used in conjunction with `find-vi-tag' to look for Vi tags. vkill Mode for displaying all UNIX processes owned by the current user (all the processes on the system if invoked by the superuser) and allowing the user to mark processes to be sent a certain signal. Processes are marked by moving the cursor to the line displaying information about the victim process and typing `m' to mark the process. word-around-point Return the word around the point as a string. write-msdos Function to change <lf> to <cr><lf> for MS-DOS files. x-HP-get-icon-name Get the name of the Emacs icon. If an X error occurred while trying to get the name, nil is returned. x-HP-get-window-attributes Get the window attributes of the Emacs X-window. x-HP-get-window-name Get the name of the Emacs X window. x-HP-get-window-state Get the state of the Emacs X-Window. x-HP-iconify Iconify the X window. x-HP-move-window Move the Emacs X window to a specified location (X,Y). x-HP-remap-window Map/un-iconify the Emacs X-window. This function simply calls x-remap-window and is provided only for consistency with the `x-HP-' prefix naming convention. All future functions should use `x-HP- remap-window' instead of `x-remap-window' to insure ease-of-porting if and when GNU Emacs V19 is released. x-HP-resize-window Resize the Emacs X window to the size given by WIDTH and HEIGHT. x-HP-set-icon-name Set the name of the Emacs X icon to NAME. x-HP-set-window-name Set the name of the Emacs X window to be NAME. 9. The following are some new variables: x-HP-font-height The height of the current font in pixels. x-HP-font-width The width of the current font in pixels. 10. You can now netunam from within Emacs. Just issue M-x netunam. (NOTE: THIS WILL BE OBSOLETE WITH HP-UX 8.0)