* bug#23688: 25.1.50; Incorrect punycode decoding for names without ASCII characters
@ 2016-06-03 8:45 Magnus Henoch
2017-03-02 1:39 ` Glenn Morris
0 siblings, 1 reply; 3+ messages in thread
From: Magnus Henoch @ 2016-06-03 8:45 UTC (permalink / raw)
To: 23688
[-- Attachment #1: Type: text/plain, Size: 473 bytes --]
When decoding an IDN label that doesn't contain any ASCII
characters, the function puny-decode-string-internal would skip
the first letter, thereby returning gibberish instead of the
expected result.
That is, the example in the puny-decode-string docstring,
"xn--bcher-kva", would be decoded correctly since it finds the
"kva" part after the last dash, but my domain "xn--9dbdkw.se"
would not, since there is no "last dash".
This patch seems to fix the problem:
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: puny.el.patch --]
[-- Type: text/x-patch, Size: 734 bytes --]
diff --git a/lisp/net/puny.el b/lisp/net/puny.el
index 50bde85..b8a7cac 100644
--- a/lisp/net/puny.el
+++ b/lisp/net/puny.el
@@ -150,10 +150,12 @@ puny-decode-digit
(defun puny-decode-string-internal (string)
(with-temp-buffer
(insert string)
+ ;; The encoded chars are after the final dash, if any
(goto-char (point-max))
- (search-backward "-" nil (point-min))
- ;; The encoded chars are after the final dash.
- (let ((encoded (buffer-substring (1+ (point)) (point-max)))
+ (if (search-backward "-" (point-min) t)
+ (forward-char 1)
+ (goto-char (point-min)))
+ (let ((encoded (buffer-substring (point) (point-max)))
(ic 0)
(i 0)
(bias puny-initial-bias)
[-- Attachment #3: Type: text/plain, Size: 40288 bytes --]
Regards,
Magnus
In GNU Emacs 25.1.50.20 (x86_64-apple-darwin14.5.0, NS appkit-1348.17 Version 10.10.5 (Build 14F1808))
of 2016-05-25 built on poki-sona-sin.local
Repository revision: cf96180b451ef0dabf0496d9df916c6f7e66e5da
Windowing system distributor 'Apple', version 10.3.1348
Configured using:
'configure --without-compress-install 'CFLAGS=-g3 -Wall''
Configured features:
RSVG IMAGEMAGICK DBUS NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS
NS
Important settings:
value of $LANG: en_GB.UTF-8
locale-coding-system: utf-8-unix
Major mode: Emacs-Lisp
Minor modes in effect:
magit-auto-revert-mode: t
auto-revert-mode: t
global-git-commit-mode: t
async-bytecomp-package-mode: t
jabber-activity-mode: t
diff-auto-refine-mode: t
time-of-day-mode: t
display-battery-mode: t
auto-insert-mode: t
shell-dirtrack-mode: t
display-time-mode: t
show-paren-mode: t
ido-everywhere: t
tooltip-mode: t
global-eldoc-mode: t
eldoc-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
line-number-mode: t
transient-mark-mode: t
Recent messages:
Saving file /Users/magnus/src/emacs-new/lisp/net/puny.el...
Wrote /Users/magnus/src/emacs-new/lisp/net/puny.el
puny-decode-string-internal
executing Emacs-Lisp code block...
Code block evaluation complete.
Saving file /Users/magnus/org/bic.org...
Wrote /Users/magnus/org/bic.org
QuitName resolution still in progress
Name resolution still in progress
async DNS resulution error [2 times]
Load-path shadows:
/opt/local/share/emacs/site-lisp/git-blame hides /Users/magnus/.emacs.d/elpa/git-blame-20110509.926/git-blame
/Users/magnus/.emacs.d/elpa/helm-20160530.424/helm-multi-match hides /Users/magnus/.emacs.d/elpa/helm-core-20160601.1314/helm-multi-match
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ox hides /Users/magnus/.emacs.d/elpa/org-20160530/ox
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ox-texinfo hides /Users/magnus/.emacs.d/elpa/org-20160530/ox-texinfo
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ox-publish hides /Users/magnus/.emacs.d/elpa/org-20160530/ox-publish
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ox-org hides /Users/magnus/.emacs.d/elpa/org-20160530/ox-org
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ox-odt hides /Users/magnus/.emacs.d/elpa/org-20160530/ox-odt
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ox-md hides /Users/magnus/.emacs.d/elpa/org-20160530/ox-md
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ox-man hides /Users/magnus/.emacs.d/elpa/org-20160530/ox-man
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ox-latex hides /Users/magnus/.emacs.d/elpa/org-20160530/ox-latex
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ox-icalendar hides /Users/magnus/.emacs.d/elpa/org-20160530/ox-icalendar
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ox-html hides /Users/magnus/.emacs.d/elpa/org-20160530/ox-html
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ox-beamer hides /Users/magnus/.emacs.d/elpa/org-20160530/ox-beamer
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ox-ascii hides /Users/magnus/.emacs.d/elpa/org-20160530/ox-ascii
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org hides /Users/magnus/.emacs.d/elpa/org-20160530/org
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-w3m hides /Users/magnus/.emacs.d/elpa/org-20160530/org-w3m
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-version hides /Users/magnus/.emacs.d/elpa/org-20160530/org-version
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-timer hides /Users/magnus/.emacs.d/elpa/org-20160530/org-timer
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-table hides /Users/magnus/.emacs.d/elpa/org-20160530/org-table
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-src hides /Users/magnus/.emacs.d/elpa/org-20160530/org-src
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-rmail hides /Users/magnus/.emacs.d/elpa/org-20160530/org-rmail
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-protocol hides /Users/magnus/.emacs.d/elpa/org-20160530/org-protocol
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-plot hides /Users/magnus/.emacs.d/elpa/org-20160530/org-plot
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-pcomplete hides /Users/magnus/.emacs.d/elpa/org-20160530/org-pcomplete
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-mouse hides /Users/magnus/.emacs.d/elpa/org-20160530/org-mouse
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-mobile hides /Users/magnus/.emacs.d/elpa/org-20160530/org-mobile
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-mhe hides /Users/magnus/.emacs.d/elpa/org-20160530/org-mhe
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-macs hides /Users/magnus/.emacs.d/elpa/org-20160530/org-macs
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-macro hides /Users/magnus/.emacs.d/elpa/org-20160530/org-macro
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-loaddefs hides /Users/magnus/.emacs.d/elpa/org-20160530/org-loaddefs
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-list hides /Users/magnus/.emacs.d/elpa/org-20160530/org-list
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-lint hides /Users/magnus/.emacs.d/elpa/org-20160530/org-lint
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-irc hides /Users/magnus/.emacs.d/elpa/org-20160530/org-irc
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-install hides /Users/magnus/.emacs.d/elpa/org-20160530/org-install
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-inlinetask hides /Users/magnus/.emacs.d/elpa/org-20160530/org-inlinetask
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-info hides /Users/magnus/.emacs.d/elpa/org-20160530/org-info
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-indent hides /Users/magnus/.emacs.d/elpa/org-20160530/org-indent
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-id hides /Users/magnus/.emacs.d/elpa/org-20160530/org-id
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-habit hides /Users/magnus/.emacs.d/elpa/org-20160530/org-habit
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-gnus hides /Users/magnus/.emacs.d/elpa/org-20160530/org-gnus
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-footnote hides /Users/magnus/.emacs.d/elpa/org-20160530/org-footnote
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-feed hides /Users/magnus/.emacs.d/elpa/org-20160530/org-feed
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-faces hides /Users/magnus/.emacs.d/elpa/org-20160530/org-faces
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-eshell hides /Users/magnus/.emacs.d/elpa/org-20160530/org-eshell
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-entities hides /Users/magnus/.emacs.d/elpa/org-20160530/org-entities
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-element hides /Users/magnus/.emacs.d/elpa/org-20160530/org-element
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-docview hides /Users/magnus/.emacs.d/elpa/org-20160530/org-docview
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-datetree hides /Users/magnus/.emacs.d/elpa/org-20160530/org-datetree
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-ctags hides /Users/magnus/.emacs.d/elpa/org-20160530/org-ctags
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-crypt hides /Users/magnus/.emacs.d/elpa/org-20160530/org-crypt
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-compat hides /Users/magnus/.emacs.d/elpa/org-20160530/org-compat
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-colview hides /Users/magnus/.emacs.d/elpa/org-20160530/org-colview
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-clock hides /Users/magnus/.emacs.d/elpa/org-20160530/org-clock
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-capture hides /Users/magnus/.emacs.d/elpa/org-20160530/org-capture
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-bibtex hides /Users/magnus/.emacs.d/elpa/org-20160530/org-bibtex
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-bbdb hides /Users/magnus/.emacs.d/elpa/org-20160530/org-bbdb
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-attach hides /Users/magnus/.emacs.d/elpa/org-20160530/org-attach
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-archive hides /Users/magnus/.emacs.d/elpa/org-20160530/org-archive
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-agenda hides /Users/magnus/.emacs.d/elpa/org-20160530/org-agenda
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob hides /Users/magnus/.emacs.d/elpa/org-20160530/ob
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-tangle hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-tangle
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-table hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-table
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-stan hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-stan
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-sqlite hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-sqlite
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-sql hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-sql
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-shen hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-shen
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-shell hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-shell
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-sed hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-sed
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-screen hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-screen
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-scheme hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-scheme
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-scala hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-scala
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-sass hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-sass
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-ruby hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-ruby
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-ref hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-ref
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-R hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-R
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-python hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-python
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-processing hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-processing
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-plantuml hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-plantuml
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-picolisp hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-picolisp
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-perl hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-perl
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-org hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-org
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-octave hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-octave
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-ocaml hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-ocaml
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-mscgen hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-mscgen
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-maxima hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-maxima
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-matlab hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-matlab
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-makefile hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-makefile
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-lob hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-lob
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-lisp hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-lisp
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-lilypond hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-lilypond
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-ledger hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-ledger
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-latex hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-latex
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-keys hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-keys
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-js hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-js
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-java hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-java
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-J hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-J
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-io hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-io
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-haskell hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-haskell
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-groovy hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-groovy
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-gnuplot hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-gnuplot
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-fortran hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-fortran
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-forth hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-forth
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-exp hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-exp
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-eval hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-eval
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-emacs-lisp hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-emacs-lisp
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-ebnf hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-ebnf
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-dot hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-dot
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-ditaa hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-ditaa
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-css hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-css
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-core hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-core
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-coq hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-coq
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-comint hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-comint
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-clojure hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-clojure
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-calc hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-calc
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-C hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-C
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-awk hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-awk
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-asymptote hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-asymptote
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-abc hides /Users/magnus/.emacs.d/elpa/org-20160530/ob-abc
/Users/magnus/.emacs.d/elpa/svg-0.1/svg hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/svg
/Users/magnus/.emacs.d/elpa/flymake-0.4.16/flymake hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/progmodes/flymake
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ox hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ox
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ox-texinfo hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ox-texinfo
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ox-publish hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ox-publish
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ox-org hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ox-org
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ox-odt hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ox-odt
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ox-md hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ox-md
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ox-man hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ox-man
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ox-latex hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ox-latex
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ox-icalendar hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ox-icalendar
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ox-html hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ox-html
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ox-beamer hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ox-beamer
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ox-ascii hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ox-ascii
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-w3m hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-w3m
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-version hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-version
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-timer hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-timer
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-table hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-table
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-src hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-src
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-rmail hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-rmail
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-protocol hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-protocol
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-plot hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-plot
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-pcomplete hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-pcomplete
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-mouse hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-mouse
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-mobile hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-mobile
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-mhe hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-mhe
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-macs hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-macs
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-macro hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-macro
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-loaddefs hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-loaddefs
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-list hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-list
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-irc hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-irc
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-install hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-install
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-inlinetask hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-inlinetask
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-info hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-info
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-indent hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-indent
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-id hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-id
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-habit hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-habit
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-gnus hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-gnus
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-footnote hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-footnote
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-feed hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-feed
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-faces hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-faces
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-eshell hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-eshell
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-entities hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-entities
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-element hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-element
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-docview hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-docview
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-datetree hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-datetree
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-ctags hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-ctags
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-crypt hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-crypt
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-compat hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-compat
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-colview hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-colview
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-clock hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-clock
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-capture hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-capture
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-bibtex hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-bibtex
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-bbdb hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-bbdb
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-attach hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-attach
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-archive hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-archive
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/org-agenda hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/org-agenda
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-tangle hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-tangle
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-table hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-table
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-sqlite hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-sqlite
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-sql hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-sql
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-shen hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-shen
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-screen hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-screen
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-scheme hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-scheme
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-scala hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-scala
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-sass hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-sass
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-ruby hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-ruby
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-ref hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-ref
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-R hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-R
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-python hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-python
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-plantuml hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-plantuml
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-picolisp hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-picolisp
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-perl hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-perl
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-org hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-org
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-octave hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-octave
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-ocaml hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-ocaml
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-mscgen hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-mscgen
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-maxima hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-maxima
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-matlab hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-matlab
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-makefile hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-makefile
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-lob hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-lob
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-lisp hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-lisp
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-lilypond hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-lilypond
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-ledger hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-ledger
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-latex hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-latex
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-keys hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-keys
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-js hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-js
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-java hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-java
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-io hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-io
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-haskell hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-haskell
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-gnuplot hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-gnuplot
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-fortran hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-fortran
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-exp hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-exp
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-eval hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-eval
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-emacs-lisp hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-emacs-lisp
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-dot hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-dot
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-ditaa hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-ditaa
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-css hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-css
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-core hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-core
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-comint hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-comint
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-clojure hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-clojure
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-calc hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-calc
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-C hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-C
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-awk hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-awk
/Users/magnus/.emacs.d/elpa/org-plus-contrib-20160530/ob-asymptote hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/org/ob-asymptote
/Users/magnus/.emacs.d/elpa/tabulated-list-20120406.1351/tabulated-list hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/emacs-lisp/tabulated-list
/Users/magnus/.emacs.d/elpa/seq-20150917.1508/seq hides /Users/magnus/src/emacs-new/+build-async-dns/nextstep/Emacs.app/Contents/Resources/lisp/emacs-lisp/seq
Features:
(shadow emacsbug edebug descr-text mc-mark-more multiple-cursors-core
rect diff log-view vc-svn vc-cvs vc-rcs em-unix em-term em-script
em-prompt em-ls em-hist em-pred em-glob em-dirs em-cmpl em-basic
em-banner em-alias esh-var esh-io esh-cmd esh-opt esh-ext esh-proc
esh-arg esh-groups eshell esh-module esh-mode esh-util grep two-column
iso-transl bookmark pp man ispell vc vc-dispatcher bic-org find-dired
pcmpl-unix pcmpl-gnu tar-mode eieio-opt speedbar sb-image ezimage dframe
linum magit-blame magit-stash magit-bisect magit-remote magit-commit
magit-sequence magit magit-apply magit-wip magit-log magit-diff
smerge-mode magit-core magit-autorevert autorevert filenotify
magit-process magit-popup magit-mode magit-git magit-section magit-utils
git-commit help-fns log-edit pcvs-util add-log with-editor
async-bytecomp async server sh-script smie executable cal-move
network-stream nsm mailalias cc-mode cc-fonts cc-guess cc-menus cc-cmds
cc-styles cc-align cc-engine cc-vars misearch multi-isearch dired-aux
color-identifiers-mode python tramp-sh arc-mode archive-mode etags xref
project erlang-flymake flymake cc-defs distel-ie edb patmatch
erl-service derl erlext epmd net-fsm erl distel erlang shr-color color
shr svg dom browse-url imenu flow-fill org-id tabify cal-iso jabber-rtt
jabber-otr json map goto-addr thingatpt jabber-keepalive jabber-ping
sasl-scram-rfc sasl-scram-sha-1 rfc2104 jabber jabber-notifications
notifications jabber-libnotify dbus jabber-awesome jabber-osd
jabber-wmii jabber-xmessage jabber-festival jabber-sawfish
jabber-ratpoison jabber-tmux jabber-screen jabber-socks5
jabber-ft-server jabber-si-server jabber-ft-client jabber-ft-common
jabber-si-client jabber-si-common jabber-feature-neg jabber-truncate
jabber-time jabber-autoaway jabber-vcard-avatars jabber-chatstates
jabber-events jabber-vcard jabber-avatar jabber-activity jabber-watch
jabber-modeline jabber-ahc-presence jabber-ahc jabber-version
jabber-ourversion jabber-muc-nick-completion hippie-exp jabber-browse
jabber-search jabber-register jabber-roster jabber-presence jabber-muc
jabber-bookmarks jabber-private jabber-muc-nick-coloring hexrgb
jabber-widget jabber-disco jabber-chat jabber-history jabber-chatbuffer
jabber-alert jabber-iq jabber-core jabber-console sgml-mode
jabber-keymap jabber-sasl jabber-logon jabber-conn starttls jabber-xml
xml jabber-menu jabber-util cl sort smiley gnus-cite
org-import-icalendar mm-archive mail-extr bic-message qp org-mobile
org-table vc-git diff-mode org-eldoc bic-mailbox ewoc view bic-smtpmail
smtpmail sendmail wid-browse cus-edit bic-mailbox-tree tree-widget utf-7
url-methods url-util bic hex-util gnus-srvr bic-core sasl sasl-anonymous
sasl-login sasl-plain srv dns fsm epa-file org-w3m org-rmail org-mhe
org-irc org-info org-habit org-agenda org-gnus org-docview doc-view
jka-compr image-mode org-bibtex bibtex org-bbdb ob-perl ob-ditaa ob-sh
deeper-blue-theme time-of-day battery autoinsert emms-streams later-do
emms-playlist-mode emms-source-playlist emms-source-file locate
emms-player-mplayer emms-player-simple emms emms-compat docker-tramp
tramp-cache vagrant-tramp dash tramp tramp-compat tramp-loaddefs
trampver shell term disp-table ehelp gnus-icalendar icalendar diary-lib
diary-loaddefs tempo gnus-registry registry eieio-base spam spam-stat
bbdb-com crm bbdb bbdb-site timezone gnus-uu yenc gnus-msg gnus-art
mm-uu mml2015 mm-view mml-smime smime dig mailcap gnus-sum gnus-group
gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source tls gnutls
utf7 netrc nnoo parse-time gnus-spec gnus-int gnus-range gnus-win gnus
nnheader subr-x wid-edit message puny dired dired-loaddefs rfc822 mml
mml-sec epa derived epg gnus-util rmail rmail-loaddefs mm-decode
mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util
ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils mailheader
obviously-sensible-theme time paren ido cus-start cus-load quail
warnings edmacro kmacro org-capture compile org-clock org-element
avl-tree org org-macro org-footnote org-pcomplete pcomplete org-list
org-faces org-entities noutline outline easy-mmode org-version
ob-emacs-lisp ob ob-tangle ob-ref ob-lob ob-table ob-exp org-src ob-keys
ob-comint comint ansi-color ring ob-core ob-eval org-compat org-macs
org-loaddefs format-spec find-func cal-menu calendar cal-loaddefs
finder-inf angry-police-captain-autoloads identica-mode-autoloads
logito-autoloads advice oauth-autoloads org-brev-autoloads w3-autoloads
distel-autoloads info package epg-config url-handlers url-parse
auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs
password-cache url-vars seq byte-opt gv bytecomp byte-compile cl-extra
help-mode easymenu cconv cl-loaddefs pcase cl-lib time-date mule-util
tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type
mwheel term/ns-win ns-win ucs-normalize term/common-win tool-bar dnd
fontset image regexp-opt fringe tabulated-list newcomment elisp-mode
lisp-mode prog-mode register page menu-bar rfn-eshadow timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932
hebrew greek romanian slovak czech european ethiopic indian cyrillic
chinese charscript case-table epa-hook jka-cmpr-hook help simple abbrev
obarray minibuffer cl-preloaded nadvice loaddefs button faces cus-face
macroexp files text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget hashtable-print-readable backquote
dbusbind kqueue cocoa ns multi-tty make-network-process emacs)
Memory information:
((conses 16 8544906 832825)
(symbols 48 73860 53)
(miscs 40 74741 82605)
(strings 32 4530527 149388)
(string-bytes 1 75598154)
(vectors 16 290308)
(vector-slots 8 5210451 139032)
(floats 8 1796 1261)
(intervals 56 486671 31100)
(buffers 976 549))
^ permalink raw reply related [flat|nested] 3+ messages in thread
* bug#23688: 25.1.50; Incorrect punycode decoding for names without ASCII characters
2016-06-03 8:45 bug#23688: 25.1.50; Incorrect punycode decoding for names without ASCII characters Magnus Henoch
@ 2017-03-02 1:39 ` Glenn Morris
2017-03-02 2:04 ` Glenn Morris
0 siblings, 1 reply; 3+ messages in thread
From: Glenn Morris @ 2017-03-02 1:39 UTC (permalink / raw)
To: 23688-done
Version: 26.1
Magnus Henoch wrote:
> When decoding an IDN label that doesn't contain any ASCII characters,
> the function puny-decode-string-internal would skip the first letter,
> thereby returning gibberish instead of the expected result.
>
> That is, the example in the puny-decode-string docstring,
> "xn--bcher-kva", would be decoded correctly since it finds the "kva"
> part after the last dash, but my domain "xn--9dbdkw.se" would not,
> since there is no "last dash".
>
> This patch seems to fix the problem:
Thanks. That patch did not seem quite right (eg try it on "xn--bcher-kva"),
so I applied the following, which works for me.
commit 8c1e16b
Date: Wed Mar 1 20:35:41 2017 -0500
Small puny.el fix
* lisp/net/puny.el (puny-decode-string-internal):
Handle strings with no ascii parts. (Bug#23688)
diff --git a/lisp/net/puny.el b/lisp/net/puny.el
index c718d95..bdd59be 100644
--- a/lisp/net/puny.el
+++ b/lisp/net/puny.el
@@ -150,10 +150,12 @@ For instance \"xn--bcher-kva\" => \"bücher\"."
(defun puny-decode-string-internal (string)
(with-temp-buffer
(insert string)
- (goto-char (point-max))
- (search-backward "-" nil (point-min))
- ;; The encoded chars are after the final dash.
- (let ((encoded (buffer-substring (1+ (point)) (point-max)))
+ ;; The encoded chars are after any final dash, else the whole string.
+ (let ((encoded (buffer-substring
+ (if (search-backward "-" nil 'move)
+ (1+ (point))
+ (point))
+ (point-max)))
(ic 0)
(i 0)
(bias puny-initial-bias)
^ permalink raw reply related [flat|nested] 3+ messages in thread
* bug#23688: 25.1.50; Incorrect punycode decoding for names without ASCII characters
2017-03-02 1:39 ` Glenn Morris
@ 2017-03-02 2:04 ` Glenn Morris
0 siblings, 0 replies; 3+ messages in thread
From: Glenn Morris @ 2017-03-02 2:04 UTC (permalink / raw)
To: 23688; +Cc: magnus.henoch
Glenn Morris wrote:
> Thanks. That patch did not seem quite right
Actually in hindsight maybe I wasn't testing it properly, and it would
have been fine too.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-03-02 2:04 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-06-03 8:45 bug#23688: 25.1.50; Incorrect punycode decoding for names without ASCII characters Magnus Henoch
2017-03-02 1:39 ` Glenn Morris
2017-03-02 2:04 ` Glenn Morris
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).