Gnu Emacs

Edit Package emacs

"Eight Megs And Constantly Swapping"

Refresh
Refresh
Source Files (show merged sources derived from linked package)
Filename Size Changed
0009-pdumper-set-DUMP_RELOC_ALIGNMENT_BITS-1-for-m68k.patch 0000001812 1.77 KB
0012-Add-inhibit-native-compilation.patch 0000005539 5.41 KB
0013-Rename-to-inhibit-automatic-native-compilation.patch 0000003908 3.82 KB
0015-Change-native-comp-async-jobs-number-default-to-1.patch 0000000861 861 Bytes
0016-Change-native-comp-async-report-warnings-errors-to-s.patch 0000000909 909 Bytes
app-defaults.Emacs 0000008459 8.26 KB
check-build.sh 0000000592 592 Bytes
dot.gnu-emacs 0000017799 17.4 KB
emacs-24.1-ps-mule.patch 0000001808 1.77 KB
emacs-24.3-asian-print.patch 0000000527 527 Bytes
emacs-24.3-iconic.patch 0000000563 563 Bytes
emacs-24.3-x11r7.patch 0000001130 1.1 KB
emacs-24.4-flyspell.patch 0000001793 1.75 KB
emacs-24.4-glibc.patch 0000000553 553 Bytes
emacs-24.4-nonvoid.patch 0000000507 507 Bytes
emacs-24.4-ps-bdf.patch 0000001573 1.54 KB
emacs-25.1-custom-fonts.patch 0000002357 2.3 KB
emacs-26.1-xft4x11.patch 0000001043 1.02 KB
emacs-27.1-pdftex.patch 0000003481 3.4 KB
emacs-29.1.dif 0000032078 31.3 KB
emacs-30.1-minmalxauth.patch 0000000513 513 Bytes
emacs-30.1-pdf.tar.xz 0002017084 1.92 MB
emacs-30.1-pdumper.patch 0000003796 3.71 KB
emacs-30.1-seccomp.patch 0000001925 1.88 KB
emacs-30.1-silent.patch 0000003874 3.78 KB
emacs-30.1.tar.xz 0054978160 52.4 MB
emacs-30.1.tar.xz.sig 0000000520 520 Bytes
emacs-parallel-compilation-53a5dada.patch 0000001219 1.19 KB
emacs-rpmlintrc 0000000736 736 Bytes
emacs.changes 0000138263 135 KB
emacs.keyring 0000010680 10.4 KB
emacs.sh 0000004180 4.08 KB
emacs.spec 0000294444 288 KB
emacs.test 0000000490 490 Bytes
macros.emacs 0000000211 211 Bytes
pdump.patch 0000000999 999 Bytes
site-lisp.tar.bz2 0000052221 51 KB
Comments 64

Maikol Solis's avatar

With 27.1 I get this message when I try to start emacs desired fingerprint: 064a75c503ad2029dae4f4f0f451795521ec88ed472d4af90d830dca9f0a8982 found fingerprint: d175eee5d621820266e4493384b96880b9f3a0bbb75ac7d1f90a38f25cab8590 emacs: could not load dump file "/usr/lib/emacs/27.1/x86_64-suse-linux/emacs.pdmp": not built for this Emacs executable



1st last's avatar

With emacs 27.1 on Leap15.1, fonts only render & display properly if emacs is invoked with "--no-x-resources". This hold true even when contrasting a bare-bones-invocation with "-q" against "-q --no-x-resources": with "-q", fonts render pixely. They render smooth with "-q --no-x-resources". The Leap 15.1 install has no ".Xdefaults" in the user's home dir. This issue has not existed with 26.3.


Peter Münster's avatar

Should be fixed now: https://bugzilla.opensuse.org/show_bug.cgi?id=1175372 Peter


1st last's avatar

Yep. Confirming, that with emacs-27.1-lp151.335.1.x86_64 and on Leap 15.1, fonts render & display properly again without the --no-x-resources switch. Thx guys.


Maikol Solis's avatar

I confirm this behavior with doom-emacs. I filed a bug about it https://github.com/hlissner/doom-emacs/issues/3768


