changeset 477:ab9a55b26bd4

*** empty log message ***
author Jim Blandy <jimb@redhat.com>
date Thu, 09 Jan 1992 05:06:34 +0000
parents 6d25047306d9
children 84799f3f3488
files etc/TUTORIAL lisp/emacs-lisp/debug.el lisp/gud.el lisp/mail/mail-utils.el
diffstat 4 files changed, 109 insertions(+), 80 deletions(-) [+]
line wrap: on
line diff
--- a/etc/TUTORIAL	Wed Jan 08 01:58:52 1992 +0000
+++ b/etc/TUTORIAL	Thu Jan 09 05:06:34 1992 +0000
@@ -790,11 +790,11 @@
 
 >> Type C-h k Control-p.
 
-This displays the documentation of the function, as well as its name,
-in an Emacs window.  When you are finished reading the output, type
-C-x 1 to get rid of the help text.  You do not have to do this right
-away.  You can do some editing based on the help text before you type
-C-x 1.
+This displays the documentation of the function, as well as its
+name, in an Emacs window.  When you are finished reading the
+output, type C-x 1 to get rid of the help text.  You do not have
+to do this right away.  You can do some editing while referring
+to the help text and then type C-x 1.
 
 Here are some other useful C-h options:
 
@@ -811,10 +811,16 @@
 		For some commands, Command Apropos will also list a one
 		or two character sequence which has the same effect.
 
->> Type C-h a file<Return>.  You will see a list of all M-x commands
-with "file" in their names.  You will also see commands
-like C-x C-f and C-x C-w, listed beside the command names
-find-file and write-file.
+>> Type C-h a file<Return>.
+
+This displays in another window a list of all M-x commands with
+"file" in their names.  You will also see commands like C-x C-f
+and C-x C-w, listed beside the command names find-file and
+write-file.
+
+>> Type C-M-v to scroll the help window.  Do this a few times.
+
+>> Type C-x 1 to delete the help window.
 
 
 CONCLUSION
