GNU Emacs diffs 16.56=>16.60, part 2 of 2
Paul Rubin
phr at ucbvax.ARPA
Wed Sep 25 16:56:51 AEST 1985
curlevel->prev = -1;
--- 748,754 -----
oldstate = Fcdr (oldstate);
tem = Fcar (oldstate);
! start_quoted = !NULL (tem);
}
state.quoted = 0;
***************
*** 742,747
tem = Fcar (oldstate);
state.quoted = !NULL (tem);
}
curlevel->prev = -1;
--- 750,756 -----
tem = Fcar (oldstate);
start_quoted = !NULL (tem);
}
+ state.quoted = 0;
curlevel->prev = -1;
***************
*** 750,756
if (state.incomment) goto startincomment;
if (state.instring >= 0)
{
! if (state.quoted) goto startquotedinstring;
goto startinstring;
}
if (state.quoted) goto startquoted;
--- 759,765 -----
if (state.incomment) goto startincomment;
if (state.instring >= 0)
{
! if (start_quoted) goto startquotedinstring;
goto startinstring;
}
if (start_quoted) goto startquoted;
***************
*** 753,759
if (state.quoted) goto startquotedinstring;
goto startinstring;
}
! if (state.quoted) goto startquoted;
while (from < end)
{
--- 762,768 -----
if (start_quoted) goto startquotedinstring;
goto startinstring;
}
! if (start_quoted) goto startquoted;
while (from < end)
{
***************
*** 847,854
{
case Scharquote:
case Sescape:
- if (from >= end) goto endquoted;
- startquotedinstring:
from++;
}
from++;
--- 856,861 -----
{
case Scharquote:
case Sescape:
from++;
startquotedinstring:
if (from >= end) goto endquoted;
***************
*** 850,855
if (from >= end) goto endquoted;
startquotedinstring:
from++;
}
from++;
}
--- 857,864 -----
case Scharquote:
case Sescape:
from++;
+ startquotedinstring:
+ if (from >= end) goto endquoted;
}
from++;
}
diff -cbr /u2/emacs/dist-16.56/src/sysdep.c /u2/emacs/dist/src/sysdep.c
*** /u2/emacs/dist-16.56/src/sysdep.c Mon Jul 8 01:12:40 1985
--- /u2/emacs/dist/src/sysdep.c Mon Sep 16 16:08:49 1985
***************
*** 28,33
#include <sgtty.h>
#define TERMINAL struct sgttyb
#define OSPEED(str) str.sg_ospeed
#endif
#ifdef USG
--- 28,34 -----
#include <sgtty.h>
#define TERMINAL struct sgttyb
#define OSPEED(str) str.sg_ospeed
+ #define TABS_OK(str) ((str.sg_flags & XTABS) != XTABS)
#endif
#ifdef USG
***************
*** 40,45
#define TIOCSETP TCSETAF
#define TERMINAL struct termio
#define OSPEED(str) (str.c_cflag & CBAUD)
#endif
#include "termhooks.h"
--- 41,47 -----
#define TIOCSETP TCSETAF
#define TERMINAL struct termio
#define OSPEED(str) (str.c_cflag & CBAUD)
+ #define TABS_OK(str) ((str.c_oflag & TABDLY) != TAB3)
#endif
#include "termhooks.h"
***************
*** 182,189
#ifdef TIOCGLTC
struct tchars tchars;
int lmode;
! static struct tchars new_tchars = {-1};
! static struct ltchars new_ltchars = {-1};
#endif
if (noninteractive)
--- 184,191 -----
#ifdef TIOCGLTC
struct tchars tchars;
int lmode;
! static struct tchars new_tchars = {-1,-1,-1,-1,-1,-1};
! static struct ltchars new_ltchars = {-1,-1,-1,-1,-1,-1};
#endif
if (noninteractive)
***************
*** 242,248
tchars.t_startc = '\021';
tchars.t_stopc = '\023';
}
! lmode = LLITOUT | old_lmode;
ioctl (0, TIOCSETC, &tchars);
ioctl (0, TIOCSLTC, &new_ltchars);
--- 244,250 -----
tchars.t_startc = '\021';
tchars.t_stopc = '\023';
}
! lmode = LDECCTQ | LLITOUT | old_lmode;
ioctl (0, TIOCSETC, &tchars);
ioctl (0, TIOCSLTC, &new_ltchars);
***************
*** 261,268
tabs_safe_p ()
{
TERMINAL sg;
! gtty (&sg);
! return (sg.sg_flags & XTABS) != XTABS;
}
RstDsp ()
--- 263,270 -----
tabs_safe_p ()
{
TERMINAL sg;
! ioctl (0, TIOCGETP, &sg);
! return (TABS_OK(sg));
}
RstDsp ()
diff -cbr /u2/emacs/dist-16.56/src/term.c /u2/emacs/dist/src/term.c
*** /u2/emacs/dist-16.56/src/term.c Mon Jul 15 14:24:28 1985
--- /u2/emacs/dist/src/term.c Mon Sep 16 18:18:30 1985
***************
*** 167,174
set_terminal_modes ()
{
! if (reset_terminal_modes_hook)
! return (*reset_terminal_modes_hook) ();
OUTPUT_IF (TS_termcap_modes);
OUTPUT_IF (TS_visual_mode);
OUTPUT_IF (TS_keypad_mode);
--- 167,174 -----
set_terminal_modes ()
{
! if (set_terminal_modes_hook)
! return (*set_terminal_modes_hook) ();
OUTPUT_IF (TS_termcap_modes);
OUTPUT_IF (TS_visual_mode);
OUTPUT_IF (TS_keypad_mode);
***************
*** 178,185
reset_terminal_modes ()
{
! if (set_terminal_modes_hook)
! return (*set_terminal_modes_hook) ();
if (TN_standout_width < 0)
turn_off_highlight ();
turn_off_insert ();
--- 178,185 -----
reset_terminal_modes ()
{
! if (reset_terminal_modes_hook)
! return (*reset_terminal_modes_hook) ();
if (TN_standout_width < 0)
turn_off_highlight ();
turn_off_insert ();
***************
*** 463,469
else
{ /* have to do it the hard way */
turn_off_insert ();
- cmplus (first_unused_hpos - curX);
for (i = curX; i < first_unused_hpos; i++)
{
if (termscript)
--- 463,468 -----
else
{ /* have to do it the hard way */
turn_off_insert ();
for (i = curX; i < first_unused_hpos; i++)
{
if (termscript)
***************
*** 470,475
fputc (' ', termscript);
putchar (' ');
}
}
}
--- 469,475 -----
fputc (' ', termscript);
putchar (' ');
}
+ cmplus (first_unused_hpos - curX);
}
}
***************
*** 498,503
if (RPov > len && !TF_underscore && !TF_hazeltine)
{
fwrite (start, 1, len, stdout);
if (termscript)
fwrite (start, 1, len, termscript);
}
--- 498,505 -----
if (RPov > len && !TF_underscore && !TF_hazeltine)
{
fwrite (start, 1, len, stdout);
+ if (ferror (stdout))
+ clearerr (stdout);
if (termscript)
fwrite (start, 1, len, termscript);
}
***************
*** 507,513
if (RPov + 1 < len && *start == start[1])
{
p = start + 1;
! n = 0;
/* Now, len is number of chars left starting at p */
while (n < len && *p++ == *start)
n++;
--- 509,515 -----
if (RPov + 1 < len && *start == start[1])
{
p = start + 1;
!
/* Now, len is number of chars left starting at p */
while (*p++ == *start);
/* n is number of identical chars in this run */
***************
*** 509,516
p = start + 1;
n = 0;
/* Now, len is number of chars left starting at p */
! while (n < len && *p++ == *start)
! n++;
if (n > RPov)
{
buf = (char *) alloca (strlen (TS_repeat) + 10);
--- 511,519 -----
p = start + 1;
/* Now, len is number of chars left starting at p */
! while (*p++ == *start);
! /* n is number of identical chars in this run */
! n = p - start;
if (n > RPov)
{
buf = (char *) alloca (strlen (TS_repeat) + 10);
***************
*** 517,522
tparam (TS_repeat, buf, *start, n);
tputs (buf, n, cmputc);
start = p;
continue;
}
}
--- 520,526 -----
tparam (TS_repeat, buf, *start, n);
tputs (buf, n, cmputc);
start = p;
+ len -= n - 1;
continue;
}
}
diff -cbr /u2/emacs/dist-16.56/src/xdisp.c /u2/emacs/dist/src/xdisp.c
*** /u2/emacs/dist-16.56/src/xdisp.c Mon Jul 15 14:46:35 1985
--- /u2/emacs/dist/src/xdisp.c Mon Sep 16 16:08:59 1985
***************
*** 1429,1436
str = "Top";
else
{
! sprintf (tbuf, "%2d%%",
! ((pos - FirstCharacter) * 100 + total - 1) / total);
str = tbuf;
}
break;
--- 1429,1440 -----
str = "Top";
else
{
! total = ((pos - FirstCharacter) * 100 + total - 1) / total;
! /* We can't normally display a 3-digit number,
! so get us a 2-digit number that is close. */
! if (total == 100)
! total = 99;
! sprintf (tbuf, "%2d%%", total);
str = tbuf;
}
break;
==============================
Changes to .el files in emacs/lisp directory
to fix bugs in advertised features since 16.56.
After installing these changes, do M-x byte-recompile-directory
to make new .elc files from the .el files that are supposed
to be compiled; then rebuild Emacs. You will get version 16.57.
The patches to .c files must be used together with these, or bad things
will happen.
This is supposed to be a long line. If it does not end in "foo", it means you have done something to truncate it, and will lose. Foo!
diff -cbr /u2/emacs/dist-16.56/lisp/c-mode.el /u2/emacs/dist/lisp/c-mode.el
*** /u2/emacs/dist-16.56/lisp/c-mode.el Sat Jul 6 01:12:12 1985
--- /u2/emacs/dist/lisp/c-mode.el Mon Sep 16 17:18:42 1985
***************
*** 33,39
"*Indentation level of declarations of C function arguments.")
(defconst c-label-offset -2
"*Offset of C label lines and case statements relative to usual indentation.")
! (defconst c-continued-statement-indent 2
"*Extra indent for lines not starting new statements.")
(defconst c-auto-newline nil
--- 33,39 -----
"*Indentation level of declarations of C function arguments.")
(defconst c-label-offset -2
"*Offset of C label lines and case statements relative to usual indentation.")
! (defconst c-continued-statement-offset 2
"*Extra indent for lines not starting new statements.")
(defconst c-auto-newline nil
***************
*** 290,296
(beginning-of-line)
(let ((indent-point (dot))
state
- parse-start
containing-sexp)
(if parse-start
(goto-char parse-start)
--- 290,295 -----
(beginning-of-line)
(let ((indent-point (dot))
state
containing-sexp)
(if parse-start
(goto-char parse-start)
***************
*** 330,336
;; indent 2 more than the previous line of the statement.
(progn
(c-backward-to-start-of-if containing-sexp)
! (+ c-continued-statement-indent (current-column)))
;; This line starts a new statement.
;; Position following last unclosed open.
(goto-char containing-sexp)
--- 329,335 -----
;; indent 2 more than the previous line of the statement.
(progn
(c-backward-to-start-of-if containing-sexp)
! (+ c-continued-statement-offset (current-column)))
;; This line starts a new statement.
;; Position following last unclosed open.
(goto-char containing-sexp)
***************
*** 456,462
;; indent this line 2 more than previous.
(progn
(c-backward-to-start-of-if odot)
! (setq this-indent (+ 2 (current-indentation))))
;; Preceding line ended in comma or semi;
;; use the standard indent for this level.
(setq this-indent (car indent-stack))))
--- 455,462 -----
;; indent this line 2 more than previous.
(progn
(c-backward-to-start-of-if odot)
! (setq this-indent (+ c-continued-statement-offset
! (current-indentation))))
;; Preceding line ended in comma or semi;
;; use the standard indent for this level.
(setq this-indent (car indent-stack))))
diff -cbr /u2/emacs/dist-16.56/lisp/chistory.el /u2/emacs/dist/lisp/chistory.el
*** /u2/emacs/dist-16.56/lisp/chistory.el Fri Jul 12 04:03:56 1985
--- /u2/emacs/dist/lisp/chistory.el Mon Sep 16 17:18:45 1985
***************
*** 45,51
(setq temp (car history))
(if (and (or (not pattern) (string-match pattern (symbol-name (car temp))))
(y-or-n-p (format "Redo %s? " (setq temp (prin1-to-string temp)))))
! (setq what temp)
(setq history (cdr history))))
(if (not what)
(error "Command history exhausted.")
--- 45,51 -----
(setq temp (car history))
(if (and (or (not pattern) (string-match pattern (symbol-name (car temp))))
(y-or-n-p (format "Redo %s? " (setq temp (prin1-to-string temp)))))
! (setq what (car history))
(setq history (cdr history))))
(if (not what)
(error "Command history exhausted.")
diff -cbr /u2/emacs/dist-16.56/lisp/debug.el /u2/emacs/dist/lisp/debug.el
*** /u2/emacs/dist-16.56/lisp/debug.el Mon Jul 8 03:08:14 1985
--- /u2/emacs/dist/lisp/debug.el Mon Sep 16 17:18:48 1985
***************
*** 34,40
(save-window-excursion
(pop-to-buffer " *Backtrace*")
(erase-buffer)
! (let ((standard-output (current-buffer)))
(backtrace))
(goto-char (dot-min))
(delete-region (dot)
--- 34,42 -----
(save-window-excursion
(pop-to-buffer " *Backtrace*")
(erase-buffer)
! (let ((standard-output (current-buffer))
! (print-length 50)
! (debug-on-error nil))
(backtrace))
(goto-char (dot-min))
(delete-region (dot)
diff -cbr /u2/emacs/dist-16.56/lisp/indent.el /u2/emacs/dist/lisp/indent.el
*** /u2/emacs/dist-16.56/lisp/indent.el Fri Jul 5 05:39:04 1985
--- /u2/emacs/dist/lisp/indent.el Mon Sep 16 17:18:53 1985
***************
*** 119,125
(save-excursion
(beginning-of-line)
(if (re-search-backward "^[^\n]" nil t)
! (progn
(move-to-column start-column)
(skip-chars-forward " \t")
(setq indent (current-column)))))
--- 119,125 -----
(save-excursion
(beginning-of-line)
(if (re-search-backward "^[^\n]" nil t)
! (let ((end (scan-buffer (dot) 1 ?\n)))
(move-to-column start-column)
(or (looking-at "[ \t]")
(skip-chars-forward "^ \t" end))
***************
*** 121,128
(if (re-search-backward "^[^\n]" nil t)
(progn
(move-to-column start-column)
! (skip-chars-forward " \t")
! (setq indent (current-column)))))
(if indent
(let ((odot (dot-marker)))
(delete-region (dot) (progn (skip-chars-backward " \t") (dot)))
--- 121,130 -----
(if (re-search-backward "^[^\n]" nil t)
(let ((end (scan-buffer (dot) 1 ?\n)))
(move-to-column start-column)
! (or (looking-at "[ \t]")
! (skip-chars-forward "^ \t" end))
! (skip-chars-forward " \t" end)
! (or (= (dot) end) (setq indent (current-column))))))
(if indent
(let ((odot (dot-marker)))
(delete-region (dot) (progn (skip-chars-backward " \t") (dot)))
diff -cbr /u2/emacs/dist-16.56/lisp/ledit.el /u2/emacs/dist/lisp/ledit.el
*** /u2/emacs/dist-16.56/lisp/ledit.el Mon Jul 8 20:16:54 1985
--- /u2/emacs/dist/lisp/ledit.el Mon Sep 16 17:18:56 1985
***************
*** 102,109
(load ledit-read-file t t))
(defun ledit-setup ()
! "Setup key bindings for the Lisp / Emacs interface"
! (setq ledit-mode-map (copy-sequence lisp-mode-map))
(define-key ledit-mode-map "\e\^d" 'ledit-save-defun)
(define-key ledit-mode-map "\e\^r" 'ledit-save-region)
(define-key ledit-mode-map "\^xz" 'ledit-go-to-lisp)
--- 102,111 -----
(load ledit-read-file t t))
(defun ledit-setup ()
! "Set up key bindings for the Lisp / Emacs interface"
! (if (not ledit-mode-map)
! (progn (setq ledit-mode-map (make-sparse-keymap))
! (lisp-mode-commands ledit-mode-map)))
(define-key ledit-mode-map "\e\^d" 'ledit-save-defun)
(define-key ledit-mode-map "\e\^r" 'ledit-save-region)
(define-key ledit-mode-map "\^xz" 'ledit-go-to-lisp)
diff -cbr /u2/emacs/dist-16.56/lisp/lisp-mode.el /u2/emacs/dist/lisp/lisp-mode.el
*** /u2/emacs/dist-16.56/lisp/lisp-mode.el Tue Jul 2 01:04:03 1985
--- /u2/emacs/dist/lisp/lisp-mode.el Mon Sep 16 17:19:09 1985
***************
*** 445,450
(end-of-line)
(setcar (nthcdr 4 state) nil)))
(if (car (nthcdr 3 state))
(forward-line 1)
(setq innerloop-done t)))
(if (setq outer-loop-done (<= next-depth 0))
--- 445,451 -----
(end-of-line)
(setcar (nthcdr 4 state) nil)))
(if (car (nthcdr 3 state))
+ (progn
(forward-line 1)
(setcar (nthcdr 5 state) nil))
(setq innerloop-done t)))
***************
*** 446,451
(setcar (nthcdr 4 state) nil)))
(if (car (nthcdr 3 state))
(forward-line 1)
(setq innerloop-done t)))
(if (setq outer-loop-done (<= next-depth 0))
nil
--- 447,453 -----
(if (car (nthcdr 3 state))
(progn
(forward-line 1)
+ (setcar (nthcdr 5 state) nil))
(setq innerloop-done t)))
(if (setq outer-loop-done (<= next-depth 0))
nil
diff -cbr /u2/emacs/dist-16.56/lisp/lisp.el /u2/emacs/dist/lisp/lisp.el
*** /u2/emacs/dist-16.56/lisp/lisp.el Thu Feb 28 16:32:25 1985
--- /u2/emacs/dist/lisp/lisp.el Mon Sep 16 17:19:14 1985
***************
*** 195,200
(interactive)
(up-list 1)
(forward-char -1)
! (delete-indentation)
(forward-char 1)
(newline-and-indent))
--- 195,204 -----
(interactive)
(up-list 1)
(forward-char -1)
! (while (save-excursion ; this is my contribution
! (let ((before-paren (dot)))
! (back-to-indentation)
! (= (dot) before-paren)))
! (delete-indentation))
(forward-char 1)
(newline-and-indent))
diff -cbr /u2/emacs/dist-16.56/lisp/lpr.el /u2/emacs/dist/lisp/lpr.el
*** /u2/emacs/dist-16.56/lisp/lpr.el Tue Jul 9 01:36:51 1985
--- /u2/emacs/dist/lisp/lpr.el Mon Sep 16 17:19:16 1985
***************
*** 55,61
(insert-buffer-substring oldbuf)
(call-process-region start end "/usr/ucb/expand"
t t nil
! (format1 "-%d" tab-width))))
(apply 'call-process-region
(nconc (list start end "/usr/ucb/lpr"
nil nil nil
--- 55,61 -----
(insert-buffer-substring oldbuf)
(call-process-region start end "/usr/ucb/expand"
t t nil
! (format "-%d" tab-width))))
(apply 'call-process-region
(nconc (list start end "/usr/ucb/lpr"
nil nil nil
diff -cbr /u2/emacs/dist-16.56/lisp/mh-e.el /u2/emacs/dist/lisp/mh-e.el
*** /u2/emacs/dist-16.56/lisp/mh-e.el Fri Jul 12 14:29:22 1985
--- /u2/emacs/dist/lisp/mh-e.el Mon Sep 16 17:19:33 1985
***************
*** 71,76
(defvar mh-current-folder nil "Currently active folder")
(defvar mh-folder-buffer nil "Buffer name of currently active folder")
(defvar mh-show-buffer nil "Name of buffer that displays messages")
;;; Macros:
--- 71,77 -----
(defvar mh-current-folder nil "Currently active folder")
(defvar mh-folder-buffer nil "Buffer name of currently active folder")
(defvar mh-show-buffer nil "Name of buffer that displays messages")
+ (defvar mh-letter-mode-map nil "Command map for composing mail")
;;; Macros:
***************
*** 596,603
(defun mh-undo (&optional arg)
"undo the deletion or move of the specified message(s)."
! (interactive "p")
! (cond ((looking-at "^....d")
(let ((msgs (if arg (mh-read-seq "undelete") (mh-get-msg-num t))))
(setq mh-delete-list (delq msgs mh-delete-list))
(if arg
--- 597,609 -----
(defun mh-undo (&optional arg)
"undo the deletion or move of the specified message(s)."
! (interactive "P")
! (if (and (not arg) (not (looking-at "^....[D^]")))
! (while (and (not (looking-at "^....[D^]")) (not (bobp)))
! (forward-line -1)))
! (cond ((and (not arg) (bobp) (not (looking-at "^....[D^]")))
! (message "Beginning of messages"))
! ((looking-at "^....D")
(let ((msgs (if arg (mh-read-seq "undelete") (mh-get-msg-num t))))
(setq mh-delete-list (delq msgs mh-delete-list))
(if arg
***************
*** 606,612
)
)
((looking-at "^....^")
! (let ((msgs (if arg (mh-read-seq "unmove") (mh-get-msg-num t))))
(mapcar
(function (lambda (move) (setcdr msgs (delq msgs (cdr move)))))
mh-move-list)
--- 612,619 -----
)
)
((looking-at "^....^")
! (let ((msgs (if arg (mh-read-seq "unmove") (mh-get-msg-num t)))
! (temp nil))
(mapcar
(function (lambda (move) (setcdr move (delq msgs (cdr move)))
(if (> (length move) 1) (push move temp)))
***************
*** 608,614
((looking-at "^....^")
(let ((msgs (if arg (mh-read-seq "unmove") (mh-get-msg-num t))))
(mapcar
! (function (lambda (move) (setcdr msgs (delq msgs (cdr move)))))
mh-move-list)
(if arg
(mh-notate-seq msgs ? mh-cmd-note)
--- 615,623 -----
(let ((msgs (if arg (mh-read-seq "unmove") (mh-get-msg-num t)))
(temp nil))
(mapcar
! (function (lambda (move) (setcdr move (delq msgs (cdr move)))
! (if (> (length move) 1) (push move temp)))
! nil)
mh-move-list)
(setq mh-move-list temp)
(if arg
***************
*** 610,615
(mapcar
(function (lambda (move) (setcdr msgs (delq msgs (cdr move)))))
mh-move-list)
(if arg
(mh-notate-seq msgs ? mh-cmd-note)
(mh-notate ? mh-cmd-note))
--- 619,625 -----
(if (> (length move) 1) (push move temp)))
nil)
mh-move-list)
+ (setq mh-move-list temp)
(if arg
(mh-notate-seq msgs ? mh-cmd-note)
(mh-notate ? mh-cmd-note))
***************
*** 950,957
(auto-fill-mode 1))
(setq paragraph-separate "^[- \t\^L]*$")
(setq paragraph-start "^$\\|^\^L\\|^-+$")
! (local-set-key "\^N" 'mh-header-next)
! (local-set-key "\^P" 'mh-header-previous)
(setq major-mode 'mh-letter-mode)
(setq mode-name "mh-letter")
(if (and (boundp 'mh-letter-mode-hook) mh-letter-mode-hook)
--- 960,971 -----
(auto-fill-mode 1))
(setq paragraph-separate "^[- \t\^L]*$")
(setq paragraph-start "^$\\|^\^L\\|^-+$")
! (if (not mh-letter-mode-map)
! (progn
! (setq mh-letter-mode-map (copy-sequence text-mode-map))
! (define-key mh-letter-mode-map "\^N" '&mh-header-next)
! (define-key mh-letter-mode-map "\^P" '&mh-header-previous)))
! (use-local-map mh-letter-mode-map)
(setq major-mode 'mh-letter-mode)
(setq mode-name "mh-letter")
(if (and (boundp 'mh-letter-mode-hook) mh-letter-mode-hook)
diff -cbr /u2/emacs/dist-16.56/lisp/mlconvert.el /u2/emacs/dist/lisp/mlconvert.el
*** /u2/emacs/dist-16.56/lisp/mlconvert.el Thu Jul 4 22:55:31 1985
--- /u2/emacs/dist/lisp/mlconvert.el Mon Sep 16 17:19:37 1985
***************
*** 21,26
(defun convert-mocklisp-buffer ()
"Convert buffer of mocklisp code into real lisp."
(interactive)
(message "Converting mocklisp (ugh!)...")
(goto-char (dot-min))
(insert ";;; GNU Emacs code converted from Mocklisp\n")
--- 21,27 -----
(defun convert-mocklisp-buffer ()
"Convert buffer of mocklisp code into real lisp."
(interactive)
+ (emacs-lisp-mode)
(message "Converting mocklisp (ugh!)...")
(goto-char (dot-min))
(insert ";;; GNU Emacs code converted from Mocklisp\n")
***************
*** 125,130
(ml-expansion 'yank-buffer "insert-buffer")
(ml-expansion 'delete-white-space "delete-horizontal-space")
(ml-expansion 'widen-region "widen")
(ml-expansion 'forward-paren "forward-list")
(ml-expansion 'backward-paren "backward-list")
--- 126,138 -----
(ml-expansion 'yank-buffer "insert-buffer")
(ml-expansion 'delete-white-space "delete-horizontal-space")
(ml-expansion 'widen-region "widen")
+
+ (ml-expansion 'forward-word '(lambda ()
+ (if (looking-at "forward-word[ \t\n]*)")
+ (replace-match "forward-word 1)"))))
+ (ml-expansion 'backward-word '(lambda ()
+ (if (looking-at "backward-word[ \t\n]*)")
+ (replace-match "backward-word 1)"))))
(ml-expansion 'forward-paren "forward-list")
(ml-expansion 'backward-paren "backward-list")
diff -cbr /u2/emacs/dist-16.56/lisp/mlsupport.el /u2/emacs/dist/lisp/mlsupport.el
*** /u2/emacs/dist-16.56/lisp/mlsupport.el Tue Jun 11 00:41:46 1985
--- /u2/emacs/dist/lisp/mlsupport.el Mon Sep 16 17:19:47 1985
***************
*** 121,127
(defun kill-to-end-of-line ()
(ml-prefix-argument-loop
! (if (eolp) (kill-region (dot) (1+ (dot))))))
(defun set-auto-fill-hook (arg)
(setq auto-fill-hook (intern arg)))
--- 121,130 -----
(defun kill-to-end-of-line ()
(ml-prefix-argument-loop
! (if (eolp)
! (kill-region (dot) (1+ (dot)))
! (kill-region (dot) (if (search-forward ?\n nil t)
! (1- (dot)) (dot-max))))))
(defun set-auto-fill-hook (arg)
(setq auto-fill-hook (intern arg)))
***************
*** 200,206
(1+ (current-column)))
(defun ml-current-indent ()
! (1+ (current-indent)))
(defun use-abbrev-table (name)
(let ((symbol (intern (concat name "-abbrev-table"))))
--- 203,209 -----
(1+ (current-column)))
(defun ml-current-indent ()
! (1+ (current-indentation)))
(defun use-abbrev-table (name)
(let ((symbol (intern (concat name "-abbrev-table"))))
***************
*** 381,383
(while (<= c lim)
(modify-syntax-entry c datastring)
(setq c (1+ c)))
--- 384,387 -----
(while (<= c lim)
(modify-syntax-entry c datastring)
(setq c (1+ c)))
+ (setq i (+ 2 i)))))))
diff -cbr /u2/emacs/dist-16.56/lisp/rmail.el /u2/emacs/dist/lisp/rmail.el
*** /u2/emacs/dist-16.56/lisp/rmail.el Tue Jul 9 12:54:54 1985
--- /u2/emacs/dist/lisp/rmail.el Mon Sep 16 17:20:08 1985
***************
*** 795,800
(widen)
(let* ((dot-save (dot))
(total-messages 0)
(messages-head (cons (progn (goto-char (dot-min)) (dot-marker)) nil))
(messages-tail messages-head)
(deleted-head (cons ?D nil))
--- 795,801 -----
(widen)
(let* ((dot-save (dot))
(total-messages 0)
+ (case-fold-search nil)
(messages-head (cons (progn (goto-char (dot-min)) (dot-marker)) nil))
(messages-tail messages-head)
(deleted-head (cons ?D nil))
***************
*** 941,947
(apply function args)
(setq win t))
(if win
! (rmail-show-message (rmail-what-message))
(goto-char odot)
(narrow-to-region omin omax)))))
--- 942,948 -----
(apply function args)
(setq win t))
(if win
! (progn (rmail-show-message (rmail-what-message)) t)
(goto-char odot)
(narrow-to-region omin omax)
nil))))
***************
*** 943,949
(if win
(rmail-show-message (rmail-what-message))
(goto-char odot)
! (narrow-to-region omin omax)))))
;; *** Rmail Message Deletion Commands ***
--- 944,951 -----
(if win
(progn (rmail-show-message (rmail-what-message)) t)
(goto-char odot)
! (narrow-to-region omin omax)
! nil))))
;; *** Rmail Message Deletion Commands ***
***************
*** 1035,1042
(message "Expunging deleted messages...done")
(if (not win)
(narrow-to-region (- (buffer-size) omin) (- (buffer-size) omax)))
! (rmail-show-message))))
!
;; *** Rmail Mailing Commands ***
--- 1037,1044 -----
(message "Expunging deleted messages...done")
(if (not win)
(narrow-to-region (- (buffer-size) omin) (- (buffer-size) omax)))
! (rmail-show-message
! (if (zerop rmail-current-message) 1 nil)))))
;; *** Rmail Mailing Commands ***
diff -cbr /u2/emacs/dist-16.56/lisp/rmailedit.el /u2/emacs/dist/lisp/rmailedit.el
*** /u2/emacs/dist-16.56/lisp/rmailedit.el Sat Jun 22 17:57:12 1985
--- /u2/emacs/dist/lisp/rmailedit.el Mon Sep 16 17:20:16 1985
***************
*** 32,38
(setq mode-line-format default-mode-line-format)
(and (boundp 'text-mode-hook)
text-mode-hook
! (funcall 'text-mode-hook)))
(defun rmail-edit-current-message ()
"Edit the contents of this message."
--- 32,38 -----
(setq mode-line-format default-mode-line-format)
(and (boundp 'text-mode-hook)
text-mode-hook
! (funcall text-mode-hook)))
(defun rmail-edit-current-message ()
"Edit the contents of this message."
diff -cbr /u2/emacs/dist-16.56/lisp/rnews.el /u2/emacs/dist/lisp/rnews.el
*** /u2/emacs/dist-16.56/lisp/rnews.el Wed Jul 3 12:37:12 1985
--- /u2/emacs/dist/lisp/rnews.el Mon Sep 16 17:20:28 1985
***************
*** 96,102
nil
(setq news-mode-map (make-keymap))
(suppress-keymap news-mode-map)
! (define-key news-mode-map "." 'beginning-of-article)
(define-key news-mode-map " " 'scroll-up)
(define-key news-mode-map "\177" 'scroll-down)
(define-key news-mode-map "n" 'news-next-message)
--- 96,102 -----
nil
(setq news-mode-map (make-keymap))
(suppress-keymap news-mode-map)
! (define-key news-mode-map "." 'beginning-of-buffer)
(define-key news-mode-map " " 'scroll-up)
(define-key news-mode-map "\177" 'scroll-down)
(define-key news-mode-map "n" 'news-next-message)
***************
*** 435,441
(let* ((start (dot))
(end (condition-case ()
(progn (search-forward "\n\n") (dot))
! (error "Can't find eoh")))
has-from has-date)
(cond (end
(narrow-to-region start end)
--- 435,441 -----
(let* ((start (dot))
(end (condition-case ()
(progn (search-forward "\n\n") (dot))
! (error nil)))
has-from has-date)
(cond (end
(narrow-to-region start end)
***************
*** 449,455
(news-delete-headers start)
(goto-char start)))))))
! (defun news-delete-headers(pos)
(goto-char pos)
(while (re-search-forward news-ignored-headers nil t)
(beginning-of-line)
--- 449,461 -----
(news-delete-headers start)
(goto-char start)))))))
! (defun news-show-all-headers ()
! "Redisplay current news item with all original headers"
! (interactive)
! (let (news-ignored-headers)
! (news-get-back)))
!
! (defun news-delete-headers (pos)
(goto-char pos)
(and (stringp news-ignored-headers)
(while (re-search-forward news-ignored-headers nil t)
***************
*** 451,456
(defun news-delete-headers(pos)
(goto-char pos)
(while (re-search-forward news-ignored-headers nil t)
(beginning-of-line)
(delete-region (dot)
--- 457,463 -----
(defun news-delete-headers (pos)
(goto-char pos)
+ (and (stringp news-ignored-headers)
(while (re-search-forward news-ignored-headers nil t)
(beginning-of-line)
(delete-region (dot)
***************
*** 456,462
(delete-region (dot)
(progn (re-search-forward "\n[^ \t]")
(forward-char -1)
! (dot)))))
(defun news-quit ()
"Quit news reading without updating newsrc file."
--- 463,469 -----
(delete-region (dot)
(progn (re-search-forward "\n[^ \t]")
(forward-char -1)
! (dot))))))
(defun news-quit ()
"Quit news reading without updating newsrc file."
diff -cbr /u2/emacs/dist-16.56/lisp/shell.el /u2/emacs/dist/lisp/shell.el
*** /u2/emacs/dist-16.56/lisp/shell.el Tue Jun 18 00:57:24 1985
--- /u2/emacs/dist/lisp/shell.el Mon Sep 16 17:20:32 1985
***************
*** 154,162
(interactive)
(end-of-line)
(if (eobp)
- (let ((mark (process-mark (get-buffer-process (current-buffer)))))
- (newline)
- (if (/= (dot) mark)
(progn
(move-marker last-input-start mark)
(move-marker last-input-end (dot)))))
--- 154,159 -----
(interactive)
(end-of-line)
(if (eobp)
(progn
(move-marker last-input-start
(process-mark (get-buffer-process (current-buffer))))
***************
*** 158,165
(newline)
(if (/= (dot) mark)
(progn
! (move-marker last-input-start mark)
! (move-marker last-input-end (dot)))))
(beginning-of-line)
(re-search-forward shell-prompt-pattern nil t)
(let ((copy (buffer-substring (dot)
--- 155,164 -----
(end-of-line)
(if (eobp)
(progn
! (move-marker last-input-start
! (process-mark (get-buffer-process (current-buffer))))
! (insert ?\n)
! (move-marker last-input-end (dot)))
(beginning-of-line)
(re-search-forward shell-prompt-pattern nil t)
(let ((copy (buffer-substring (dot)
diff -cbr /u2/emacs/dist-16.56/lisp/simple.el /u2/emacs/dist/lisp/simple.el
*** /u2/emacs/dist-16.56/lisp/simple.el Wed Jul 10 20:51:28 1985
--- /u2/emacs/dist/lisp/simple.el Mon Sep 16 17:20:54 1985
***************
*** 46,52
represented by the octal number consisting of those digits"
(let ((count 0) (code 0) char)
(while (< count 3)
! (let ((inhibit-quit (zerop count)))
(and prompt (message "%s-" prompt))
(setq char (read-char))
(setq quit-flag nil))
--- 46,53 -----
represented by the octal number consisting of those digits"
(let ((count 0) (code 0) char)
(while (< count 3)
! (let ((inhibit-quit (zerop count))
! (help-form nil))
(and prompt (message "%s-" prompt))
(setq char (read-char))
(setq quit-flag nil))
***************
*** 79,84
(interactive "*P")
(beginning-of-line)
(if arg (forward-line 1))
(delete-region (dot) (1- (dot)))
(fixup-whitespace))
--- 80,87 -----
(interactive "*P")
(beginning-of-line)
(if arg (forward-line 1))
+ (if (not (bobp))
+ (progn
(delete-region (dot) (1- (dot)))
(fixup-whitespace))))
***************
*** 80,86
(beginning-of-line)
(if arg (forward-line 1))
(delete-region (dot) (1- (dot)))
! (fixup-whitespace))
(defun fixup-whitespace ()
"Fixup white space between objects around dot.
--- 83,89 -----
(if (not (bobp))
(progn
(delete-region (dot) (1- (dot)))
! (fixup-whitespace))))
(defun fixup-whitespace ()
"Fixup white space between objects around dot.
***************
*** 126,132
(not (looking-at "[ \t]*$")))))))
(if thisblank
(progn
! (end-of-line)
(if singleblank (forward-line 1))
(delete-region (dot)
(if (re-search-backward "[^ \t\n]" nil t)
--- 129,135 -----
(not (looking-at "[ \t]*$")))))))
(if thisblank
(progn
! (beginning-of-line)
(if singleblank (forward-line 1))
(delete-region (dot)
(if (re-search-backward "[^ \t\n]" nil t)
***************
*** 132,137
(if (re-search-backward "[^ \t\n]" nil t)
(progn (forward-line 1) (dot))
(dot-min)))))
(save-excursion
(end-of-line)
(forward-line 1)
--- 135,141 -----
(if (re-search-backward "[^ \t\n]" nil t)
(progn (forward-line 1) (dot))
(dot-min)))))
+ (if (not (and thisblank singleblank))
(save-excursion
(end-of-line)
(forward-line 1)
***************
*** 138,144
(delete-region (dot)
(if (re-search-forward "[^ \t\n]" nil t)
(progn (beginning-of-line) (dot))
! (dot-max))))))
(defun back-to-indentation ()
"Move dot to the first non-whitespace character on this line."
--- 142,148 -----
(delete-region (dot)
(if (re-search-forward "[^ \t\n]" nil t)
(progn (beginning-of-line) (dot))
! (dot-max)))))))
(defun back-to-indentation ()
"Move dot to the first non-whitespace character on this line."
***************
*** 388,393
(set-buffer buffer)
(widen)
(erase-buffer))
(unwind-protect
(call-process-region start end shell-file-name
nil buffer t
--- 392,399 -----
(set-buffer buffer)
(widen)
(erase-buffer))
+ (if (eq buffer (current-buffer))
+ (setq start 1 end 1))
(unwind-protect
(call-process-region start end shell-file-name
nil buffer t
***************
*** 739,745
(defvar goal-column nil
"Semipermanent goal column for vertical motion, as set by \\[set-goal-column], or nil.")
! (defvar temporary-goal-column nil
"Current goal column for vertical motion.
It is the column where dot was at the start of current run of vertical motion commands.")
--- 745,751 -----
(defvar goal-column nil
"Semipermanent goal column for vertical motion, as set by \\[set-goal-column], or nil.")
! (defvar temporary-goal-column 0
"Current goal column for vertical motion.
It is the column where dot was at the start of current run of vertical motion commands.")
diff -cbr /u2/emacs/dist-16.56/lisp/spell.el /u2/emacs/dist/lisp/spell.el
*** /u2/emacs/dist-16.56/lisp/spell.el Thu Feb 28 16:31:57 1985
--- /u2/emacs/dist/lisp/spell.el Mon Sep 16 17:20:59 1985
***************
*** 28,34
(spell-region (dot-min) (dot-max) "buffer"))
(defun spell-word ()
! "Check spelling of word at or after dot.
If it is not correct, ask user for the correct spelling
and query-replace the entire buffer to substitute it."
(interactive)
--- 28,34 -----
(spell-region (dot-min) (dot-max) "buffer"))
(defun spell-word ()
! "Check spelling of word at or before dot.
If it is not correct, ask user for the correct spelling
and query-replace the entire buffer to substitute it."
(interactive)
***************
*** 34,39
(interactive)
(let (beg end)
(save-excursion
(forward-word 1)
(setq end (dot))
(forward-word -1)
--- 34,42 -----
(interactive)
(let (beg end)
(save-excursion
+ (if (not (looking-at "\\<"))
+ (forward-word -1))
+ (setq beg (dot))
(forward-word 1)
(setq end (dot)))
(spell-region beg end (buffer-substring beg end))))
***************
*** 35,43
(let (beg end)
(save-excursion
(forward-word 1)
! (setq end (dot))
! (forward-word -1)
! (setq beg (dot)))
(spell-region beg end (buffer-substring beg end))))
(defun spell-region (start end &optional description)
--- 38,44 -----
(forward-word -1))
(setq beg (dot))
(forward-word 1)
! (setq end (dot)))
(spell-region beg end (buffer-substring beg end))))
(defun spell-region (start end &optional description)
diff -cbr /u2/emacs/dist-16.56/lisp/startup.el /u2/emacs/dist/lisp/startup.el
*** /u2/emacs/dist-16.56/lisp/startup.el Wed Jul 3 16:29:26 1985
--- /u2/emacs/dist/lisp/startup.el Mon Sep 16 17:21:03 1985
***************
*** 112,120
(while args
(let ((argi (car args)))
(setq args (cdr args))
! (cond ((string-equal argi "-e")
! (setq tem (funcall (intern (car args)))
! args (cdr args)))
((string-equal argi "-l")
(setq tem (load (expand-file-name (car args) dir))
args (cdr args)))
--- 112,123 -----
(while args
(let ((argi (car args)))
(setq args (cdr args))
! (cond ((or (string-equal argi "-e")
! ;; this is what the manual claims...
! (string-equal argi "-f"))
! (setq tem (intern (car args))
! args (cdr args))
! (setq tem (funcall tem)))
((string-equal argi "-l")
(setq tem (load (expand-file-name (car args) dir))
args (cdr args)))
diff -cbr /u2/emacs/dist-16.56/lisp/tags.el /u2/emacs/dist/lisp/tags.el
*** /u2/emacs/dist-16.56/lisp/tags.el Sun Jun 9 21:09:12 1985
--- /u2/emacs/dist/lisp/tags.el Mon Sep 16 17:21:08 1985
***************
*** 105,111
that matches the tagname used in the previous find-tag.
See documentation of variable tags-file-name."
! (interactive "sFind tag: \nP")
(if (equal tagname "")
(setq tagname (save-excursion
(buffer-substring
--- 105,113 -----
that matches the tagname used in the previous find-tag.
See documentation of variable tags-file-name."
! (interactive (if current-prefix-arg
! '(nil t)
! (list (read-string "Find tag: "))))
(if (equal tagname "")
(setq tagname (save-excursion
(buffer-substring
diff -cbr /u2/emacs/dist-16.56/lisp/time.el /u2/emacs/dist/lisp/time.el
*** /u2/emacs/dist-16.56/lisp/time.el Sun Jun 2 18:25:58 1985
--- /u2/emacs/dist/lisp/time.el Mon Sep 16 17:21:11 1985
***************
*** 52,57
(sit-for 0))
(defun display-time-filter (proc string)
(let (idx)
(while (setq idx (string-match "]." string))
(setq string (substring string (1+ idx)))))
--- 52,64 -----
(sit-for 0))
(defun display-time-filter (proc string)
+ ;; Desired data can't need more than the last 30 chars,
+ ;; so save time by flushing the rest.
+ ;; This way, if we have many different times all collected at once,
+ ;; we can discard all but the last few very fast.
+ (if (> (length string) 30)
+ (setq string (substring string -30)))
+ ;; Now discard all but the very last one.
(let (idx)
(while (setq idx (string-match "]." string))
(setq string (substring string (1+ idx)))))
diff -cbr /u2/emacs/dist-16.56/lisp/version.el /u2/emacs/dist/lisp/version.el
*** /u2/emacs/dist-16.56/lisp/version.el Mon Jul 15 15:35:36 1985
--- /u2/emacs/dist/lisp/version.el Mon Sep 16 20:25:27 1985
***************
*** 20,26
;; The following line is modified automatically
;; by loading inc-version.el, each time a new Emacs is dumped.
! (defconst emacs-version "16.56.0"
"Version numbers of this version of Emacs.")
(defconst emacs-build-time (current-time-string)
--- 20,26 -----
;; The following line is modified automatically
;; by loading inc-version.el, each time a new Emacs is dumped.
! (defconst emacs-version "16.57.0"
"Version numbers of this version of Emacs.")
(defconst emacs-build-time (current-time-string)
More information about the Comp.sources.unix
mailing list