Frank Babenberg's avatar

Is this going to be built with nativecomp? It's a very interesting feature to have.


Soc Virnyl Estela's avatar

Emacs 29.1 is released with a separate wayland module/feature 👀

Please update! I can do it tonight if you aren't free ❤️


fcanlnony Mo's avatar

Is it possible to turn on pgtk option builds?This is a very useful feature for Wayland users.


Björn Bidar's avatar

Without disabling the warnings in PGTK that would break the gtk build when using X11. sed -i 's, pgtk_display_x_warning,// pgtk_display_x_warning,' src/pgtkterm.c



Björn Bidar's avatar

Emacs developers say that sharing the native-lisp binaries between builds that use different configurations e.g. the X11 and GTK build is not advised.

Doing so broke a few months ago in Emacs devel after gnulib was updated. I'm not sure if the gnulib update is relevant but that is the first commit I think which broke packaging on -eln package for all builds broke.

https://mail.gnu.org/archive/html/emacs-devel/2023-08/msg00458.html


Dr. Werner Fink's avatar

Only the emacs build for GTK supports Native Lisp as otherwise the X11 as well as the noX build would triple the numbers of .eln files. And AFAICS the advantage of using Native Lisp isn't that much, maybe as I'm using user systemd serivce which start emacs as daemon.


Björn Bidar's avatar

Turns out I had issues because after building each build distclean cleaned the eln files. This was changed quite recently, before it didn't delete them. I was under the thinking that we could have kept one set of eln files - one package, but that isn't possible. Of course it tripples the amount of files but I think it is useful potentially for all builds - daemon or not.

I need to move them manually before running distclean.

I have a simpler patch for the override the pdmp base per build, do you want to take that?

Also I track some patches of your in git. Are you open to do also do the same for this package? The advantage is that the patches can be shared between my package and yours.

Why is the emacs-27.1-pdftex.patch needed to build the docs for OpenSuSE?



Dr. Werner Fink's avatar

The emacs-27.1-pdftex.patch exists only to build all refcards with the fonts provided by TeXLive

For your pdmp patch ... do you have tested it with all emacs binaries (emacs-nox, emacs-x11, and emacs-gtk) and the wrapper script /usr/bin/emacs .. simply to avoid the desaster reported e.g in bug boo#1214008 (this was a brown paper back indeed :)

Beside this I'm consider to provide also a emacs-pgtk in an own package emacs-wayland for the poor wayland users.


Dr. Werner Fink's avatar

The eln files had to be saved away just like the binaries them selfs ... could be done by make install-eln with a specific DESTDIR


Björn Bidar's avatar

I was thinking of doing so but preventing distclean to cleanup eln files was easier: make distclean HAVE_NATIVE_COMP=no


Björn Bidar's avatar

I noticed that eln files are installed into /usr/lib because, libdir isn't passed to configure. I assume it is because the %configure isn't used.


Dr. Werner Fink's avatar

Latest version now has wayland gtk based binary which is used only for XDG_SESSION_TYPE=wayland ... also all binaries have their own eln native files as I'm now using Björn's pdmp patch ... please test out


Björn Bidar's avatar

It is also possible to use pgtk on X11 if the pgtk_display_x11_warning is removed:

sed -i 's, pgtk_display_x_warning,// pgtk_display_x_warning,' src/pgtkterm.c

PGTK works fine on X11 and has less issues with for example high-dpi screens and lets you use GTK input methods.


Dr. Werner Fink's avatar

In my experience the pgtk seems to ingore my Xresource/Xdefaults entries for emacs ... that is pgtk is white whereas the pure X11 gtk shows my favourite colouring :)


Björn Bidar's avatar

Pgtk uses GSettings instead odf XRessources.


Dr. Werner Fink's avatar

Hmmm ... is there a tool to get the old X server resource database into the GSettings ...

xrdb -query | wc -l
371

Björn Bidar's avatar

I noticed that site-start.el contains various variables and references to out of date informations such as gnus-localdomain. Check Emacs's NEWS.29 for more.

I also wonder if these files should be maintained outside of the tar archive e.g. in a patch.


Dr. Werner Fink's avatar

