unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: Elena <egarrulo@gmail.com>
To: help-gnu-emacs@gnu.org
Subject: Re: "Anything" package requires w3m command...
Date: Mon, 20 Dec 2010 05:42:40 -0800 (PST)	[thread overview]
Message-ID: <14da5ebc-0d52-4812-a532-9842fc839dd2@q18g2000vbm.googlegroups.com> (raw)
In-Reply-To: 80vd2ohb1m.fsf@missioncriticalit.com

On Dec 20, 12:40 pm, Sébastien Vauban <wxhgmqzgw...@spammotel.com>
wrote:
> Hi Elena and Thierry,
>
> Thanks Elena for having gone ahead with this thread... and contacted Thierry.
>
> Regarding `w3m-bookmark', I indeed saw such messages in the past. It must be
> related to the problem.
>
> --8<---------------cut here---------------start------------->8---
> Debugger entered--Lisp error: (error "Install w3m command in `exec-path' or set `w3m-command' variable correctly")
>   signal(error ("Install w3m command in `exec-path' or set `w3m-command' variable correctly"))
>   error("Install w3m command in `exec-path' or set `w3m-command' variable correctly")
>   (progn (error "Install w3m command in `exec-path' or set `w3m-command' variable correctly"))
>   (if (not (stringp w3m-command)) (progn (error "Install w3m command in `exec-path' or set `w3m-command' variable correctly")))
>   (when (not (stringp w3m-command)) (error "Install w3m command in `exec-path' or set `w3m-command' variable correctly"))
>   eval-buffer(#<buffer  *load*<3>> nil "c:/home/sva/src/emacs-w3m/w3m.el" nil t)  ; Reading at buffer position 11512
>   load-with-code-conversion("c:/home/sva/src/emacs-w3m/w3m.el" "c:/home/sva/src/emacs-w3m/w3m.el" nil t)
>   orig-require(w3m nil nil)
>   (let ((my/require-depth ...)) (orig-require feature filename noerror))
>   (cond ((member feature features) (message "%sRequiring `%s' (already loaded)" ... feature)) (t (message "%sRequiring `%s'" ... feature) (let ... ...) (message "%sRequiring `%s'...done" ... feature)))
>   require(w3m)
>   eval-buffer(#<buffer  *load*<2>> nil "c:/home/sva/src/emacs-w3m/w3m-bookmark.el" nil t)  ; Reading at buffer position 1346
>   load-with-code-conversion("c:/home/sva/src/emacs-w3m/w3m-bookmark.el" "c:/home/sva/src/emacs-w3m/w3m-bookmark.el" t t)
>   orig-require(w3m-bookmark nil t)
>   (let ((my/require-depth ...)) (orig-require feature filename noerror))
>   (cond ((member feature features) (message "%sRequiring `%s' (already loaded)" ... feature)) (t (message "%sRequiring `%s'" ... feature) (let ... ...) (message "%sRequiring `%s'...done" ... feature)))
>   require(w3m-bookmark nil t)
>   (progn (require (quote w3m-bookmark) nil t))
>   (eval-when-compile (require (quote w3m-bookmark) nil t))
>   eval-buffer(#<buffer  *load*> nil "c:/home/sva/Downloads/emacs/site-lisp/anything-config/anything-config.el" nil t)  ; Reading at buffer position 176537
>   load-with-code-conversion("c:/home/sva/Downloads/emacs/site-lisp/anything-config/anything-config.el" "c:/home/sva/Downloads/emacs/site-lisp/anything-config/anything-config.el" nil t)
>   orig-require(anything-config nil nil)
>   (let ((my/require-depth ...)) (orig-require feature filename noerror))
>   (cond ((member feature features) (message "%sRequiring `%s' (already loaded)" ... feature)) (t (message "%sRequiring `%s'" ... feature) (let ... ...) (message "%sRequiring `%s'...done" ... feature)))
>   require(anything-config)
> --8<---------------cut here---------------end--------------->8---

Yes, that's the same problem.  I think a fix would be to add "emacs-
w3m" directory only when "w3m-command" is defined and available, like
this (snippet not tested, I'm busy right now):

;; Add emacs-w3m path to load-path only when w3m-command is available.
(when w3m-command
	(if (executable-find w3m-command)
		(add-to-list 'load-path "/path/to/emacs-w3m")
		(warn "Executable %s not found, emacs-w3m package not added to load-
path." w3m-command))

>
> Now, following Thierry's advice, I've git pull'ed `anything' just 10 min ago,
> and tried to relaunch my Emacs.
>
> I now have a different error (maybe hiding the above one, from a previous
> run):
>
> --8<---------------cut here---------------start------------->8---
> Warning (initialization): An error occurred while loading `c:/home/sva/.emacs':
>
> error: No buffer named *anything*
>
> To ensure normal operation, you should investigate and remove the
> cause of the error in your initialization file.  Start Emacs with
> the `--debug-init' option to view a complete error backtrace.
> --8<---------------cut here---------------end--------------->8---
>
> and the following backtrace:
>
> with the following lines in my `.emacs':
>
> --8<---------------cut here---------------start------------->8---
>  ;; open anything
>  (when (require 'anything)
>
>    (defun my/anything ()
>      (interactive)
>      (anything :sources
>                '(
>                  anything-c-source-buffers
>                  anything-c-source-file-name-history
>                  ;; anything-c-source-info-pages
>                                         ; get rid of messages echo'ed in
>                                         ; minibuffer prompt
>                  anything-c-source-info-elisp
>                  anything-c-source-man-pages
>                  anything-c-source-locate
>                  anything-c-source-emacs-commands
>                  )
>                :buffer " *my/anything*"))
>
>    ;; select anything
>    (global-set-key (kbd "<f3>") 'my/anything))
>
>  (setq anything-command-map-prefix-key "<f4>")
>
>  (when (require 'anything-config)
>
>    (require 'anything-c-yasnippet)
>
>    ;; source of candidates for anything
>    (anything-set-sources
>     `(
>       ,anything-c-source-buffers
>       ,anything-c-source-file-name-history
>       ,anything-c-source-files-in-current-dir
>       ,anything-c-source-man-pages
>       ,anything-c-source-recentf
>       ,anything-c-source-bookmarks
>       ,anything-c-source-locate      ; find files everywhere
>       ,anything-c-source-emacs-functions
>       ,anything-c-source-info-cl
>       ,anything-c-source-info-elisp
>       ))
>
>    ;; do not show more candidates than this limit from individual
>    ;; sources
>    (setq anything-candidate-number-limit 999)
>
>    ;; the user has to be idle for this many seconds, before candidates
>    ;; from *delayed* sources are collected (useful for sources involving
>    ;; heavy operations, so that candidates from the source are not
>    ;; retrieved unnecessarily if the user keeps typing)
>    (setq anything-idle-delay 0.9) ; 1.3 works nicely
>
>    ;; the user has to be idle for this many seconds, before ALL
>    ;; candidates are collected (also effective for *non-delayed*
>    ;; sources)
>    (setq anything-input-idle-delay 0.4) ; 0.6 works nicely
>
>    ;; uses the current window to show the candidates
>    (setq anything-samewindow t)
>
>    ;; candidates separator of `multiline' source
>    (setq anything-candidate-separator
>          (propertize "--separator-------------------------------"
>                      'face 'separator-face))
>
>    ;; suppress displaying sources which are out of screen at first
>    (setq anything-quick-update t)
>
>    ;; don't save history information to file
>    (remove-hook 'kill-emacs-hook 'anything-c-adaptive-save-history))
> --8<---------------cut here---------------end--------------->8---
>
> Do you have an idea why this is occurring?

I've read something about this issue, but I don't remember what the
fix was.  If I'm not mistaken, creating "*anything*" buffer in advance
fixed the issue.  Sorry for not being able to provide definitive
answers right now.

>
> Best regards,
>   Seb
>
> PS- By far, what I really want `anything' for is the `locate' stuff...
>
> PS2- My `require' is wrapped to output debug messages:
>
> --8<---------------cut here---------------start------------->8---
>          ;; REPLACES ORIGINAL in `C source code' (dumped)
>          ;; redefine require to leave a trace of packages being loaded
>          (if (not (fboundp 'orig-require))
>              (fset 'orig-require (symbol-function 'require))
>            (message "The code to redefine `require' should not be loaded twice"))
>
>          (defvar my/require-depth 0)
>
>          (defun require (feature &optional filename noerror)
>            "Leave a trace of packages being loaded."
>            (cond ((member feature features)
>                   (message "%sRequiring `%s' (already loaded)"
>                            (concat (make-string (* 2 my/require-depth) ? )
>                                    "+-> ")
>                            feature))
>                  (t
>                   (message "%sRequiring `%s'"
>                            (concat (make-string (* 2 my/require-depth) ? )
>                                    "+-> ")
>                            feature)
>                   (let ((my/require-depth (+ 1 my/require-depth)))
>                     (orig-require feature filename noerror))
>                   (message "%sRequiring `%s'...done"
>                            (concat (make-string (* 2 my/require-depth) ? )
>                                    "+-> ")
>                            feature))))))
> --8<---------------cut here---------------end--------------->8---

This is a very useful snippet of code!  Thanks for sharing.


  reply	other threads:[~2010-12-20 13:42 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <80ipzazi33.fsf@missioncriticalit.com>
     [not found] ` <87d3picyah.fsf@fh-trier.de>
     [not found]   ` <804oar16qv.fsf@missioncriticalit.com>
     [not found]     ` <9e2a7518-2fc7-43dc-8dac-195805205968@k38g2000vbc.googlegroups.com>
2010-12-17 15:14       ` "Anything" package requires w3m command Sébastien Vauban
2010-12-17 17:44         ` Elena
2010-12-17 19:17           ` Elena
2010-12-17 19:20           ` Thierry Volpiatto
2010-12-18  6:56         ` Thierry Volpiatto
     [not found]         ` <mailman.11.1292655456.28168.help-gnu-emacs@gnu.org>
2010-12-20  9:18           ` Elena
2010-12-20 12:40             ` Sébastien Vauban
2010-12-20 13:42               ` Elena [this message]
2010-12-20 15:17                 ` Sébastien Vauban
2010-12-20 16:24                   ` Elena
2010-12-20 18:32               ` Thierry Volpiatto
     [not found]               ` <mailman.4.1292869981.10555.help-gnu-emacs@gnu.org>
2011-02-09 22:29                 ` Sébastien Vauban
2011-02-11  7:07                   ` Thierry Volpiatto

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=14da5ebc-0d52-4812-a532-9842fc839dd2@q18g2000vbm.googlegroups.com \
    --to=egarrulo@gmail.com \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).