diff options
Diffstat (limited to 'lisp')
| -rw-r--r-- | lisp/ChangeLog | 9 | ||||
| -rw-r--r-- | lisp/gnus/ChangeLog | 4 | ||||
| -rw-r--r-- | lisp/gnus/shr.el | 3 | ||||
| -rw-r--r-- | lisp/window.el | 60 | ||||
| -rw-r--r-- | lisp/xwidget-screencast.el | 32 | ||||
| -rw-r--r-- | lisp/xwidget-test.el | 138 | ||||
| -rw-r--r-- | lisp/xwidget.el | 4 |
7 files changed, 64 insertions, 186 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index d96ad569543..a2169898670 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,12 @@ | |||
| 1 | 2011-07-21 Martin Rudalics <rudalics@gmx.at> | ||
| 2 | |||
| 3 | * window.el (display-buffer-pop-up-window) | ||
| 4 | (display-buffer-pop-up-side-window) | ||
| 5 | (display-buffer-in-side-window): Call display-buffer-set-height | ||
| 6 | and display-buffer-set-width after setting the new window's | ||
| 7 | buffer so `fit-window-to-buffer' and friends work on the right | ||
| 8 | buffer. | ||
| 9 | |||
| 1 | 2011-07-20 Sam Steingold <sds@gnu.org> | 10 | 2011-07-20 Sam Steingold <sds@gnu.org> |
| 2 | 11 | ||
| 3 | * progmodes/etags.el (etags-file-of-tag, etags-tags-table-files) | 12 | * progmodes/etags.el (etags-file-of-tag, etags-tags-table-files) |
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index a1cb003a8ff..a8065fc5ca4 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2011-07-20 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 2 | |||
| 3 | * shr.el (shr-tag-comment): Ignore HTML comments. | ||
| 4 | |||
| 1 | 2011-07-20 Andrew Cohen <cohen@andy.bu.edu> | 5 | 2011-07-20 Andrew Cohen <cohen@andy.bu.edu> |
| 2 | 6 | ||
| 3 | * nnir.el (gnus-group-make-nnir-group): Allow optional search query | 7 | * nnir.el (gnus-group-make-nnir-group): Allow optional search query |
diff --git a/lisp/gnus/shr.el b/lisp/gnus/shr.el index f8a85579b4f..8faa5071616 100644 --- a/lisp/gnus/shr.el +++ b/lisp/gnus/shr.el | |||
| @@ -761,6 +761,9 @@ ones, in case fg and bg are nil." | |||
| 761 | (defun shr-tag-script (cont) | 761 | (defun shr-tag-script (cont) |
| 762 | ) | 762 | ) |
| 763 | 763 | ||
| 764 | (defun shr-tag-comment (cont) | ||
| 765 | ) | ||
| 766 | |||
| 764 | (defun shr-tag-sup (cont) | 767 | (defun shr-tag-sup (cont) |
| 765 | (let ((start (point))) | 768 | (let ((start (point))) |
| 766 | (shr-generic cont) | 769 | (shr-generic cont) |
diff --git a/lisp/window.el b/lisp/window.el index 12c9da85d57..905db8dc9b6 100644 --- a/lisp/window.el +++ b/lisp/window.el | |||
| @@ -5051,14 +5051,22 @@ description." | |||
| 5051 | (funcall side window))))) | 5051 | (funcall side window))))) |
| 5052 | 5052 | ||
| 5053 | (when (window-live-p window) | 5053 | (when (window-live-p window) |
| 5054 | ;; Adjust sizes if asked for. | 5054 | ;; In `quit-restore' parameter record that we popped up |
| 5055 | (display-buffer-set-height window specifiers) | 5055 | ;; this window, its buffer and which window was selected. |
| 5056 | (display-buffer-set-width window specifiers) | ||
| 5057 | (set-window-parameter | 5056 | (set-window-parameter |
| 5058 | window 'quit-restore (list 'new-window buffer selected-window)) | 5057 | window 'quit-restore (list 'new-window buffer selected-window)) |
| 5058 | ;; For `display-buffer-window' mark window as new. | ||
| 5059 | (setq display-buffer-window (cons window 'new-window)) | 5059 | (setq display-buffer-window (cons window 'new-window)) |
| 5060 | ;; Install BUFFER in the new window. | ||
| 5060 | (display-buffer-in-window buffer window specifiers) | 5061 | (display-buffer-in-window buffer window specifiers) |
| 5062 | ;; Adjust sizes if asked for (for `fit-window-to-buffer' | ||
| 5063 | ;; and friends BUFFER must be already shown in the new | ||
| 5064 | ;; window). | ||
| 5065 | (display-buffer-set-height window specifiers) | ||
| 5066 | (display-buffer-set-width window specifiers) | ||
| 5067 | ;; Reset list of window's previous buffers to nil. | ||
| 5061 | (set-window-prev-buffers window nil) | 5068 | (set-window-prev-buffers window nil) |
| 5069 | ;; Return the new window. | ||
| 5062 | (throw 'done window)))))))) | 5070 | (throw 'done window)))))))) |
| 5063 | 5071 | ||
| 5064 | (defun display-buffer-pop-up-frame (buffer &optional graphic-only specifiers) | 5072 | (defun display-buffer-pop-up-frame (buffer &optional graphic-only specifiers) |
| @@ -5113,26 +5121,33 @@ failed." | |||
| 5113 | (display-buffer-split-window main-or-root on-side specifiers)) | 5121 | (display-buffer-split-window main-or-root on-side specifiers)) |
| 5114 | fun) | 5122 | fun) |
| 5115 | (when window | 5123 | (when window |
| 5124 | ;; We were able to split off a new window. | ||
| 5116 | (unless main | 5125 | (unless main |
| 5117 | (walk-window-subtree | 5126 | (walk-window-subtree |
| 5118 | (lambda (window) | 5127 | (lambda (window) |
| 5119 | ;; Make all main-or-root subwindows main windows. | 5128 | ;; Make all main-or-root subwindows main windows. |
| 5120 | (set-window-parameter window 'window-side 'none)) | 5129 | (set-window-parameter window 'window-side 'none)) |
| 5121 | main-or-root t)) | 5130 | main-or-root t)) |
| 5122 | ;; Make sure that parent's window-side is nil. | 5131 | ;; Reset window-side parameter of new window's parent to nil. |
| 5123 | (set-window-parameter (window-parent window) 'window-side nil) | 5132 | (set-window-parameter (window-parent window) 'window-side nil) |
| 5124 | ;; Initialize side. | 5133 | ;; Initialize window-side parameter of new window to SIDE. |
| 5125 | (set-window-parameter window 'window-side side) | 5134 | (set-window-parameter window 'window-side side) |
| 5126 | ;; Adjust sizes if asked for. | 5135 | ;; Install window-slot parameter of new window. |
| 5127 | (display-buffer-set-height window specifiers) | 5136 | (set-window-parameter window 'window-slot slot) |
| 5128 | (display-buffer-set-width window specifiers) | 5137 | ;; In `quit-restore' parameter record that we popped up a new |
| 5129 | ;; Set window parameters. | 5138 | ;; window. |
| 5130 | (set-window-parameter | 5139 | (set-window-parameter |
| 5131 | window 'quit-restore (list 'new-window buffer selected-window)) | 5140 | window 'quit-restore (list 'new-window buffer selected-window)) |
| 5141 | ;; For `display-buffer-window' mark window as new. | ||
| 5132 | (setq display-buffer-window (cons window 'new-window)) | 5142 | (setq display-buffer-window (cons window 'new-window)) |
| 5133 | (set-window-parameter window 'window-slot slot) | 5143 | ;; Install BUFFER in new window. |
| 5134 | (display-buffer-in-window buffer window specifiers) | 5144 | (display-buffer-in-window buffer window specifiers) |
| 5145 | ;; Adjust sizes of new window if asked for. | ||
| 5146 | (display-buffer-set-height window specifiers) | ||
| 5147 | (display-buffer-set-width window specifiers) | ||
| 5148 | ;; Reset list of new window's previous buffers to nil. | ||
| 5135 | (set-window-prev-buffers window nil) | 5149 | (set-window-prev-buffers window nil) |
| 5150 | ;; Return the new window. | ||
| 5136 | window))) | 5151 | window))) |
| 5137 | 5152 | ||
| 5138 | (defun display-buffer-in-side-window (buffer side &optional slot specifiers) | 5153 | (defun display-buffer-in-side-window (buffer side &optional slot specifiers) |
| @@ -5160,7 +5175,7 @@ SPECIFIERS must be a list of buffer display specifiers." | |||
| 5160 | window-sides-slots)) | 5175 | window-sides-slots)) |
| 5161 | (selected-window (selected-window)) | 5176 | (selected-window (selected-window)) |
| 5162 | window this-window this-slot prev-window next-window | 5177 | window this-window this-slot prev-window next-window |
| 5163 | best-window best-slot abs-slot dedicated) | 5178 | best-window best-slot abs-slot dedicated new-window) |
| 5164 | 5179 | ||
| 5165 | (unless (numberp slot) | 5180 | (unless (numberp slot) |
| 5166 | (setq slot 0)) | 5181 | (setq slot 0)) |
| @@ -5233,13 +5248,16 @@ SPECIFIERS must be a list of buffer display specifiers." | |||
| 5233 | (setq window (display-buffer-split-window | 5248 | (setq window (display-buffer-split-window |
| 5234 | prev-window prev-side specifiers))))) | 5249 | prev-window prev-side specifiers))))) |
| 5235 | (progn | 5250 | (progn |
| 5236 | (display-buffer-set-height window specifiers) | 5251 | ;; In `quit-restore' parameter record that we popped up |
| 5237 | (display-buffer-set-width window specifiers) | 5252 | ;; this window, its buffer and the old selected window. |
| 5238 | (set-window-parameter | 5253 | (set-window-parameter |
| 5239 | window 'quit-restore | 5254 | window 'quit-restore |
| 5240 | (list 'new-window buffer selected-window)) | 5255 | (list 'new-window buffer selected-window)) |
| 5256 | ;; For `display-buffer-window' mark window as new. | ||
| 5241 | (setq display-buffer-window (cons window 'new-window)) | 5257 | (setq display-buffer-window (cons window 'new-window)) |
| 5242 | window)) | 5258 | ;; Record that window is new, we need this for |
| 5259 | ;; adjusting sizes below. | ||
| 5260 | (setq new-window window))) | ||
| 5243 | (and best-window | 5261 | (and best-window |
| 5244 | (setq window best-window) | 5262 | (setq window best-window) |
| 5245 | ;; Reuse best window (the window nearest to SLOT). | 5263 | ;; Reuse best window (the window nearest to SLOT). |
| @@ -5262,7 +5280,17 @@ SPECIFIERS must be a list of buffer display specifiers." | |||
| 5262 | (unless (window-parameter window 'window-slot) | 5280 | (unless (window-parameter window 'window-slot) |
| 5263 | ;; Don't change exisiting slot value. | 5281 | ;; Don't change exisiting slot value. |
| 5264 | (set-window-parameter window 'window-slot slot)) | 5282 | (set-window-parameter window 'window-slot slot)) |
| 5265 | (display-buffer-in-window buffer window specifiers))))) | 5283 | ;; Install BUFFER in the window. |
| 5284 | (display-buffer-in-window buffer window specifiers) | ||
| 5285 | (when new-window | ||
| 5286 | ;; Adjust sizes if asked for (for `fit-window-to-buffer' and | ||
| 5287 | ;; friends BUFFER must be already shown in the new window). | ||
| 5288 | (display-buffer-set-height window specifiers) | ||
| 5289 | (display-buffer-set-width window specifiers) | ||
| 5290 | ;; Reset list of new window's previous buffers to nil. | ||
| 5291 | (set-window-prev-buffers window nil)) | ||
| 5292 | ;; Return the window used. | ||
| 5293 | window)))) | ||
| 5266 | 5294 | ||
| 5267 | (defun window-normalize-buffer-to-display (buffer-or-name) | 5295 | (defun window-normalize-buffer-to-display (buffer-or-name) |
| 5268 | "Normalize BUFFER-OR-NAME argument for buffer display functions. | 5296 | "Normalize BUFFER-OR-NAME argument for buffer display functions. |
| @@ -6926,7 +6954,7 @@ WINDOW was scrolled." | |||
| 6926 | ;; `with-selected-window' should orderly restore the current buffer. | 6954 | ;; `with-selected-window' should orderly restore the current buffer. |
| 6927 | (with-selected-window window | 6955 | (with-selected-window window |
| 6928 | ;; We are in WINDOW's buffer now. | 6956 | ;; We are in WINDOW's buffer now. |
| 6929 | (let* ( ;; Adjust MIN-HEIGHT. | 6957 | (let* (;; Adjust MIN-HEIGHT. |
| 6930 | (min-height | 6958 | (min-height |
| 6931 | (if override | 6959 | (if override |
| 6932 | (window-min-size window nil window) | 6960 | (window-min-size window nil window) |
diff --git a/lisp/xwidget-screencast.el b/lisp/xwidget-screencast.el deleted file mode 100644 index f85dbe8f247..00000000000 --- a/lisp/xwidget-screencast.el +++ /dev/null | |||
| @@ -1,32 +0,0 @@ | |||
| 1 | ;;(require 'screencast) | ||
| 2 | (require 'xwidget) | ||
| 3 | (defconst xwidget-screencast-webkit '("Hello, and welcome to a | ||
| 4 | short demo of the Emacs xwidget branch, and the Webkit | ||
| 5 | integration it provides." n | ||
| 6 | "Xwidgets are toolkit widgets that behave like images in an | ||
| 7 | Emacs buffer. Except they are actual widgets, so you can | ||
| 8 | interact with them." n | ||
| 9 | "There are several, but people seem to fancy the webkit the most so lets have a look!" | ||
| 10 | (insert "some text") | ||
| 11 | (xwidget-insert (point-min) 'webkit-osr "webkit-osr" 500 1000 5) | ||
| 12 | n | ||
| 13 | "Okay so thats an actual webkit instance in an Emacs buffer! " n | ||
| 14 | "Mouse-overs work" n | ||
| 15 | "Mouse-clicks work" n | ||
| 16 | (split-window-vertically) | ||
| 17 | "You can split the buffer and scroll the windows separately, as | ||
| 18 | usual in Emacs. This is however not so usual in the browser | ||
| 19 | world for some reason." n | ||
| 20 | "So, can you use the xwidget branch as your main Emacs instance?"n | ||
| 21 | "Not yet, its still not mature. There are many tricky issues | ||
| 22 | left. That being said, there are many simple tasks to help out | ||
| 23 | with also if you like!" )) | ||
| 24 | |||
| 25 | |||
| 26 | (defun xwidget-screencast(&optional arg) | ||
| 27 | "Displays the screencast for xwidgets." | ||
| 28 | (interactive "P") | ||
| 29 | (apply (if arg | ||
| 30 | 'screencast-record | ||
| 31 | 'screencast) | ||
| 32 | xwidget-screencast-webkit "xvidgets" 1 ())) | ||
diff --git a/lisp/xwidget-test.el b/lisp/xwidget-test.el deleted file mode 100644 index 087892244df..00000000000 --- a/lisp/xwidget-test.el +++ /dev/null | |||
| @@ -1,138 +0,0 @@ | |||
| 1 | ;;test like: | ||
| 2 | ;; cd /path/to/xwidgets-emacs-dir | ||
| 3 | ;; make all&& src/emacs -q --eval "(progn (load \"`pwd`/lisp/xwidget-test.el\") (xwidget-demo-basic))" | ||
| 4 | |||
| 5 | |||
| 6 | ;; you should see: | ||
| 7 | ;; - a gtk button | ||
| 8 | ;; - a gtk toggle button | ||
| 9 | ;; - a gtk slider button | ||
| 10 | ;; - an xembed window(using gtk_socket) showing another emacs instance | ||
| 11 | ;; - an xembed window(using gtk_socket) showing an uzbl web browser if its installed | ||
| 12 | |||
| 13 | ;;the widgets will move when you type in the buffer. good! | ||
| 14 | |||
| 15 | ;;there will be redrawing issues when widgets change rows, etc. bad! | ||
| 16 | |||
| 17 | ;;its currently difficult to give kbd focus to the xembedded emacs, | ||
| 18 | ;;but try evaling the following: | ||
| 19 | |||
| 20 | ;; (xwidget-set-keyboard-grab 3 1) | ||
| 21 | |||
| 22 | |||
| 23 | |||
| 24 | |||
| 25 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 26 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 27 | ;; demo/test functions | ||
| 28 | (require 'xwidget) | ||
| 29 | |||
| 30 | (defmacro xwidget-demo (name &rest body) | ||
| 31 | `(defun ,(intern (concat "xwidget-demo-" name)) () | ||
| 32 | (interactive) | ||
| 33 | (switch-to-buffer ,(format "*xwidget-demo-%s*" name)) | ||
| 34 | (text-mode);;otherwise no local keymap | ||
| 35 | (insert "Some random text for xwidgets to be inserted in for demo purposes.\n") | ||
| 36 | ,@body)) | ||
| 37 | |||
| 38 | (xwidget-demo "a-button" | ||
| 39 | (xwidget-insert (point-min) 'button "button" 40 50) | ||
| 40 | (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic)) | ||
| 41 | |||
| 42 | (xwidget-demo "a-big-button" | ||
| 43 | (xwidget-insert (point-min) 'button "button" 400 500) | ||
| 44 | (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic)) | ||
| 45 | |||
| 46 | (xwidget-demo "a-socket" | ||
| 47 | (xwidget-insert (point-min) 'socket "socket" 500 500) | ||
| 48 | (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic)) | ||
| 49 | |||
| 50 | |||
| 51 | (xwidget-demo "a-slider" | ||
| 52 | (xwidget-insert (point-min) 'slider "slider" 500 100) | ||
| 53 | (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic)) | ||
| 54 | |||
| 55 | (xwidget-demo "a-canvas" | ||
| 56 | (xwidget-insert (point-min) 'cairo "canvas" 1000 1000) | ||
| 57 | (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic)) | ||
| 58 | |||
| 59 | (xwidget-demo "a-webkit" | ||
| 60 | (xwidget-insert (point-min) 'webkit "webkit" 1000 1000) | ||
| 61 | (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic)) | ||
| 62 | |||
| 63 | (xwidget-demo "a-webkit-osr" | ||
| 64 | (xwidget-insert (point-min) 'webkit-osr "webkit-osr" 1000 1000) | ||
| 65 | (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic)) | ||
| 66 | |||
| 67 | |||
| 68 | |||
| 69 | (xwidget-demo "basic" | ||
| 70 | (xwidget-insert (point-min) 'button "button" 40 50 ) | ||
| 71 | (xwidget-insert 15 'toggle "toggle" 60 30 ) | ||
| 72 | (xwidget-insert 30 'socket "emacs" 400 200 ) | ||
| 73 | (xwidget-insert 20 'slider "slider" 100 50 ) | ||
| 74 | (xwidget-insert 40 'socket "uzbl-core" 400 400 ) | ||
| 75 | (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-basic) | ||
| 76 | ) | ||
| 77 | |||
| 78 | |||
| 79 | ;it doesnt seem gtk_socket_steal works very well. its deprecated. | ||
| 80 | ; xwininfo -int | ||
| 81 | ; then (xwidget-embed-steal 3 <winid>) | ||
| 82 | (defun xwidget-demo-grab () | ||
| 83 | (interactive) | ||
| 84 | (insert "0 <<< grabbed appp will appear here\n") | ||
| 85 | (xwidget-insert 1 1 3 "1" 1000 ) | ||
| 86 | (define-key (current-local-map) [xwidget-event] 'xwidget-handler-demo-grab) | ||
| 87 | ) | ||
| 88 | |||
| 89 | ;ive basically found these xembeddable things: | ||
| 90 | ;openvrml | ||
| 91 | ;emacs | ||
| 92 | ;mplayer | ||
| 93 | ;surf | ||
| 94 | ;uzbl | ||
| 95 | |||
| 96 | ;try the openvrml: | ||
| 97 | ;/usr/libexec/openvrml-xembed 0 ~/Desktop/HelloWorld.wrl | ||
| 98 | |||
| 99 | |||
| 100 | (defun xwidget-handler-demo-basic () | ||
| 101 | (interactive) | ||
| 102 | (message "stuff happened to xwidget %S" last-input-event) | ||
| 103 | (let* | ||
| 104 | ((xwidget-event-type (nth 2 last-input-event)) | ||
| 105 | (xwidget-id (nth 1 last-input-event))) | ||
| 106 | (cond ( (eq xwidget-event-type 'xembed-ready) | ||
| 107 | (let* | ||
| 108 | ((xembed-id (nth 3 last-input-event))) | ||
| 109 | (message "xembed ready event: %S xw-id:%s" xembed-id xwidget-id) | ||
| 110 | ;;will start emacs/uzbl in a xembed socket when its ready | ||
| 111 | (cond | ||
| 112 | ((eq 3 xwidget-id) | ||
| 113 | (start-process "xembed" "*xembed*" (format "%ssrc/emacs" default-directory) "-q" "--parent-id" (number-to-string xembed-id) ) ) | ||
| 114 | ((eq 5 xwidget-id) | ||
| 115 | (start-process "xembed2" "*xembed2*" "uzbl-core" "-s" (number-to-string xembed-id) "http://www.fsf.org" ) ) | ||
| 116 | |||
| 117 | ) | ||
| 118 | ))))) | ||
| 119 | |||
| 120 | |||
| 121 | |||
| 122 | (defun xwidget-handler-demo-grab () | ||
| 123 | (interactive) | ||
| 124 | (message "stuff happened to xwidget %S" last-input-event) | ||
| 125 | (let* | ||
| 126 | ((xwidget-event-type (nth 2 last-input-event))) | ||
| 127 | (cond ( (eq xwidget-event-type 'xembed-ready) | ||
| 128 | (let* | ||
| 129 | ((xembed-id (nth 3 last-input-event))) | ||
| 130 | (message "xembed ready %S" xembed-id) | ||
| 131 | ) | ||
| 132 | )))) | ||
| 133 | (defun xwidget-dummy-hook () | ||
| 134 | (message "xwidget dummy hook called")) | ||
| 135 | |||
| 136 | ; (xwidget-resize-hack 1 200 200) | ||
| 137 | |||
| 138 | ;(xwidget-demo-basic) | ||
diff --git a/lisp/xwidget.el b/lisp/xwidget.el index 837f8454671..7f1ffd56fb9 100644 --- a/lisp/xwidget.el +++ b/lisp/xwidget.el | |||
| @@ -110,6 +110,10 @@ defaults to the string looking like a url around the cursor position." | |||
| 110 | (interactive) | 110 | (interactive) |
| 111 | ( xwidget-adjust-size-to-content ( xwidget-webkit-last-session))) | 111 | ( xwidget-adjust-size-to-content ( xwidget-webkit-last-session))) |
| 112 | 112 | ||
| 113 | (defun xwidget-webkit-adjust-size (w h) | ||
| 114 | (interactive "nWidth:\nnHeight:\n") | ||
| 115 | ( xwidget-resize ( xwidget-webkit-last-session) w h)) | ||
| 116 | |||
| 113 | 117 | ||
| 114 | (defun xwidget-webkit-new-session (url) | 118 | (defun xwidget-webkit-new-session (url) |
| 115 | 119 | ||