The tar ball site-lisp.tar.bz2 is a very old source which are the leftovers of more than 25 years of using GNU Emacs which I had collected at university and maintained over the years. If you have suggestions for adding/removing parts you're welcome


Dr. Werner Fink's avatar

Now message-user-fqdn is used


Björn Bidar's avatar

Does Emacs support atspi-2 directly? I greped the Emacs sources, I couldn't find any reference. I think it's more of a GTK feature.


Dr. Werner Fink's avatar

Yep .. .nevertheless for gtk and wayland I'd like to avoid warnings ... btw ... see bug boo#1216040 ... after the change from lib to lib64 spacemacs runs into problems


Björn Bidar's avatar

Which warnings? I see atspi-2 more as a recommend. Since Emacs use atspi-2 during build it should more be a recommend.

I checked the bug, after changing my own emacs package to have the precompiled in lib64 I didn't had any issue. I tested spacemacs no issue there either. I suspect that he had to delete his eln-cache after the change.


Dr. Werner Fink's avatar

Every message seen by normal users causes bugzilla entries ... for spacemacs ... are you using wayland? Means emacs-wayland here


Björn Bidar's avatar

Yes I was using Emacs with the PGTK backend on Wayland or X11 no issue.


dev's avatar

Emacs 29.2 was released on 2024-01-18. When is it expected to be available?


Dr. Werner Fink's avatar

Should be done now


Björn Bidar's avatar

I noticed that the Emacs packaging macros are not picked up on Leap, do you know why? The macros look line to me.


Björn Bidar's avatar

Would it make sense to add Prefer: emacs-nox for the obs so that Emacs package can correctly depend on emacs-devel without depending on emacs-nox directly?


dev's avatar

Emacs 29.3 which addresses some security vulnerabilities has been released. Hoping to see it in TW soon.


dev's avatar

Thank you for the prompt release.


Andre Barros's avatar

Line 610 of emacs.spec: ln -sf ../parking./usr/lib64/emacs/29.1/native-lisp/ .

Should be: ln -sf ../parking./usr/lib64/emacs/29.3/native-lisp/ .

Or better yet: ln -sf ../parking./usr/lib64/emacs/%{version}/native-lisp/ .


Björn Bidar's avatar

Why is Emacs built with ffno-optimize-sibling-calls?


Dr. Werner Fink's avatar

In past I had run onto problems with some gcc versions during byte-compiling some lisp files and as I always recompile all lisp files as a test this option had avoided this crash. This is also mention in emacs-<version>/etc/PROBLEMS where I found this hint. I do not care if this is gcc or emacs code, it has to byte-compiling its lisp files from scratch.


Björn Bidar's avatar

Oh I wasn't aware of the issue. Other distributions don't enable this flag and reading the document makes it look like it should only affect very old GCC's.


Dr. Werner Fink's avatar

No idea if other distribution re-byte-compile all lisp files for a check ... also if I would have a check which gcc version does throw such error before byte-compile lisp file would help. The question rises if the disabled optimize-sibling-calls hurts the real life performance ... sometimes less is more ;)


Björn Bidar's avatar

Should checks be enabled for the editor project but disabled in Factory? Fedora went ahead and also run tests in their CI.


Dr. Werner Fink's avatar

What checks do you mean ... Staging Projects for editors or something different


Björn Bidar's avatar

I mean the unit tests in make check. We could enable them there to catch potential errors before updating the package in Factory.


Sai Karthik Karra's avatar

@WernerFink why was configure flag --with-emoji not set ?


Björn Bidar's avatar

where did you find such an option?


Dr. Werner Fink's avatar

Good question:

emacs/emacs-29.4> ./configure --help | grep -c emoji
0

Sai Karthik Karra's avatar

yes, my fault. there is no such flag


Björn Bidar's avatar

Hey,

Are you considering to install all Emacs packages provided by the repositories using package.el? The ELPA repositories only work only when using package.el from what I know as opposed to site-lisp which works with without package.el.


Björn Bidar's avatar

Since I have been building Emacs 30 for quite a while for openSUSE I have rebased most of the patches. Right now I have rebased them against Emacs 30 and 31. Some of the patches I didn't add so far such as the XAuth patch.

