From: Jean-Christophe Helary <brandelune@gmail.com>
To: help-gnu-emacs <help-gnu-emacs@gnu.org>
Subject: Re: concat vs format
Date: Sun, 9 Dec 2018 22:42:15 +0900 [thread overview]
Message-ID: <957DD078-6F45-487F-84AA-09E2C54F5B9A@gmail.com> (raw)
In-Reply-To: <87bm5vaqe1.fsf@mail.de>
Stephan,
I tried your suggestion but it did not (seem to) work.
But after simplifying the code, I found a simpler way to identify the issue, so that I can show it to the list.
I run edebug on this:
(defun dailyTemplate (myDay)
(interactive (list
(read-number "Date: " (string-to-number (format-time-string "%d")))))
(let* ((myToday (getMyDates myDay))
; (myTomorrow (+ (getMyDates myDay) 84600))
; (myYesterday (- (getMyDates myDay) 84600))
(siteRoot "/Users/suzume/Documents/Code/brandelune.github.io/")
(cssRoot (concat siteRoot "css/" (format-time-string "%Y" myToday) "/"))
And here are the edebug messages:
Edebug: dailyTemplate
[4 times]
Result: "09"
Result: 9 (#o11, #x9, ?\C-i)
Result: 9 (#o11, #x9, ?\C-i)
Result: (9)
[3 times]
Result: 9 (#o11, #x9, ?\C-i)
Result: 1544324400 (#o13403102460, #x5c0c8530)
[2 times]
Result: "/Users/suzume/Documents/Code/brandelune.github.io/"
[2 times]
Result: 1544324400 (#o13403102460, #x5c0c8530)
Result: "2018"
Result: "/Users/suzume/Documents/Code/brandelune.github.io/..."
So, the last concat gives me a path that's not the result of a "concat" on the values that I feed it. Why ?
"myDay" is checked to be between 1 and 31 and "getMyDates" returns this:
(encode-time (list 0 0 12 myDay myMonth myYear nil nil 32400) 'integer)
When I run:
(concat "/Users/suzume/Documents/Code/brandelune.github.io/" "css/" (format-time-string "%Y" 1544324400) "/")
I *do* get what I expect, which is:
"/Users/suzume/Documents/Code/brandelune.github.io/css/2018/"
There is clearly something I do not understand here... :(
Jean-Christophe
> On Dec 9, 2018, at 20:30, Stefan Huchler <stefan.huchler@mail.de> wrote:
>
> I run into a similar problem when I used the prin1 function. It had to
> do with the default value auf print-length which was to low.
>
> can you put a (let* ((print-length 5000)) around your code and test
> that? Or look up the variable if it could have something todo with your
> problem.
>
> Jean-Christophe Helary <brandelune@gmail.com> writes:
>
>>> On Dec 9, 2018, at 13:09, Drew Adams <drew.adams@oracle.com> wrote:
>>>
>>>> Is there a difference between:
>>>> (concat firstPartofURL secondPartofURL) and
>>>> (format "%s%s" firstPartofURL secondPartofURL)?
>>>
>>> If both args are strings then no; the result
>>> is the same. But the functions are very
>>> different - they take different args and,
>>> aside from some cases like this one where
>>> the result is the same for some args, their
>>> uses/purposes are different.
>>
>> Thank you.
>>
>> I'm trying to create URLs from dates and at one point I get a concat that outputs "/path/to/url/..." instead of "/path/to/url/12/04/index.html".
>> I checked the code and put format instead of concat and got the same
>> result. All the things I try to concat are strings that I
>> progressively build over other strings, and edebug gives me correct
>> values up to the point where the wrong string is created...
>>
>> I'm going to re-check the whole thing...
>>
>> Jean-Christophe Helary
>> -----------------------------------------------
>> http://mac4translators.blogspot.com @brandelune
>
>
Jean-Christophe Helary
-----------------------------------------------
http://mac4translators.blogspot.com @brandelune
next prev parent reply other threads:[~2018-12-09 13:42 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-09 3:50 concat vs format Jean-Christophe Helary
2018-12-09 4:09 ` Drew Adams
2018-12-09 10:02 ` Jean-Christophe Helary
2018-12-09 11:30 ` Stefan Huchler
2018-12-09 13:42 ` Jean-Christophe Helary [this message]
2018-12-09 14:15 ` Stefan Monnier
2018-12-09 14:55 ` Jean-Christophe Helary
2018-12-09 14:57 ` Stephen Berman
2018-12-09 15:44 ` Jean-Christophe Helary
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=957DD078-6F45-487F-84AA-09E2C54F5B9A@gmail.com \
--to=brandelune@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).