unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Text mode menu wishlist
@ 2002-09-09 15:53 Sacha Chua
  2002-09-09 17:27 ` Alex Schroeder
  2002-09-09 23:34 ` Richard Stallman
  0 siblings, 2 replies; 24+ messages in thread
From: Sacha Chua @ 2002-09-09 15:53 UTC (permalink / raw)



The EmacsWiki has a new node: http://www.emacswiki.org/cgi-bin/wiki.pl?TextMenu

---
We need a good replacement for tmm (f10) which does not confuse the
blind. A start is available as Lisp:textmenu.el. Read the
documentation for define-key and improve it.
---
Please define "confuse the blind." I need to know what people like or
don't like about tmm.el and textmenu.el. I have copious amounts of
free time and quite a great bit of interest in making this
work. Personal itches: changing keymaps and losing the ability to C-h
k.
--- (me)

I'd like to know people's thoughts on this. You can either add to the wiki,
post to emacs-devel or e-mail me directly, and I'll keep the wiki page updated. =)

-- 
Sacha Chua <sacha@free.net.ph> - 4 BS CS Ateneo geekette
interests: emacs, gnu/linux, wearables, teaching compsci

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: Text mode menu wishlist
  2002-09-09 15:53 Text mode menu wishlist Sacha Chua
@ 2002-09-09 17:27 ` Alex Schroeder
  2002-09-10  1:45   ` Sacha Chua
  2002-09-09 23:34 ` Richard Stallman
  1 sibling, 1 reply; 24+ messages in thread
From: Alex Schroeder @ 2002-09-09 17:27 UTC (permalink / raw)


Sacha Chua <sacha@free.net.ph> writes:

> I'd like to know people's thoughts on this. You can either add to
> the wiki, post to emacs-devel or e-mail me directly, and I'll keep
> the wiki page updated. =)

People like me would like a simple buffer where we can use up and down
and RET to select a menu entry.  This can be done in Lisp and works
for me.

Other people would like to see "real" menus in the console, but that
requires messing with the C code.  The basic stuff is already there in
the MSDOS port (which has "real" menus), all we need is to do is port
that to curses or something.  I think this would also work for the
blind which will probably use emacs -nw anyway.  But it would not be
enough for me if I wanted to use a buffer-based menu eventhough I am
running X.

Alex.

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: Text mode menu wishlist
  2002-09-09 15:53 Text mode menu wishlist Sacha Chua
  2002-09-09 17:27 ` Alex Schroeder
@ 2002-09-09 23:34 ` Richard Stallman
  1 sibling, 0 replies; 24+ messages in thread
From: Richard Stallman @ 2002-09-09 23:34 UTC (permalink / raw)
  Cc: emacs-devel

Could you possibly get textmenu.el and email me a copy?

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: Text mode menu wishlist
  2002-09-09 17:27 ` Alex Schroeder
@ 2002-09-10  1:45   ` Sacha Chua
  2002-09-10  7:41     ` Thien-Thi Nguyen
  2002-09-10 18:15     ` Text mode menu wishlist Alex Schroeder
  0 siblings, 2 replies; 24+ messages in thread
From: Sacha Chua @ 2002-09-10  1:45 UTC (permalink / raw)


Alex Schroeder <alex@emacswiki.org> writes:

> People like me would like a simple buffer where we can use up and down
> and RET to select a menu entry.  This can be done in Lisp and works
> for me.

tmm does that, doesn't it? Or, well, it uses the history mechanism,
and you can pageup to get to the completion buffer...

> Other people would like to see "real" menus in the console, but that
> requires messing with the C code.  The basic stuff is already there in

I can start studying ncurses and the Emacs C code if people feel that this is
important enough. =) 

> blind which will probably use emacs -nw anyway.  But it would not be
> enough for me if I wanted to use a buffer-based menu eventhough I am
> running X.

What would an ideal buffer-based menu be for you?  Simple buffer, up
and down and ret, tab, mouse clicks, ability to go up to the parent
menu.. what else? =)

-- 
Sacha Chua <sacha@free.net.ph> - 4 BS CS Ateneo geekette
interests: emacs, gnu/linux, wearables, teaching compsci

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: Text mode menu wishlist
  2002-09-10  1:45   ` Sacha Chua
