diff options
| author | Joakim Verona | 2012-01-12 16:30:04 +0100 |
|---|---|---|
| committer | Joakim Verona | 2012-01-12 16:30:04 +0100 |
| commit | 69a8e78e4d1af91cf50a2870bb8cd9a5794161de (patch) | |
| tree | 12709dbf3538c8749ef045108c6905c7183d68d6 /lisp | |
| parent | 16e9a80c0c3ca5f72f802b92ff5ca1f595a07eca (diff) | |
| download | emacs-69a8e78e4d1af91cf50a2870bb8cd9a5794161de.tar.gz emacs-69a8e78e4d1af91cf50a2870bb8cd9a5794161de.zip | |
fixes for typechecking to avoid crashes when some webkit functions are called with nil instead of valid webkit obj. intended to make it run on archlinux
Diffstat (limited to 'lisp')
| -rw-r--r-- | lisp/xwidget.el | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/lisp/xwidget.el b/lisp/xwidget.el index 8ed0c72f296..a8fa84da37f 100644 --- a/lisp/xwidget.el +++ b/lisp/xwidget.el | |||
| @@ -72,7 +72,9 @@ NEW-SESSION specifies whether to create a new xwidget-webkit session. URL | |||
| 72 | defaults to the string looking like a url around the cursor position." | 72 | defaults to the string looking like a url around the cursor position." |
| 73 | (interactive (progn | 73 | (interactive (progn |
| 74 | (require 'browse-url) | 74 | (require 'browse-url) |
| 75 | (browse-url-interactive-arg "xwidget-webkit URL: " ( xwidget-webkit-current-url)))) | 75 | (browse-url-interactive-arg "xwidget-webkit URL: " |
| 76 | ;;( xwidget-webkit-current-url) | ||
| 77 | ))) | ||
| 76 | (when (stringp url) | 78 | (when (stringp url) |
| 77 | (setq url (url-tidy url)) | 79 | (setq url (url-tidy url)) |
| 78 | (if new-session | 80 | (if new-session |
| @@ -167,7 +169,8 @@ defaults to the string looking like a url around the cursor position." | |||
| 167 | 169 | ||
| 168 | ((eq xwidget-event-type 'navigation-policy-decision-requested) | 170 | ((eq xwidget-event-type 'navigation-policy-decision-requested) |
| 169 | (if (string-match ".*#\\(.*\\)" strarg) | 171 | (if (string-match ".*#\\(.*\\)" strarg) |
| 170 | (xwidget-webkit-show-id-or-named-element xwidget (match-string 1 strarg)))))))) | 172 | (xwidget-webkit-show-id-or-named-element xwidget (match-string 1 strarg)))) |
| 173 | (t (message "unhandled event:%s" xwidget-event-type)))))) | ||
| 171 | 174 | ||
| 172 | (define-derived-mode xwidget-webkit-mode | 175 | (define-derived-mode xwidget-webkit-mode |
| 173 | special-mode "xwidget-webkit" "xwidget webkit view mode" | 176 | special-mode "xwidget-webkit" "xwidget webkit view mode" |
| @@ -180,7 +183,7 @@ defaults to the string looking like a url around the cursor position." | |||
| 180 | (defvar xwidget-webkit-last-session-buffer nil) | 183 | (defvar xwidget-webkit-last-session-buffer nil) |
| 181 | 184 | ||
| 182 | (defun xwidget-webkit-last-session () | 185 | (defun xwidget-webkit-last-session () |
| 183 | "Last active webkit, or a new one." | 186 | "Last active webkit, or nil." |
| 184 | (if (buffer-live-p xwidget-webkit-last-session-buffer) | 187 | (if (buffer-live-p xwidget-webkit-last-session-buffer) |
| 185 | (save-excursion | 188 | (save-excursion |
| 186 | (set-buffer xwidget-webkit-last-session-buffer) | 189 | (set-buffer xwidget-webkit-last-session-buffer) |
| @@ -348,7 +351,8 @@ Argument H height." | |||
| 348 | (defun xwidget-webkit-current-url () | 351 | (defun xwidget-webkit-current-url () |
| 349 | "Get the webkit url. place it on kill ring." | 352 | "Get the webkit url. place it on kill ring." |
| 350 | (interactive) | 353 | (interactive) |
| 351 | (let ((url (kill-new (xwidget-webkit-execute-script-rv (xwidget-webkit-current-session) "document.URL")))) | 354 | (let* ((rv (xwidget-webkit-execute-script-rv (xwidget-webkit-current-session) "document.URL")) |
| 355 | (url (kill-new (if rv rv "")))) | ||
| 352 | (message "url: %s" url ) | 356 | (message "url: %s" url ) |
| 353 | url)) | 357 | url)) |
| 354 | 358 | ||