LINUX.ORG.RU

elisp (пакет browse-url)


0

0

Поскольку я совсем в lisp-ах не разбираюсь, то у меня вопрос может быть очень тупой.

Вот у меня в .elisp стоит такая запись:

(require 'browse-url)
(setq browse-url-filename-alist
          '(("/webmaster@webserver:/home/www/html/" .
             "http://www.acme.co.uk/";)
            ("^http://BIB:". "file://$HOME/Bib")
            ("^/\(ftp@\|anonymous@\)?\([^:]+\):/*" . "ftp://\2/")
            ("^/\([^:@]+@\)?\([^:]+\):/*" . "ftp://\1\2/")
            ("^/+" . "file:/")
            ))


(defun browse-url-mozilla-new-tab (url &optional new-window)
      ;; new-window ignored
      "Open URL in a new tab in Mozilla."
      (interactive (browse-url-interactive-arg "URL: "))
      (message url)
      (unless
          (string= "" 
                   (shell-command-to-string 
                    (concat "mozilla -remote 'openURL(" (browse-url-file-url url) ",new-tab)'")))
        (message "Starting Mozilla...")
        (start-process (concat "mozilla " (browse-url-file-url url)) nil "mozilla" (browse-url-file-url url))
        (message "Starting Mozilla...done"))
)

Насколько я понимаю она означает следующее - когда я в emacs-е выставляю курсор на слово вида BIB:/zzz.pdf
 и делаю определенную распальцовку, то емакс вызывает функцию  browse-url-mozilla-new-tab,которая 
преобразует имя BIB:/zzz.pdf  в file:/home/mike/Bib/zzz.pdf используя функцию browse-url-file-url, которая для 
этой цели использует список browse-url-filename-alist.


А вопрос вот в чем. Иногда бывает нужно изменить список browse-url-filename-alist в части ("^http://BIB:". 
"file://$HOME/Bib")  чтобы оно вместо "^http://BIB" подставляло что-то типа ftp://server/Bib/. Но при этом не 
меняя всего списка. Я пытался поменять строку в списке на:

("^http://BIB:". biblio), а потом в емаксе проделать ALT+: (setq biblio "ftp://server/Bib/") , но ничего у меня не 
получилось. Что делать?

Ладно, спасибо ;)

Проще переменную окружения ввести - BIBPATH, к примеру.

geekkoo
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.