help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Getting substring


From: Pierre Rouleau
Subject: Re: Getting substring
Date: Thu, 17 Aug 2023 08:37:02 -0400

Heime,

reading the following might help
- https://www.gnu.org/software/emacs/manual/html_node/elisp/pcase-Macro.html
- https://www.emacswiki.org/emacs/PatternMatching

On Wed, Aug 16, 2023 at 11:16 PM Heime <heimeborgia@protonmail.com> wrote:

>
>
>
>
>
> Sent with Proton Mail secure email.
>
> ------- Original Message -------
> On Thursday, August 17th, 2023 at 3:07 PM, Pierre Rouleau <
> prouleau001@gmail.com> wrote:
>
>
> > Heime,
> >
> > I think you need to learn a little bit of Emacs Lisp, or Lisp. Read a
> book
> > on Lisp to get you going. Asking questions like you do won't help you
> > much. You first need to understand LIsp and the way it deals with
> > functions, the concepts.
> >
> > LISPcraft from Robert Wilensky is old (1984) but small and it covers the
> > basics which apply to Emacs Lisp. It's a nice read and the book is
> > relatively small.
>
> The error message (wrong-type-argument listp "bigoplus"), suggests that
> the code
> expects a list argument but is receiving a string instead.
>
> Doing C-h f pcase says
>
> (pcase EXP &rest CASES)
>
> Evaluate EXP to get EXPVAL; try passing control to one of CASES.
>
> Does not specify whether EXP is a string or whatever.
>
> > On Wed, Aug 16, 2023 at 11:01 PM Heime heimeborgia@protonmail.com wrote:
> >
> > > Sent with Proton Mail secure email.
> > >
> > > ------- Original Message -------
> > > On Thursday, August 17th, 2023 at 2:52 PM, Heime <
> > > heimeborgia@protonmail.com> wrote:
> > >
> > > > Sent with Proton Mail secure email.
> > > >
> > > > ------- Original Message -------
> > > > On Thursday, August 17th, 2023 at 2:33 PM, Pierre Rouleau
> > > > prouleau001@gmail.com wrote:
> > > >
> > > > > I mean,
> > > > > Executing :
> > > > >
> > > > > > (setq str "bigoplus ⨁︁")
> > > > > > (message "%s TEST: " (car (split-string str)))
> > > > >
> > > > > prints bigoplus.
> > > > >
> > > > > but
> > > > >
> > > > > (message "%s TEST: " (car (split-string grafm)))
> > > > >
> > > > > will depend of what grafm holds.
> > > > >
> > > > > On Wed, Aug 16, 2023 at 10:30 PM Pierre Rouleau
> prouleau001@gmail.com
> > > > >
> > > > > wrote:
> > > > >
> > > > > > Why does the following not print the first word?
> > > > > >
> > > > > > > (message "%s TEST: " (car (split-string grafm)))
> > > > > >
> > > > > > Are you sure it does not print it? It prints bigoplus for me.
> > > > > > You can also look into the 'Message' buffer to see what was
> printed
> > > > > > by
> > > > > > the message function. - Pierre
> > > >
> > > > I now realise my mistake of putting "%s" before "TEST". I was thus
> doing
> > > > things
> > > > correctly after all.
> > > >
> > > > The command (car (split-string grafm)) also works if there are no
> spaces
> > > > in
> > > > 'grafm', it still returns the string as a first element in the list
> > > > result.
> > >
> > > Have started to wonder whether the following is wrong to do
> > >
> > > (setq grafm "bigoplus ⨁︁")
> > > (pcase (car (split-string grafm))
> > > "bigoplus" ("Detected bigoplus"))
> > >
> > > It is not a string.
> >
> >
> > --
> > /Pierre
>


-- 
/Pierre


reply via email to

[Prev in Thread] Current Thread [Next in Thread]