--- a/lisp/emacs-lisp/debug.el	Wed Jan 08 01:58:52 1992 +0000
+++ b/lisp/emacs-lisp/debug.el	Thu Jan 09 05:06:34 1992 +0000
@@ -286,7 +286,16 @@
 (defun cancel-debug-on-entry (&optional function)
   "Undo effect of \\[debug-on-entry] on FUNCTION.
 If argument is nil or an empty string, cancel for all functions."
-  (interactive "aCancel debug on entry (to function): ")
+  (interactive
+   (list (let ((name
+		(completing-read "Cancel debug on entry (to function): "
+				 ;; Make an "alist" of the functions
+				 ;; that now have debug on entry.
+				 (mapcar 'list
+					 (mapcar 'symbol-name
+						 debug-function-list))
+				 nil t nil)))
+	   (if name (intern name)))))
   (debugger-reenable)
   (if (and function (not (string= function "")))
       (progn
--- a/lisp/gud.el	Wed Jan 08 01:58:52 1992 +0000
+++ b/lisp/gud.el	Thu Jan 09 05:06:34 1992 +0000
@@ -1,5 +1,5 @@
 ;; Grand Unified Debugger mode --- run gdb, sdb, dbx under Emacs control
-;;	@(#)gud.el	1.8
+;;	@(#)gud.el	1.10
 
 ;; This file is part of GNU Emacs.
 
@@ -85,6 +85,24 @@
 ;; gud-<name>-file-visit
 ;; gud-<name>-set-break
 ;;
+;; The job of the startup-command method is to fire up a copy of the debugger,
+;; given an object file and source directory.
+;;
+;; The job of the marker-filter method is to detect file/line markers in
+;; strings and set the global gud-last-frame to indicate what display
+;; action (if any) should be triggered by the marker.  Note that only
+;; whetever the method *returns* is displayed in the buffer; thus, you
+;; can filter the debugger's output, interpreting some and passing on
+;; the rest.
+;;
+;; The job of the visit-file method is to visit and return the buffer indicated
+;; by the car of gud-tag-frame.  This may be a file name, a tag name, or
+;; something else.
+;;
+;; The job of the gud-set-break method is to send the commands necessary
+;; to set a breakpoint at a given line in a given source file.
+;;
+;; Debugger-specific information begins here:
 
 ;; ======================================================================
 ;; gdb functions
@@ -114,6 +132,7 @@
 (defun gud-gdb-set-break (proc f n) 
   (gud-call "break %s:%d" f n))
 
+;;;###autoload
 (defun gdb (path)
   "Run gdb on program FILE in buffer *gud-FILE*.
 The directory containing FILE becomes the initial working directory
@@ -162,6 +181,7 @@
 (defun gud-sdb-set-break (proc f n)
   (gud-queue-send (format "e %s" f) (format "%d b" n)))
 
+;;;###autoload
 (defun sdb (path)
   "Run sdb on program FILE in buffer *gud-FILE*.
 The directory containing FILE becomes the initial working directory
@@ -207,6 +227,7 @@
 (defun gud-dbx-set-break (proc f n)
   (gud-call "stop at \"%s\":%d" f n))
 
+;;;###autoload
 (defun dbx (path)
   "Run dbx on program FILE in buffer *gud-FILE*.
 The directory containing FILE becomes the initial working directory
@@ -225,21 +246,9 @@
   (run-hooks 'dbx-mode-hook)
   )
 
-;; The job of the debugger-startup method is to fire up a copy of the debugger,
-;; given an object file and source directory.
-;;
-;; The job of the marker-filter method is to detect file/line markers in
-;; strings and set the global gud-last-frame to indicate what display
-;; action (if any) should be triggered by the marker
-;;
-;; The job of the visit-file method is to visit and return the buffer indicated
-;; by the car of gud-tag-frame.  This may be a file name, a tag name, or
-;; something else.
-;;
-;; The job of the gud-set-break method is to send the commands necessary
-;; to set a breakpoint at a given line in a given source file.
 ;;
 ;; End of debugger-specific information
+;;
 
 (defvar gud-mode-map nil
   "Keymap for gud-mode.")
@@ -519,3 +528,6 @@
     (switch-to-buffer current-gud-buffer)
     (goto-char (dot-max))
     (insert-string comm)))
+
+;; gud.e ends here
+
--- a/lisp/mail/mail-utils.el	Wed Jan 08 01:58:52 1992 +0000
+++ b/lisp/mail/mail-utils.el	Thu Jan 09 05:06:34 1992 +0000
@@ -41,64 +41,66 @@
   "Delete comments and quoted strings in an address list ADDRESS.
 Also delete leading/trailing whitespace and replace FOO <BAR> with just BAR.
 Return a modified address list."
-  (if mail-use-rfc822
-      (progn (require 'rfc822)
-	     (mapconcat 'identity (rfc822-addresses address) ", "))
-    (let (pos)
-     (string-match "\\`[ \t\n]*" address)
-     ;; strip surrounding whitespace
-     (setq address (substring address
-			      (match-end 0)
-			      (string-match "[ \t\n]*\\'" address
-					    (match-end 0))))
+  (if (null address)
+      nil
+    (if mail-use-rfc822
+	(progn (require 'rfc822)
+	       (mapconcat 'identity (rfc822-addresses address) ", "))
+      (let (pos)
+       (string-match "\\`[ \t\n]*" address)
+       ;; strip surrounding whitespace
+       (setq address (substring address
+				(match-end 0)
+				(string-match "[ \t\n]*\\'" address
+					      (match-end 0))))
 
-     ;; Detect nested comments.
-     (if (string-match "[ \t]*(\\([^)\"\\]\\|\\\\.\\|\\\\\n\\)*(" address)
-	 ;; Strip nested comments.
-	 (save-excursion
-	   (set-buffer (get-buffer-create " *temp*"))
-	   (erase-buffer)
-	   (insert address)
-	   (set-syntax-table lisp-mode-syntax-table)
-	   (goto-char 1)
-	   (while (search-forward "(" nil t)
-	     (forward-char -1)
-	     (skip-chars-backward " \t")
-	     (delete-region (point)
-			    (save-excursion (forward-sexp 1) (point))))
-	   (setq address (buffer-string))
-	   (erase-buffer))
-       ;; Strip non-nested comments an easier way.
-       (while (setq pos (string-match 
-			  ;; This doesn't hack rfc822 nested comments
-			  ;;  `(xyzzy (foo) whinge)' properly.  Big deal.
-			  "[ \t]*(\\([^)\"\\]\\|\\\\.\\|\\\\\n\\)*)"
-			  address))
-	 (setq address
-	       (mail-string-delete address
-				   pos (match-end 0)))))
+       ;; Detect nested comments.
+       (if (string-match "[ \t]*(\\([^)\"\\]\\|\\\\.\\|\\\\\n\\)*(" address)
+	   ;; Strip nested comments.
+	   (save-excursion
+	     (set-buffer (get-buffer-create " *temp*"))
+	     (erase-buffer)
+	     (insert address)
+	     (set-syntax-table lisp-mode-syntax-table)
+	     (goto-char 1)
+	     (while (search-forward "(" nil t)
+	       (forward-char -1)
+	       (skip-chars-backward " \t")
+	       (delete-region (point)
+			      (save-excursion (forward-sexp 1) (point))))
+	     (setq address (buffer-string))
+	     (erase-buffer))
+	 ;; Strip non-nested comments an easier way.
+	 (while (setq pos (string-match 
+			    ;; This doesn't hack rfc822 nested comments
+			    ;;  `(xyzzy (foo) whinge)' properly.  Big deal.
+			    "[ \t]*(\\([^)\"\\]\\|\\\\.\\|\\\\\n\\)*)"
+			    address))
+	   (setq address
+		 (mail-string-delete address
+				     pos (match-end 0)))))
 
-     ;; strip `quoted' names (This is supposed to hack `"Foo Bar" <bar@host>')
-     (setq pos 0)
-     (while (setq pos (string-match
-			"[ \t]*\"\\([^\"\\]\\|\\\\.\\|\\\\\n\\)*\"[ \t\n]*"
-			address pos))
-       ;; If the next thing is "@", we have "foo bar"@host.  Leave it.
-       (if (and (> (length address) (match-end 0))
-		(= (aref address (match-end 0)) ?@))
-	   (setq pos (match-end 0))
-	 (setq address
-	       (mail-string-delete address
-				   pos (match-end 0)))))
-     ;; Retain only part of address in <> delims, if there is such a thing.
-     (while (setq pos (string-match "\\(,\\|\\`\\)[^,]*<\\([^>,]*>\\)"
-				    address))
-       (let ((junk-beg (match-end 1))
-	     (junk-end (match-beginning 2))
-	     (close (match-end 0)))
-	 (setq address (mail-string-delete address (1- close) close))
-	 (setq address (mail-string-delete address junk-beg junk-end))))
-     address)))
+       ;; strip `quoted' names (This is supposed to hack `"Foo Bar" <bar@host>')
+       (setq pos 0)
+       (while (setq pos (string-match
+			  "[ \t]*\"\\([^\"\\]\\|\\\\.\\|\\\\\n\\)*\"[ \t\n]*"
+			  address pos))
+	 ;; If the next thing is "@", we have "foo bar"@host.  Leave it.
+	 (if (and (> (length address) (match-end 0))
+		  (= (aref address (match-end 0)) ?@))
+	     (setq pos (match-end 0))
+	   (setq address
+		 (mail-string-delete address
+				     pos (match-end 0)))))
+       ;; Retain only part of address in <> delims, if there is such a thing.
+       (while (setq pos (string-match "\\(,\\|\\`\\)[^,]*<\\([^>,]*>\\)"
+				      address))
+	 (let ((junk-beg (match-end 1))
+	       (junk-end (match-beginning 2))
+	       (close (match-end 0)))
+	   (setq address (mail-string-delete address (1- close) close))
+	   (setq address (mail-string-delete address junk-beg junk-end))))
+       address))))
   
 (or (and (boundp 'rmail-default-dont-reply-to-names)
 	 (not (null rmail-default-dont-reply-to-names)))