@ 2002-09-10  7:41     ` Thien-Thi Nguyen
  2002-09-10  7:48       ` Miles Bader
  2002-09-10 18:15     ` Text mode menu wishlist Alex Schroeder
  1 sibling, 1 reply; 24+ messages in thread
From: Thien-Thi Nguyen @ 2002-09-10  7:41 UTC (permalink / raw)
  Cc: emacs-devel

Sacha Chua <sacha@free.net.ph> writes:

   I can start studying ncurses and the Emacs C code if people feel that
   this is important enough. =)

perhaps you can kill two birds w/ one stone by prototyping using
guile-ncurses, q.v.

thi

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: Text mode menu wishlist
  2002-09-10  7:41     ` Thien-Thi Nguyen
@ 2002-09-10  7:48       ` Miles Bader
  2002-09-10  8:35         ` (no subject) Thien-Thi Nguyen
  0 siblings, 1 reply; 24+ messages in thread
From: Miles Bader @ 2002-09-10  7:48 UTC (permalink / raw)
  Cc: Sacha Chua, emacs-devel

Thien-Thi Nguyen <ttn@glug.org> writes:
>    I can start studying ncurses and the Emacs C code if people feel that
>    this is important enough. =)
> 
> perhaps you can kill two birds w/ one stone by prototyping using
> guile-ncurses, q.v.

Um, emacs doesn't use curses.

You probably want to do this at the emacs glyph-matrix level.

-Miles
-- 
Suburbia: where they tear out the trees and then name streets after them.

^ permalink raw reply	[flat|nested] 24+ messages in thread

* (no subject)
  2002-09-10  7:48       ` Miles Bader
@ 2002-09-10  8:35         ` Thien-Thi Nguyen
  2002-09-10  8:47           ` none Miles Bader
  0 siblings, 1 reply; 24+ messages in thread
From: Thien-Thi Nguyen @ 2002-09-10  8:35 UTC (permalink / raw)
  Cc: sacha, emacs-devel

   From: Miles Bader <miles@lsi.nec.co.jp>
   Date: 10 Sep 2002 16:48:40 +0900

   Um, emacs doesn't use curses.

   You probably want to do this at the emacs glyph-matrix level.

sorry, i thought we were talking about text menus.
(however, note the weasle-word "prototyping". :-)

thi

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: none
  2002-09-10  8:35         ` (no subject) Thien-Thi Nguyen
@ 2002-09-10  8:47           ` Miles Bader
  2002-09-10 13:56             ` none Sacha Chua
  0 siblings, 1 reply; 24+ messages in thread
From: Miles Bader @ 2002-09-10  8:47 UTC (permalink / raw)
  Cc: sacha, emacs-devel

Thien-Thi Nguyen <ttn@giblet.glug.org> writes:
>    Um, emacs doesn't use curses.
> 
>    You probably want to do this at the emacs glyph-matrix level.
> 
> sorry, i thought we were talking about text menus.

We were (or at least I was).

-Miles
-- 
`The suburb is an obsolete and contradictory form of human settlement'

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: none
  2002-09-10  8:47           ` none Miles Bader
@ 2002-09-10 13:56             ` Sacha Chua
  2002-09-10 23:25               ` none Miles Bader
  0 siblings, 1 reply; 24+ messages in thread
From: Sacha Chua @ 2002-09-10 13:56 UTC (permalink / raw)


Miles Bader <miles@lsi.nec.co.jp> writes:

>>    Um, emacs doesn't use curses.
>>    You probably want to do this at the emacs glyph-matrix level.
>> sorry, i thought we were talking about text menus.
> We were (or at least I was).

I am definitely talking about text menus. =) I use emacspeak -nw often
(inside screen), and I rely on the keyboard a lot. Besides, how can I
use Emacs' funky mouse-friendly menus if I don't have graphical output
or an easy to use mouse? =)

