Поскольку я совсем в 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/") , но ничего у меня не получилось. Что делать?