diff options
| author | Karoly Lorentey | 2004-04-29 20:45:02 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2004-04-29 20:45:02 +0000 |
| commit | e6da77e898ea743bc416517542eae446e573b6b5 (patch) | |
| tree | 47df1c81621f456f688132b822fb6f51087b9822 | |
| parent | 9a3ab26af39540424723a27ab3a7f3cd204660c8 (diff) | |
| parent | 016b8f71efe187f403913d47890c8e0408472617 (diff) | |
| download | emacs-e6da77e898ea743bc416517542eae446e573b6b5.tar.gz emacs-e6da77e898ea743bc416517542eae446e573b6b5.zip | |
Merged in changes from CVS trunk.
Patches applied:
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-258
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-259
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-260
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-261
Update from CVS
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-155
| -rw-r--r-- | BUGS | 2 | ||||
| -rw-r--r-- | lisp/ChangeLog | 43 | ||||
| -rw-r--r-- | lisp/comint.el | 31 | ||||
| -rw-r--r-- | lisp/ielm.el | 55 | ||||
| -rw-r--r-- | lisp/progmodes/compile.el | 2 | ||||
| -rw-r--r-- | lisp/progmodes/gdb-ui.el | 14 | ||||
| -rw-r--r-- | lisp/progmodes/gud.el | 4 | ||||
| -rw-r--r-- | lisp/thumbs.el | 24 | ||||
| -rw-r--r-- | src/ChangeLog | 6 | ||||
| -rw-r--r-- | src/xdisp.c | 6 |
10 files changed, 116 insertions, 71 deletions
| @@ -22,5 +22,5 @@ not part of the Emacs distribution.) | |||
| 22 | (3) By hand. Do | 22 | (3) By hand. Do |
| 23 | cat info/emacs* | more "+/^File: emacs, Node: Bugs," | 23 | cat info/emacs* | more "+/^File: emacs, Node: Bugs," |
| 24 | 24 | ||
| 25 | Please first check the file etc/PROBLEMS (e.g. with C-h P in Emacs) to | 25 | Please first check the file etc/PROBLEMS (e.g. with C-h C-e in Emacs) to |
| 26 | make sure it isn't a known issue. | 26 | make sure it isn't a known issue. |
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 9922778a5c8..8a1bba88874 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,46 @@ | |||
| 1 | 2004-04-28 Luc Teirlinck <teirllm@auburn.edu> | ||
| 2 | |||
| 3 | * comint.el (comint-prompt-read-only): New variable. | ||
| 4 | (comint-output-filter): Implement it. | ||
| 5 | |||
| 6 | * ielm.el (ielm-prompt-read-only, ielm-prompt): Update docstring. | ||
| 7 | (ielm-prompt-internal): New variable. | ||
| 8 | (ielm-font-lock-keywords): Remove irrelevant ielm-prompt keyword. | ||
| 9 | (ielm-send-input): Delete unused variable `buf'. | ||
| 10 | (ielm-eval-input): Use `ielm-prompt-internal'. | ||
| 11 | (inferior-emacs-lisp-mode): Use new variables | ||
| 12 | `comint-prompt-read-only' and `ielm-prompt-internal'. | ||
| 13 | Get rid of obsolete variable `directory-sep-char'. | ||
| 14 | (ielm): Use `zerop'. | ||
| 15 | |||
| 16 | 2004-04-29 John Paul Wallington <jpw@gnu.org> | ||
| 17 | |||
| 18 | * thumbs.el (toplevel): Require cl at compile time. | ||
| 19 | Remove conditional definitions of `ignore-errors' and `caddar' | ||
| 20 | because they occur at run time. | ||
| 21 | |||
| 22 | 2004-04-28 Nick Roberts <nickrob@gnu.org> | ||
| 23 | |||
| 24 | * progmodes/gdb-ui.el (gdb-frame-breakpoints-buffer) | ||
| 25 | (gdb-frame-stack-buffer, gdb-frame-threads-buffer) | ||
| 26 | (gdb-frame-registers-buffer, gdb-frame-locals-buffer) | ||
| 27 | (gdb-frame-gdb-buffer, gdb-frame-assembler-buffer): Use | ||
| 28 | selected-window. | ||
| 29 | |||
| 30 | * progmodes/gud.el (gud-common-init): Throw an error if program is | ||
| 31 | already running under gdb. | ||
| 32 | |||
| 33 | 2004-04-28 John Paul Wallington <jpw@gnu.org> | ||
| 34 | |||
| 35 | * thumbs.el (thumbs-delete-images): Fix formatting of prompt. | ||
| 36 | (thumbs-show-image-num): Move assignment of | ||
| 37 | `thumbs-current-image-filename' within scope of `i'. | ||
| 38 | (thumbs-emboss-image): Don't use `evenp'. | ||
| 39 | |||
| 40 | 2004-04-28 Richard M. Stallman <rms@gnu.org> | ||
| 41 | |||
| 42 | * progmodes/compile.el (compilation-context-lines): Default now 0. | ||
| 43 | |||
| 1 | 2004-04-28 Juanma Barranquero <lektu@terra.es> | 44 | 2004-04-28 Juanma Barranquero <lektu@terra.es> |
| 2 | 45 | ||
| 3 | Use `time-less-p' from calendar/time-date.el instead of defining | 46 | Use `time-less-p' from calendar/time-date.el instead of defining |
diff --git a/lisp/comint.el b/lisp/comint.el index 7766307f156..52217fa8ad6 100644 --- a/lisp/comint.el +++ b/lisp/comint.el | |||
| @@ -171,6 +171,14 @@ Good choices: | |||
| 171 | 171 | ||
| 172 | This is a good thing to set in mode hooks.") | 172 | This is a good thing to set in mode hooks.") |
| 173 | 173 | ||
| 174 | (defcustom comint-prompt-read-only nil | ||
| 175 | "If non-nil, the comint prompt is read only. | ||
| 176 | This does not affect existing prompts. | ||
| 177 | Certain derived modes may override this option." | ||
| 178 | :type 'boolean | ||
| 179 | :group 'comint | ||
| 180 | :version "21.4") | ||
| 181 | |||
| 174 | (defvar comint-delimiter-argument-list () | 182 | (defvar comint-delimiter-argument-list () |
| 175 | "List of characters to recognise as separate arguments in input. | 183 | "List of characters to recognise as separate arguments in input. |
| 176 | Strings comprising a character in this list will separate the arguments | 184 | Strings comprising a character in this list will separate the arguments |
| @@ -1687,16 +1695,25 @@ Make backspaces delete the previous character." | |||
| 1687 | (let ((inhibit-read-only t)) | 1695 | (let ((inhibit-read-only t)) |
| 1688 | (add-text-properties comint-last-output-start (point) | 1696 | (add-text-properties comint-last-output-start (point) |
| 1689 | '(rear-nonsticky t | 1697 | '(rear-nonsticky t |
| 1690 | field output | 1698 | field output |
| 1691 | inhibit-line-move-field-capture t)))) | 1699 | inhibit-line-move-field-capture t)))) |
| 1692 | 1700 | ||
| 1693 | ;; Highlight the prompt, where we define `prompt' to mean | 1701 | ;; Highlight the prompt, where we define `prompt' to mean |
| 1694 | ;; the most recent output that doesn't end with a newline. | 1702 | ;; the most recent output that doesn't end with a newline. |
| 1695 | (unless (and (bolp) (null comint-last-prompt-overlay)) | 1703 | (let ((prompt-start (save-excursion (forward-line 0) (point))) |
| 1696 | ;; Need to create or move the prompt overlay (in the case | 1704 | (inhibit-read-only t)) |
| 1697 | ;; where there is no prompt ((bolp) == t), we still do | 1705 | (when comint-prompt-read-only |
| 1698 | ;; this if there's already an existing overlay). | 1706 | (or (= (point-min) prompt-start) |
| 1699 | (let ((prompt-start (save-excursion (forward-line 0) (point)))) | 1707 | (get-text-property (1- prompt-start) 'read-only) |
| 1708 | (put-text-property | ||
| 1709 | (1- prompt-start) prompt-start 'read-only 'fence)) | ||
| 1710 | (add-text-properties | ||
| 1711 | prompt-start (point) | ||
| 1712 | '(read-only t rear-non-sticky t front-sticky (read-only)))) | ||
| 1713 | (unless (and (bolp) (null comint-last-prompt-overlay)) | ||
| 1714 | ;; Need to create or move the prompt overlay (in the case | ||
| 1715 | ;; where there is no prompt ((bolp) == t), we still do | ||
| 1716 | ;; this if there's already an existing overlay). | ||
| 1700 | (if comint-last-prompt-overlay | 1717 | (if comint-last-prompt-overlay |
| 1701 | ;; Just move an existing overlay | 1718 | ;; Just move an existing overlay |
| 1702 | (move-overlay comint-last-prompt-overlay | 1719 | (move-overlay comint-last-prompt-overlay |
diff --git a/lisp/ielm.el b/lisp/ielm.el index 0a249f65095..53e3d83cdaa 100644 --- a/lisp/ielm.el +++ b/lisp/ielm.el | |||
| @@ -52,34 +52,19 @@ | |||
| 52 | (defcustom ielm-prompt-read-only t | 52 | (defcustom ielm-prompt-read-only t |
| 53 | "If non-nil, the IELM prompt is read only. | 53 | "If non-nil, the IELM prompt is read only. |
| 54 | Setting this variable does not affect existing IELM runs. | 54 | Setting this variable does not affect existing IELM runs. |
| 55 | 55 | This works by setting the buffer-local value of `comint-prompt-read-only'. | |
| 56 | You can give the IELM prompt more highly customized read-only | 56 | Setting that value directly affects new prompts in the current buffer." |
| 57 | type properties, by setting this option to nil, and then setting | ||
| 58 | `ielm-prompt', outside of Custom, to a string with the desired | ||
| 59 | text properties. | ||
| 60 | |||
| 61 | Interrupting the IELM process with \\<ielm-map>\\[comint-interrupt-subjob], | ||
| 62 | and then restarting it using \\[ielm], makes the then current | ||
| 63 | default value affect _new_ prompts. However, executing \\[ielm] | ||
| 64 | does not have this effect on *ielm* buffers with a running process. | ||
| 65 | For IELM buffers that are not called `*ielm*', you can execute | ||
| 66 | \\[inferior-emacs-lisp-mode] in that IELM buffer to update the value, | ||
| 67 | for new prompts. This works even if the buffer has a running process." | ||
| 68 | :type 'boolean | 57 | :type 'boolean |
| 69 | :group 'ielm | 58 | :group 'ielm |
| 70 | :version "21.4") | 59 | :version "21.4") |
| 71 | 60 | ||
| 72 | (defcustom ielm-prompt "ELISP> " | 61 | (defcustom ielm-prompt "ELISP> " |
| 73 | "Prompt used in IELM. | 62 | "Prompt used in IELM. |
| 74 | Setting the default value does not affect existing IELM runs. | 63 | Setting this variable does not affect existing IELM runs. |
| 75 | `inferior-emacs-lisp-mode' converts this into a buffer-local | ||
| 76 | variable in IELM buffers. The buffer-local value is meant for | ||
| 77 | internal use by IELM. Do not try to set the buffer-local value | ||
| 78 | yourself in any way, unless you really know what you are doing. | ||
| 79 | 64 | ||
| 80 | Interrupting the IELM process with \\<ielm-map>\\[comint-interrupt-subjob], | 65 | Interrupting the IELM process with \\<ielm-map>\\[comint-interrupt-subjob], |
| 81 | and then restarting it using \\[ielm], makes the then current | 66 | and then restarting it using \\[ielm], makes the then current |
| 82 | _default_ value affect _new_ prompts. Unless the new prompt | 67 | default value affect _new_ prompts. Unless the new prompt |
| 83 | differs only in text properties from the old one, IELM will no | 68 | differs only in text properties from the old one, IELM will no |
| 84 | longer recognize the old prompts. However, executing \\[ielm] | 69 | longer recognize the old prompts. However, executing \\[ielm] |
| 85 | does not update the prompt of an *ielm* buffer with a running process. | 70 | does not update the prompt of an *ielm* buffer with a running process. |
| @@ -89,6 +74,12 @@ for new prompts. This works even if the buffer has a running process." | |||
| 89 | :type 'string | 74 | :type 'string |
| 90 | :group 'ielm) | 75 | :group 'ielm) |
| 91 | 76 | ||
| 77 | (defvar ielm-prompt-internal "ELISP> " | ||
| 78 | "Stored value of `ielm-prompt' in the current IELM buffer. | ||
| 79 | This is an internal variable used by IELM. Its purpose is to | ||
| 80 | prevent a running IELM process from being messed up when the user | ||
| 81 | customizes `ielm-prompt'.") | ||
| 82 | |||
| 92 | (defcustom ielm-dynamic-return t | 83 | (defcustom ielm-dynamic-return t |
| 93 | "*Controls whether \\<ielm-map>\\[ielm-return] has intelligent behaviour in IELM. | 84 | "*Controls whether \\<ielm-map>\\[ielm-return] has intelligent behaviour in IELM. |
| 94 | If non-nil, \\[ielm-return] evaluates input for complete sexps, or inserts a newline | 85 | If non-nil, \\[ielm-return] evaluates input for complete sexps, or inserts a newline |
| @@ -178,9 +169,7 @@ This variable is buffer-local.") | |||
| 178 | (define-key ielm-map "\C-c\C-v" 'ielm-print-working-buffer)) | 169 | (define-key ielm-map "\C-c\C-v" 'ielm-print-working-buffer)) |
| 179 | 170 | ||
| 180 | (defvar ielm-font-lock-keywords | 171 | (defvar ielm-font-lock-keywords |
| 181 | (list | 172 | '(("\\(^\\*\\*\\*[^*]+\\*\\*\\*\\)\\(.*$\\)" |
| 182 | (cons (concat "^" (regexp-quote ielm-prompt)) 'font-lock-keyword-face) | ||
| 183 | '("\\(^\\*\\*\\*[^*]+\\*\\*\\*\\)\\(.*$\\)" | ||
| 184 | (1 font-lock-comment-face) | 173 | (1 font-lock-comment-face) |
| 185 | (2 font-lock-constant-face))) | 174 | (2 font-lock-constant-face))) |
| 186 | "Additional expressions to highlight in ielm buffers.") | 175 | "Additional expressions to highlight in ielm buffers.") |
| @@ -283,8 +272,7 @@ simply inserts a newline." | |||
| 283 | (defun ielm-send-input nil | 272 | (defun ielm-send-input nil |
| 284 | "Evaluate the Emacs Lisp expression after the prompt." | 273 | "Evaluate the Emacs Lisp expression after the prompt." |
| 285 | (interactive) | 274 | (interactive) |
| 286 | (let ((buf (current-buffer)) | 275 | (let (ielm-input) ; set by ielm-input-sender |
| 287 | ielm-input) ; set by ielm-input-sender | ||
| 288 | (comint-send-input) ; update history, markers etc. | 276 | (comint-send-input) ; update history, markers etc. |
| 289 | (ielm-eval-input ielm-input))) | 277 | (ielm-eval-input ielm-input))) |
| 290 | 278 | ||
| @@ -407,7 +395,7 @@ simply inserts a newline." | |||
| 407 | (setq ** *) | 395 | (setq ** *) |
| 408 | (setq * ielm-result)) | 396 | (setq * ielm-result)) |
| 409 | (setq ielm-output (concat ielm-output "\n")))) | 397 | (setq ielm-output (concat ielm-output "\n")))) |
| 410 | (setq ielm-output (concat ielm-output ielm-prompt)) | 398 | (setq ielm-output (concat ielm-output ielm-prompt-internal)) |
| 411 | (comint-output-filter (ielm-process) ielm-output))) | 399 | (comint-output-filter (ielm-process) ielm-output))) |
| 412 | 400 | ||
| 413 | ;;; Process and marker utilities | 401 | ;;; Process and marker utilities |
| @@ -478,20 +466,13 @@ Customized bindings may be defined in `ielm-map', which currently contains: | |||
| 478 | (setq comint-input-sender 'ielm-input-sender) | 466 | (setq comint-input-sender 'ielm-input-sender) |
| 479 | (setq comint-process-echoes nil) | 467 | (setq comint-process-echoes nil) |
| 480 | (make-local-variable 'comint-dynamic-complete-functions) | 468 | (make-local-variable 'comint-dynamic-complete-functions) |
| 481 | (set (make-local-variable 'ielm-prompt) | 469 | (set (make-local-variable 'ielm-prompt-internal) ielm-prompt) |
| 482 | (if ielm-prompt-read-only | 470 | (set (make-local-variable 'comint-prompt-read-only) ielm-prompt-read-only) |
| 483 | (propertize ielm-prompt | ||
| 484 | 'read-only t | ||
| 485 | 'rear-nonsticky t | ||
| 486 | 'front-sticky '(read-only)) | ||
| 487 | ielm-prompt)) | ||
| 488 | (setq comint-dynamic-complete-functions | 471 | (setq comint-dynamic-complete-functions |
| 489 | '(ielm-tab comint-replace-by-expanded-history ielm-complete-filename ielm-complete-symbol)) | 472 | '(ielm-tab comint-replace-by-expanded-history ielm-complete-filename ielm-complete-symbol)) |
| 490 | (setq comint-get-old-input 'ielm-get-old-input) | 473 | (setq comint-get-old-input 'ielm-get-old-input) |
| 491 | (make-local-variable 'comint-completion-addsuffix) | 474 | (make-local-variable 'comint-completion-addsuffix) |
| 492 | (setq comint-completion-addsuffix | 475 | (setq comint-completion-addsuffix '("/" . "")) |
| 493 | (cons (char-to-string directory-sep-char) "")) | ||
| 494 | |||
| 495 | (setq major-mode 'inferior-emacs-lisp-mode) | 476 | (setq major-mode 'inferior-emacs-lisp-mode) |
| 496 | (setq mode-name "IELM") | 477 | (setq mode-name "IELM") |
| 497 | (setq mode-line-process '(":%s on " (:eval (buffer-name ielm-working-buffer)))) | 478 | (setq mode-line-process '(":%s on " (:eval (buffer-name ielm-working-buffer)))) |
| @@ -541,7 +522,7 @@ Customized bindings may be defined in `ielm-map', which currently contains: | |||
| 541 | (add-text-properties | 522 | (add-text-properties |
| 542 | (point-min) (point-max) | 523 | (point-min) (point-max) |
| 543 | '(rear-nonsticky t field output inhibit-line-move-field-capture t)))) | 524 | '(rear-nonsticky t field output inhibit-line-move-field-capture t)))) |
| 544 | (comint-output-filter (ielm-process) ielm-prompt) | 525 | (comint-output-filter (ielm-process) ielm-prompt-internal) |
| 545 | (set-marker comint-last-input-start (ielm-pm)) | 526 | (set-marker comint-last-input-start (ielm-pm)) |
| 546 | (set-process-filter (get-buffer-process (current-buffer)) 'comint-output-filter)) | 527 | (set-process-filter (get-buffer-process (current-buffer)) 'comint-output-filter)) |
| 547 | 528 | ||
| @@ -568,7 +549,7 @@ Switches to the buffer `*ielm*', or creates it if it does not exist." | |||
| 568 | (let (old-point) | 549 | (let (old-point) |
| 569 | (unless (comint-check-proc "*ielm*") | 550 | (unless (comint-check-proc "*ielm*") |
| 570 | (with-current-buffer (get-buffer-create "*ielm*") | 551 | (with-current-buffer (get-buffer-create "*ielm*") |
| 571 | (unless (eq (buffer-size) 0) (setq old-point (point))) | 552 | (unless (zerop (buffer-size)) (setq old-point (point))) |
| 572 | (inferior-emacs-lisp-mode))) | 553 | (inferior-emacs-lisp-mode))) |
| 573 | (pop-to-buffer "*ielm*") | 554 | (pop-to-buffer "*ielm*") |
| 574 | (when old-point (push-mark old-point)))) | 555 | (when old-point (push-mark old-point)))) |
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index 2c8ead87000..d85bb79064f 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el | |||
| @@ -1472,7 +1472,7 @@ region and the first line of the next region." | |||
| 1472 | (setcdr loc (list line file marker))) | 1472 | (setcdr loc (list line file marker))) |
| 1473 | loc)) | 1473 | loc)) |
| 1474 | 1474 | ||
| 1475 | (defcustom compilation-context-lines next-screen-context-lines | 1475 | (defcustom compilation-context-lines 0 |
| 1476 | "*Display this many lines of leading context before message." | 1476 | "*Display this many lines of leading context before message." |
| 1477 | :type 'integer | 1477 | :type 'integer |
| 1478 | :group 'compilation | 1478 | :group 'compilation |
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el index fb5a6757a49..2e836fb82b2 100644 --- a/lisp/progmodes/gdb-ui.el +++ b/lisp/progmodes/gdb-ui.el | |||
| @@ -1152,7 +1152,7 @@ static char *magick[] = { | |||
| 1152 | (interactive) | 1152 | (interactive) |
| 1153 | (select-frame (make-frame gdb-frame-parameters)) | 1153 | (select-frame (make-frame gdb-frame-parameters)) |
| 1154 | (switch-to-buffer (gdb-get-create-buffer 'gdb-breakpoints-buffer)) | 1154 | (switch-to-buffer (gdb-get-create-buffer 'gdb-breakpoints-buffer)) |
| 1155 | (set-window-dedicated-p (get-buffer-window (current-buffer)) t)) | 1155 | (set-window-dedicated-p (selected-window) t)) |
| 1156 | 1156 | ||
| 1157 | (defvar gdb-breakpoints-mode-map | 1157 | (defvar gdb-breakpoints-mode-map |
| 1158 | (let ((map (make-sparse-keymap)) | 1158 | (let ((map (make-sparse-keymap)) |
| @@ -1274,7 +1274,7 @@ current line." | |||
| 1274 | (interactive) | 1274 | (interactive) |
| 1275 | (select-frame (make-frame gdb-frame-parameters)) | 1275 | (select-frame (make-frame gdb-frame-parameters)) |
| 1276 | (switch-to-buffer (gdb-get-create-buffer 'gdb-stack-buffer)) | 1276 | (switch-to-buffer (gdb-get-create-buffer 'gdb-stack-buffer)) |
| 1277 | (set-window-dedicated-p (get-buffer-window (current-buffer)) t)) | 1277 | (set-window-dedicated-p (selected-window) t)) |
| 1278 | 1278 | ||
| 1279 | (defvar gdb-frames-mode-map | 1279 | (defvar gdb-frames-mode-map |
| 1280 | (let ((map (make-sparse-keymap))) | 1280 | (let ((map (make-sparse-keymap))) |
| @@ -1351,7 +1351,7 @@ the source buffer." | |||
| 1351 | (interactive) | 1351 | (interactive) |
| 1352 | (select-frame (make-frame gdb-frame-parameters)) | 1352 | (select-frame (make-frame gdb-frame-parameters)) |
| 1353 | (switch-to-buffer (gdb-get-create-buffer 'gdb-threads-buffer)) | 1353 | (switch-to-buffer (gdb-get-create-buffer 'gdb-threads-buffer)) |
| 1354 | (set-window-dedicated-p (get-buffer-window (current-buffer)) t)) | 1354 | (set-window-dedicated-p (selected-window) t)) |
| 1355 | 1355 | ||
| 1356 | (defvar gdb-threads-mode-map | 1356 | (defvar gdb-threads-mode-map |
| 1357 | (let ((map (make-sparse-keymap))) | 1357 | (let ((map (make-sparse-keymap))) |
| @@ -1433,7 +1433,7 @@ the source buffer." | |||
| 1433 | (interactive) | 1433 | (interactive) |
| 1434 | (select-frame (make-frame gdb-frame-parameters)) | 1434 | (select-frame (make-frame gdb-frame-parameters)) |
| 1435 | (switch-to-buffer (gdb-get-create-buffer 'gdb-registers-buffer)) | 1435 | (switch-to-buffer (gdb-get-create-buffer 'gdb-registers-buffer)) |
| 1436 | (set-window-dedicated-p (get-buffer-window (current-buffer)) t)) | 1436 | (set-window-dedicated-p (selected-window) t)) |
| 1437 | 1437 | ||
| 1438 | ;; | 1438 | ;; |
| 1439 | ;; Locals buffer. | 1439 | ;; Locals buffer. |
| @@ -1505,7 +1505,7 @@ the source buffer." | |||
| 1505 | (interactive) | 1505 | (interactive) |
| 1506 | (select-frame (make-frame gdb-frame-parameters)) | 1506 | (select-frame (make-frame gdb-frame-parameters)) |
| 1507 | (switch-to-buffer (gdb-get-create-buffer 'gdb-locals-buffer)) | 1507 | (switch-to-buffer (gdb-get-create-buffer 'gdb-locals-buffer)) |
| 1508 | (set-window-dedicated-p (get-buffer-window (current-buffer)) t)) | 1508 | (set-window-dedicated-p (selected-window) t)) |
| 1509 | 1509 | ||
| 1510 | 1510 | ||
| 1511 | ;;;; Window management | 1511 | ;;;; Window management |
| @@ -1604,7 +1604,7 @@ the source buffer." | |||
| 1604 | (interactive) | 1604 | (interactive) |
| 1605 | (select-frame (make-frame gdb-frame-parameters)) | 1605 | (select-frame (make-frame gdb-frame-parameters)) |
| 1606 | (switch-to-buffer (gdb-get-create-buffer 'gdba)) | 1606 | (switch-to-buffer (gdb-get-create-buffer 'gdba)) |
| 1607 | (set-window-dedicated-p (get-buffer-window (current-buffer)) t)) | 1607 | (set-window-dedicated-p (selected-window) t)) |
| 1608 | 1608 | ||
| 1609 | (defun gdb-display-gdb-buffer () | 1609 | (defun gdb-display-gdb-buffer () |
| 1610 | (interactive) | 1610 | (interactive) |
| @@ -1935,7 +1935,7 @@ BUFFER nil or omitted means use the current buffer." | |||
| 1935 | (interactive) | 1935 | (interactive) |
| 1936 | (select-frame (make-frame gdb-frame-parameters)) | 1936 | (select-frame (make-frame gdb-frame-parameters)) |
| 1937 | (switch-to-buffer (gdb-get-create-buffer 'gdb-assembler-buffer)) | 1937 | (switch-to-buffer (gdb-get-create-buffer 'gdb-assembler-buffer)) |
| 1938 | (set-window-dedicated-p (get-buffer-window (current-buffer)) t)) | 1938 | (set-window-dedicated-p (selected-window) t)) |
| 1939 | 1939 | ||
| 1940 | ;; modified because if gdb-current-address has changed value a new command | 1940 | ;; modified because if gdb-current-address has changed value a new command |
| 1941 | ;; must be enqueued to update the buffer with the new output | 1941 | ;; must be enqueued to update the buffer with the new output |
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el index bdf8c93f900..9cb3ae26c3b 100644 --- a/lisp/progmodes/gud.el +++ b/lisp/progmodes/gud.el | |||
| @@ -2384,8 +2384,10 @@ comint mode, which see." | |||
| 2384 | (if (file-name-directory file-subst) | 2384 | (if (file-name-directory file-subst) |
| 2385 | (expand-file-name file-subst) | 2385 | (expand-file-name file-subst) |
| 2386 | file-subst))) | 2386 | file-subst))) |
| 2387 | (filepart (and file-word (concat "-" (file-name-nondirectory file))))) | 2387 | (filepart (and file-word (concat "-" (file-name-nondirectory file)))) |
| 2388 | (existing-buffer (get-buffer (concat "*gud" filepart "*")))) | ||
| 2388 | (pop-to-buffer (concat "*gud" filepart "*")) | 2389 | (pop-to-buffer (concat "*gud" filepart "*")) |
| 2390 | (if existing-buffer (error "This program is already running under gdb")) | ||
| 2389 | ;; Set the dir, in case the buffer already existed with a different dir. | 2391 | ;; Set the dir, in case the buffer already existed with a different dir. |
| 2390 | (setq default-directory dir) | 2392 | (setq default-directory dir) |
| 2391 | ;; Set default-directory to the file's directory. | 2393 | ;; Set default-directory to the file's directory. |
diff --git a/lisp/thumbs.el b/lisp/thumbs.el index 8bba647a2ad..206492dee08 100644 --- a/lisp/thumbs.el +++ b/lisp/thumbs.el | |||
| @@ -56,6 +56,8 @@ | |||
| 56 | 56 | ||
| 57 | ;;; Code: | 57 | ;;; Code: |
| 58 | 58 | ||
| 59 | (eval-when-compile | ||
| 60 | (require 'cl)) | ||
| 59 | (require 'dired) | 61 | (require 'dired) |
| 60 | 62 | ||
| 61 | ;; Abort if in-line imaging isn't supported (i.e. Emacs-20.7) | 63 | ;; Abort if in-line imaging isn't supported (i.e. Emacs-20.7) |
| @@ -182,18 +184,6 @@ see some of your images." | |||
| 182 | (make-directory thumbs-thumbsdir) | 184 | (make-directory thumbs-thumbsdir) |
| 183 | (message "Creating thumbnails directory"))) | 185 | (message "Creating thumbnails directory"))) |
| 184 | 186 | ||
| 185 | (when (not (fboundp 'ignore-errors)) | ||
| 186 | (defmacro ignore-errors (&rest body) | ||
| 187 | "Execute FORMS; if anz error occurs, return nil. | ||
| 188 | Otherwise, return result of last FORM." | ||
| 189 | (let ((err (thumbs-gensym))) | ||
| 190 | (list 'condition-case err (cons 'progn body) '(error nil))))) | ||
| 191 | |||
| 192 | (when (not (fboundp 'caddar)) | ||
| 193 | (defun caddar (x) | ||
| 194 | "Return the `car' of the `cdr' of the `cdr' of the `car' of X." | ||
| 195 | (car (cdr (cdr (car x)))))) | ||
| 196 | |||
| 197 | (defvar thumbs-gensym-counter 0) | 187 | (defvar thumbs-gensym-counter 0) |
| 198 | 188 | ||
| 199 | (defun thumbs-gensym (&optional arg) | 189 | (defun thumbs-gensym (&optional arg) |
| @@ -504,7 +494,7 @@ Open another window." | |||
| 504 | "Delete the image at point (and it's thumbnail) (or marked files if any)." | 494 | "Delete the image at point (and it's thumbnail) (or marked files if any)." |
| 505 | (interactive) | 495 | (interactive) |
| 506 | (let ((f (or thumbs-markedL (list (cdr (assoc (point) thumbs-fileL)))))) | 496 | (let ((f (or thumbs-markedL (list (cdr (assoc (point) thumbs-fileL)))))) |
| 507 | (if (yes-or-no-p "Really delete %d files?" (length f)) | 497 | (if (yes-or-no-p (format "Really delete %d files? " (length f))) |
| 508 | (progn | 498 | (progn |
| 509 | (mapcar (lambda (x) | 499 | (mapcar (lambda (x) |
| 510 | (setq thumbs-fileL (delete (rassoc x thumbs-fileL) thumbs-fileL)) | 500 | (setq thumbs-fileL (delete (rassoc x thumbs-fileL) thumbs-fileL)) |
| @@ -529,9 +519,9 @@ Open another window." | |||
| 529 | (rename-buffer (concat "*Image: " | 519 | (rename-buffer (concat "*Image: " |
| 530 | (file-name-nondirectory i) | 520 | (file-name-nondirectory i) |
| 531 | " - " | 521 | " - " |
| 532 | (number-to-string num) "*"))) | 522 | (number-to-string num) "*")) |
| 533 | (setq thumbs-image-num num | 523 | (setq thumbs-image-num num |
| 534 | thumbs-current-image-filename i))) | 524 | thumbs-current-image-filename i)))) |
| 535 | 525 | ||
| 536 | (defun thumbs-next-image () | 526 | (defun thumbs-next-image () |
| 537 | "Show next image." | 527 | "Show next image." |
| @@ -597,7 +587,7 @@ ACTION and ARG should be legal convert command." | |||
| 597 | (defun thumbs-emboss-image (emboss) | 587 | (defun thumbs-emboss-image (emboss) |
| 598 | "Emboss the image with value EMBOSS." | 588 | "Emboss the image with value EMBOSS." |
| 599 | (interactive "nEmboss value: ") | 589 | (interactive "nEmboss value: ") |
| 600 | (if (or (< emboss 3)(> emboss 31)(evenp emboss)) | 590 | (if (or (< emboss 3) (> emboss 31) (zerop (logand emboss 1))) |
| 601 | (error "Arg must be a odd number between 3 and 31")) | 591 | (error "Arg must be a odd number between 3 and 31")) |
| 602 | (thumbs-modify-image "emboss" (number-to-string emboss))) | 592 | (thumbs-modify-image "emboss" (number-to-string emboss))) |
| 603 | 593 | ||
diff --git a/src/ChangeLog b/src/ChangeLog index c3314cb98e5..386c3d99a47 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2004-04-29 Kim F. Storm <storm@cua.dk> | ||
| 2 | |||
| 3 | * xdisp.c (null_glyph_slice): New var. | ||
| 4 | (append_glyph, append_composite_glyph, append_stretch_glyph): | ||
| 5 | Use it to initialize glyph slice. | ||
| 6 | |||
| 1 | 2004-04-27 Stefan Monnier <monnier@iro.umontreal.ca> | 7 | 2004-04-27 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 8 | ||
| 3 | * xdisp.c (x_produce_glyphs): Fix the proverbial int/Lisp_Object mixup. | 9 | * xdisp.c (x_produce_glyphs): Fix the proverbial int/Lisp_Object mixup. |
diff --git a/src/xdisp.c b/src/xdisp.c index e77fa98cab1..4a79521f65d 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -795,6 +795,9 @@ int help_echo_pos; | |||
| 795 | 795 | ||
| 796 | Lisp_Object previous_help_echo_string; | 796 | Lisp_Object previous_help_echo_string; |
| 797 | 797 | ||
| 798 | /* Null glyph slice */ | ||
| 799 | |||
| 800 | static struct glyph_slice null_glyph_slice = { 0, 0, 0, 0 }; | ||
| 798 | 801 | ||
| 799 | 802 | ||
| 800 | /* Function prototypes. */ | 803 | /* Function prototypes. */ |
| @@ -18091,6 +18094,7 @@ append_glyph (it) | |||
| 18091 | glyph->glyph_not_available_p = it->glyph_not_available_p; | 18094 | glyph->glyph_not_available_p = it->glyph_not_available_p; |
| 18092 | glyph->face_id = it->face_id; | 18095 | glyph->face_id = it->face_id; |
| 18093 | glyph->u.ch = it->char_to_display; | 18096 | glyph->u.ch = it->char_to_display; |
| 18097 | glyph->slice = null_glyph_slice; | ||
| 18094 | glyph->font_type = FONT_TYPE_UNKNOWN; | 18098 | glyph->font_type = FONT_TYPE_UNKNOWN; |
| 18095 | ++it->glyph_row->used[area]; | 18099 | ++it->glyph_row->used[area]; |
| 18096 | } | 18100 | } |
| @@ -18127,6 +18131,7 @@ append_composite_glyph (it) | |||
| 18127 | glyph->glyph_not_available_p = 0; | 18131 | glyph->glyph_not_available_p = 0; |
| 18128 | glyph->face_id = it->face_id; | 18132 | glyph->face_id = it->face_id; |
| 18129 | glyph->u.cmp_id = it->cmp_id; | 18133 | glyph->u.cmp_id = it->cmp_id; |
| 18134 | glyph->slice = null_glyph_slice; | ||
| 18130 | glyph->font_type = FONT_TYPE_UNKNOWN; | 18135 | glyph->font_type = FONT_TYPE_UNKNOWN; |
| 18131 | ++it->glyph_row->used[area]; | 18136 | ++it->glyph_row->used[area]; |
| 18132 | } | 18137 | } |
| @@ -18338,6 +18343,7 @@ append_stretch_glyph (it, object, width, height, ascent) | |||
| 18338 | glyph->face_id = it->face_id; | 18343 | glyph->face_id = it->face_id; |
| 18339 | glyph->u.stretch.ascent = ascent; | 18344 | glyph->u.stretch.ascent = ascent; |
| 18340 | glyph->u.stretch.height = height; | 18345 | glyph->u.stretch.height = height; |
| 18346 | glyph->slice = null_glyph_slice; | ||
| 18341 | glyph->font_type = FONT_TYPE_UNKNOWN; | 18347 | glyph->font_type = FONT_TYPE_UNKNOWN; |
| 18342 | ++it->glyph_row->used[area]; | 18348 | ++it->glyph_row->used[area]; |
| 18343 | } | 18349 | } |