Right now I'm studying textmenu and tmm, trying to figure out what
kind of a menu system I really want. I guess most people don't think
tmm is broken (it's actually quite nice), but I wonder if it can be
improved. I'll go into hermit mode now and experiment with ways to do
so. Thanks for the input, and feel free to send more suggestions! 

-- 
Sacha Chua <sacha@free.net.ph> - 4 BS CS Ateneo geekette
interests: emacs, gnu/linux, wearables, teaching compsci

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: Text mode menu wishlist
  2002-09-10  1:45   ` Sacha Chua
  2002-09-10  7:41     ` Thien-Thi Nguyen
@ 2002-09-10 18:15     ` Alex Schroeder
  1 sibling, 0 replies; 24+ messages in thread
From: Alex Schroeder @ 2002-09-10 18:15 UTC (permalink / raw)


Sacha Chua <sacha@free.net.ph> writes:

>> People like me would like a simple buffer where we can use up and down
>> and RET to select a menu entry.  This can be done in Lisp and works
>> for me.
>
> tmm does that, doesn't it? Or, well, it uses the history mechanism,
> and you can pageup to get to the completion buffer...

I dunno wether it does.  I just tried it and indeed it seems to go
"up" in the menu.  But I find it confusing.  It was so confusing, in
fact, that I understood it only after you told me.  :)  Part of this
problem is perhaps the multi-column display, and the lack of a
"selection" in the buffer.  All the activity is in the minibuffer.

>> Other people would like to see "real" menus in the console, but that
>> requires messing with the C code.  The basic stuff is already there in
>
> I can start studying ncurses and the Emacs C code if people feel
> that this is important enough. =)

I think Mario Lang already has a bunch of mails talking about the
basics of this.  Perhaps he can give you some more information.

> What would an ideal buffer-based menu be for you?  Simple buffer, up
> and down and ret, ability to go up to the parent menu

Yes

> tab

Hm, how would that work, as "next"?  I would not care about that (but
I would expect there to be a textmenu-mode-map I could change).

> mouse clicks

Not really -- if I expected that, I could have used the real menu.

Alex.

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: none
  2002-09-10 13:56             ` none Sacha Chua
@ 2002-09-10 23:25               ` Miles Bader
  2002-09-30  5:59                 ` none Sacha Chua
  0 siblings, 1 reply; 24+ messages in thread
From: Miles Bader @ 2002-09-10 23:25 UTC (permalink / raw)
  Cc: emacs-devel

On Tue, Sep 10, 2002 at 09:56:55PM +0800, Sacha Chua wrote:
> Right now I'm studying textmenu and tmm, trying to figure out what
> kind of a menu system I really want. I guess most people don't think
> tmm is broken (it's actually quite nice), but I wonder if it can be
> improved.

I think tmm is `broken' too, because:

(1) It operates differently from other menus so it's bound to confuse
    beginners.

(2) Even once I got used to it a bit, I still found it very awkward to use:

    (a) Moving between menus and sub-menus (it just replaces the contents of
    	the `menu buffer') is way too heavy-weight. A typical drop-down menu
    	implementation allows you to quickly scan through submenus seeing
    	what's there, while also preserving all the `parent context' for you
    	to see.

    (b) The arrangement of menu items in the buffer seems often hard to read
        quickly.

    (c) I find the way the user-input (in the minibuffer) works annoying.  I
	don't really like using completion when choosing from a small set of
	displayed items (because doing so requires me to stop and think about
	which key to type corresponds to which displayed), I'd rather just
	select directly from the list.  You can scroll through the list in
	the minibuffer using direction keys, but the `disconnected' nature of
	it makes this awkward; it would be _much_ better to just manipulate a
	cursor in the displayed list directly (you can do this sort of by
	switching to the menu-window, but (1) that's an irritating extra step
	you have to take, and (2) moving between menu-items once you're there
	is still slow and clumsy [e.g., the huge initial comment that has to
	be skipped, the double-column arrangement of items]

    [I imagine that if you're using emacs-speak, BTW, you might disagree about
    some of this]

(3) It's ugly as hell.   Bleah.

-Miles
-- 
Occam's razor split hairs so well, I bought the whole argument!

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: none
  2002-09-10 23:25               ` none Miles Bader
@ 2002-09-30  5:59                 ` Sacha Chua
  2002-10-01  6:18                   ` none Richard Stallman
  0 siblings, 1 reply; 24+ messages in thread
From: Sacha Chua @ 2002-09-30  5:59 UTC (permalink / raw)


Miles Bader <miles@gnu.org> writes:

>     (a) Moving between menus and sub-menus (it just replaces the contents of
>     	the `menu buffer') is way too heavy-weight. A typical drop-down menu
>     	implementation allows you to quickly scan through submenus seeing

Do you think it might be nice to have trees or outlines for menus,
like the way customize-browse does it? That seems like a fairly good
way of mimicking drop-down menus. Of course, there's something to be
said about native menus, but I think that native menus have been
discussed on this list before and there's probably a good reason why
we're still not using them.

> 	select directly from the list.  You can scroll through the list in
> 	the minibuffer using direction keys, but the `disconnected' nature of

tmm allows me to cycle through menu items in the minibuffer by
pressing the up and down arrow keys. This seems to make sense, and
it's actually quite usable with Emacspeak. I still don't like how
accelerators change if something gets added to the menu, and the fact
that there seems to be no easy way to go back to the previous menu,
but it's actually more usable than I thought.

It might be nice to see ido-like functionality in the menu, though. =)
That would be, like, fun!

-- 
Sacha Chua <sacha@free.net.ph> - 4 BS CS Ateneo geekette
interests: emacs, gnu/linux, wearables, teaching compsci

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: none
  2002-09-30  5:59                 ` none Sacha Chua
@ 2002-10-01  6:18                   ` Richard Stallman
  0 siblings, 0 replies; 24+ messages in thread
From: Richard Stallman @ 2002-10-01  6:18 UTC (permalink / raw)
  Cc: emacs-devel

    Of course, there's something to be
    said about native menus, but I think that native menus have been
    discussed on this list before and there's probably a good reason why
    we're still not using them.

If "native menus" means displaying something on the tty that looks
like a pull-down menu and letting the user move through it,
the reason we are not using them is that nobody has implemented them.
We would definitely like to switch to them, but it takes work,
so the question is who wants to do the work.

^ permalink raw reply	[flat|nested] 24+ messages in thread

* None
  2002-12-14 18:31       ` Richard Stallman
@ 2002-12-17 11:41         ` Kenichi Handa
  0 siblings, 0 replies; 24+ messages in thread
From: Kenichi Handa @ 2002-12-17 11:41 UTC (permalink / raw)
  Cc: emacs-devel

In article <E18NH4s-0003g1-00@fencepost.gnu.org>, Richard Stallman <rms@gnu.org> writes:
>     Notes on the change:
>     (1) I made a new variable coding-system-require-warning, and
>     universal-coding-system-argument binds it to t.

>     (2) If car of the arg DEFAULT-CODING-SYSTEM is t, it
>     indicates that select-safe-coding-system should not include
>     buffer-file-coding-system and most preferred coding system
>     in a list of coding systems tried by default.
>     Fwrite_region calls select-safe-coding-system in this way if
>     coding-system-require-warning is non-nil.

>     (3) Now a user can specify any coding system in
>     select-safe-coding-system on his risk.  At least, this is
>     necessary when an unsafe coding sysetm is specified by C-x
>     RET c.

> I didn't have time to read the code (sorry), but that sounds ok to me.

I've just installed it in HEAD.

---
Ken'ichi HANDA
handa@m17n.org

^ permalink raw reply	[flat|nested] 24+ messages in thread

* None
@ 2003-03-07 12:04 abrahamade
  0 siblings, 0 replies; 24+ messages in thread
From: abrahamade @ 2003-03-07 12:04 UTC (permalink / raw)


m,emacs-bidi@gnu.org,emacs-devel@gnu.org,emacs-for-ns-announce@lists.princeton.edu,emacs-for-ns-users@lists.princeton.edu,emacs-rcp@amaunet.cs.uni-dortmund.de,emacs-rcp@ls6.cs.uni-dortmund.de,emeade@teknolust.com,emilio_tunon@nl.compuware.com, ew9xy3zqh@wsaj39r2qcu.org,ewrm7c4k@z61oazt9ou1iz4.org
From: abrahamade@themail.com
Subject: TRUSTED PARTNERSHIP
X-Priority: 3
Authorized-User: abrahamade@themail.com
IP-Address: 66.178.47.75
Reply-To: abrahamade@themail.com
MIME-Version: 1.0
Content-type: text/plain
Message-Id: <200303070646798.SM00100@mail.TheMail.com>
Date: Fri,  7 Mar 2003 07:06:09 -0500

Dr. ABRAHAM ADESANYA
 Nigerian National Petroleum Corporation,
 Corporate Head Quater, 
 Falomo Shopping Complex, 
 Ikoyi, Lagos. 
 E-mail:abrahamade@themail.com
 
 
 STRICTLY CONFIDENTIAL 
 
 The President/C.E.O.,
 
 Seeking for a Dedicated and Committed Partnership in a
 Business Proposal Worth US$26.5m. 
 
 Through some discreet inquiries from our Chambers of
 Commerce, you and your organization were revealed as
 being quite astute in private entrepreneur. On this on
 this premise, we have no doubt in your ability to
 handle a financial business of considerable
 amount,which will form the bedrock of an extensive
 business partnership in due course.
  
 In unfolding this proposal,I want to count on your
 status, as a respected executive of your company to
 believe that you will handle it with all sincerity and
 accord it absolute confidentiality that it deserves. 
 
 Being the secretary to the panel that is reviewing the
 award of past project that discovered this fund, I
 have been mandated to open a business relationship
 with you on this mutually beneficial opportunity. 
 
 This business involves the remittance of US$26.5
 million (Twenty Six Million, Five Hundred Thousand
 dollars) only into your bank account from our apex
 bank where this fund has been lying idle in a suspense
 account. The money accrued through deliberate
 over-invoicing of old project executed for the
 Nigerian National Petroleum Corporation by some
 foreign firms.
  
 We have worked out this scheme to benefit us along
 with any foreign partner who obliges us the 
 materials and channel to transfer out the fund into
 his/her nominated account with a view to traveling
 down to meet you thereafter so that we can have our
 share. 
 
 In the past, we did encounter a great loss from our
 previous experience with a Swiss who in trying to
 assist us suggested that the transfer should be done
 in three installments into his account.Together, we
 were able to transfer the first installment which was
 assumed to be a part payment of the contract sum
 amounting to US$8.625M (Eight million, six hundred and
 twenty five thousand dollars), into his account that
 he gave us.He however disappeared into thin air on our
 arrival at Zurich in Switzerland to collect our share.
 Series of attempt to contact him proved abortive and
 that is how we lost this whooping amount to the Swiss.
 
 We have now fully worked out the operational
 modalities to avoid any reoccurrence of such loss 
 and to forestall any hitch. If you would assist or
 participate in this deal, then please endeavor to get
 in touch with me immediately via my E-mail address as
 written above.
  
 In picking on you for this business, please note that
 your expertise has been taken into consideration, as
 you will be required to guide us through a wise
 investment of our share of the fund in a viable and
 profitable venture in your country. 
 
 In the world over, bigger firms who bid for various
 contracts especially in third world countries like
 ours can sub-contract some of them to other firms for
 execution. That is your firm will be regarded as one
 of those that executed one of such projects and
 therefore entitled to receive the contract value. Be
 rest assured that this transaction is 100% risk free
 as there is actually no risk involved either now or in
 the future for we are well connected in official
 circle. Given our level of commitment at the moment,we
 want to assure you that with full dedication on your
 part, the objective of having this fund remitted would
 have been realized within a period of two weeks.
 
 It is hereby expressly agreed in principle that at the
 end of the transaction, you will be entitled to 20% of
 the entire sum, which you are free to withdraw as soon
 as you confirm that the fund has been remitted into
 your account. 
 
 I am awaiting your response most urgently whether you
 are interested or not to enable me know the next move
 to make.
 
 Contact me directly on my Email address if you are
 interested with your company name/address and your
 personal tel/fax numbers.I shall forward my home
 address,telephone and fax numbers to you once you
 confirm your interest in assisting us.
  
 Thanks.
  
 Yours sincerely,
 
 Dr. ABRAHAM ADESANYA
 

__________________________________________________________________
TheMail.com - Full featured premium email you can count on.
Sign-up today at http://www.themail.com/

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: none
  2005-06-04  0:56 (no subject) Luc Teirlinck
@ 2005-06-05 16:49 ` Kim F. Storm
  0 siblings, 0 replies; 24+ messages in thread
From: Kim F. Storm @ 2005-06-05 16:49 UTC (permalink / raw)
  Cc: emacs-devel

Luc Teirlinck <teirllm@dms.auburn.edu> writes:

> Is there a reason why this-original-command, unlike this-command,
> returns a non-nil value when no command is running?  

It is an oversight.  Please install your patch.  Thanks.

>                                                      The reason why
> this originally annoyed me is no longer valid, so I do not need this
> to be "fixed", but I thought that maybe it might just be due to an
> oversight.  What about the patch below?  Grepping shows that
> this-original-command, is only used in ido and cua.  Basically, I
> believe that only Kim has ever used it.  

Maybe because until now, I'm the only one(?) who has seriously used
the new command remapping feature :-)

>                                          What about the mini-patch
> below?  I can install if desired.
>
> ===File ~/keyboard.c-diff===================================
> *** keyboard.c	26 May 2005 10:40:35 -0500	1.826
> --- keyboard.c	30 May 2005 17:14:15 -0500	
> ***************
> *** 1522,1527 ****
> --- 1522,1528 ----
>   
>         Vthis_command = Qnil;
>         real_this_command = Qnil;
> +       Vthis_original_command=Qnil;
>   
>         /* Read next key sequence; i gets its length.  */
>         i = read_key_sequence (keybuf, sizeof keybuf / sizeof keybuf[0],
> ============================================================
>
>

-- 
Kim F. Storm <storm@cua.dk> http://www.cua.dk

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: none
  2016-09-28 12:26 (unknown) Takesi Ayanokoji
@ 2016-09-28 17:05 ` John Wiegley
  0 siblings, 0 replies; 24+ messages in thread
From: John Wiegley @ 2016-09-28 17:05 UTC (permalink / raw)
  To: Takesi Ayanokoji; +Cc: emacs-devel

>>>>> "TA" == Takesi Ayanokoji <ayanokoji.takesi@gmail.com> writes:

TA> I translated GNU Emacs manual "The Emacs Edirot" from English to Japanese.

TA> So, how should I take next action. Submit it to somewhere, or else?
TA> (Currently I am sharing it by GitHub.)

This is a great contribution, Takesi, thank you! I'm not sure where other
languages go in our repository, since I don't see any others.

The only difficulty I can see will be maintaining this document to include
future changes, since few of us speak Japanese.

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2



^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: none
  2021-07-27 23:54 (unknown) Troy Hinckley
@ 2021-07-30 21:33 ` Stefan Monnier
  2021-07-31  5:09   ` none Troy Hinckley
  0 siblings, 1 reply; 24+ messages in thread
From: Stefan Monnier @ 2021-07-30 21:33 UTC (permalink / raw)
  To: Troy Hinckley; +Cc: emacs-devel

Troy Hinckley [2021-07-27 17:54:25] wrote:
> Subject: Load order for elisp files
> User-agent: mu4e 1.2.0; emacs 28.0.50
> I am trying to better understand the bootstrap process for Emacs and I
> have run into a chicken and egg problem. When looking for where the
> basic functions are defined, I can see that defmacro and defun are defined in
> byte-run.el. However the code needed to evaluate a macro is in
> backquote.el.

Hmm... no, the code in `backquote.el` is only used to macro expand uses
of backquotes (which are commonly used in macro definitions but not in
all of them) and `byte-run.el` is indeed careful not to use backquotes,
specifically because that would break the bootstrap.

IIRC there are cases where we rely on even more subtle details, more
specifically, I seem to remember that we have functions whose body uses
macros that aren't yet defined when we define the function, and this
still works OK because this is done at a stage where macro expansion is
still lazy, so the macros in the body of the function are only expanded
when the function gets called (or when it gets byte-compiled) both of
which "happen" to take place later, when the corresponding macros have
been defined.


        Stefan




^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: none
  2021-07-30 21:33 ` none Stefan Monnier
@ 2021-07-31  5:09   ` Troy Hinckley
  2021-07-31 16:22     ` none Stefan Monnier
  0 siblings, 1 reply; 24+ messages in thread
From: Troy Hinckley @ 2021-07-31  5:09 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 1709 bytes --]

byte-run.el does use backquotes

https://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/emacs-lisp/byte-run.el#n122

However I had not thought about the impacts of lazy evaluation. I guess
this would require that you load the code twice: First with the
interpreter, then with the byte compiler, since you can't compile a macro
that has not been defined.

On Fri, Jul 30, 2021 at 3:33 PM Stefan Monnier <monnier@iro.umontreal.ca>
wrote:

> Troy Hinckley [2021-07-27 17:54:25] wrote:
> > Subject: Load order for elisp files
> > User-agent: mu4e 1.2.0; emacs 28.0.50
> > I am trying to better understand the bootstrap process for Emacs and I
> > have run into a chicken and egg problem. When looking for where the
> > basic functions are defined, I can see that defmacro and defun are
> defined in
> > byte-run.el. However the code needed to evaluate a macro is in
> > backquote.el.
>
> Hmm... no, the code in `backquote.el` is only used to macro expand uses
> of backquotes (which are commonly used in macro definitions but not in
> all of them) and `byte-run.el` is indeed careful not to use backquotes,
> specifically because that would break the bootstrap.
>
> IIRC there are cases where we rely on even more subtle details, more
> specifically, I seem to remember that we have functions whose body uses
> macros that aren't yet defined when we define the function, and this
> still works OK because this is done at a stage where macro expansion is
> still lazy, so the macros in the body of the function are only expanded
> when the function gets called (or when it gets byte-compiled) both of
> which "happen" to take place later, when the corresponding macros have
> been defined.
>
>
>         Stefan
>
>

[-- Attachment #2: Type: text/html, Size: 2274 bytes --]

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: none
  2021-07-31  5:09   ` none Troy Hinckley
@ 2021-07-31 16:22     ` Stefan Monnier
  0 siblings, 0 replies; 24+ messages in thread
From: Stefan Monnier @ 2021-07-31 16:22 UTC (permalink / raw)
  To: Troy Hinckley; +Cc: emacs-devel

Troy Hinckley [2021-07-30 23:09:29] wrote:
> byte-run.el does use backquotes
> https://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/emacs-lisp/byte-run.el#n122
> However I had not thought about the impacts of lazy evaluation.

Right [except evaluation is not lazy, only macro-expansion is].

> I guess this would require that you load the code twice: First with
> the interpreter, then with the byte compiler, since you can't compile
> a macro that has not been defined.

Indeed: we first load the interpreted code when dumping the
`src/bootstrap-emacs` executable, which is then used to compile the
preloaded files (and the compiler), after which we load them again (but
in their compiled form) to dump the final `src/emacs` executable.

Note that lazy macro-expansion is only used for some of the preloaded
files (more specifically for those loaded before `macroexp.el` in
`lisp/loadup.el`, where you can also see some hackish workaround we have
to use at that time).


        Stefan




^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: none
  2021-12-20  2:29 (unknown) Davin Pearson
@ 2021-12-20 14:13 ` Stefan Monnier
  0 siblings, 0 replies; 24+ messages in thread
From: Stefan Monnier @ 2021-12-20 14:13 UTC (permalink / raw)
  To: Davin Pearson; +Cc: emacs-devel

> ("\\*.*\\*" 0 'dmp-face--fg:blue t)

Change the `t` above to `prepend` or `append`.


        Stefan




^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: none
  2022-07-21 11:36 (unknown) Gregory Heytings
@ 2022-07-21 16:11 ` Manuel Giraud
  0 siblings, 0 replies; 24+ messages in thread
From: Manuel Giraud @ 2022-07-21 16:11 UTC (permalink / raw)
  To: Gregory Heytings; +Cc: Po Lu, emacs-devel

Gregory Heytings <gregory@heytings.org> writes:

> a29a3ad55d breaks the build of master with:
>
> cedet/semantic/symref/list.el:35:2: Error: Wrong type argument:
> number-or-marker-p, nil

Hi,

I also have this error for some hours now but a29a3ad55d does not seem
to be at fault.  I have the same error from building at 8e71e9b10333c.
(Sorry I don't have time now for a proper bisect).
-- 
Manuel Giraud



^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: none
  2024-03-13 12:48 (unknown) Eli Zaretskii
@ 2024-03-13 13:57 ` Po Lu
  2024-03-13 14:40   ` none Eric Abrahamsen
  0 siblings, 1 reply; 24+ messages in thread
From: Po Lu @ 2024-03-13 13:57 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

> This causes the following byte-compilation warning:
>
>   In gnus-notification-close:
>   gnus/gnus-notifications.el:91:36: Warning: Unused lexical argument `reason'

Thanks, I'll fix this tomorrow, though you could also install the
obvious change now:

diff --git a/lisp/gnus/gnus-notifications.el b/lisp/gnus/gnus-notifications.el
index 9ef21c91627..9c524de8ec4 100644
--- a/lisp/gnus/gnus-notifications.el
+++ b/lisp/gnus/gnus-notifications.el
@@ -88,7 +88,7 @@ gnus-notifications-action
   ;; an action of theirs) are selected
   (assoc-delete-all id gnus-notifications-id-to-msg))
 
-(defun gnus-notification-close (id reason)
+(defun gnus-notification-close (id _reason)
   "Remove ID from the alist of notification identifiers to messages.
 REASON is ignored."
   (assoc-delete-all id gnus-notifications-id-to-msg))




^ permalink raw reply related	[flat|nested] 24+ messages in thread

* Re: none
  2024-03-13 13:57 ` none Po Lu
@ 2024-03-13 14:40   ` Eric Abrahamsen
  0 siblings, 0 replies; 24+ messages in thread
From: Eric Abrahamsen @ 2024-03-13 14:40 UTC (permalink / raw)
  To: Po Lu; +Cc: Eli Zaretskii, emacs-devel

Po Lu <luangruo@yahoo.com> writes:

> Eli Zaretskii <eliz@gnu.org> writes:
>
>> This causes the following byte-compilation warning:
>>
>>   In gnus-notification-close:
>>   gnus/gnus-notifications.el:91:36: Warning: Unused lexical argument `reason'
>
> Thanks, I'll fix this tomorrow, though you could also install the
> obvious change now:
>
> diff --git a/lisp/gnus/gnus-notifications.el b/lisp/gnus/gnus-notifications.el
> index 9ef21c91627..9c524de8ec4 100644
> --- a/lisp/gnus/gnus-notifications.el
> +++ b/lisp/gnus/gnus-notifications.el
> @@ -88,7 +88,7 @@ gnus-notifications-action
>    ;; an action of theirs) are selected
>    (assoc-delete-all id gnus-notifications-id-to-msg))
>  
> -(defun gnus-notification-close (id reason)
> +(defun gnus-notification-close (id _reason)
>    "Remove ID from the alist of notification identifiers to messages.
>  REASON is ignored."
>    (assoc-delete-all id gnus-notifications-id-to-msg))

I just did this; the name of the function was missing an "s", too.



^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2024-03-13 14:40 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-09-09 15:53 Text mode menu wishlist Sacha Chua
2002-09-09 17:27 ` Alex Schroeder
2002-09-10  1:45   ` Sacha Chua
2002-09-10  7:41     ` Thien-Thi Nguyen
2002-09-10  7:48       ` Miles Bader
2002-09-10  8:35         ` (no subject) Thien-Thi Nguyen
2002-09-10  8:47           ` none Miles Bader
2002-09-10 13:56             ` none Sacha Chua
2002-09-10 23:25               ` none Miles Bader
2002-09-30  5:59                 ` none Sacha Chua
2002-10-01  6:18                   ` none Richard Stallman
2002-09-10 18:15     ` Text mode menu wishlist Alex Schroeder
2002-09-09 23:34 ` Richard Stallman
  -- strict thread matches above, loose matches on Subject: below --
2002-11-28 17:01 iso-8859-1 and non-latin-1 chars Dave Love
2002-12-06 16:38 ` Dave Love
2002-12-10 23:47   ` Dave Love
2002-12-13  2:58     ` Kenichi Handa
2002-12-14 18:31       ` Richard Stallman
2002-12-17 11:41         ` None Kenichi Handa
2003-03-07 12:04 None abrahamade
2005-06-04  0:56 (no subject) Luc Teirlinck
2005-06-05 16:49 ` none Kim F. Storm
2016-09-28 12:26 (unknown) Takesi Ayanokoji
2016-09-28 17:05 ` none John Wiegley
2021-07-27 23:54 (unknown) Troy Hinckley
2021-07-30 21:33 ` none Stefan Monnier
2021-07-31  5:09   ` none Troy Hinckley
2021-07-31 16:22     ` none Stefan Monnier
2021-12-20  2:29 (unknown) Davin Pearson
2021-12-20 14:13 ` none Stefan Monnier
2022-07-21 11:36 (unknown) Gregory Heytings
2022-07-21 16:11 ` none Manuel Giraud
2024-03-13 12:48 (unknown) Eli Zaretskii
2024-03-13 13:57 ` none Po Lu
2024-03-13 14:40   ` none Eric Abrahamsen

Code repositories for project(s) associated with this public inbox

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

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).