NixOS 19.03 has hunspell 1.7.0 which is incompatible with emacs 26.1.
This issue has been fixed in upstream and we should drop this patch
after emacs is updated too.
Tramp checks for a running `gvfsd-fuse` process to figure out whether to enable
gvfs-based. Its `tramp-compat-process-running-p` function uses
`/proc/<pid>/comm` to check for the name of running process(es). In Nix, the
gvfsd processes are launched via wrappers and the name of `gvfsd-fuse` in
`comm` in Linux is `.gvfsd-fuse-wra` (truncated to 15 characters) which
means the process is not detected and `tramp-gvfs-enabled` ends up with
`nil` even when gvfs is available.
This patch adds `.gvfsd-fuse-wrapped` to the list of process names to check when
determining the value of `tramp-gvfs-enabled`.
* pkgs/applications/editors/emacs/site-start.el (tramp-sh): Use
correct feature name
Tramp upstream recently dropped the autoload cookie from
tramp-remote-path. This makes Emacs error when trying to load tramp.
Using the correct feature name fixes this.
Also remove incorrect emacs25Macport alias.
Undefined symbols for architecture x86_64:
"_CFNotificationCenterAddObserver", referenced from:
_mac_term_init in macterm.o
_macfont_copy_available_families_cache in macfont.o
"_CFNotificationCenterGetDistributedCenter", referenced from:
_mac_term_init in macterm.o
"_CFNotificationCenterGetLocalCenter", referenced from:
_macfont_copy_available_families_cache in macfont.o
"_CFURLCopyResourcePropertyForKey", referenced from:
_Fmac_file_alias_p in mac.o
"_CFURLCreateBookmarkDataFromFile", referenced from:
_Fmac_file_alias_p in mac.o
"_CFURLCreateByResolvingBookmarkData", referenced from:
_Fmac_file_alias_p in mac.o
"_CFURLResourceIsReachable", referenced from:
_mac_update_title_bar in macfns.o
_mac_input_source_properties in macfns.o
"_NSDefaultRunLoopMode", referenced from:
-[NSApplication(Emacs) runTemporarilyWithBlock:] in macappkit.o
___57-[EmacsController handleQueuedNSEventsWithHoldingQuitIn:]_block_invoke in macappkit.o
_mac_run_loop_run_once in macappkit.o
___mac_run_loop_run_once_block_invoke in macappkit.o
___37-[EmacsController(Menu) trackMenuBar]_block_invoke in macappkit.o
___create_and_show_dialog_block_invoke.2445 in macappkit.o
___mac_select_block_invoke in macappkit.o
...
"_NSURLAttributeModificationDateKey", referenced from:
_mac_document_create_with_url in macappkit.o
"_OBJC_CLASS_$_NSArray", referenced from:
objc-class-ref in macappkit.o
"_OBJC_CLASS_$_NSData", referenced from:
l_OBJC_$_CATEGORY_NSData_$_Emacs in macappkit.o
objc-class-ref in macappkit.o
"_OBJC_CLASS_$_NSDate", referenced from:
objc-class-ref in macappkit.o
"_OBJC_CLASS_$_NSDictionary", referenced from:
objc-class-ref in macappkit.o
"_OBJC_CLASS_$_NSMethodSignature", referenced from:
l_OBJC_$_CATEGORY_NSMethodSignature_$_Emacs in macappkit.o
objc-class-ref in macappkit.o
"_OBJC_CLASS_$_NSMutableArray", referenced from:
l_OBJC_$_CATEGORY_NSMutableArray_$_Emacs in macappkit.o
objc-class-ref in macappkit.o
"_OBJC_CLASS_$_NSMutableData", referenced from:
objc-class-ref in macappkit.o
"_OBJC_CLASS_$_NSMutableDictionary", referenced from:
objc-class-ref in macappkit.o
"_OBJC_CLASS_$_NSMutableSet", referenced from:
objc-class-ref in macappkit.o
"_OBJC_CLASS_$_NSNull", referenced from:
objc-class-ref in macappkit.o
"_OBJC_CLASS_$_NSRunLoop", referenced from:
objc-class-ref in macappkit.o
"_OBJC_CLASS_$_NSSet", referenced from:
objc-class-ref in macappkit.o
"_OBJC_CLASS_$_NSTimer", referenced from:
objc-class-ref in macappkit.o
"_OBJC_CLASS_$_NSURL", referenced from:
objc-class-ref in macappkit.o
"_OBJC_CLASS_$_NSUserDefaults", referenced from:
objc-class-ref in macappkit.o
"_OBJC_EHTYPE_$_NSException", referenced from:
GCC_except_table81 in macappkit.o
GCC_except_table810 in macappkit.o
"_kCFURLIsAliasFileKey", referenced from:
_Fmac_file_alias_p in mac.o
"_kCFURLIsSymbolicLinkKey", referenced from:
_Fmac_file_alias_p in mac.o
ld: symbol(s) not found for architecture x86_64
Undefined symbols for architecture x86_64:
"_CFNotificationCenterAddObserver", referenced from:
_macfont_copy_available_families_cache in macfont.o
"_CFNotificationCenterGetLocalCenter", referenced from:
_macfont_copy_available_families_cache in macfont.o
"_NSDefaultRunLoopMode", referenced from:
_ns_send_appdefined in nsterm.o
-[EmacsApp run] in nsterm.o
"_OBJC_CLASS_$_NSArray", referenced from:
objc-class-ref in nsterm.o
objc-class-ref in nsmenu.o
objc-class-ref in nsselect.o
"_OBJC_CLASS_$_NSData", referenced from:
objc-class-ref in nsimage.o
"_OBJC_CLASS_$_NSDate", referenced from:
objc-class-ref in nsterm.o
"_OBJC_CLASS_$_NSDictionary", referenced from:
objc-class-ref in macfont.o
"_OBJC_CLASS_$_NSLocale", referenced from:
objc-class-ref in nsterm.o
"_OBJC_CLASS_$_NSMutableArray", referenced from:
objc-class-ref in nsterm.o
objc-class-ref in nsmenu.o
"_OBJC_CLASS_$_NSMutableDictionary", referenced from:
objc-class-ref in nsmenu.o
objc-class-ref in nsselect.o
"_OBJC_CLASS_$_NSMutableSet", referenced from:
objc-class-ref in nsterm.o
"_OBJC_CLASS_$_NSRunLoop", referenced from:
objc-class-ref in nsmenu.o
"_OBJC_CLASS_$_NSTimer", referenced from:
objc-class-ref in nsterm.o
objc-class-ref in nsmenu.o
"_OBJC_CLASS_$_NSURL", referenced from:
objc-class-ref in nsterm.o
objc-class-ref in nsfns.o
"_OBJC_CLASS_$_NSUserDefaults", referenced from:
objc-class-ref in nsterm.o
objc-class-ref in nsfns.o
"_OBJC_EHTYPE_$_NSException", referenced from:
GCC_except_table8 in nsterm.o
GCC_except_table1 in nsselect.o
ld: symbol(s) not found for architecture x86_64
Undefined symbols for architecture x86_64:
"_CFNotificationCenterAddObserver", referenced from:
_macfont_copy_available_families_cache in macfont.o
"_CFNotificationCenterGetLocalCenter", referenced from:
_macfont_copy_available_families_cache in macfont.o
"_NSDefaultRunLoopMode", referenced from:
_ns_send_appdefined in nsterm.o
-[EmacsApp run] in nsterm.o
"_OBJC_CLASS_$_NSArray", referenced from:
objc-class-ref in nsterm.o
objc-class-ref in nsmenu.o
objc-class-ref in nsselect.o
"_OBJC_CLASS_$_NSData", referenced from:
objc-class-ref in nsimage.o
"_OBJC_CLASS_$_NSDate", referenced from:
objc-class-ref in nsterm.o
"_OBJC_CLASS_$_NSDictionary", referenced from:
objc-class-ref in macfont.o
"_OBJC_CLASS_$_NSLocale", referenced from:
objc-class-ref in nsterm.o
"_OBJC_CLASS_$_NSMutableArray", referenced from:
objc-class-ref in nsterm.o
objc-class-ref in nsmenu.o
"_OBJC_CLASS_$_NSMutableDictionary", referenced from:
objc-class-ref in nsmenu.o
objc-class-ref in nsselect.o
"_OBJC_CLASS_$_NSMutableSet", referenced from:
objc-class-ref in nsterm.o
"_OBJC_CLASS_$_NSRunLoop", referenced from:
objc-class-ref in nsmenu.o
"_OBJC_CLASS_$_NSTimer", referenced from:
objc-class-ref in nsterm.o
objc-class-ref in nsmenu.o
"_OBJC_CLASS_$_NSURL", referenced from:
objc-class-ref in nsterm.o
objc-class-ref in nsfns.o
"_OBJC_CLASS_$_NSUserDefaults", referenced from:
objc-class-ref in nsterm.o
objc-class-ref in nsfns.o
"_OBJC_EHTYPE_$_NSException", referenced from:
GCC_except_table8 in nsterm.o
GCC_except_table1 in nsselect.o
ld: symbol(s) not found for architecture x86_64
Fixes a critical issue with macOS
[NEWS](https://bitbucket.org/mituharu/emacs-mac/raw/master/NEWS-mac)
* emacs-26.1-mac-7.2 (2018-09-09)
** Fixed bugs
*** Buffer contents are not displayed on macOS 10.14.
This is mainly because now NSViews are backed by Core Animation Layer
(layer-backed) by default and non-deferred drawing into views no
longer works. Instead of switching to deferred drawing (i.e., draw
only inside -[NSView drawRect:]), we draw into our own backing bitmap
in a non-deferred way as before, and update the view contents with the
resulting image via -[NSView updateLayer]. This "application-side
double buffering" is also available on OS X 10.8 - macOS 10.13 if you
set the frame parameter `inhibit-double-buffering' to nil when
creating a frame. Just like on macOS 10.14, such a frame does not do
LCD smoothing.
*** Screenshot grabbed via Services is displayed in wrong size when we
have display mirroring between Retina and non-Retina displays.
*** Cursor movement just after frame resize sometimes leaves garbage.
*** Crash by the Fall_threads call from the GUI thread at the select
emulation when there are multiple Lisp threads.
*** Info title has ASCII underline unlike other window systems.
*** Vertical scroll bar is created as horizontal if frame font height
is short.
** Improvements
*** macOS 10.14 adds property :appearance to (mac-application-state).
The value may be "NSAppearanceNameAqua" or "NSAppearanceNameDarkAqua".
*** Add new color format "mac:COLOR-LIST-NAME:COLOR-NAME" and
"mac:COLOR-NAME" (shorthand for "mac:System:COLOR-NAME"). The actual
color may be different depending on the global appearance setting on
macOS 10.14. For example, "mac:textColor" is black on the Light Mode
but is white on the Dark Mode.
*** Default frame colors respect appearance setting on macOS 10.14.
Now the default frame foreground/background color is
"mac:textColor"/"mac:textBackgroundColor", respectively. Changes of
the system setting of the global appearance are dynamically reflected.
*** New function `mac-color-list-alist' to get the available
combinations of COLOR-LIST-NAMEs and COLOR-NAMEs. Note that this
value is dependent on user environment and OS version. Also, some
combinations may represent image patterns rather than colors. For the
former cases, `(color-values "mac:COLOR-LIST-NAME:COLOR-NAME")'
returns nil.
This adds subdirectories of `share/emacs/site-lisp/` in every path in
`NIX_PROFILES` to `load-path` to allow loading of more complex
libraries like `mu4e`.
Fixes #33412
`site-start.el` is the file loaded on startup, containing nix-specific
customizations like adding paths in `NIX_PROFILES` to the
emacs-specific search-path (`load-path`) or making man-pages in these
directories discoverable.
This reduces the closure size of Emacs from 575 to 279 MiB. Dumping
Emacs had a chance of leaking parts of the environment (such as $PATH)
into the dumped executable. This hopefully fixes it. (It's a bit hard
to tell since the effect is not deterministic.)
https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00211.html
> This is an emergency release to fix a security vulnerability in Emacs.
>
> Enriched Text mode has its support for decoding 'x-display' disabled.
> This feature allows saving 'display' properties as part of text.
> Emacs 'display' properties support evaluation of arbitrary Lisp forms
> as part of instantiating the property, so decoding 'x-display' is
> vulnerable to executing arbitrary malicious Lisp code included in the
> text (e.g., sent as part of an email message).