diff options
| author | Karoly Lorentey | 2005-04-19 13:33:31 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2005-04-19 13:33:31 +0000 |
| commit | 8d6f9bce72ee94ed6c297b79a181eac3f5beca74 (patch) | |
| tree | 36cf3b6a5923171e371f9236eab36ad7de742b48 | |
| parent | 774a8da14bb2520b6adad223ab13f0b64f002872 (diff) | |
| parent | cd01ded928a8d082b9dbed6e9747c3d31b337b71 (diff) | |
| download | emacs-8d6f9bce72ee94ed6c297b79a181eac3f5beca74.tar.gz emacs-8d6f9bce72ee94ed6c297b79a181eac3f5beca74.zip | |
Merged from miles@gnu.org--gnu-2005 (patch 66, 266-268)
Patches applied:
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-266
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-267
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-268
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-66
Update from CVS
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-330
| -rw-r--r-- | lisp/ChangeLog | 30 | ||||
| -rw-r--r-- | lisp/desktop.el | 7 | ||||
| -rw-r--r-- | lisp/emulation/cua-base.el | 18 | ||||
| -rw-r--r-- | lisp/gnus/ChangeLog | 4 | ||||
| -rw-r--r-- | lisp/gnus/qp.el | 11 | ||||
| -rw-r--r-- | lisp/isearch.el | 63 | ||||
| -rw-r--r-- | lisp/tooltip.el | 20 | ||||
| -rw-r--r-- | lisp/url/ChangeLog | 5 | ||||
| -rw-r--r-- | lisp/url/url.el | 26 | ||||
| -rw-r--r-- | lispref/ChangeLog | 5 | ||||
| -rw-r--r-- | lispref/customize.texi | 13 | ||||
| -rw-r--r-- | man/ChangeLog | 5 | ||||
| -rw-r--r-- | man/misc.texi | 3 | ||||
| -rw-r--r-- | src/ChangeLog | 53 | ||||
| -rw-r--r-- | src/dispextern.h | 8 | ||||
| -rw-r--r-- | src/dispnew.c | 6 | ||||
| -rw-r--r-- | src/fns.c | 4 | ||||
| -rw-r--r-- | src/fringe.c | 16 | ||||
| -rw-r--r-- | src/lread.c | 6 | ||||
| -rw-r--r-- | src/macterm.c | 6 | ||||
| -rw-r--r-- | src/window.c | 1 | ||||
| -rw-r--r-- | src/window.h | 3 | ||||
| -rw-r--r-- | src/xdisp.c | 52 | ||||
| -rw-r--r-- | src/xfaces.c | 5 | ||||
| -rw-r--r-- | src/xmenu.c | 10 |
25 files changed, 225 insertions, 155 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 8b97c774aaa..4d8e8c6dd52 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,33 @@ | |||
| 1 | 2005-04-18 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * isearch.el (isearch-edit-string): Make the search-ring available for | ||
| 4 | minibuffer history commands. | ||
| 5 | (minibuffer-local-isearch-map): Remove bindings for M-p and M-n, | ||
| 6 | the default history commands now work just as well. | ||
| 7 | (isearch-ring-retreat-edit, isearch-ring-advance-edit): Remove. | ||
| 8 | |||
| 9 | 2005-04-18 Kim F. Storm <storm@cua.dk> | ||
| 10 | |||
| 11 | * emulation/cua-base.el (cua--pre-command-handler): Add more | ||
| 12 | elaborate check for shift modifier on non-window systems. | ||
| 13 | |||
| 14 | 2005-04-18 Lars Hansen <larsh@math.ku.dk> | ||
| 15 | |||
| 16 | * desktop.el: Make "--no-desktop" turn off `desktop-save-mode'. | ||
| 17 | |||
| 18 | 2005-04-18 Kim F. Storm <storm@cua.dk> | ||
| 19 | |||
| 20 | * tooltip.el (tooltip-show): Change second arg to USE-ECHO-AREA | ||
| 21 | and make it optional. Don't test tooltip-gud-echo-area here. | ||
| 22 | (tooltip-gud-process-output, gdb-tooltip-print): | ||
| 23 | Pass tooltip-gud-echo-area to tooltip-show. | ||
| 24 | (tooltip-help-tips): Remove second optional arg to tooltip-show. | ||
| 25 | |||
| 26 | 2005-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 27 | |||
| 28 | * tooltip.el (tooltip-mode): `emacs-quick-startup' and | ||
| 29 | `display-graphic-p' may not be bound yet. | ||
| 30 | |||
| 1 | 2005-04-17 Luc Teirlinck <teirllm@auburn.edu> | 31 | 2005-04-17 Luc Teirlinck <teirllm@auburn.edu> |
| 2 | 32 | ||
| 3 | * startup.el (command-line): No longer enable Xterm Mouse mode by | 33 | * startup.el (command-line): No longer enable Xterm Mouse mode by |
diff --git a/lisp/desktop.el b/lisp/desktop.el index ed663d375d5..8e81e8826fe 100644 --- a/lisp/desktop.el +++ b/lisp/desktop.el | |||
| @@ -1030,9 +1030,10 @@ If there are no buffers left to create, kill the timer." | |||
| 1030 | 'after-init-hook | 1030 | 'after-init-hook |
| 1031 | '(lambda () | 1031 | '(lambda () |
| 1032 | (let ((key "--no-desktop")) | 1032 | (let ((key "--no-desktop")) |
| 1033 | (if (member key command-line-args) | 1033 | (when (member key command-line-args) |
| 1034 | (delete key command-line-args) | 1034 | (setq command-line-args (delete key command-line-args)) |
| 1035 | (when desktop-save-mode (desktop-read)))))) | 1035 | (setq desktop-save-mode nil))) |
| 1036 | (when desktop-save-mode (desktop-read)))) | ||
| 1036 | 1037 | ||
| 1037 | (provide 'desktop) | 1038 | (provide 'desktop) |
| 1038 | 1039 | ||
diff --git a/lisp/emulation/cua-base.el b/lisp/emulation/cua-base.el index 77e8f636931..6aeb4bab5a2 100644 --- a/lisp/emulation/cua-base.el +++ b/lisp/emulation/cua-base.el | |||
| @@ -1066,10 +1066,20 @@ If ARG is the atom `-', scroll upward by nearly full screen." | |||
| 1066 | ;; If rectangle is active, expand rectangle in specified direction and ignore the movement. | 1066 | ;; If rectangle is active, expand rectangle in specified direction and ignore the movement. |
| 1067 | (if movement | 1067 | (if movement |
| 1068 | (cond | 1068 | (cond |
| 1069 | ((memq 'shift (event-modifiers | 1069 | ((if window-system |
| 1070 | (aref (if window-system | 1070 | (memq 'shift (event-modifiers |
| 1071 | (this-single-command-raw-keys) | 1071 | (aref (this-single-command-raw-keys) 0))) |
| 1072 | (this-single-command-keys)) 0))) | 1072 | (or |
| 1073 | (memq 'shift (event-modifiers | ||
| 1074 | (aref (this-single-command-keys) 0))) | ||
| 1075 | ;; See if raw escape sequence maps to a shifted event, e.g. S-up or C-S-home. | ||
| 1076 | (and (boundp 'function-key-map) | ||
| 1077 | function-key-map | ||
| 1078 | (let ((ev (lookup-key function-key-map | ||
| 1079 | (this-single-command-raw-keys)))) | ||
| 1080 | (and (vector ev) | ||
| 1081 | (symbolp (setq ev (aref ev 0))) | ||
| 1082 | (string-match "S-" (symbol-name ev))))))) | ||
| 1073 | (unless mark-active | 1083 | (unless mark-active |
| 1074 | (push-mark-command nil t)) | 1084 | (push-mark-command nil t)) |
| 1075 | (setq cua--last-region-shifted t) | 1085 | (setq cua--last-region-shifted t) |
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 2ec1e0bc62e..f08f21fadb7 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2005-04-18 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 2 | |||
| 3 | * qp.el (quoted-printable-encode-region): Save excursion. | ||
| 4 | |||
| 1 | 2005-04-13 Katsumi Yamaoka <yamaoka@jpl.org> | 5 | 2005-04-13 Katsumi Yamaoka <yamaoka@jpl.org> |
| 2 | 6 | ||
| 3 | * gnus-art.el (gnus-mime-inline-part): Use mm-string-to-multibyte. | 7 | * gnus-art.el (gnus-mime-inline-part): Use mm-string-to-multibyte. |
diff --git a/lisp/gnus/qp.el b/lisp/gnus/qp.el index 3789e0efda8..1004abeb02b 100644 --- a/lisp/gnus/qp.el +++ b/lisp/gnus/qp.el | |||
| @@ -1,6 +1,7 @@ | |||
| 1 | ;;; qp.el --- Quoted-Printable functions | 1 | ;;; qp.el --- Quoted-Printable functions |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2005 |
| 4 | ;; Free Software Foundation, Inc. | ||
| 4 | 5 | ||
| 5 | ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org> | 6 | ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org> |
| 6 | ;; Keywords: mail, extensions | 7 | ;; Keywords: mail, extensions |
| @@ -100,15 +101,15 @@ You should probably avoid non-ASCII characters in this arg. | |||
| 100 | If `mm-use-ultra-safe-encoding' is set, fold lines unconditionally and | 101 | If `mm-use-ultra-safe-encoding' is set, fold lines unconditionally and |
| 101 | encode lines starting with \"From\"." | 102 | encode lines starting with \"From\"." |
| 102 | (interactive "r") | 103 | (interactive "r") |
| 103 | (goto-char from) | ||
| 104 | (if (re-search-forward (mm-string-to-multibyte "[^\x0-\x7f\x80-\xff]") | ||
| 105 | to t) | ||
| 106 | (error "Multibyte character in QP encoding region")) | ||
| 107 | (unless class | 104 | (unless class |
| 108 | ;; Avoid using 8bit characters. = is \075. | 105 | ;; Avoid using 8bit characters. = is \075. |
| 109 | ;; Equivalent to "^\000-\007\013\015-\037\200-\377=" | 106 | ;; Equivalent to "^\000-\007\013\015-\037\200-\377=" |
| 110 | (setq class "\010-\012\014\040-\074\076-\177")) | 107 | (setq class "\010-\012\014\040-\074\076-\177")) |
| 111 | (save-excursion | 108 | (save-excursion |
| 109 | (goto-char from) | ||
| 110 | (if (re-search-forward (mm-string-to-multibyte "[^\x0-\x7f\x80-\xff]") | ||
| 111 | to t) | ||
| 112 | (error "Multibyte character in QP encoding region")) | ||
| 112 | (save-restriction | 113 | (save-restriction |
| 113 | (narrow-to-region from to) | 114 | (narrow-to-region from to) |
| 114 | ;; Encode all the non-ascii and control characters. | 115 | ;; Encode all the non-ascii and control characters. |
diff --git a/lisp/isearch.el b/lisp/isearch.el index dfd50b2a8a1..e01f2c0c0ec 100644 --- a/lisp/isearch.el +++ b/lisp/isearch.el | |||
| @@ -405,12 +405,6 @@ A value of nil means highlight all matches." | |||
| 405 | (let ((map (make-sparse-keymap))) | 405 | (let ((map (make-sparse-keymap))) |
| 406 | (set-keymap-parent map minibuffer-local-map) | 406 | (set-keymap-parent map minibuffer-local-map) |
| 407 | (define-key map "\r" 'isearch-nonincremental-exit-minibuffer) | 407 | (define-key map "\r" 'isearch-nonincremental-exit-minibuffer) |
| 408 | (define-key map "\M-n" 'isearch-ring-advance-edit) | ||
| 409 | (define-key map [next] 'isearch-ring-advance-edit) | ||
| 410 | (define-key map [down] 'isearch-ring-advance-edit) | ||
| 411 | (define-key map "\M-p" 'isearch-ring-retreat-edit) | ||
| 412 | (define-key map [prior] 'isearch-ring-retreat-edit) | ||
| 413 | (define-key map [up] 'isearch-ring-retreat-edit) | ||
| 414 | (define-key map "\M-\t" 'isearch-complete-edit) | 408 | (define-key map "\M-\t" 'isearch-complete-edit) |
| 415 | (define-key map "\C-s" 'isearch-forward-exit-minibuffer) | 409 | (define-key map "\C-s" 'isearch-forward-exit-minibuffer) |
| 416 | (define-key map "\C-r" 'isearch-reverse-exit-minibuffer) | 410 | (define-key map "\C-r" 'isearch-reverse-exit-minibuffer) |
| @@ -937,8 +931,6 @@ The following additional command keys are active while editing. | |||
| 937 | \\[isearch-nonincremental-exit-minibuffer] to do one nonincremental search. | 931 | \\[isearch-nonincremental-exit-minibuffer] to do one nonincremental search. |
| 938 | \\[isearch-forward-exit-minibuffer] to resume isearching forward. | 932 | \\[isearch-forward-exit-minibuffer] to resume isearching forward. |
| 939 | \\[isearch-reverse-exit-minibuffer] to resume isearching backward. | 933 | \\[isearch-reverse-exit-minibuffer] to resume isearching backward. |
| 940 | \\[isearch-ring-advance-edit] to replace the search string with the next item in the search ring. | ||
| 941 | \\[isearch-ring-retreat-edit] to replace the search string with the previous item in the search ring. | ||
| 942 | \\[isearch-complete-edit] to complete the search string using the search ring. | 934 | \\[isearch-complete-edit] to complete the search string using the search ring. |
| 943 | \\<isearch-mode-map> | 935 | \\<isearch-mode-map> |
| 944 | If first char entered is \\[isearch-yank-word-or-char], then do word search instead." | 936 | If first char entered is \\[isearch-yank-word-or-char], then do word search instead." |
| @@ -1024,12 +1016,12 @@ If first char entered is \\[isearch-yank-word-or-char], then do word search inst | |||
| 1024 | (isearch-unread e)) | 1016 | (isearch-unread e)) |
| 1025 | (setq cursor-in-echo-area nil) | 1017 | (setq cursor-in-echo-area nil) |
| 1026 | (setq isearch-new-string | 1018 | (setq isearch-new-string |
| 1027 | (let (junk-ring) | 1019 | (read-from-minibuffer |
| 1028 | (read-from-minibuffer | 1020 | (isearch-message-prefix nil nil isearch-nonincremental) |
| 1029 | (isearch-message-prefix nil nil isearch-nonincremental) | 1021 | isearch-string |
| 1030 | isearch-string | 1022 | minibuffer-local-isearch-map nil |
| 1031 | minibuffer-local-isearch-map nil | 1023 | (if isearch-regexp 'regexp-search-ring 'search-ring) |
| 1032 | 'junk-ring nil t)) | 1024 | nil t) |
| 1033 | isearch-new-message | 1025 | isearch-new-message |
| 1034 | (mapconcat 'isearch-text-char-description | 1026 | (mapconcat 'isearch-text-char-description |
| 1035 | isearch-new-string ""))) | 1027 | isearch-new-string ""))) |
| @@ -1860,49 +1852,6 @@ Obsolete." | |||
| 1860 | (interactive) | 1852 | (interactive) |
| 1861 | (isearch-ring-adjust nil)) | 1853 | (isearch-ring-adjust nil)) |
| 1862 | 1854 | ||
| 1863 | (defun isearch-ring-advance-edit (n) | ||
| 1864 | "Insert the next element of the search history into the minibuffer. | ||
| 1865 | With prefix arg N, insert the Nth element." | ||
| 1866 | (interactive "p") | ||
| 1867 | (let* ((yank-pointer-name (if isearch-regexp | ||
| 1868 | 'regexp-search-ring-yank-pointer | ||
| 1869 | 'search-ring-yank-pointer)) | ||
| 1870 | (yank-pointer (eval yank-pointer-name)) | ||
| 1871 | (ring (if isearch-regexp regexp-search-ring search-ring)) | ||
| 1872 | (length (length ring))) | ||
| 1873 | (if (zerop length) | ||
| 1874 | () | ||
| 1875 | (set yank-pointer-name | ||
| 1876 | (setq yank-pointer | ||
| 1877 | (mod (- (or yank-pointer 0) n) | ||
| 1878 | length))) | ||
| 1879 | |||
| 1880 | (delete-field) | ||
| 1881 | (insert (nth yank-pointer ring)) | ||
| 1882 | (goto-char (point-max))))) | ||
| 1883 | |||
| 1884 | (defun isearch-ring-retreat-edit (n) | ||
| 1885 | "Insert the previous element of the search history into the minibuffer. | ||
| 1886 | With prefix arg N, insert the Nth element." | ||
| 1887 | (interactive "p") | ||
| 1888 | (isearch-ring-advance-edit (- n))) | ||
| 1889 | |||
| 1890 | ;;(defun isearch-ring-adjust-edit (advance) | ||
| 1891 | ;; "Use the next or previous search string in the ring while in minibuffer." | ||
| 1892 | ;; (isearch-ring-adjust1 advance) | ||
| 1893 | ;; (erase-buffer) | ||
| 1894 | ;; (insert isearch-string)) | ||
| 1895 | |||
| 1896 | ;;(defun isearch-ring-advance-edit () | ||
| 1897 | ;; (interactive) | ||
| 1898 | ;; (isearch-ring-adjust-edit 'advance)) | ||
| 1899 | |||
| 1900 | ;;(defun isearch-ring-retreat-edit () | ||
| 1901 | ;; "Retreat to the previous search string in the ring while in the minibuffer." | ||
| 1902 | ;; (interactive) | ||
| 1903 | ;; (isearch-ring-adjust-edit nil)) | ||
| 1904 | |||
| 1905 | |||
| 1906 | (defun isearch-complete1 () | 1855 | (defun isearch-complete1 () |
| 1907 | ;; Helper for isearch-complete and isearch-complete-edit | 1856 | ;; Helper for isearch-complete and isearch-complete-edit |
| 1908 | ;; Return t if completion OK, nil if no completion exists. | 1857 | ;; Return t if completion OK, nil if no completion exists. |
diff --git a/lisp/tooltip.el b/lisp/tooltip.el index c903dbac523..d70e20e5b6b 100644 --- a/lisp/tooltip.el +++ b/lisp/tooltip.el | |||
| @@ -188,8 +188,9 @@ With ARG, turn tooltip mode on if and only if ARG is positive." | |||
| 188 | ;; If you change the :init-value below, you also need to change the | 188 | ;; If you change the :init-value below, you also need to change the |
| 189 | ;; corresponding code in startup.el. | 189 | ;; corresponding code in startup.el. |
| 190 | :init-value (not (or noninteractive | 190 | :init-value (not (or noninteractive |
| 191 | emacs-quick-startup | 191 | (and (boundp 'emacs-quick-startup) emacs-quick-startup) |
| 192 | (not (display-graphic-p)) | 192 | (not (and (fboundp 'display-graphic-p) |
| 193 | (display-graphic-p))) | ||
| 193 | (not (fboundp 'x-show-tip)))) | 194 | (not (fboundp 'x-show-tip)))) |
| 194 | :group 'tooltip | 195 | :group 'tooltip |
| 195 | (unless (or (null tooltip-mode) (fboundp 'x-show-tip)) | 196 | (unless (or (null tooltip-mode) (fboundp 'x-show-tip)) |
| @@ -289,7 +290,7 @@ change the existing association. Value is the resulting alist." | |||
| 289 | (push (cons key value) alist)) | 290 | (push (cons key value) alist)) |
| 290 | alist)) | 291 | alist)) |
| 291 | 292 | ||
| 292 | (defun tooltip-show (text gud-tip) | 293 | (defun tooltip-show (text &optional use-echo-area) |
| 293 | "Show a tooltip window displaying TEXT. | 294 | "Show a tooltip window displaying TEXT. |
| 294 | 295 | ||
| 295 | Text larger than `x-max-tooltip-size' is clipped. | 296 | Text larger than `x-max-tooltip-size' is clipped. |
| @@ -300,8 +301,9 @@ is displayed. Otherwise, the tooltip pops at offsets specified by | |||
| 300 | `tooltip-x-offset' and `tooltip-y-offset' from the current mouse | 301 | `tooltip-x-offset' and `tooltip-y-offset' from the current mouse |
| 301 | position. | 302 | position. |
| 302 | 303 | ||
| 303 | GUD-TIP is t if the tooltip is from a GUD session and nil otherwise." | 304 | Optional second arg USE-ECHO-AREA non-nil means to show tooltip |
| 304 | (if (and gud-tip tooltip-gud-echo-area) | 305 | in echo area." |
| 306 | (if use-echo-area | ||
| 305 | (message "%s" text) | 307 | (message "%s" text) |
| 306 | (condition-case error | 308 | (condition-case error |
| 307 | (let ((params (copy-sequence tooltip-frame-parameters)) | 309 | (let ((params (copy-sequence tooltip-frame-parameters)) |
| @@ -417,7 +419,8 @@ This event can be examined by forms in TOOLTIP-GUD-DISPLAY.") | |||
| 417 | (defun tooltip-gud-process-output (process output) | 419 | (defun tooltip-gud-process-output (process output) |
| 418 | "Process debugger output and show it in a tooltip window." | 420 | "Process debugger output and show it in a tooltip window." |
| 419 | (set-process-filter process tooltip-gud-original-filter) | 421 | (set-process-filter process tooltip-gud-original-filter) |
| 420 | (tooltip-show (tooltip-strip-prompt process output) t)) | 422 | (tooltip-show (tooltip-strip-prompt process output) |
| 423 | tooltip-gud-echo-area)) | ||
| 421 | 424 | ||
| 422 | (defun tooltip-gud-print-command (expr) | 425 | (defun tooltip-gud-print-command (expr) |
| 423 | "Return a suitable command to print the expression EXPR. | 426 | "Return a suitable command to print the expression EXPR. |
| @@ -464,7 +467,8 @@ This function must return nil if it doesn't handle EVENT." | |||
| 464 | (with-current-buffer (gdb-get-buffer 'gdb-partial-output-buffer) | 467 | (with-current-buffer (gdb-get-buffer 'gdb-partial-output-buffer) |
| 465 | (let ((string (buffer-string))) | 468 | (let ((string (buffer-string))) |
| 466 | ;; remove newline for tooltip-gud-echo-area | 469 | ;; remove newline for tooltip-gud-echo-area |
| 467 | (substring string 0 (- (length string) 1)))) t)) | 470 | (substring string 0 (- (length string) 1)))) |
| 471 | tooltip-gud-echo-area)) | ||
| 468 | 472 | ||
| 469 | 473 | ||
| 470 | ;;; Tooltip help. | 474 | ;;; Tooltip help. |
| @@ -497,7 +501,7 @@ This is installed on the hook `tooltip-hook', which is run when | |||
| 497 | the timer with ID `tooltip-timeout-id' fires. | 501 | the timer with ID `tooltip-timeout-id' fires. |
| 498 | Value is non-nil if this function handled the tip." | 502 | Value is non-nil if this function handled the tip." |
| 499 | (when (stringp tooltip-help-message) | 503 | (when (stringp tooltip-help-message) |
| 500 | (tooltip-show tooltip-help-message nil) | 504 | (tooltip-show tooltip-help-message) |
| 501 | t)) | 505 | t)) |
| 502 | 506 | ||
| 503 | (provide 'tooltip) | 507 | (provide 'tooltip) |
diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog index 82b7f64dc01..a023bdf18c7 100644 --- a/lisp/url/ChangeLog +++ b/lisp/url/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2005-04-18 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * url.el (url-retrieve-synchronously): Work around the fact that | ||
| 4 | url-http sometimes doesn't call the callback. | ||
| 5 | |||
| 1 | 2005-04-04 Lute Kamstra <lute@gnu.org> | 6 | 2005-04-04 Lute Kamstra <lute@gnu.org> |
| 2 | 7 | ||
| 3 | * url-handlers.el (url-handler-mode): Specify :group. | 8 | * url-handlers.el (url-handler-mode): Specify :group. |
diff --git a/lisp/url/url.el b/lisp/url/url.el index a9fd46bc23a..05ef85c9300 100644 --- a/lisp/url/url.el +++ b/lisp/url/url.el | |||
| @@ -180,15 +180,23 @@ no further processing). URL is either a string or a parsed URL." | |||
| 180 | (url-debug 'retrieval | 180 | (url-debug 'retrieval |
| 181 | "Spinning in url-retrieve-synchronously: %S (%S)" | 181 | "Spinning in url-retrieve-synchronously: %S (%S)" |
| 182 | retrieval-done asynch-buffer) | 182 | retrieval-done asynch-buffer) |
| 183 | ;; We used to use `sit-for' here, but in some cases it wouldn't | 183 | (if (memq (process-status proc) '(closed exit signal failed)) |
| 184 | ;; work because apparently pending keyboard input would always | 184 | ;; FIXME: It's not clear whether url-retrieve's callback is |
| 185 | ;; interrupt it before it got a chance to handle process input. | 185 | ;; guaranteed to be called or not. It seems that url-http |
| 186 | ;; `sleep-for' was tried but it lead to other forms of | 186 | ;; decides sometimes consciously not to call it, so it's not |
| 187 | ;; hanging. --Stef | 187 | ;; clear that it's a bug, but even if we need to decide how |
| 188 | (unless (accept-process-output proc) | 188 | ;; url-http can then warn us that the download has completed. |
| 189 | ;; accept-process-output returned nil, maybe because the process | 189 | ;; In the mean time, we use this here workaround. |
| 190 | ;; exited (and may have been replaced with another). | 190 | (setq retrieval-done t) |
| 191 | (setq proc (get-buffer-process asynch-buffer))))) | 191 | ;; We used to use `sit-for' here, but in some cases it wouldn't |
| 192 | ;; work because apparently pending keyboard input would always | ||
| 193 | ;; interrupt it before it got a chance to handle process input. | ||
| 194 | ;; `sleep-for' was tried but it lead to other forms of | ||
| 195 | ;; hanging. --Stef | ||
| 196 | (unless (accept-process-output proc) | ||
| 197 | ;; accept-process-output returned nil, maybe because the process | ||
| 198 | ;; exited (and may have been replaced with another). | ||
| 199 | (setq proc (get-buffer-process asynch-buffer)))))) | ||
| 192 | asynch-buffer))) | 200 | asynch-buffer))) |
| 193 | 201 | ||
| 194 | (defun url-mm-callback (&rest ignored) | 202 | (defun url-mm-callback (&rest ignored) |
diff --git a/lispref/ChangeLog b/lispref/ChangeLog index 39bcba57c42..14be8680906 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2005-04-18 Nick Roberts <nickrob@snap.net.nz> | ||
| 2 | |||
| 3 | * customize.texi (Variable Definitions): Replace tooltip-mode | ||
| 4 | example with save-place. | ||
| 5 | |||
| 1 | 2005-04-17 Richard M. Stallman <rms@gnu.org> | 6 | 2005-04-17 Richard M. Stallman <rms@gnu.org> |
| 2 | 7 | ||
| 3 | * buffers.texi (Indirect Buffers): Clarify. | 8 | * buffers.texi (Indirect Buffers): Clarify. |
diff --git a/lispref/customize.texi b/lispref/customize.texi index a1a61ab6b09..10911cea165 100644 --- a/lispref/customize.texi +++ b/lispref/customize.texi | |||
| @@ -283,17 +283,14 @@ those other variables already have their intended values. | |||
| 283 | operation of a certain feature. Assuming that the package is coded to | 283 | operation of a certain feature. Assuming that the package is coded to |
| 284 | check the value of the option, you still need to arrange for the package | 284 | check the value of the option, you still need to arrange for the package |
| 285 | to be loaded. You can do that with @code{:require}. @xref{Common | 285 | to be loaded. You can do that with @code{:require}. @xref{Common |
| 286 | Keywords}. Here is an example, from the library @file{tooltip.el}: | 286 | Keywords}. Here is an example, from the library @file{saveplace.el}: |
| 287 | 287 | ||
| 288 | @example | 288 | @example |
| 289 | (defcustom tooltip-mode nil | 289 | (defcustom save-place nil |
| 290 | "Non-nil if Tooltip mode is enabled..." | 290 | "*Non-nil means automatically save place in each file..." |
| 291 | :set (lambda (symbol value) | ||
| 292 | (tooltip-mode (or value 0))) | ||
| 293 | :initialize 'custom-initialize-default | ||
| 294 | :type 'boolean | 291 | :type 'boolean |
| 295 | :require 'tooltip | 292 | :require 'saveplace |
| 296 | :group 'tooltip) | 293 | :group 'save-place) |
| 297 | @end example | 294 | @end example |
| 298 | 295 | ||
| 299 | If a customization item has a type such as @code{hook} or @code{alist}, | 296 | If a customization item has a type such as @code{hook} or @code{alist}, |
diff --git a/man/ChangeLog b/man/ChangeLog index eccaa607dbd..694196c47b8 100644 --- a/man/ChangeLog +++ b/man/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2005-04-18 Lars Hansen <larsh@math.ku.dk> | ||
| 2 | |||
| 3 | * misc.texi (Saving Emacs Sessions): Add that "--no-desktop" now | ||
| 4 | turns off desktop-save-mode. | ||
| 5 | |||
| 1 | 2005-04-17 Luc Teirlinck <teirllm@auburn.edu> | 6 | 2005-04-17 Luc Teirlinck <teirllm@auburn.edu> |
| 2 | 7 | ||
| 3 | * frames.texi (XTerm Mouse): Xterm Mouse mode is no longer enabled | 8 | * frames.texi (XTerm Mouse): Xterm Mouse mode is no longer enabled |
diff --git a/man/misc.texi b/man/misc.texi index f1e05cae89c..f54bb3a79e2 100644 --- a/man/misc.texi +++ b/man/misc.texi | |||
| @@ -1937,7 +1937,8 @@ another directory by typing @kbd{M-x desktop-change-dir}. Typing | |||
| 1937 | @kbd{M-x desktop-revert} reverts to the desktop previously reloaded. | 1937 | @kbd{M-x desktop-revert} reverts to the desktop previously reloaded. |
| 1938 | 1938 | ||
| 1939 | Specify the option @samp{--no-desktop} on the command line when you | 1939 | Specify the option @samp{--no-desktop} on the command line when you |
| 1940 | don't want it to reload any saved desktop. | 1940 | don't want it to reload any saved desktop. This turns off |
| 1941 | @code{desktop-save-mode} for the current session. | ||
| 1941 | 1942 | ||
| 1942 | @vindex desktop-restore-eager | 1943 | @vindex desktop-restore-eager |
| 1943 | By default, all the buffers in the desktop are restored at one go. | 1944 | By default, all the buffers in the desktop are restored at one go. |
diff --git a/src/ChangeLog b/src/ChangeLog index 3483a2c5905..ac7d5fb07f3 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,55 @@ | |||
| 1 | 2005-04-18 Kim F. Storm <storm@cua.dk> | ||
| 2 | |||
| 3 | * dispextern.h (struct glyph_row): New member overlay_arrow_bitmap. | ||
| 4 | It replaces the corresponding member from struct window, as a | ||
| 5 | window may now show multiple overlay arrows. | ||
| 6 | Remove member overlay_arrow_p, superseeded by overlay_arrow_bitmap. | ||
| 7 | |||
| 8 | * dispnew.c (row_equal_p, update_window_line, scrolling_window): | ||
| 9 | Compare overlay_arrow_bitmap than overlay_arrow_p members. | ||
| 10 | |||
| 11 | * fringe.c (draw_fringe_bitmap): Use overlay_arrow_bitmap from row | ||
| 12 | rather than from window. | ||
| 13 | (update_window_fringes): Compare overlay_arrow_bitmap rather than | ||
| 14 | overlay_arrow_p members. | ||
| 15 | (Ffringe_bitmaps_at_pos): Return fringe overlay_arrow_bitmap name | ||
| 16 | if not default. | ||
| 17 | |||
| 18 | * window.h (struct window): Remove member overlay_arrow_bitmap. | ||
| 19 | |||
| 20 | * window.c (make_window): Don't initialize overlay_arrow_bitmap. | ||
| 21 | |||
| 22 | * xdisp.c (overlay_arrow_string_or_property): Remove PBITMAP arg. | ||
| 23 | Calls changed. Don't check for overlay-arrow-bitmap property here. | ||
| 24 | (overlay_arrow_at_row): Remove PBITMAP arg. Instead, if left | ||
| 25 | fringe is present, return Lisp integer for bitmap (or -1 for default). | ||
| 26 | Fix value of overlay-arrow-bitmap property to be a symbol, use | ||
| 27 | lookup_fringe_bitmap to parse it. | ||
| 28 | (display_line): Change call to overlay_arrow_at_row. Store integer | ||
| 29 | return value as overlay bitmap in row rather than window. | ||
| 30 | Only show overlay arrow if row displays text, or if no other overlay | ||
| 31 | arrow is seen in window (if overlay marker is at point-max). | ||
| 32 | |||
| 33 | 2005-04-18 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 34 | |||
| 35 | * xfaces.c (realize_x_face) [!HAVE_WINDOW_SYSTEM]: Return NULL. | ||
| 36 | |||
| 37 | 2005-04-18 Lute Kamstra <lute@gnu.org> | ||
| 38 | |||
| 39 | * lread.c (Vloads_in_progress): Static. | ||
| 40 | * fns.c (Vloads_in_progress): Remove extern. | ||
| 41 | (load_in_progress): Add extern. | ||
| 42 | (Frequire): Use load_in_progress instead of Vloads_in_progress. | ||
| 43 | |||
| 44 | 2005-04-18 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 45 | |||
| 46 | * xmenu.c (Fx_popup_menu): Initialize error_name to NULL. | ||
| 47 | |||
| 48 | 2005-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 49 | |||
| 50 | * macterm.c (XTread_socket): Don't beep on keyboard input even if | ||
| 51 | no frame is visible. | ||
| 52 | |||
| 1 | 2005-04-16 Dan Nicolaescu <dann@ics.uci.edu> | 53 | 2005-04-16 Dan Nicolaescu <dann@ics.uci.edu> |
| 2 | 54 | ||
| 3 | * term.c (struct keys): Add support for shifted keys. | 55 | * term.c (struct keys): Add support for shifted keys. |
| @@ -110,7 +162,6 @@ | |||
| 110 | into "(any string)". | 162 | into "(any string)". |
| 111 | 163 | ||
| 112 | * lread.c (Vloads_in_progress): Not static. | 164 | * lread.c (Vloads_in_progress): Not static. |
| 113 | |||
| 114 | * fns.c (Vloads_in_progress): Add extern. | 165 | * fns.c (Vloads_in_progress): Add extern. |
| 115 | (Frequire): Don't do LOADHIST_ATTACH if Vloads_in_progress is nil. | 166 | (Frequire): Don't do LOADHIST_ATTACH if Vloads_in_progress is nil. |
| 116 | 167 | ||
diff --git a/src/dispextern.h b/src/dispextern.h index fbc816865b4..abcda4fc731 100644 --- a/src/dispextern.h +++ b/src/dispextern.h | |||
| @@ -726,6 +726,11 @@ struct glyph_row | |||
| 726 | position of the next row. */ | 726 | position of the next row. */ |
| 727 | struct display_pos end; | 727 | struct display_pos end; |
| 728 | 728 | ||
| 729 | /* Non-zero means the overlay arrow bitmap is on this line. | ||
| 730 | -1 means use default overlay arrow bitmap, else | ||
| 731 | it specifies actual fringe bitmap number. */ | ||
| 732 | int overlay_arrow_bitmap; | ||
| 733 | |||
| 729 | /* Left fringe bitmap number (enum fringe_bitmap_type). */ | 734 | /* Left fringe bitmap number (enum fringe_bitmap_type). */ |
| 730 | unsigned left_user_fringe_bitmap : FRINGE_ID_BITS; | 735 | unsigned left_user_fringe_bitmap : FRINGE_ID_BITS; |
| 731 | 736 | ||
| @@ -764,9 +769,6 @@ struct glyph_row | |||
| 764 | unsigned truncated_on_left_p : 1; | 769 | unsigned truncated_on_left_p : 1; |
| 765 | unsigned truncated_on_right_p : 1; | 770 | unsigned truncated_on_right_p : 1; |
| 766 | 771 | ||
| 767 | /* 1 means the overlay arrow is on this line. */ | ||
| 768 | unsigned overlay_arrow_p : 1; | ||
| 769 | |||
| 770 | /* 1 means that this row displays a continued line, i.e. it has a | 772 | /* 1 means that this row displays a continued line, i.e. it has a |
| 771 | continuation mark at the right side. */ | 773 | continuation mark at the right side. */ |
| 772 | unsigned continued_p : 1; | 774 | unsigned continued_p : 1; |
diff --git a/src/dispnew.c b/src/dispnew.c index f549a8dde91..d7b5590c532 100644 --- a/src/dispnew.c +++ b/src/dispnew.c | |||
| @@ -1506,7 +1506,7 @@ row_equal_p (w, a, b, mouse_face_p) | |||
| 1506 | || a->left_fringe_face_id != b->left_fringe_face_id | 1506 | || a->left_fringe_face_id != b->left_fringe_face_id |
| 1507 | || a->right_fringe_bitmap != b->right_fringe_bitmap | 1507 | || a->right_fringe_bitmap != b->right_fringe_bitmap |
| 1508 | || a->right_fringe_face_id != b->right_fringe_face_id | 1508 | || a->right_fringe_face_id != b->right_fringe_face_id |
| 1509 | || a->overlay_arrow_p != b->overlay_arrow_p | 1509 | || a->overlay_arrow_bitmap != b->overlay_arrow_bitmap |
| 1510 | || a->exact_window_width_line_p != b->exact_window_width_line_p | 1510 | || a->exact_window_width_line_p != b->exact_window_width_line_p |
| 1511 | || a->overlapped_p != b->overlapped_p | 1511 | || a->overlapped_p != b->overlapped_p |
| 1512 | || (MATRIX_ROW_CONTINUATION_LINE_P (a) | 1512 | || (MATRIX_ROW_CONTINUATION_LINE_P (a) |
| @@ -4539,7 +4539,7 @@ update_window_line (w, vpos, mouse_face_overwritten_p) | |||
| 4539 | || desired_row->y != current_row->y | 4539 | || desired_row->y != current_row->y |
| 4540 | || desired_row->visible_height != current_row->visible_height | 4540 | || desired_row->visible_height != current_row->visible_height |
| 4541 | || desired_row->cursor_in_fringe_p != current_row->cursor_in_fringe_p | 4541 | || desired_row->cursor_in_fringe_p != current_row->cursor_in_fringe_p |
| 4542 | || desired_row->overlay_arrow_p != current_row->overlay_arrow_p | 4542 | || desired_row->overlay_arrow_bitmap != current_row->overlay_arrow_bitmap |
| 4543 | || current_row->redraw_fringe_bitmaps_p | 4543 | || current_row->redraw_fringe_bitmaps_p |
| 4544 | || desired_row->mode_line_p != current_row->mode_line_p | 4544 | || desired_row->mode_line_p != current_row->mode_line_p |
| 4545 | || desired_row->exact_window_width_line_p != current_row->exact_window_width_line_p | 4545 | || desired_row->exact_window_width_line_p != current_row->exact_window_width_line_p |
| @@ -5051,7 +5051,7 @@ scrolling_window (w, header_line_p) | |||
| 5051 | || to->right_fringe_bitmap != from->right_fringe_bitmap | 5051 | || to->right_fringe_bitmap != from->right_fringe_bitmap |
| 5052 | || to->left_fringe_face_id != from->left_fringe_face_id | 5052 | || to->left_fringe_face_id != from->left_fringe_face_id |
| 5053 | || to->right_fringe_face_id != from->right_fringe_face_id | 5053 | || to->right_fringe_face_id != from->right_fringe_face_id |
| 5054 | || to->overlay_arrow_p != from->overlay_arrow_p)) | 5054 | || to->overlay_arrow_bitmap != from->overlay_arrow_bitmap)) |
| 5055 | from->redraw_fringe_bitmaps_p = 1; | 5055 | from->redraw_fringe_bitmaps_p = 1; |
| 5056 | assign_row (to, from); | 5056 | assign_row (to, from); |
| 5057 | to->enabled_p = 1, from->enabled_p = 0; | 5057 | to->enabled_p = 1, from->enabled_p = 0; |
| @@ -66,7 +66,7 @@ int use_file_dialog; | |||
| 66 | extern int minibuffer_auto_raise; | 66 | extern int minibuffer_auto_raise; |
| 67 | extern Lisp_Object minibuf_window; | 67 | extern Lisp_Object minibuf_window; |
| 68 | extern Lisp_Object Vlocale_coding_system; | 68 | extern Lisp_Object Vlocale_coding_system; |
| 69 | extern Lisp_Object Vloads_in_progress; | 69 | extern int load_in_progress; |
| 70 | 70 | ||
| 71 | Lisp_Object Qstring_lessp, Qprovide, Qrequire; | 71 | Lisp_Object Qstring_lessp, Qprovide, Qrequire; |
| 72 | Lisp_Object Qyes_or_no_p_history; | 72 | Lisp_Object Qyes_or_no_p_history; |
| @@ -3460,7 +3460,7 @@ The normal messages at start and end of loading FILENAME are suppressed. */) | |||
| 3460 | even if the feature specified is already loaded. | 3460 | even if the feature specified is already loaded. |
| 3461 | But not more than once in any file, | 3461 | But not more than once in any file, |
| 3462 | and not when we aren't loading a file. */ | 3462 | and not when we aren't loading a file. */ |
| 3463 | if (! NILP (Vloads_in_progress)) | 3463 | if (load_in_progress) |
| 3464 | { | 3464 | { |
| 3465 | tem = Fcons (Qrequire, feature); | 3465 | tem = Fcons (Qrequire, feature); |
| 3466 | if (NILP (Fmember (tem, Vcurrent_load_list))) | 3466 | if (NILP (Fmember (tem, Vcurrent_load_list))) |
diff --git a/src/fringe.c b/src/fringe.c index 39479dfed21..19e6e60d114 100644 --- a/src/fringe.c +++ b/src/fringe.c | |||
| @@ -700,11 +700,11 @@ draw_fringe_bitmap (w, row, left_p) | |||
| 700 | 700 | ||
| 701 | draw_fringe_bitmap_1 (w, row, left_p, overlay, NO_FRINGE_BITMAP); | 701 | draw_fringe_bitmap_1 (w, row, left_p, overlay, NO_FRINGE_BITMAP); |
| 702 | 702 | ||
| 703 | if (left_p && row->overlay_arrow_p) | 703 | if (left_p && row->overlay_arrow_bitmap != NO_FRINGE_BITMAP) |
| 704 | draw_fringe_bitmap_1 (w, row, 1, 1, | 704 | draw_fringe_bitmap_1 (w, row, 1, 1, |
| 705 | (w->overlay_arrow_bitmap | 705 | (row->overlay_arrow_bitmap < 0 |
| 706 | ? w->overlay_arrow_bitmap | 706 | ? OVERLAY_ARROW_BITMAP |
| 707 | : OVERLAY_ARROW_BITMAP)); | 707 | : row->overlay_arrow_bitmap)); |
| 708 | } | 708 | } |
| 709 | 709 | ||
| 710 | 710 | ||
| @@ -960,10 +960,10 @@ update_window_fringes (w, force_p) | |||
| 960 | cur->right_fringe_face_id = right_face_id; | 960 | cur->right_fringe_face_id = right_face_id; |
| 961 | } | 961 | } |
| 962 | 962 | ||
| 963 | if (row->overlay_arrow_p != cur->overlay_arrow_p) | 963 | if (row->overlay_arrow_bitmap != cur->overlay_arrow_bitmap) |
| 964 | { | 964 | { |
| 965 | redraw_p = row->redraw_fringe_bitmaps_p = cur->redraw_fringe_bitmaps_p = 1; | 965 | redraw_p = row->redraw_fringe_bitmaps_p = cur->redraw_fringe_bitmaps_p = 1; |
| 966 | cur->overlay_arrow_p = row->overlay_arrow_p; | 966 | cur->overlay_arrow_bitmap = row->overlay_arrow_bitmap; |
| 967 | } | 967 | } |
| 968 | 968 | ||
| 969 | row->left_fringe_bitmap = left; | 969 | row->left_fringe_bitmap = left; |
| @@ -1414,7 +1414,9 @@ Return nil if POS is not visible in WINDOW. */) | |||
| 1414 | if (row) | 1414 | if (row) |
| 1415 | return list3 (get_fringe_bitmap_name (row->left_fringe_bitmap), | 1415 | return list3 (get_fringe_bitmap_name (row->left_fringe_bitmap), |
| 1416 | get_fringe_bitmap_name (row->right_fringe_bitmap), | 1416 | get_fringe_bitmap_name (row->right_fringe_bitmap), |
| 1417 | (row->overlay_arrow_p ? Qt : Qnil)); | 1417 | (row->overlay_arrow_bitmap == 0 ? Qnil |
| 1418 | : row->overlay_arrow_bitmap < 0 ? Qt | ||
| 1419 | : get_fringe_bitmap_name (row->overlay_arrow_bitmap))); | ||
| 1418 | else | 1420 | else |
| 1419 | return Qnil; | 1421 | return Qnil; |
| 1420 | } | 1422 | } |
diff --git a/src/lread.c b/src/lread.c index d36d45c8c7d..869e95a00e0 100644 --- a/src/lread.c +++ b/src/lread.c | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* Lisp parsing and input streams. | 1 | /* Lisp parsing and input streams. |
| 2 | Copyright (C) 1985, 1986, 1987, 1988, 1989, 1993, 1994, 1995, 1997, 1998, | 2 | Copyright (C) 1985, 1986, 1987, 1988, 1989, 1993, 1994, 1995, 1997, 1998, |
| 3 | 1999, 2000, 2001, 2003, 2004 Free Software Foundation, Inc. | 3 | 1999, 2000, 2001, 2003, 2004, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is part of GNU Emacs. | 5 | This file is part of GNU Emacs. |
| 6 | 6 | ||
| @@ -90,7 +90,7 @@ Lisp_Object Qinhibit_file_name_operation; | |||
| 90 | extern Lisp_Object Qevent_symbol_element_mask; | 90 | extern Lisp_Object Qevent_symbol_element_mask; |
| 91 | extern Lisp_Object Qfile_exists_p; | 91 | extern Lisp_Object Qfile_exists_p; |
| 92 | 92 | ||
| 93 | /* non-zero if inside `load' */ | 93 | /* non-zero iff inside `load' */ |
| 94 | int load_in_progress; | 94 | int load_in_progress; |
| 95 | 95 | ||
| 96 | /* Directory in which the sources were found. */ | 96 | /* Directory in which the sources were found. */ |
| @@ -194,7 +194,7 @@ static int new_backquote_flag; | |||
| 194 | /* A list of file names for files being loaded in Fload. Used to | 194 | /* A list of file names for files being loaded in Fload. Used to |
| 195 | check for recursive loads. */ | 195 | check for recursive loads. */ |
| 196 | 196 | ||
| 197 | Lisp_Object Vloads_in_progress; | 197 | static Lisp_Object Vloads_in_progress; |
| 198 | 198 | ||
| 199 | /* Non-zero means load dangerous compiled Lisp files. */ | 199 | /* Non-zero means load dangerous compiled Lisp files. */ |
| 200 | 200 | ||
diff --git a/src/macterm.c b/src/macterm.c index 5aab6ec5364..7bef378b590 100644 --- a/src/macterm.c +++ b/src/macterm.c | |||
| @@ -8590,13 +8590,15 @@ XTread_socket (sd, expected, hold_quit) | |||
| 8590 | struct frame *f = mac_focus_frame (dpyinfo); | 8590 | struct frame *f = mac_focus_frame (dpyinfo); |
| 8591 | WindowPtr window_ptr; | 8591 | WindowPtr window_ptr; |
| 8592 | 8592 | ||
| 8593 | if (!f) | 8593 | #if 0 |
| 8594 | if (dpyinfo->x_focus_frame == NULL) | ||
| 8594 | { | 8595 | { |
| 8595 | /* Beep if wheel move occurs when all the frames | 8596 | /* Beep if wheel move occurs when all the frames |
| 8596 | are invisible. */ | 8597 | are invisible. */ |
| 8597 | SysBeep(1); | 8598 | SysBeep(1); |
| 8598 | break; | 8599 | break; |
| 8599 | } | 8600 | } |
| 8601 | #endif | ||
| 8600 | 8602 | ||
| 8601 | GetEventParameter(eventRef, kEventParamMouseWheelDelta, | 8603 | GetEventParameter(eventRef, kEventParamMouseWheelDelta, |
| 8602 | typeSInt32, NULL, sizeof (SInt32), | 8604 | typeSInt32, NULL, sizeof (SInt32), |
| @@ -9011,6 +9013,7 @@ XTread_socket (sd, expected, hold_quit) | |||
| 9011 | break; | 9013 | break; |
| 9012 | #endif | 9014 | #endif |
| 9013 | 9015 | ||
| 9016 | #if 0 | ||
| 9014 | if (dpyinfo->x_focus_frame == NULL) | 9017 | if (dpyinfo->x_focus_frame == NULL) |
| 9015 | { | 9018 | { |
| 9016 | /* Beep if keyboard input occurs when all the frames | 9019 | /* Beep if keyboard input occurs when all the frames |
| @@ -9018,6 +9021,7 @@ XTread_socket (sd, expected, hold_quit) | |||
| 9018 | SysBeep (1); | 9021 | SysBeep (1); |
| 9019 | break; | 9022 | break; |
| 9020 | } | 9023 | } |
| 9024 | #endif | ||
| 9021 | 9025 | ||
| 9022 | { | 9026 | { |
| 9023 | static SInt16 last_key_script = -1; | 9027 | static SInt16 last_key_script = -1; |
diff --git a/src/window.c b/src/window.c index a1b3c879bb5..86c16ff5719 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -288,7 +288,6 @@ make_window () | |||
| 288 | p->fringes_outside_margins = Qnil; | 288 | p->fringes_outside_margins = Qnil; |
| 289 | p->scroll_bar_width = Qnil; | 289 | p->scroll_bar_width = Qnil; |
| 290 | p->vertical_scroll_bar_type = Qt; | 290 | p->vertical_scroll_bar_type = Qt; |
| 291 | p->overlay_arrow_bitmap = 0; | ||
| 292 | 291 | ||
| 293 | Vwindow_list = Qnil; | 292 | Vwindow_list = Qnil; |
| 294 | return val; | 293 | return val; |
diff --git a/src/window.h b/src/window.h index 8df0b6bb3eb..493b5aa9486 100644 --- a/src/window.h +++ b/src/window.h | |||
| @@ -259,9 +259,6 @@ struct window | |||
| 259 | /* This is handy for undrawing the cursor. */ | 259 | /* This is handy for undrawing the cursor. */ |
| 260 | int phys_cursor_ascent, phys_cursor_height; | 260 | int phys_cursor_ascent, phys_cursor_height; |
| 261 | 261 | ||
| 262 | /* Alternate overlay-arrow-bitmap in this window. */ | ||
| 263 | int overlay_arrow_bitmap; | ||
| 264 | |||
| 265 | /* Non-zero means the cursor is currently displayed. This can be | 262 | /* Non-zero means the cursor is currently displayed. This can be |
| 266 | set to zero by functions overpainting the cursor image. */ | 263 | set to zero by functions overpainting the cursor image. */ |
| 267 | unsigned phys_cursor_on_p : 1; | 264 | unsigned phys_cursor_on_p : 1; |
diff --git a/src/xdisp.c b/src/xdisp.c index c832f1fa5e0..12ee4fef7d3 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -9638,22 +9638,14 @@ redisplay () | |||
| 9638 | 9638 | ||
| 9639 | 9639 | ||
| 9640 | static Lisp_Object | 9640 | static Lisp_Object |
| 9641 | overlay_arrow_string_or_property (var, pbitmap) | 9641 | overlay_arrow_string_or_property (var) |
| 9642 | Lisp_Object var; | 9642 | Lisp_Object var; |
| 9643 | int *pbitmap; | ||
| 9644 | { | 9643 | { |
| 9645 | Lisp_Object pstr = Fget (var, Qoverlay_arrow_string); | 9644 | Lisp_Object val; |
| 9646 | Lisp_Object bitmap; | ||
| 9647 | 9645 | ||
| 9648 | if (pbitmap) | 9646 | if (val = Fget (var, Qoverlay_arrow_string), STRINGP (val)) |
| 9649 | { | 9647 | return val; |
| 9650 | *pbitmap = 0; | ||
| 9651 | if (bitmap = Fget (var, Qoverlay_arrow_bitmap), INTEGERP (bitmap)) | ||
| 9652 | *pbitmap = XINT (bitmap); | ||
| 9653 | } | ||
| 9654 | 9648 | ||
| 9655 | if (!NILP (pstr)) | ||
| 9656 | return pstr; | ||
| 9657 | return Voverlay_arrow_string; | 9649 | return Voverlay_arrow_string; |
| 9658 | } | 9650 | } |
| 9659 | 9651 | ||
| @@ -9703,7 +9695,7 @@ overlay_arrows_changed_p () | |||
| 9703 | continue; | 9695 | continue; |
| 9704 | if (! EQ (COERCE_MARKER (val), | 9696 | if (! EQ (COERCE_MARKER (val), |
| 9705 | Fget (var, Qlast_arrow_position)) | 9697 | Fget (var, Qlast_arrow_position)) |
| 9706 | || ! (pstr = overlay_arrow_string_or_property (var, 0), | 9698 | || ! (pstr = overlay_arrow_string_or_property (var), |
| 9707 | EQ (pstr, Fget (var, Qlast_arrow_string)))) | 9699 | EQ (pstr, Fget (var, Qlast_arrow_string)))) |
| 9708 | return 1; | 9700 | return 1; |
| 9709 | } | 9701 | } |
| @@ -9733,7 +9725,7 @@ update_overlay_arrows (up_to_date) | |||
| 9733 | Fput (var, Qlast_arrow_position, | 9725 | Fput (var, Qlast_arrow_position, |
| 9734 | COERCE_MARKER (val)); | 9726 | COERCE_MARKER (val)); |
| 9735 | Fput (var, Qlast_arrow_string, | 9727 | Fput (var, Qlast_arrow_string, |
| 9736 | overlay_arrow_string_or_property (var, 0)); | 9728 | overlay_arrow_string_or_property (var)); |
| 9737 | } | 9729 | } |
| 9738 | else if (up_to_date < 0 | 9730 | else if (up_to_date < 0 |
| 9739 | || !NILP (Fget (var, Qlast_arrow_position))) | 9731 | || !NILP (Fget (var, Qlast_arrow_position))) |
| @@ -9746,14 +9738,13 @@ update_overlay_arrows (up_to_date) | |||
| 9746 | 9738 | ||
| 9747 | 9739 | ||
| 9748 | /* Return overlay arrow string to display at row. | 9740 | /* Return overlay arrow string to display at row. |
| 9749 | Return t if display as bitmap in left fringe. | 9741 | Return integer (bitmap number) for arrow bitmap in left fringe. |
| 9750 | Return nil if no overlay arrow. */ | 9742 | Return nil if no overlay arrow. */ |
| 9751 | 9743 | ||
| 9752 | static Lisp_Object | 9744 | static Lisp_Object |
| 9753 | overlay_arrow_at_row (it, row, pbitmap) | 9745 | overlay_arrow_at_row (it, row) |
| 9754 | struct it *it; | 9746 | struct it *it; |
| 9755 | struct glyph_row *row; | 9747 | struct glyph_row *row; |
| 9756 | int *pbitmap; | ||
| 9757 | { | 9748 | { |
| 9758 | Lisp_Object vlist; | 9749 | Lisp_Object vlist; |
| 9759 | 9750 | ||
| @@ -9773,17 +9764,21 @@ overlay_arrow_at_row (it, row, pbitmap) | |||
| 9773 | && current_buffer == XMARKER (val)->buffer | 9764 | && current_buffer == XMARKER (val)->buffer |
| 9774 | && (MATRIX_ROW_START_CHARPOS (row) == marker_position (val))) | 9765 | && (MATRIX_ROW_START_CHARPOS (row) == marker_position (val))) |
| 9775 | { | 9766 | { |
| 9776 | val = overlay_arrow_string_or_property (var, pbitmap); | ||
| 9777 | if (FRAME_WINDOW_P (it->f) | 9767 | if (FRAME_WINDOW_P (it->f) |
| 9778 | && WINDOW_LEFT_FRINGE_WIDTH (it->w) > 0) | 9768 | && WINDOW_LEFT_FRINGE_WIDTH (it->w) > 0) |
| 9779 | return Qt; | 9769 | { |
| 9780 | if (STRINGP (val)) | 9770 | if (val = Fget (var, Qoverlay_arrow_bitmap), SYMBOLP (val)) |
| 9781 | return val; | 9771 | { |
| 9782 | break; | 9772 | int fringe_bitmap; |
| 9773 | if ((fringe_bitmap = lookup_fringe_bitmap (val)) != 0) | ||
| 9774 | return make_number (fringe_bitmap); | ||
| 9775 | } | ||
| 9776 | return make_number (-1); /* Use default arrow bitmap */ | ||
| 9777 | } | ||
| 9778 | return overlay_arrow_string_or_property (var); | ||
| 9783 | } | 9779 | } |
| 9784 | } | 9780 | } |
| 9785 | 9781 | ||
| 9786 | *pbitmap = 0; | ||
| 9787 | return Qnil; | 9782 | return Qnil; |
| 9788 | } | 9783 | } |
| 9789 | 9784 | ||
| @@ -14847,7 +14842,6 @@ display_line (it) | |||
| 14847 | struct it *it; | 14842 | struct it *it; |
| 14848 | { | 14843 | { |
| 14849 | struct glyph_row *row = it->glyph_row; | 14844 | struct glyph_row *row = it->glyph_row; |
| 14850 | int overlay_arrow_bitmap; | ||
| 14851 | Lisp_Object overlay_arrow_string; | 14845 | Lisp_Object overlay_arrow_string; |
| 14852 | 14846 | ||
| 14853 | /* We always start displaying at hpos zero even if hscrolled. */ | 14847 | /* We always start displaying at hpos zero even if hscrolled. */ |
| @@ -15255,9 +15249,9 @@ display_line (it) | |||
| 15255 | mark this glyph row as the one containing the overlay arrow. | 15249 | mark this glyph row as the one containing the overlay arrow. |
| 15256 | This is clearly a mess with variable size fonts. It would be | 15250 | This is clearly a mess with variable size fonts. It would be |
| 15257 | better to let it be displayed like cursors under X. */ | 15251 | better to let it be displayed like cursors under X. */ |
| 15258 | if ((overlay_arrow_string | 15252 | if ((row->displays_text_p || !overlay_arrow_seen) |
| 15259 | = overlay_arrow_at_row (it, row, &overlay_arrow_bitmap), | 15253 | && (overlay_arrow_string = overlay_arrow_at_row (it, row), |
| 15260 | !NILP (overlay_arrow_string))) | 15254 | !NILP (overlay_arrow_string))) |
| 15261 | { | 15255 | { |
| 15262 | /* Overlay arrow in window redisplay is a fringe bitmap. */ | 15256 | /* Overlay arrow in window redisplay is a fringe bitmap. */ |
| 15263 | if (STRINGP (overlay_arrow_string)) | 15257 | if (STRINGP (overlay_arrow_string)) |
| @@ -15287,8 +15281,8 @@ display_line (it) | |||
| 15287 | } | 15281 | } |
| 15288 | else | 15282 | else |
| 15289 | { | 15283 | { |
| 15290 | it->w->overlay_arrow_bitmap = overlay_arrow_bitmap; | 15284 | xassert (INTEGERP (overlay_arrow_string)); |
| 15291 | row->overlay_arrow_p = 1; | 15285 | row->overlay_arrow_bitmap = XINT (overlay_arrow_string); |
| 15292 | } | 15286 | } |
| 15293 | overlay_arrow_seen = 1; | 15287 | overlay_arrow_seen = 1; |
| 15294 | } | 15288 | } |
diff --git a/src/xfaces.c b/src/xfaces.c index 51dcfb144d1..89267c8f7f6 100644 --- a/src/xfaces.c +++ b/src/xfaces.c | |||
| @@ -7115,8 +7115,9 @@ realize_x_face (cache, attrs, c, base_face) | |||
| 7115 | int c; | 7115 | int c; |
| 7116 | struct face *base_face; | 7116 | struct face *base_face; |
| 7117 | { | 7117 | { |
| 7118 | struct face *face = NULL; | ||
| 7118 | #ifdef HAVE_WINDOW_SYSTEM | 7119 | #ifdef HAVE_WINDOW_SYSTEM |
| 7119 | struct face *face, *default_face; | 7120 | struct face *default_face; |
| 7120 | struct frame *f; | 7121 | struct frame *f; |
| 7121 | Lisp_Object stipple, overline, strike_through, box; | 7122 | Lisp_Object stipple, overline, strike_through, box; |
| 7122 | 7123 | ||
| @@ -7312,8 +7313,8 @@ realize_x_face (cache, attrs, c, base_face) | |||
| 7312 | face->stipple = load_pixmap (f, stipple, &face->pixmap_w, &face->pixmap_h); | 7313 | face->stipple = load_pixmap (f, stipple, &face->pixmap_w, &face->pixmap_h); |
| 7313 | 7314 | ||
| 7314 | xassert (FACE_SUITABLE_FOR_CHAR_P (face, c)); | 7315 | xassert (FACE_SUITABLE_FOR_CHAR_P (face, c)); |
| 7315 | return face; | ||
| 7316 | #endif /* HAVE_WINDOW_SYSTEM */ | 7316 | #endif /* HAVE_WINDOW_SYSTEM */ |
| 7317 | return face; | ||
| 7317 | } | 7318 | } |
| 7318 | 7319 | ||
| 7319 | 7320 | ||
diff --git a/src/xmenu.c b/src/xmenu.c index b29b74b6e44..f32074c2f6a 100644 --- a/src/xmenu.c +++ b/src/xmenu.c | |||
| @@ -771,7 +771,7 @@ cached information about equivalent key sequences. */) | |||
| 771 | Lisp_Object keymap, tem; | 771 | Lisp_Object keymap, tem; |
| 772 | int xpos = 0, ypos = 0; | 772 | int xpos = 0, ypos = 0; |
| 773 | Lisp_Object title; | 773 | Lisp_Object title; |
| 774 | char *error_name; | 774 | char *error_name = NULL; |
| 775 | Lisp_Object selection; | 775 | Lisp_Object selection; |
| 776 | FRAME_PTR f = NULL; | 776 | FRAME_PTR f = NULL; |
| 777 | Lisp_Object x, y, window; | 777 | Lisp_Object x, y, window; |
| @@ -2483,7 +2483,7 @@ create_and_show_popup_menu (f, first_wv, x, y, for_click) | |||
| 2483 | if (FRAME_X_DISPLAY_INFO (f)->grabbed & (1 << i)) | 2483 | if (FRAME_X_DISPLAY_INFO (f)->grabbed & (1 << i)) |
| 2484 | break; | 2484 | break; |
| 2485 | } | 2485 | } |
| 2486 | 2486 | ||
| 2487 | /* Display the menu. */ | 2487 | /* Display the menu. */ |
| 2488 | gtk_widget_show_all (menu); | 2488 | gtk_widget_show_all (menu); |
| 2489 | gtk_menu_popup (GTK_MENU (menu), 0, 0, pos_func, &popup_x_y, i, 0); | 2489 | gtk_menu_popup (GTK_MENU (menu), 0, 0, pos_func, &popup_x_y, i, 0); |
| @@ -2601,7 +2601,7 @@ create_and_show_popup_menu (f, first_wv, x, y, for_click) | |||
| 2601 | /* Display the menu. */ | 2601 | /* Display the menu. */ |
| 2602 | lw_popup_menu (menu, (XEvent *) &dummy); | 2602 | lw_popup_menu (menu, (XEvent *) &dummy); |
| 2603 | popup_activated_flag = 1; | 2603 | popup_activated_flag = 1; |
| 2604 | 2604 | ||
| 2605 | { | 2605 | { |
| 2606 | int fact = 4 * sizeof (LWLIB_ID); | 2606 | int fact = 4 * sizeof (LWLIB_ID); |
| 2607 | int specpdl_count = SPECPDL_INDEX (); | 2607 | int specpdl_count = SPECPDL_INDEX (); |
| @@ -3225,7 +3225,7 @@ pop_down_menu (arg) | |||
| 3225 | { | 3225 | { |
| 3226 | struct Lisp_Save_Value *p1 = XSAVE_VALUE (Fcar (arg)); | 3226 | struct Lisp_Save_Value *p1 = XSAVE_VALUE (Fcar (arg)); |
| 3227 | struct Lisp_Save_Value *p2 = XSAVE_VALUE (Fcdr (arg)); | 3227 | struct Lisp_Save_Value *p2 = XSAVE_VALUE (Fcdr (arg)); |
| 3228 | 3228 | ||
| 3229 | FRAME_PTR f = p1->pointer; | 3229 | FRAME_PTR f = p1->pointer; |
| 3230 | XMenu *menu = p2->pointer; | 3230 | XMenu *menu = p2->pointer; |
| 3231 | 3231 | ||
| @@ -3459,7 +3459,7 @@ xmenu_show (f, x, y, for_click, keymaps, title, error) | |||
| 3459 | #ifndef MSDOS | 3459 | #ifndef MSDOS |
| 3460 | XMenuActivateSetWaitFunction (x_menu_wait_for_event, FRAME_X_DISPLAY (f)); | 3460 | XMenuActivateSetWaitFunction (x_menu_wait_for_event, FRAME_X_DISPLAY (f)); |
| 3461 | #endif | 3461 | #endif |
| 3462 | 3462 | ||
| 3463 | record_unwind_protect (pop_down_menu, | 3463 | record_unwind_protect (pop_down_menu, |
| 3464 | Fcons (make_save_value (f, 0), | 3464 | Fcons (make_save_value (f, 0), |
| 3465 | make_save_value (menu, 0))); | 3465 | make_save_value (menu, 0))); |