aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorJoakim Verona2012-01-12 16:30:04 +0100
committerJoakim Verona2012-01-12 16:30:04 +0100
commit69a8e78e4d1af91cf50a2870bb8cd9a5794161de (patch)
tree12709dbf3538c8749ef045108c6905c7183d68d6 /lisp
parent16e9a80c0c3ca5f72f802b92ff5ca1f595a07eca (diff)
downloademacs-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.el12
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
72defaults to the string looking like a url around the cursor position." 72defaults 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