From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sylvain Rousseau Subject: Re: org-insert-link with HTML title as default description Date: Sat, 29 Sep 2012 17:09:15 +0200 Message-ID: References: <87r4pklwkb.fsf@bzg.ath.cx> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Return-path: Received: from eggs.gnu.org ([208.118.235.92]:59342) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1THyfO-0001Rg-RU for emacs-orgmode@gnu.org; Sat, 29 Sep 2012 11:09:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1THyfN-00051p-Pp for emacs-orgmode@gnu.org; Sat, 29 Sep 2012 11:09:18 -0400 Received: from mail-lb0-f169.google.com ([209.85.217.169]:49872) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1THyfN-00051j-IU for emacs-orgmode@gnu.org; Sat, 29 Sep 2012 11:09:17 -0400 Received: by lbok6 with SMTP id k6so3068998lbo.0 for ; Sat, 29 Sep 2012 08:09:16 -0700 (PDT) In-Reply-To: <87r4pklwkb.fsf@bzg.ath.cx> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Bastien Cc: emacs-orgmode@gnu.org, Miro Bezjak Hi Miro and Bastien, This can be done by setting the function `org-make-link-description-function'. However when set, the function is supposed to handle all type of links and return a string no matter what. There is no fallback mechanism. Here is a patch that fixes it: diff --git a/lisp/org.el b/lisp/org.el index bdb85de..3630623 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -9527,10 +9527,12 @@ Use TAB to complete link prefixes, then RET for type-spe (setq desc path)))) (if org-make-link-description-function - (setq desc (funcall org-make-link-description-function link desc)) - (if default-description (setq desc default-description) - (setq desc (or (and auto-desc desc) - (read-string "Description: " desc))))) + (setq desc (or (funcall org-make-link-description-function link desc) + desc))) + + (if default-description (setq desc default-description) + (setq desc (or (and auto-desc desc) + (read-string "Description: " desc)))) (unless (string-match "\\S-" desc) (setq desc nil)) (if remove (apply 'delete-region remove)) For example my `org-make-link-description-function' is: (setq org-link-to-description '(("\\`file:.*/\\([^/:]+\\)\\(::.*\\)" . "\\1") ("\\`file:.*/\\([^/:]+\\)" . "\\1"))) (setq org-make-link-description-function (lambda (link description) (let ((found (assoc-default link org-link-to-description 'string-match))) (cond ((stringp found) (match-substitute-replacement found t nil link)))))) HTH, Sylvain.