diff options
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/net/browse-url.el | 16 | ||||
-rw-r--r-- | lisp/progmodes/gud.el | 3 | ||||
-rw-r--r-- | lisp/textmodes/ispell.el | 10 |
3 files changed, 24 insertions, 5 deletions
diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el index bdedcb2bd3e..bf179c8782a 100644 --- a/lisp/net/browse-url.el +++ b/lisp/net/browse-url.el @@ -877,7 +877,21 @@ The optional NEW-WINDOW argument is not used." (error "Browsing URLs is not supported on this system"))) ((eq system-type 'cygwin) (call-process "cygstart" nil nil nil url)) - (t (w32-shell-execute "open" (url-unhex-string url))))) + (t + (w32-shell-execute "open" + ;; w32-shell-execute passes file:// URLs + ;; to APIs that expect file names, so we + ;; need to unhex any %nn encoded + ;; characters in the URL. We don't do + ;; that for other URLs; in particular, + ;; default Windows mail client barfs on + ;; quotes in the MAILTO URLs, so we prefer + ;; to leave the URL with its embedded %nn + ;; encoding intact. + (if (eq t (compare-strings url nil 7 + "file://" nil nil)) + (url-unhex-string url) + url))))) (defun browse-url-default-macosx-browser (url &optional _new-window) "Invoke the macOS system's default Web browser. diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el index 2664d03e723..de398350bd2 100644 --- a/lisp/progmodes/gud.el +++ b/lisp/progmodes/gud.el @@ -1695,8 +1695,7 @@ and source-file directory for your debugger." (gud-def gud-up "up" "<" "Up one stack frame.") (gud-def gud-down "down" ">" "Down one stack frame.") (gud-def gud-print "p %e" "\C-p" "Evaluate Python expression at point.") - ;; Is this right? - (gud-def gud-statement "! %e" "\C-e" "Execute Python statement at point.") + (gud-def gud-statement "!%e" "\C-e" "Execute Python statement at point.") ;; (setq comint-prompt-regexp "^(.*pdb[+]?) *") (setq comint-prompt-regexp "^(Pdb) *") diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el index d03d12b3758..73a2c2da8b1 100644 --- a/lisp/textmodes/ispell.el +++ b/lisp/textmodes/ispell.el @@ -1212,8 +1212,10 @@ Internal use.") (defun ispell--get-extra-word-characters (&optional lang) "Get the extra word characters for LANG as a character class. If LANG is omitted, get the extra word characters for the default language." - (concat "[" (string-trim-right (apply 'ispell--call-enchant-lsmod - (append '("-word-chars") (if lang `(,lang))))) "]")) + (let ((extra (string-trim-right + (apply 'ispell--call-enchant-lsmod + (append '("-word-chars") (if lang `(,lang))))))) + (if (string= extra "") "" (concat "[" extra "]")))) (defun ispell-find-enchant-dictionaries () "Find Enchant's dictionaries, and record in `ispell-enchant-dictionary-alist'." @@ -1243,6 +1245,10 @@ If LANG is omitted, get the extra word characters for the default language." (defvar ispell-last-program-name nil "Last value of `ispell-program-name'. Internal use.") +;; Allow dynamically binding ispell-base-dicts-override-alist as +;; advertised in the doc string of ispell-initialize-spellchecker-hook. +(defvar ispell-base-dicts-override-alist) + (defvar ispell-initialize-spellchecker-hook nil "Normal hook run on spellchecker initialization. This hook is run when a spellchecker is used for the first |