[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/idlwave 3a07aca242 162/360: - Use custom face for pendi
From: |
ELPA Syncer |
Subject: |
[elpa] externals/idlwave 3a07aca242 162/360: - Use custom face for pending EDB mode lines, rather than |
Date: |
Sun, 28 Apr 2024 00:59:19 -0400 (EDT) |
branch: externals/idlwave
commit 3a07aca242c5705186620f54b28b5dc2252e3994
Author: jdsmith <jdsmith>
Commit: jdsmith <jdsmith>
- Use custom face for pending EDB mode lines, rather than
background-color property.
- Add blank at the end of input-ring, and also store partial inputs to
recover there.
---
idlw-shell.el | 62 +++++++++++++++++++++++++++++++++++++++++++++--------------
1 file changed, 48 insertions(+), 14 deletions(-)
diff --git a/idlw-shell.el b/idlw-shell.el
index 5181b912b1..86522a3d4c 100644
--- a/idlw-shell.el
+++ b/idlw-shell.el
@@ -7,7 +7,7 @@
;; Chris Chase <chase@att.com>
;; Maintainer: J.D. Smith <jdsmith@as.arizona.edu>
;; Version: VERSIONTAG
-;; Date: $Date: 2006/02/16 22:27:44 $
+;; Date: $Date: 2006/04/12 22:58:23 $
;; Keywords: processes
;; This file is part of GNU Emacs.
@@ -507,11 +507,11 @@ line where IDL is stopped. See also
`idlwave-shell-mark-stop-line'."
(defcustom idlwave-shell-electric-stop-line-face
(prog1
- (copy-face 'modeline 'idlwave-shell-electric-stop-line-face)
- (set-face-background 'idlwave-shell-electric-stop-line-face
+ (copy-face 'modeline 'idlwave-shell-electric-stop-line)
+ (set-face-background 'idlwave-shell-electric-stop-line
idlwave-shell-electric-stop-color)
(condition-case nil
- (set-face-foreground 'idlwave-shell-electric-stop-line-face nil)
+ (set-face-foreground 'idlwave-shell-electric-stop-line nil)
(error nil)))
"*The face for `idlwave-shell-stop-line-overlay' when in electric debug mode.
Allows you to choose the font, color and other properties for the line
@@ -726,6 +726,15 @@ the directory stack.")
(overlay-put idlwave-shell-output-overlay
'face idlwave-shell-output-face)
+(copy-face idlwave-shell-stop-line-face
+ 'idlwave-shell-pending-stop)
+(copy-face idlwave-shell-electric-stop-line-face
+ 'idlwave-shell-pending-electric-stop)
+(set-face-background 'idlwave-shell-pending-stop "gray70")
+(set-face-background 'idlwave-shell-pending-electric-stop "gray70")
+
+
+
(defvar idlwave-shell-bp-query "help,/breakpoints"
"Command to obtain list of breakpoints")
@@ -1453,6 +1462,8 @@ when the IDL prompt gets displayed again after the
current IDL command."
(and (eq idlwave-shell-char-mode-active 'exit)
(throw 'exit "Single char loop exited"))))))))
+(defvar idlwave-shell-stored-incomplete-input nil
+ "Stored input for history cycling.")
(defun idlwave-shell-move-or-history (up &optional arg)
"When in last line of process buffer, do `comint-previous-input'.
Otherwise just move the line. Move down unless UP is non-nil."
@@ -1464,11 +1475,32 @@ Otherwise just move the line. Move down unless UP is
non-nil."
(if (and idlwave-shell-arrows-do-history
(>= (1+ (save-excursion (end-of-line) (point))) proc-pos))
(progn
- ;;(goto-char proc-pos)
- (goto-char (point-max))
- ;;(and (not (eolp)) (kill-line nil))
- (comint-previous-input arg))
- (previous-line arg))))
+ ;; Stepping off the "end" of the ring, with stored partial input.
+ (if (and comint-input-ring-index
+ (or
+ (and (< arg 0) ; going down
+ (eq comint-input-ring-index 0))
+ (and (> arg 0)
+ (eq comint-input-ring-index
+ (1- (ring-length comint-input-ring)))))
+ idlwave-shell-stored-incomplete-input)
+ (progn
+ (delete-region
+ (or (marker-position comint-accum-marker)
+ (process-mark (get-buffer-process (current-buffer))))
+ (point))
+ (when (> (length idlwave-shell-stored-incomplete-input) 0)
+ (insert idlwave-shell-stored-incomplete-input)
+ (message "Incomplete command line restored"))
+ (setq comint-input-ring-index nil))
+
+ ;; If leaving edit line, save partial input
+ (if (null comint-input-ring-index) ;not yet on ring
+ (setq idlwave-shell-stored-incomplete-input
+ (funcall comint-get-old-input)))
+ (goto-char (point-max))
+ (comint-previous-input arg)))
+ (forward-line arg))))
(defun idlwave-shell-up-or-history (&optional arg)
"When in last line of process buffer, move to previous input.
@@ -1701,6 +1733,8 @@ The 5th group is the file name.
All parts may contain linebreaks surrounded by spaces. This is important
in IDL5 which inserts random linebreaks in long module and file names.")
+(defvar idlwave-shell-electric-debug-mode) ; defined by easy-mmode
+
(defun idlwave-shell-scan-for-state ()
"Scan for state info. Looks for messages in output from last IDL
command indicating where IDL has stopped. The types of messages we are
@@ -2242,7 +2276,6 @@ args of an executive .run, .rnew or .compile."
(looking-at "\\$")))
;; Debugging Commands ------------------------------------------------------
-(defvar idlwave-shell-electric-debug-mode) ; defined by easy-mmode
(defun idlwave-shell-redisplay (&optional hide)
"Tries to resync the display with where execution has stopped.
@@ -2336,12 +2369,13 @@ used. Does nothing if the resulting frame is nil."
"Check that frame is for an existing file."
(file-readable-p (car frame)))
-
(defun idlwave-shell-stop-line-pending ()
;; Temporarily change the color of the stop line overlay
(if idlwave-shell-stop-line-overlay
(overlay-put idlwave-shell-stop-line-overlay 'face
- '(background-color . "gray70"))))
+ (if idlwave-shell-electric-debug-mode
+ 'idlwave-shell-pending-electric-stop
+ 'idlwave-shell-pending-stop))))
(defvar idlwave-shell-suppress-electric-debug nil)
(defun idlwave-shell-display-line (frame &optional col debug)
@@ -2403,8 +2437,8 @@ matter what the settings of that variable."
;; restore face and move overlay
(overlay-put idlwave-shell-stop-line-overlay 'face
(if idlwave-shell-electric-debug-mode
- idlwave-shell-electric-stop-line-face
- idlwave-shell-stop-line-face))
+ idlwave-shell-electric-stop-line-face
+ idlwave-shell-stop-line-face))
(move-overlay idlwave-shell-stop-line-overlay
(point) (save-excursion (end-of-line) (point))
(current-buffer)))
- [elpa] externals/idlwave e4bd892bae 093/360: - Reverted last "fix". Don't trust XEmacs complaints about useless, (continued)
- [elpa] externals/idlwave e4bd892bae 093/360: - Reverted last "fix". Don't trust XEmacs complaints about useless, ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave fcc0d3c878 118/360: - Use idlwave-what-function instead of looking for parens: works in all, ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave 127405a5c7 217/360: Fontify source code by default., ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave 5a8c9cb8ec 213/360: find-structure-definition: Correctly indicate structure found., ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave d62acf6aef 280/360: Complete struct-tags even if shell only loaded., ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave 74e4d168e9 326/360: Debug/comments., ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave 74dc6e40d5 290/360: Help location changes and HTML help inline., ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave e3628c3710 143/360: - Use insert-file-contents, ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave 09992879c0 150/360: - Added customized idlwave-shell-max-print-length, to limit examine, ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave ded2f00ea7 175/360: Don't set mark when gathering routine name, ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave 3a07aca242 162/360: - Use custom face for pending EDB mode lines, rather than,
ELPA Syncer <=
- [elpa] externals/idlwave 16b08e2132 167/360: - Added space to allowed filename characters., ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave 67eaaf945d 161/360: *** empty log message ***, ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave 385ec51232 171/360: Clean up doc strings., ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave 78c01f5303 336/360: Update HTML help file locations and graphics keywords for IDL8.6., ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave b8a31a9f6b 269/360: Use 'run-mode-hooks', ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave 21b7b3b8ff 267/360: Redisplay if requested, in with post-command hook, ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave 7834528bf1 318/360: Update README., ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave 3bfd198521 301/360: Remove the IDL Assistant which last worked in IDL 6.3, ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave 0ba5bd1c43 302/360: Don't color the fringe for electric debug., ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave 7262cf47e0 292/360: Assistant no longer needed/available., ELPA Syncer, 2024/04/28