Mercurial > hg > xemacs-beta
comparison lisp/simple.el @ 613:023b83f4e54b
[xemacs-hg @ 2001-06-10 10:42:16 by ben]
------ signal-code changes ------
data.c, device-tty.c, emacs.c, floatfns.c, linuxplay.c, nas.c,
process-unix.c, signal.c, sunplay.c, sysdep.c, syssignal.h:
use EMACS_SIGNAL everywhere instead of playing preprocessing
games with signal().
s\windowsnt.h, s\mingw32.h, syssignal.h:
Remove mswindows signal code from s+m headers and move to
syssignal.h as one of the five ways of signal handling,
instead of playing preprocessing games.
fileio.c, sysdep.c:
Rename sys_do_signal to qxe_reliable_signal.
signal.c, process-unix.c, profile.c:
Create set_timeout_signal(); use instead of just EMACS_SIGNAL
to establish a signal handler on a timeout signal; this does
special things under Cygwin.
nt.c:
Eliminate term_ntproc(), which is blank; used as a SIGABRT
handler, which was wrong anyway.
nt.c, win32.c:
Move signal code from nt.c to win32.c, since Cygwin needs it
too when dealing with timeout signals.
s\cygwin32.h:
Define CYGWIN_BROKEN_SIGNALS.
------ other changes ------
s\mingw32.h:
Fix problems with NOT_C_CODE being in the wrong place and
excluding defines needed when building Makefile.in.in.
filelock.c, mule-canna.c, mule-ccl.c, mule-ccl.h, ralloc.c,
unexalpha.c, unexapollo.c, unexcw.c, unexelfsgi.c, unexnt.c,
unexsni.c, s\aix3-1.h, s\bsd4-1.h, s\bsd4-2.h, s\bsd4-3.h, s\cxux.h,
s\cygwin32.h, s\dgux.h, s\dgux5-4r2.h, s\dgux5-4r3.h, s\dgux5-4r4.h,
s\ewsux5r4.h, s\gnu.h, s\hpux.h, s\iris3-5.h, s\iris3-6.h,
s\irix3-3.h, s\linux.h, s\mingw32.h, s\newsos5.h, s\nextstep.h,
s\ptx.h, s\riscix1-1.h, s\riscix1-2.h, s\rtu.h, s\sco4.h, s\sco5.h,
s\template.h, s\ultrix.h, s\umax.h, s\umips.h, s\unipl5-0.h,
s\unipl5-2.h, s\usg5-0.h, s\usg5-2-2.h, s\usg5-2.h, s\usg5-3.h,
s\usg5-4.h, s\windowsnt.h, s\xenix.h:
Rename 'GNU Emacs' to XEmacs in the copyright and comments.
nas.c:
Stylistic cleanup. Avoid preprocessing games with names such
as play_sound_file.
------ signal-code changes ------
data.c, device-tty.c, emacs.c, floatfns.c, linuxplay.c, nas.c,
process-unix.c, signal.c, sunplay.c, sysdep.c, syssignal.h:
use EMACS_SIGNAL everywhere instead of playing preprocessing
games with signal().
s\windowsnt.h, s\mingw32.h, syssignal.h:
Remove mswindows signal code from s+m headers and move to
syssignal.h as one of the five ways of signal handling,
instead of playing preprocessing games.
fileio.c, sysdep.c:
Rename sys_do_signal to qxe_reliable_signal.
signal.c, process-unix.c, profile.c:
Create set_timeout_signal(); use instead of just EMACS_SIGNAL
to establish a signal handler on a timeout signal; this does
special things under Cygwin.
nt.c:
Eliminate term_ntproc(), which is blank; used as a SIGABRT
handler, which was wrong anyway.
nt.c, win32.c:
Move signal code from nt.c to win32.c, since Cygwin needs it
too when dealing with timeout signals.
s\cygwin32.h:
Define CYGWIN_BROKEN_SIGNALS.
------ other changes ------
s\mingw32.h:
Fix problems with NOT_C_CODE being in the wrong place and
excluding defines needed when building Makefile.in.in.
filelock.c, mule-canna.c, mule-ccl.c, mule-ccl.h, ralloc.c,
unexalpha.c, unexapollo.c, unexcw.c, unexelfsgi.c, unexnt.c,
unexsni.c, s\aix3-1.h, s\bsd4-1.h, s\bsd4-2.h, s\bsd4-3.h, s\cxux.h,
s\cygwin32.h, s\dgux.h, s\dgux5-4r2.h, s\dgux5-4r3.h, s\dgux5-4r4.h,
s\ewsux5r4.h, s\gnu.h, s\hpux.h, s\iris3-5.h, s\iris3-6.h,
s\irix3-3.h, s\linux.h, s\mingw32.h, s\newsos5.h, s\nextstep.h,
s\ptx.h, s\riscix1-1.h, s\riscix1-2.h, s\rtu.h, s\sco4.h, s\sco5.h,
s\template.h, s\ultrix.h, s\umax.h, s\umips.h, s\unipl5-0.h,
s\unipl5-2.h, s\usg5-0.h, s\usg5-2-2.h, s\usg5-2.h, s\usg5-3.h,
s\usg5-4.h, s\windowsnt.h, s\xenix.h:
Rename 'GNU Emacs' to XEmacs in the copyright and comments.
nas.c:
Stylistic cleanup. Avoid preprocessing games with names such
as play_sound_file.
xemacs-faq.texi:
Update sections on Windows and MacOS availability.
alist.el, apropos.el, autoload.el, bytecomp.el, cl-compat.el, cl-extra.el, cl-macs.el, cl-seq.el, cl.el, cmdloop.el, cus-edit.el, derived.el, gpm.el, itimer.el, lisp-mode.el, shadow.el, version.el, wid-browse.el:
Rename 'GNU Emacs' to XEmacs in the copyright. Fix other
references to GNU Emacs that should be XEmacs or just Emacs.
files.el:
Fix warning.
simple.el:
transpose-line-up/down will now move the region up or down by
a line if active.
cvtmail.c, fakemail.c, gnuserv.c, gnuserv.h, gnuslib.c, make-msgfile.c, make-path.c, pop.c, pop.h, profile.c, tcp.c:
Rename 'GNU Emacs' to XEmacs in the copyright.
Fix comments in similar ways.
digest-doc.c, sorted-doc.c:
Fix program and author name to reflect XEmacs.
author | ben |
---|---|
date | Sun, 10 Jun 2001 10:42:39 +0000 |
parents | 98fb34b6fbe9 |
children | 943eaba38521 |
comparison
equal
deleted
inserted
replaced
612:ff0d9e7facba | 613:023b83f4e54b |
---|---|
2515 Does not work on a sexp that point is in the middle of | 2515 Does not work on a sexp that point is in the middle of |
2516 if it is a list or string." | 2516 if it is a list or string." |
2517 (interactive "*p") | 2517 (interactive "*p") |
2518 (transpose-subr 'forward-sexp arg)) | 2518 (transpose-subr 'forward-sexp arg)) |
2519 | 2519 |
2520 (defun Simple-forward-line-creating-newline () | |
2521 ;; Move forward over a line, | |
2522 ;; but create a newline if none exists yet. | |
2523 (end-of-line) | |
2524 (if (eobp) | |
2525 (newline) | |
2526 (forward-char 1))) | |
2527 | |
2528 (defun Simple-transpose-lines-mover (arg) | |
2529 (if (= arg 1) | |
2530 (Simple-forward-line-creating-newline) | |
2531 (forward-line arg))) | |
2532 | |
2520 (defun transpose-lines (arg) | 2533 (defun transpose-lines (arg) |
2521 "Exchange current line and previous line, leaving point after both. | 2534 "Exchange current line and previous line, leaving point after both. |
2522 With argument ARG, takes previous line and moves it past ARG lines. | 2535 With argument ARG, takes previous line and moves it past ARG lines. |
2523 With argument 0, interchanges line point is in with line mark is in." | 2536 With argument 0, interchanges line point is in with line mark is in." |
2524 (interactive "*p") | 2537 (interactive "*p") |
2525 (transpose-subr #'(lambda (arg) | 2538 (transpose-subr 'Simple-transpose-lines-mover arg)) |
2526 (if (= arg 1) | |
2527 (progn | |
2528 ;; Move forward over a line, | |
2529 ;; but create a newline if none exists yet. | |
2530 (end-of-line) | |
2531 (if (eobp) | |
2532 (newline) | |
2533 (forward-char 1))) | |
2534 (forward-line arg))) | |
2535 arg)) | |
2536 | 2539 |
2537 (defun transpose-line-up (arg) | 2540 (defun transpose-line-up (arg) |
2538 "Move current line one line up, leaving point at beginning of that line. | 2541 "Move current line one line up, leaving point at beginning of that line. |
2539 This can be run repeatedly to move the current line up a number of lines." | 2542 With argument ARG, move it ARG lines up. This can be run repeatedly |
2543 to move the current line up a number of lines. | |
2544 | |
2545 If the region is active, move the region up one line (or ARG lines, | |
2546 if specified). The region will not be selected afterwards, but this | |
2547 command can still be run repeatedly to move the region up a number | |
2548 of lines." | |
2540 (interactive "*p") | 2549 (interactive "*p") |
2541 ;; Move forward over a line, | 2550 (transpose-line-down (- arg))) |
2542 ;; but create a newline if none exists yet. | |
2543 (end-of-line) | |
2544 (if (eobp) | |
2545 (newline) | |
2546 (forward-char 1)) | |
2547 (transpose-lines (- arg)) | |
2548 (forward-line -1)) | |
2549 | 2551 |
2550 (defun transpose-line-down (arg) | 2552 (defun transpose-line-down (arg) |
2551 "Move current line one line down, leaving point at beginning of that line. | 2553 "Move current line one line down, leaving point at beginning of that line. |
2552 This can be run repeatedly to move the current line down a number of lines." | 2554 With argument ARG, move it ARG lines down. This can be run repeatedly |
2555 to move the current line down a number of lines. | |
2556 | |
2557 If the region is active, move the region down one line (or ARG lines, | |
2558 if specified). The region will not be selected afterwards, but this | |
2559 command can still be run repeatedly to move the region down a number | |
2560 of lines." | |
2553 (interactive "*p") | 2561 (interactive "*p") |
2554 ;; Move forward over a line, | 2562 (if (or (region-active-p) |
2555 ;; but create a newline if none exists yet. | 2563 (getf last-command-properties 'transpose-region-by-line-command)) |
2556 (end-of-line) | 2564 (progn |
2557 (if (eobp) | 2565 (transpose-subr 'Simple-transpose-lines-mover arg t) |
2558 (newline) | 2566 (putf this-command-properties 'transpose-region-by-line-command t)) |
2559 (forward-char 1)) | 2567 (Simple-forward-line-creating-newline) |
2560 (transpose-lines arg) | 2568 (transpose-subr 'Simple-transpose-lines-mover arg) |
2561 (forward-line -1)) | 2569 (forward-line -1))) |
2562 | 2570 |
2563 (defun transpose-subr (mover arg) | 2571 (defun transpose-subr (mover arg &optional move-region) |
2564 (let (start1 end1 start2 end2) | 2572 (let (start1 end1 start2 end2) |
2565 ;; XEmacs -- use flet instead of defining a separate function and | 2573 ;; XEmacs -- use flet instead of defining a separate function and |
2566 ;; relying on dynamic scope!!! | 2574 ;; relying on dynamic scope; use (mark t) etc; add code to support |
2575 ;; the new MOVE-REGION arg. | |
2567 (flet ((transpose-subr-1 () | 2576 (flet ((transpose-subr-1 () |
2568 (if (> (min end1 end2) (max start1 start2)) | 2577 (if (> (min end1 end2) (max start1 start2)) |
2569 (error "Don't have two things to transpose")) | 2578 (error "Don't have two things to transpose")) |
2570 (let ((word1 (buffer-substring start1 end1)) | 2579 (let ((word1 (buffer-substring start1 end1)) |
2571 (word2 (buffer-substring start2 end2))) | 2580 (word2 (buffer-substring start2 end2))) |
2581 (save-excursion | 2590 (save-excursion |
2582 (funcall mover 1) | 2591 (funcall mover 1) |
2583 (setq end2 (point)) | 2592 (setq end2 (point)) |
2584 (funcall mover -1) | 2593 (funcall mover -1) |
2585 (setq start2 (point)) | 2594 (setq start2 (point)) |
2586 (goto-char (mark t)) ; XEmacs | 2595 (goto-char (mark t)) |
2587 (funcall mover 1) | 2596 (funcall mover 1) |
2588 (setq end1 (point)) | 2597 (setq end1 (point)) |
2589 (funcall mover -1) | 2598 (funcall mover -1) |
2590 (setq start1 (point)) | 2599 (setq start1 (point)) |
2591 (transpose-subr-1)) | 2600 (transpose-subr-1)) |
2592 (exchange-point-and-mark t))) ; XEmacs | 2601 (exchange-point-and-mark t))) |
2593 (while (> arg 0) | 2602 (if move-region |
2594 (funcall mover -1) | 2603 (let ((rbeg (region-beginning)) |
2595 (setq start1 (point)) | 2604 (rend (region-end))) |
2596 (funcall mover 1) | 2605 (while (> arg 0) |
2597 (setq end1 (point)) | 2606 (goto-char rend) |
2598 (funcall mover 1) | 2607 (funcall mover 1) |
2599 (setq end2 (point)) | 2608 (setq end2 (point)) |
2600 (funcall mover -1) | 2609 (funcall mover -1) |
2601 (setq start2 (point)) | 2610 (setq start2 (point)) |
2602 (transpose-subr-1) | 2611 (setq start1 rbeg end1 rend) |
2603 (goto-char end2) | 2612 (transpose-subr-1) |
2604 (setq arg (1- arg))) | 2613 (incf rbeg (- end2 start2)) |
2605 (while (< arg 0) | 2614 (incf rend (- end2 start2)) |
2606 (funcall mover -1) | 2615 (setq arg (1- arg))) |
2607 (setq start2 (point)) | 2616 (while (< arg 0) |
2608 (funcall mover -1) | 2617 (goto-char rbeg) |
2609 (setq start1 (point)) | 2618 (funcall mover -1) |
2610 (funcall mover 1) | 2619 (setq start1 (point)) |
2611 (setq end1 (point)) | 2620 (funcall mover 1) |
2612 (funcall mover 1) | 2621 (setq end1 (point)) |
2613 (setq end2 (point)) | 2622 (setq start2 rbeg end2 rend) |
2614 (transpose-subr-1) | 2623 (transpose-subr-1) |
2615 (setq arg (1+ arg)))))) | 2624 (decf rbeg (- end1 start1)) |
2625 (decf rend (- end1 start1)) | |
2626 (setq arg (1+ arg))) | |
2627 (set-mark rbeg) | |
2628 (goto-char rend)) | |
2629 (while (> arg 0) | |
2630 (funcall mover -1) | |
2631 (setq start1 (point)) | |
2632 (funcall mover 1) | |
2633 (setq end1 (point)) | |
2634 (funcall mover 1) | |
2635 (setq end2 (point)) | |
2636 (funcall mover -1) | |
2637 (setq start2 (point)) | |
2638 (transpose-subr-1) | |
2639 (goto-char end2) | |
2640 (setq arg (1- arg))) | |
2641 (while (< arg 0) | |
2642 (funcall mover -1) | |
2643 (setq start2 (point)) | |
2644 (funcall mover -1) | |
2645 (setq start1 (point)) | |
2646 (funcall mover 1) | |
2647 (setq end1 (point)) | |
2648 (funcall mover 1) | |
2649 (setq end2 (point)) | |
2650 (transpose-subr-1) | |
2651 (setq arg (1+ arg))))))) | |
2616 | 2652 |
2617 | 2653 |
2618 (defcustom comment-column 32 | 2654 (defcustom comment-column 32 |
2619 "*Column to indent right-margin comments to. | 2655 "*Column to indent right-margin comments to. |
2620 Setting this variable automatically makes it local to the current buffer. | 2656 Setting this variable automatically makes it local to the current buffer. |