all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Kevin Rodgers <ihs_4664@yahoo.com>
Subject: Re: Emacs 21 and w3 on Debian
Date: Tue, 31 May 2005 10:41:17 -0600	[thread overview]
Message-ID: <d7i3tp$ih4$1@sea.gmane.org> (raw)
In-Reply-To: <d7ebn7$5rp$1@news.sap-ag.de>

Klaus Straubinger wrote:
 > Kevin Rodgers <ihs_4664@yahoo.com> wrote:
 >>Is it necessary to destructively modify url-callback-arguments?
 >
 > I am not sure because I have no complete overview over the URL library.
 > But in many places dynamic binding is used where one indeed must modify
 > the globally visible value of variables.

That is not what I asked.  One can change the globally visible value of
a variable without destructively modifying the original list structure.
If you intend to change the variable permanently, you use setq; if you
intend to change it temporarily (e.g. for the duration of a function
call), you use let.  But you should destructively modify the original
value only when changing the variable permanently, and only if you
understand the implications (namely, that you are modifying by
side-effect any other variable that happens to share that data
structure).

 > See for example the definition
 > of the function "url-http-activate-callback".

I don't see any modification of a global variable (permanent or
temporary, destructive or not) in the CVS implementation at
http://savannah.gnu.org/cgi-bin/viewcvs/emacs/emacs/lisp/url/url-http.el?rev=HEAD&content-type=text/vnd.viewcvs-markup

 > By the way: The code uses
 > "(declare (special ...))" to mark these cases and to pacify the
 > byte-compiler. Someone with CVS write access could replace these with an
 > equivalent non-CL statement, i.e., append the named variables to
 > "byte-compile-bound-variables".

No, those declarations are there to pacify the Common Lisp cravings of
the author.  The right thing to do is to defvar the global variables at
the top level (either in url-http.el itself or in one of the libraries
it requires).

 >>But (append (list x) ...) is better expressed as (cons x ...):
 >>
 >>   (cons redirect-uri (cdr url-callback-arguments))
 >
 > Isn't that a matter of taste? I find it more intuitive to use "append"
 > and "list" for list operations and "cons" for simple cells. But I am no
 > lisp expert.

Yes, I suppose it is a matter of style.  But the fact is that cons is
the primitive function for constructing a new list from an element and
an old list.  And 2 function calls are seldom more readable than 1.

-- 
Kevin Rodgers

  reply	other threads:[~2005-05-31 16:41 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-05-22 11:05 Emacs 21 and w3 on Debian Tim X
2005-05-22 20:14 ` Thierry Emery
2005-05-22 22:27   ` Tim X
2005-05-23  7:49     ` Tim X
     [not found]     ` <d6rt02$cho$1@news.sap-ag.de>
2005-05-23  7:53       ` Tim X
2005-05-23  9:09         ` Thierry Emery
     [not found]           ` <d6sa8f$mmu$1@news.sap-ag.de>
2005-05-23 17:22             ` Thierry Emery
2005-05-24  5:48               ` Klaus Straubinger
2005-05-24 16:39                 ` Thierry Emery
2005-05-24  8:19           ` Tim X
     [not found]           ` <d71mbu$ka$1@news.sap-ag.de>
2005-05-25 17:28             ` Thierry Emery
2005-05-26 10:11               ` Thierry Emery
2005-05-27  6:15                 ` Klaus Straubinger
2005-05-27 19:09                   ` Thierry Emery
2005-05-30  6:33                     ` Klaus Straubinger
2005-05-25 17:52             ` Kevin Rodgers
     [not found]             ` <mailman.1793.1117044330.25862.help-gnu-emacs@gnu.org>
2005-05-27  6:29               ` Klaus Straubinger
2005-05-27 16:35                 ` Kevin Rodgers
     [not found]                 ` <mailman.2099.1117212347.25862.help-gnu-emacs@gnu.org>
2005-05-30  6:26                   ` Klaus Straubinger
2005-05-31 16:41                     ` Kevin Rodgers [this message]
     [not found]                     ` <mailman.2623.1117558050.25862.help-gnu-emacs@gnu.org>
2005-06-01  6:19                       ` Klaus Straubinger
2005-06-01 15:57                         ` Stefan Monnier
2005-06-02  6:42                           ` Klaus Straubinger
2005-06-05 23:08                             ` Stefan Monnier
2005-06-01 15:55                       ` Stefan Monnier
     [not found]         ` <d6s5b2$itm$1@news.sap-ag.de>
2005-05-24  8:17           ` Tim X
2005-05-23  8:30     ` Thierry Emery
     [not found]       ` <d6s68c$jsf$1@news.sap-ag.de>
2005-05-23  9:57         ` Thierry Emery
     [not found]           ` <d6sble$nnv$1@news.sap-ag.de>
2005-05-23 17:25             ` Thierry Emery
2005-05-24  8:24       ` Tim X

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

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

  git send-email \
    --in-reply-to='d7i3tp$ih4$1@sea.gmane.org' \
    --to=ihs_4664@yahoo.com \
    /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.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.