From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: bolega Newsgroups: gmane.emacs.help Subject: Re: identity function with an echo side effect Date: Wed, 11 Aug 2010 10:42:43 -0700 (PDT) Organization: http://groups.google.com Message-ID: <106a3bf2-cd32-4b50-8e99-81e0cad8efa2@j8g2000yqd.googlegroups.com> References: <324e9d4c-b083-42a3-aa88-4e7b918042e3@h32g2000yqm.googlegroups.com> <87eie6ax5b.fsf@kuiper.lan.informatimago.com> <87ocd99qps.fsf@kuiper.lan.informatimago.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1291857220 1382 80.91.229.12 (9 Dec 2010 01:13:40 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 9 Dec 2010 01:13:40 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Thu Dec 09 02:13:31 2010 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1PQV4c-0006wK-L1 for geh-help-gnu-emacs@m.gmane.org; Thu, 09 Dec 2010 02:13:30 +0100 Original-Received: from localhost ([127.0.0.1]:34151 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PQV4b-0002ru-Vo for geh-help-gnu-emacs@m.gmane.org; Wed, 08 Dec 2010 20:13:30 -0500 Original-Path: usenet.stanford.edu!postnews.google.com!j8g2000yqd.googlegroups.com!not-for-mail Original-Newsgroups: gnu.emacs.help, comp.emacs, comp.emacs.xemacs, gnu.emacs, comp.lang.lisp Original-Lines: 107 Original-NNTP-Posting-Host: 75.28.99.50 Original-X-Trace: posting.google.com 1281548563 26639 127.0.0.1 (11 Aug 2010 17:42:43 GMT) Original-X-Complaints-To: groups-abuse@google.com Original-NNTP-Posting-Date: Wed, 11 Aug 2010 17:42:43 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: j8g2000yqd.googlegroups.com; posting-host=75.28.99.50; posting-account=REkl4woAAABFXaU7nL79XtGpnmNCQ415 User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6,gzip(gfe) Original-Xref: usenet.stanford.edu gnu.emacs.help:180587 comp.emacs:100340 comp.emacs.xemacs:82490 comp.lang.lisp:291113 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:76359 Archived-At: On Aug 11, 7:19=A0am, p...@informatimago.com (Pascal J. Bourguignon) wrote: > bolega writes: > > On Aug 10, 4:03=A0pm, p...@informatimago.com (Pascal J. Bourguignon) > > wrote: > >> bolega writes: > >> > After searching google groups and emacs apropos extensively, I could > >> > not find a function, perhaps I am missing one that can return > >> > identically return its argument and has a small side effect of echoi= ng > >> > the argument in some place such as for example > > >> > the mini buffer or the point at which C-x C-e is typed. > > >> > For example, calling this function "echo" , usage would look like > >> > this : > > >> > (cdr ( echo (cdr (echo (cdr (echo '(a b c d))))))) > > >> > echo: > >> > '(a b c d) or (a b c d) =A0(I am not sure which would be appropriate= ) > >> > (b c d) > >> > (c d) > > >> > result: > >> > (d) > > >> > Is there a need for quotes to prevent evaluation of alphabets at any > >> > phase ? > > No. =A0Expressions are evaluated only by EVAL or LOAD (and at > compilation time, compilation time expressions by COMPILE and > COMPILE-FILE). =A0Otherwise, values are just values, they don't get > evaluated magically (for what reason should they?) > > >> In Common Lisp, you can use PRINT for this. > > >> CL-USER> (cdr (print (cdr (print (cdr (print '(a b c d))))))) > > >> (A B C D) > >> (B C D) > >> (C D) > >> (D) > >> CL-USER> > >> [...] > > > If you dont mind, how many years have you spent on learning emacs/ > > lisp ? > > 20 years. > > > Can you kindly give a reading syllabus, books list and possibly time > > for completion from your perspective and what to get out of each book > > since they have some common repetition. > > http://www.cliki.net/admin/search?words=3Dbooks > > In particular, I like to advise: > > =A0Common Lisp: A Gentle Introduction to Symbolic Computation > =A0http://www-cgi.cs.cmu.edu/afs/cs.cmu.edu/user/dst/www/LispBook/index..= .. > =A0http://www.cs.cmu.edu/~dst/LispBook/ > > > Are there any implicit quotations taking place in the above sequence > > of cdr, print ... ? > > Since CDR and PRINT are function, no implicit quotation occurs: the > result values are directly passed as argument to the next function. Then why does the following gives an error. Currently, I only have elisp working so we confine to emacs runs. (cdr (print (cdr (print (cdr (print (a b c d))))))) C-x C-e gives this error if I remove the quote. why ? I get errors if I remove all prints. This means if the first cdr required quoted list, then the rest must also require it. Hence, an implicit quotation might be occurring as in setq ? Also, plz explain me the debugger output in detail so I can figure it out myself. may be a line by line comment and if there is a more comprehensive example you can cook, better for all the readers, once and for all. Debugger entered--Lisp error: (void-function a) (a b c d) (print (a b c d)) (cdr (print (a b c d))) (print (cdr (print ...))) (cdr (print (cdr ...))) (print (cdr (print ...))) (cdr (print (cdr ...))) eval((cdr (print (cdr ...)))) eval-last-sexp-1(nil) eval-last-sexp(nil) * call-interactively(eval-last-sexp) > > Only macros receive their arguments un-evaluated, which could be > characterized as an "implicit quotation". > > -- > __Pascal Bourguignon__ =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0http://www.= informatimago.com/