all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: lee <lee@yun.yagibdah.de>
To: help-gnu-emacs@gnu.org
Subject: Re: replacing a function with another one
Date: Wed, 12 Mar 2014 16:11:34 +0100	[thread overview]
Message-ID: <87r467moyh.fsf@yun.yagibdah.de> (raw)
In-Reply-To: <87fvmotk9a.fsf@web.de> (Michael Heerdegen's message of "Tue, 11 Mar 2014 23:58:57 +0100")

Michael Heerdegen <michael_heerdegen@web.de> writes:

> lee <lee@yun.yagibdah.de> writes:
>
>
>> > You can specify the pattern save file in the local variables
>> > section at the end of a file, but before a hi-lock mode specification,
>> > like here:
>> >
>> > Local Variables:
>> > hi-lock-patterns-file: "patterns.txt"
>> > mode: hi-lock
>> > End:
>>
>> Apparently this doesn´t work because hi-lock-mode is called before the
>> variable is getting a value assigned.  See `hack-one-local-variable´ in
>> files.el --- IIUC, it calls the mode before it makes the variable.  It´s
>> hilarious ...
>
> No, that works well here, I've tested in detail what I had posted here,
> and it worked well.  AFAIK, local variable specifications are processed
> in the order as they appear textually in the file - I see that in the
> code.

What I´m referring to is not in which order they are created compared to
where they appear in the text.  When a specification of a variable is
encountered, what is in "mode:" will be called as a function if it ends
in "-mode".  Calling such function always seems to happen before the
variable is created.

> Maybe this is not the case in your Emacs version ... or you
> didn't use it in the intended way.

Yes, I´m using it in a different way.  The mode I´m doing this with is
not hi-lock-mode but lsl-mode.  lsl-mode requires hi-lock-mode because
it´s using it.

With "mode: hi-lock", not much did happen and it somehow wasn´t right.
So I put "mode: lsl-mode" instead and was surprised to get an error
message saying that lsl-mode-mode is a void function.  So I found out
about this sort of function calling.

It´s a cool feature, though.  So I made a function lsl-mode-mode, yet
the variable was only created after I would need it.  Consequently, I
abandoned this approach and went back to just put a line into the file
which is searched for and the file name is taken from.

When it´s found, read the patterns from that file and use
hi-lock-set-file-patterns to set them.  That works fine without any
advices.

Now when lsl-mode is enabled, just do that (i. e. search, read, apply).
It could even be done for several files that include patterns by doing
it over and over again until no more files to include are found.

It´s working; the only problem I have atm is how to intentionally return
a particular value from a function ...

Once it´s a bit nicer, I want to make it a mode on its own.  I think
it´s too useful to leave it limited to lsl-mode.  I guess I can make it
a mode derived from hi-lock mode; it simply adds some functionality to
hi-lock.


-- 
Knowledge is volatile and fluid.  Software is power.



  reply	other threads:[~2014-03-12 15:11 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-08 19:43 replacing a function with another one lee
2014-03-08 19:54 ` Eli Zaretskii
2014-03-09  1:17   ` lee
2014-03-08 22:30 ` Michael Heerdegen
2014-03-09 17:58   ` lee
2014-03-09 19:10     ` Michael Heerdegen
2014-03-09 20:57       ` lee
2014-03-09 22:02         ` Michael Heerdegen
2014-03-10  0:53           ` lee
2014-03-10  2:18             ` Michael Heerdegen
2014-03-10 15:29               ` lee
2014-03-11  0:03                 ` Michael Heerdegen
2014-03-11 13:34                   ` lee
2014-03-11 23:40                     ` Michael Heerdegen
2014-03-12  6:11                       ` Michael Heerdegen
2014-03-12  7:07                         ` Michael Heerdegen
2014-03-12 14:48                         ` lee
2014-03-13  7:19                           ` Michael Heerdegen
2014-03-15 19:51                             ` lee
2014-03-17 12:00                               ` Michael Heerdegen
2014-03-12 14:04                       ` lee
2014-03-12 18:26                         ` Stefan Monnier
2014-03-12  4:10                     ` Michael Heerdegen
2014-03-10 12:44             ` Stefan Monnier
2014-03-10 23:35               ` lee
2014-03-11  0:41                 ` Michael Heerdegen
2014-03-11  1:45                   ` Michael Heerdegen
2014-03-11 19:05                     ` lee
2014-03-11 22:58                       ` Michael Heerdegen
2014-03-12 15:11                         ` lee [this message]
2014-03-12 18:15                           ` Stefan Monnier
2014-03-12 21:43                             ` lee
2014-03-13  7:22                               ` Michael Heerdegen
2014-03-15 20:02                                 ` lee
2014-03-11  4:11                   ` lee
2014-03-11  5:01                     ` Michael Heerdegen
2014-03-11 14:25                       ` lee
2014-03-11 23:51                         ` Michael Heerdegen
2014-03-12 15:22                           ` lee
2014-03-13  7:33                             ` Michael Heerdegen
2014-03-13 12:29                               ` Stefan Monnier
2014-03-15 20:05                                 ` lee
2014-03-16 17:20                                   ` Stefan
2014-03-11  6:51                     ` Michael Heerdegen
2014-03-11 15:41                       ` lee
2014-03-11 23:21                         ` Michael Heerdegen
2014-03-12 17:33                           ` lee
2014-03-12 19:34                             ` Florian Beck
2014-03-12 19:51                               ` Florian Beck
2014-03-13  7:54                             ` Michael Heerdegen
2014-03-15 20:14                               ` lee
2014-03-12 12:45                         ` Stefan Monnier
2014-03-12 17:42                           ` lee
2014-03-13  2:43                             ` Jambunathan K
2014-03-15 20:17                               ` How to propose an emacs patch (Re: replacing a function with another one) lee
2014-03-16  3:21                                 ` Jambunathan K
2014-03-17  4:35                                   ` lee
2014-03-10 13:45           ` replacing a function with another one lee
2014-03-10 23:31             ` Michael Heerdegen
2014-03-12 13:16 ` Jambunathan K
2014-03-12 13:18   ` Jambunathan K
2014-03-15 20:22   ` lee

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=87r467moyh.fsf@yun.yagibdah.de \
    --to=lee@yun.yagibdah.de \
    --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.
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.