1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-16 02:50:26 -08:00

entered into RCS

This commit is contained in:
Richard M. Stallman 1992-09-19 21:46:00 +00:00
parent 69b57d353e
commit 55badf85bb
2 changed files with 85 additions and 11 deletions

View file

@ -1,5 +1,5 @@
;; -*-Emacs-Lisp-*- ;; -*-Emacs-Lisp-*-
;;; This needs to be changed to use comint as the mode for the FTP buffer. ;;; ??? Waiting for papers from several people.
;; Description: transparent FTP support for GNU Emacs ;; Description: transparent FTP support for GNU Emacs
;;; Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc. ;;; Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc.
@ -60,12 +60,13 @@
;;; Passwords for user "anonymous": ;;; Passwords for user "anonymous":
;;; ;;;
;;; Passwords for the user "anonymous" (or "ftp") are handled specially. The ;;; Passwords for the user "anonymous" (or "ftp") are handled
;;; variable `ange-ftp-generate-anonymous-password' controls what happens: if ;;; specially. The variable `ange-ftp-generate-anonymous-password'
;;; the value of this variable is a string, then this is used as the password; ;;; controls what happens: if the value of this variable is a string,
;;; if non-nil, then a password is created from the name of the user and the ;;; then this is used as the password; if non-nil (the default), then
;;; hostname of the machine on which GNU Emacs is running; if nil (the ;;; a password is created from the name of the user and the hostname
;;; default) then the user is prompted for a password as normal. ;;; of the machine on which GNU Emacs is running; if nil then the user
;;; is prompted for a password as normal.
;;; "Dumb" UNIX hosts: ;;; "Dumb" UNIX hosts:
;;; ;;;
@ -693,7 +694,7 @@ If non-nil but not a string, the user is prompted for the name.")
(defvar ange-ftp-default-account nil (defvar ange-ftp-default-account nil
"*Account password to use when the user is the same as ange-ftp-default-user.") "*Account password to use when the user is the same as ange-ftp-default-user.")
(defvar ange-ftp-generate-anonymous-password nil (defvar ange-ftp-generate-anonymous-password t
"*If t, use a password of user@host when logging in as the anonymous user. "*If t, use a password of user@host when logging in as the anonymous user.
If a string then use that as the password. If a string then use that as the password.
If nil then prompt the user for a password.") If nil then prompt the user for a password.")

View file

@ -1,6 +1,6 @@
;;; vms-patch.el --- override parts of files.el for VMS. ;;; vms-patch.el --- override parts of files.el for VMS.
;; Copyright (C) 1986 Free Software Foundation, Inc. ;; Copyright (C) 1986, 1992 Free Software Foundation, Inc.
;; Maintainer: FSF ;; Maintainer: FSF
;; Keywords: vms ;; Keywords: vms
@ -71,11 +71,24 @@ FILENAME should lack slashes.
This is a separate function so your .emacs file or site-init.el can redefine it." This is a separate function so your .emacs file or site-init.el can redefine it."
(string-match "^_\\$.*\\$" filename)) (string-match "^_\\$.*\\$" filename))
;;;
;;; This goes along with kepteditor.com which defines these logicals
;;; If EMACS_COMMAND_ARGS is defined, it supersedes EMACS_FILE_NAME,
;;; which is probably set up incorrectly anyway.
;;; The function command-line-again is a kludge, but it does the job.
;;;
(defun vms-suspend-resume-hook () (defun vms-suspend-resume-hook ()
"When resuming suspended Emacs, check for file to be found. "When resuming suspended Emacs, check for file to be found.
If the logical name `EMACS_FILE_NAME' is defined, `find-file' that file." If the logical name `EMACS_FILE_NAME' is defined, `find-file' that file."
(let ((file (vms-system-info "LOGICAL" "EMACS_FILE_NAME"))) (let ((file (vms-system-info "LOGICAL" "EMACS_FILE_NAME"))
(if file (find-file file)))) (args (vms-system-info "LOGICAL" "EMACS_COMMAND_ARGS"))
(line (vms-system-info "LOGICAL" "EMACS_FILE_LINE")))
(if (not args)
(if file
(progn (find-file file)
(if line (goto-line (string-to-int line)))))
(cd (file-name-directory file))
(vms-command-line-again))))
(setq suspend-resume-hook 'vms-suspend-resume-hook) (setq suspend-resume-hook 'vms-suspend-resume-hook)
@ -87,6 +100,52 @@ If the logical name `EMACS_FILE_NAME' is defined, `find-file' that file."
(setq suspend-hook 'vms-suspend-hook) (setq suspend-hook 'vms-suspend-hook)
;;;
;;; A kludge that allows reprocessing of the command line. This is mostly
;;; to allow a spawned VMS mail process to do something reasonable when
;;; used in conjunction with the modifications to sysdep.c that allow
;;; Emacs to attach to a "foster" parent.
;;;
(defun vms-command-line-again ()
"Reprocess command line arguments. VMS specific.
Command line arguments are initialized from the logical EMACS_COMMAND_ARGS
which is defined by kepteditor.com. On VMS this allows attaching to a
spawned Emacs and doing things like \"emacs -l myfile.el -f doit\""
(let* ((args (downcase (vms-system-info "LOGICAL" "EMACS_COMMAND_ARGS")))
(command-line-args (list "emacs"))
(beg 0)
(end 0)
(len (length args))
this-char)
(if args
(progn
;;; replace non-printable stuff with spaces
(while (< beg (length args))
(if (or (> 33 (setq this-char (aref args beg)))
(< 127 this-char))
(aset args beg 32))
(setq beg (1+ beg)))
(setq beg (1- (length args)))
(while (= 32 (aref args beg)) (setq beg (1- beg)))
(setq args (substring args 0 (1+ beg)))
(setq beg 0)
;;; now start parsing args
(while (< beg (length args))
(while (and (< beg (length args))
(or (> 33 (setq this-char (aref args beg)))
(< 127 this-char))
(setq beg (1+ beg))))
(setq end (1+ beg))
(while (and (< end (length args))
(< 32 (setq this-char (aref args end)))
(> 127 this-char))
(setq end (1+ end)))
(setq command-line-args (append
command-line-args
(list (substring args beg end))))
(setq beg (1+ end)))
(command-line)))))
(defun vms-read-directory (dirname switches buffer) (defun vms-read-directory (dirname switches buffer)
(save-excursion (save-excursion
(set-buffer buffer) (set-buffer buffer)
@ -113,4 +172,18 @@ If the logical name `EMACS_FILE_NAME' is defined, `find-file' that file."
(mapconcat 'identity switches " ")) (mapconcat 'identity switches " "))
nil nil nil))) nil nil nil)))
;;;
;;; Fuctions for using Emacs as a VMS Mail editor
;;;
(autoload 'vms-pmail-setup "vms-pmail"
"Set up file assuming use by VMS Mail utility.
The buffer is put into text-mode, auto-save is turned off and the
following bindings are established.
\\[vms-pmail-save-and-exit] vms-pmail-save-and-exit
\\[vms-pmail-abort] vms-pmail-abort
All other Emacs commands are still available."
t)
;;; vms-patch.el ends here ;;; vms-patch.el ends here