Could you when you cherry-pick patches take the actual patch file from git instead of a diff? This does make rebasing match easier.

My rebased patches are here: https://github.com/Thaodan/emacs/commits/thaodan/emacs-30/opensuse_patches


Björn Bidar's avatar

I created a bug for Emacs 30.1 with the findings/patch branch: https://bugzilla.opensuse.org/show_bug.cgi?id=1237518


M H's avatar

Hi. Does Emacs 30.1 (aarch64/wayland) support treesitter? I have trouble to get it to work.


Dr. Werner Fink's avatar

AFAIK

werner/emacs> osc bl openSUSE_Tumbleweed x86_64 | grep 'Does Emacs use -ltree-sitter'
[   67s]   Does Emacs use -ltree-sitter?                           yes
[  152s]   Does Emacs use -ltree-sitter?                           yes
[  308s]   Does Emacs use -ltree-sitter?                           yes
[  465s]   Does Emacs use -ltree-sitter?                           yes
werner/emacs> osc bl openSUSE_Tumbleweed aarch64 | grep 'Does Emacs use -ltree-sitter'
[  122s]   Does Emacs use -ltree-sitter?                           yes
[  276s]   Does Emacs use -ltree-sitter?                           yes
[  498s]   Does Emacs use -ltree-sitter?                           yes
[  724s]   Does Emacs use -ltree-sitter?                           yes

all four emacs-nw, emacs-x11, emacs-gtk, and emacs-pgtk ... but how to use it is an other is an other question.


M H's avatar

Thanks. I tried again and it is indeed working. If you execute (treesit-available-p) in e.g. the scratch buffer it comes back with t for true.

In the end the actual installation also went quite smooth. After installing ada-ts-mode the required ada treesitter library was installed automatically.


dev's avatar

I have noticed a slowdown in version 30.1-7.1 (over version 30.1-6.1). Would you like me to open a bug issue? Please let me know what additional details it would be helpful to include.


dev's avatar

FWIW, I suspect the slowdown had something to do with the natively compiled files. An Emacs batch script that used to take about half a second started taking more than 2 seconds.


Dr. Werner Fink's avatar

Should be solved with latest emacs ... compare with bug boo#1246121


dev's avatar

Resolution confirmed. Thanks!


Björn Bidar's avatar

Why was pdumper disabled for SLE? I'm trying to understand the change but can't access the referred bug.


Dr. Werner Fink's avatar

This was a try to solve the problem that emacs build had been not reproducible ... meanwhile I've hunted it down with the help of byte parsing function[1] to be able to set watch/break points or simple to send a SIGSEGV at a specific point in dump_write()

[1]

static int sigsegv;
//static const unsigned char bytarr[] = {0x68, 0x65, 0x6d, 0x0a, 0x62, 0x79, 0x20, 0x55, 0x54, 0x46, 0x2d, 0x38, 0x2e, 0x00};
static const unsigned char bytarr[] = {0x61, 0x02, 0x28, 0x6b, 0xee};
static const size_t bytlen = sizeof(bytarr)/sizeof(bytarr[0]);
static size_t memmatch(const void* mem, size_t mem_len, const void* pattern,
    size_t pattern_length, size_t* pattern_index)
{
    eassert(*pattern_index < pattern_length);
    size_t idx = 0; 
    register size_t index = *pattern_index;
    for (; idx < mem_len;) {
        if (((const unsigned char*)mem)[idx++] == ((const unsigned char*)pattern)[index]) {
            ++index;
            if (pattern_length == index) {
                break; // ++idx;
            }
        } else if (index) {
            index = 0; // reset
        }
    }
    *pattern_index = index;
    return idx;
}

Björn Bidar's avatar

I understood the point of the change. But why does SLES require this specific change while e.g. Tumbleweed does not?


Dr. Werner Fink's avatar

It does not ... it was a try if traditional images would avoid the changes in the final emacs binary but it does not. After this try I switched back to pdumer and debugged the dumping process to get rich of that nasty changes.

openSUSE Build Service is sponsored by