Coder Social home page Coder Social logo

mate-desktop / pluma Goto Github PK

View Code? Open in Web Editor NEW
152.0 22.0 66.0 35.96 MB

A powerful text editor for MATE

Home Page: http://www.mate-desktop.org

License: GNU General Public License v2.0

Shell 0.17% C 83.54% Python 13.78% Perl 0.25% Makefile 1.72% M4 0.41% Roff 0.13%

pluma's Introduction

Pluma - The MATE text editor

pluma-icon

General Information

Pluma (pluma) is a small and lightweight UTF-8 text editor for the MATE environment. It started as a fork of Gedit (at version 2.30) in 2011, back then the text editor for the GNOME 2 environment.

Pluma is part of MATE and uses the latest GTK+ and MATE libraries. Complete MATE integration is featured, with support for Drag and Drop from Caja (the MATE file manager), the use of the MATE help system, the MATE Virtual File System and the MATE print framework.

Pluma uses a Multiple Document Interface, which lets you edit more than one document at the same time.

Pluma supports most standard editing features, plus several not found in your average text editor (plugins being the most notable of these).

Although new features are always under development, currently Pluma has:

  • Complete support for UTF-8 text
  • Syntax highlighting
  • Support for editing remote files
  • Search and Replace
  • Printing and Print Previewing Support
  • File Revert
  • A complete preferences interface
  • Configurable Plugin system

Some of the plugins, packaged and installed with Pluma include, among others:

  • Spell checker - Checks the spelling of the current document
  • File Browser - Easy file access from the side pane
  • Sort - Sorts a document or selected text
  • Insert Date/Time - Inserts current date and time at the cursor position
  • Tag list - Provides a method to easily insert code tags.

Other external plugins are also available.

Pluma is released under the GNU General Public License (GPL) version 2, see the file 'COPYING' for more information.

The official web site is:

https://mate-desktop.org/

You can download the latest Pluma tarball from:

https://pub.mate-desktop.org/releases/

Build/Installation

Pluma requires GTK+ (>= 3.22) and GtkSourceView (>= 4.0.2). For a complete list of dependencies see the build.yml.

Warning: This procedure doesn't install in a separate prefix, so it may overwrite your system binaries.

Simple install procedure:

$ git submodule update --init --recursive   # Init git submodules
$ NOCONFIGURE=1 ./autogen.sh                # Copy configuration requirements
$ ./configure                               # Build configuration
$ make                                      # Build
[ Become root if necessary ]
$ make install                              # Installation

For installation to a separate prefix change the above ./configure command to

$ ./configure --prefix=/an/other/path

To get more information type the command below:

$ ./configure --help

Running Tests

Pluma has several test that can be run after compilation. Run them by issueing "make check". However there are a couple of requirements that need to be satisfied before they will pass.

  • You need the gsettings schemas installed for some tests to be able to run.
  • You need to mount sftp://localhost/ with gvfs-mount for one test to pass.

If test fail and you have setup the above correctly then please file a bug report as described below.

How to report bugs

Bugs should be reported to the MATE bug tracking system:

https://github.com/mate-desktop/Pluma/issues

You will need to create an account for yourself.

In the bug report please include:

  • Information about your system. For instance:

    • What operating system and version
    • What version of X
    • What version of the gtk+, glib and mate libraries
    • For Linux, what version of the C library
  • And anything else you think is relevant. For example:

    • How to reproduce the bug.

    • If the bug was a crash, the exact text that was printed out when the crash occurred.

    • Further information such as stack traces may be useful, but is not necessary. If you do send a stack trace, and the error is an X error, it will be more useful if the stack trace is produced running the test program with the --sync command line option.

Patches

Patches should also be submitted to https://github.com/mate-desktop/pluma, preferably via pull requests.

The Pluma team.

pluma's People

Contributors

alxpl avatar barkovv avatar bl0ckeduser avatar city-busz avatar flexiondotorg avatar hekel avatar infirit avatar info-cppsp avatar jhgit avatar kallisti5 avatar kingysu avatar kreijack avatar mbkma avatar monnerat avatar monsta avatar perberos avatar piotrdrag avatar raveit65 avatar rbuj avatar sc0w avatar selectiveduplicate avatar sleeveroller avatar stefano-k avatar sthibaul avatar szesch avatar tamplan avatar vkareh avatar xrevan86 avatar yetist avatar yselkowitz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pluma's Issues

[RPMLint] incorrect-fsf-address

incorrect-fsf-address /usr/share/doc/packages/mate-text-editor/COPYING
incorrect-fsf-address /usr/share/pluma/ui/pluma-ui.xml
incorrect-fsf-address /usr/share/pluma/plugins/snippets/lang/snippets.lang
The Free Software Foundation address in this file seems to be outdated or
misspelled. Ask upstream to update the address, or if this is a license file,
possibly the entire file with a new copy available from the FSF.

Segmentation Fault on Goto Line

I'm on an Arch Linux machine running Pluma 1.8.0. When I use the Goto Line function, the program suffers a segmentation fault. Here's my GDB backtrace, but it doesn't have debugging symbols (got it through the package manager, after all). If necessary, I'd be happy to compile it from source with debugging symbols to improve it:

#0  0x0000000000447fee in ?? ()
#1  0x000000000045800d in pluma_marshal_BOOLEAN__VOID ()
#2  0x00007ffff5f043d8 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#3  0x00007ffff5f15b1b in ?? () from /usr/lib/libgobject-2.0.so.0
#4  0x00007ffff5f1cc11 in g_signal_emitv () from /usr/lib/libgobject-2.0.so.0
#5  0x00007ffff719e9cd in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#6  0x00007ffff719eee1 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#7  0x00007ffff719f12a in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#8  0x00007ffff71a0197 in gtk_bindings_activate_event ()
   from /usr/lib/libgtk-x11-2.0.so.0
#9  0x00007ffff7303549 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#10 0x00007ffff77712fd in ?? () from /usr/lib/libgtksourceview-2.0.so.0
#11 0x00007ffff724b435 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#12 0x00007ffff5f04352 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#13 0x00007ffff5f15b1b in ?? () from /usr/lib/libgobject-2.0.so.0
#14 0x00007ffff5f1d719 in g_signal_emit_valist ()
   from /usr/lib/libgobject-2.0.so.0
#15 0x00007ffff5f1dd02 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#16 0x00007ffff735afe4 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#17 0x00007ffff736e83b in gtk_window_propagate_key_event ()
   from /usr/lib/libgtk-x11-2.0.so.0
#18 0x000000000044d1a2 in ?? ()
#19 0x00007ffff724b435 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#20 0x00007ffff5f043d8 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#21 0x00007ffff5f15b1b in ?? () from /usr/lib/libgobject-2.0.so.0
#22 0x00007ffff5f1d719 in g_signal_emit_valist ()
   from /usr/lib/libgobject-2.0.so.0
#23 0x00007ffff5f1dd02 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#24 0x00007ffff735afe4 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#25 0x00007ffff7249cb7 in gtk_propagate_event ()
   from /usr/lib/libgtk-x11-2.0.so.0
#26 0x00007ffff7249f9b in gtk_main_do_event ()
   from /usr/lib/libgtk-x11-2.0.so.0
#27 0x00007ffff6ec59cc in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#28 0x00007ffff5c34b84 in g_main_context_dispatch ()
   from /usr/lib/libglib-2.0.so.0
#29 0x00007ffff5c34dc8 in ?? () from /usr/lib/libglib-2.0.so.0
#30 0x00007ffff5c3508a in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#31 0x00007ffff7249087 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#32 0x00000000004281dc in main ()

Trivial: A reference to GNOME which needs to be updated.

I had stumbled upon this when translating Pluma, in the following string:
"Maximum number of actions that pluma will be able to undo or redo. Use "-1" for unlimited number of actions. Deprecated since 2.12.0",
the version should now probably state the application name as well. For instance, "Deprecated since GNOME 2.12.0" would probably be OK.

Document recovery

Please add document recovery to our beloved pluma. It is sorely missed.

Crash while attempting to activate spell checking

I've already mentioned about that here: #77 (comment), but now just make a new threat.
In both options โ€žspell checkingโ€œ & โ€žautomatic spell checkingโ€œ, i get this:

 pluma: symbol lookup error: /usr/lib64/pluma/plugins/libspell.so: undefined symbol: gtk_source_buffer_iter_has_context_class

file not loaded from last location

when i open a file with pluma and then move the cursor to a location and then close pluma and then reopen the file again in pluma, the cursor location is restored. but if i open up two or more files, only the cursor position of the first file will be restored.

checkupdate plugin?

I built pluma with libsoup and --enable-updater option, but the checkupdate plugin not exists in the package.

File Browser sidebar using SSH is crashing

When entering or reloading a directory in the File Browser, pluma sometimes crashes. Seems like a memory leak, as it happens after having used pluma for a while. This happens with SSH through gvfs.

spurious-executable-perm (rpmlint error)

rpmlint shows executable bit errors.
Pls remove executable bits from upstream

mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/pluma/smclient/eggsmclient.h
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/plugins/taglist/pluma-taglist-plugin.h
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/plugins/spell/pluma-spell-language-dialog.h
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/plugins/spell/pluma-spell-language-dialog.c
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/pluma/dialogs/pluma-close-confirmation-dialog.c
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/plugins/spell/pluma-spell-checker-dialog.h
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/plugins/taglist/pluma-taglist-plugin-panel.h
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/plugins/taglist/pluma-taglist-plugin-panel.c
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/plugins/time/pluma-time-plugin.c
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/pluma/dialogs/pluma-preferences-dialog.c
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/pluma/dialogs/pluma-preferences-dialog.h
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/plugins/spell/pluma-spell-plugin.h
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/plugins/spell/pluma-spell-plugin.c
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/pluma/smclient/eggsmclient-xsmp.c
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/plugins/spell/pluma-automatic-spell-checker.c
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/plugins/docinfo/pluma-docinfo-plugin.c
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/plugins/spell/pluma-automatic-spell-checker.h
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/plugins/docinfo/pluma-docinfo-plugin.h
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/pluma/smclient/eggsmclient.c
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/pluma/smclient/eggdesktopfile.c
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/pluma/dialogs/pluma-search-dialog.h
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/pluma/dialogs/pluma-search-dialog.c
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/pluma/smclient/eggdesktopfile.h
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/plugins/spell/pluma-spell-checker-dialog.c
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/plugins/spell/pluma-spell-checker-language.h
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/plugins/spell/pluma-spell-checker-language.c
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/plugins/taglist/pluma-taglist-plugin-parser.h
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/plugins/spell/pluma-spell-checker.c
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/plugins/sort/pluma-sort-plugin.h
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/plugins/spell/pluma-spell-checker.h
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/pluma/dialogs/pluma-close-confirmation-dialog.h
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/pluma/dialogs/pluma-encodings-dialog.h
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/plugins/taglist/pluma-taglist-plugin-parser.c
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/plugins/taglist/pluma-taglist-plugin.c
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/plugins/sort/pluma-sort-plugin.c
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/pluma/smclient/eggsmclient-private.h
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/plugins/spell/pluma-spell-utils.h
mate-text-editor-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/mate-text-editor-1.4.0/plugins/spell/pluma-spell-utils.c

show (convert?) line endings

I have opened three files, one of which has different eol than the others but there's no indication of this in pluma. They can be edited and saved without problem and they preserve their original eol format but I would feel saver if there was at least some indication like in vim there is "[dos]" in the status line.
As a bonus we could have a conversion functionality some day.

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/4318490-show-convert-line-endings?utm_campaign=plugin&utm_content=tracker%2F1179776&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F1179776&utm_medium=issues&utm_source=github).

gtk3: print preview broken

Print preview is broken but only in gtk3 build. I get a warning from glib, below is the backtrace with --g-fatal-warnings

(pluma:12159): GLib-GObject-WARNING **: /var/tmp/portage/dev-libs/glib-2.38.2-r1/work/glib-2.38.2/gobject/gsignal.c:2475: signal 'expose-event' is invalid for instance '0x14bb270' of type 'GtkLayout'
Program received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffff5928011 in g_logv (log_domain=0x7ffff5c3a149 "GLib-GObject", 
    log_level=G_LOG_LEVEL_WARNING, format=<optimized out>, 
    args=args@entry=0x7fffffffd4e8)
    at /var/tmp/portage/dev-libs/glib-2.38.2-r1/work/glib-2.38.2/glib/gmessages.c:989
989 /var/tmp/portage/dev-libs/glib-2.38.2-r1/work/glib-2.38.2/glib/gmessages.c: No such file or directory.
#0  0x00007ffff5928011 in g_logv (log_domain=0x7ffff5c3a149 "GLib-GObject", 
    log_level=G_LOG_LEVEL_WARNING, format=<optimized out>, 
    args=args@entry=0x7fffffffd4e8)
    at /var/tmp/portage/dev-libs/glib-2.38.2-r1/work/glib-2.38.2/glib/gmessages.c:989
#1  0x00007ffff5928182 in g_log (
    log_domain=log_domain@entry=0x7ffff5c3a149 "GLib-GObject", 
    log_level=log_level@entry=G_LOG_LEVEL_WARNING, 
    format=format@entry=0x7ffff5c3fd48 "%s: signal '%s' is invalid for instance '%p' of type '%s'")
    at /var/tmp/portage/dev-libs/glib-2.38.2-r1/work/glib-2.38.2/glib/gmessages.c:1025
#2  0x00007ffff5c28da8 in g_signal_connect_data (instance=0xdd6270, 
    detailed_signal=<optimized out>, c_handler=0x46c730 <preview_expose>, 
    data=0xab8f60, destroy_data=0x0, connect_flags=G_CONNECT_AFTER)
    at /var/tmp/portage/dev-libs/glib-2.38.2-r1/work/glib-2.38.2/gobject/gsignal.c:2474
#3  0x000000000046c6de in preview_ready ()
#4  0x00007ffff5c112e0 in g_closure_invoke (closure=0xdef390, 
    return_value=0x0, n_param_values=2, param_values=0x7fffffffd8b0, 
    invocation_hint=0x7fffffffd850)
    at /var/tmp/portage/dev-libs/glib-2.38.2-r1/work/glib-2.38.2/gobject/gclosure.c:777
#5  0x00007ffff5c233f0 in signal_emit_unlocked_R (node=node@entry=0xc45d70, 
    detail=detail@entry=0, instance=instance@entry=0x7447a0, 
    emission_return=emission_return@entry=0x0, 
    instance_and_params=instance_and_params@entry=0x7fffffffd8b0)
    at /var/tmp/portage/dev-libs/glib-2.38.2-r1/work/glib-2.38.2/gobject/gsignal.c:3586
#6  0x00007ffff5c2b1e6 in g_signal_emit_valist (
    instance=instance@entry=0x7447a0, signal_id=signal_id@entry=469, 
    detail=detail@entry=0, var_args=var_args@entry=0x7fffffffdb60)
    at /var/tmp/portage/dev-libs/glib-2.38.2-r1/work/glib-2.38.2/gobject/gsignal.c:3330
#7  0x00007ffff5c2b8ee in g_signal_emit_by_name (instance=0x7447a0, 
    detailed_signal=detailed_signal@entry=0x7ffff72192c7 "ready")
    at /var/tmp/portage/dev-libs/glib-2.38.2-r1/work/glib-2.38.2/gobject/gsignal.c:3426
#8  0x00007ffff6fecd0a in print_pages_idle (user_data=0xdcfd20)
    at gtkprintoperation.c:2886
#9  0x00007ffff6b77d00 in gdk_threads_dispatch (data=0x866c80) at gdk.c:804
#10 0x00007ffff5920ca5 in g_main_dispatch (context=0x6e2920)
    at /var/tmp/portage/dev-libs/glib-2.38.2-r1/work/glib-2.38.2/glib/gmain.c:3066
#11 g_main_context_dispatch (context=context@entry=0x6e2920)
    at /var/tmp/portage/dev-libs/glib-2.38.2-r1/work/glib-2.38.2/glib/gmain.c:3642
#12 0x00007ffff5920fe8 in g_main_context_iterate (context=0x6e2920, 
    block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at /var/tmp/portage/dev-libs/glib-2.38.2-r1/work/glib-2.38.2/glib/gmain.c:3713
#13 0x00007ffff592144a in g_main_loop_run (loop=0xd28c30)
    at /var/tmp/portage/dev-libs/glib-2.38.2-r1/work/glib-2.38.2/glib/gmain.c:3907
#14 0x00007ffff6f9d355 in gtk_main () at gtkmain.c:1158
#15 0x000000000042823c in main ()

Strange behavor with an invisible last line

If you create a document in pluma and open it on other editors there is very often an empty last line in the document with pluma is now showing.

Steps to reproduce this issue:

1: Create a new file in pluma with the following content

This is a test file.
It contains a few lines of content.
This here is the last line.

2: Make sure there is NO last line in the editor.
3: Open the file in other editors.

As you can see some other editors pick up on that line with is not in pluma.

Greetings
Leo
example

pluma build with gtk3 search/replace box

The search and replace boxes do not allow to enter text. The following warning shows up

(pluma:25275): GLib-GObject-WARNING **: /var/tmp/portage/dev-libs/glib-2.36.4-r1/work/glib-2.36.4/gobject/gsignal.c:2475: signal `changed' is invalid for instance `0xedc9b0' of type `GtkCellView'

Screenie below:
ebe10tq

easier access to text wrapping

i really do enjoy pluma as my default text editor, but not having the option to enable and disable text wrapping from within the menu causes me alot of frustration, as it was available in notepad on windows as well as i see its in leafpad. it would be even more helpful to me if the option was in the toolbar.

Pluma 1.2.0 crashes with large JSON file

Hello,

a large JSON File named as plumajsoncrash.java and encoded in us-ascii causes a segmentation fault (SIGSEGV).

pluma - Version 1.2.0

pluma plumajsoncrash.java

(pluma:29193): GtkSourceView-CRITICAL **: Highlighting a single line took too much time, syntax highlighting will be disabled
(pluma:29193): Gtk-CRITICAL **: IA__gtk_text_buffer_get_iter_at_offset: assertion `GTK_IS_TEXT_BUFFER (buffer)' failed
(pluma:29193): Gtk-CRITICAL **: IA__gtk_text_buffer_move_mark: assertion `GTK_IS_TEXT_MARK (mark)' failed
Segmentation fault

http://pastebin.com/YqAQsTkd - ldd /usr/bin/pluma

To reproduce it you need the file. Download the compressed and base64 encoded zip from
https://gist.github.com/4143899 - gist: 4143899 (click on raw). Save the file and decode it first:

base64 -d plumajsoncrash.java.zip.base64 > plumajsoncrash.java.zip

Now unzip the archive and try to open it with pluma. The error may not occur on the first try.

Best regards from Berlin.

recursive rule in makefile

mate-text-editor/data/Makefile.am has a recursive rule, due to a change in e27c237#diff-2

pluma.pc: pluma.pc
    cp pluma.pc pluma.pc

On a clean git clone, this gives me the error:

make[2]: Entering directory `/var/tmp/mate/mate-text-editor/data'
Makefile:684: warning: overriding recipe for target `pluma.pc'
Makefile:368: warning: ignoring old recipe for target `pluma.pc'
LC_ALL=C /usr/bin/intltool-merge -d -u -c ../po/.intltool-merge-cache ../po pluma.desktop.in pluma.desktop
make[2]: Circular pluma.pc <- pluma.pc dependency dropped.
cp pluma.pc pluma.pc
cp: cannot stat `pluma.pc': No such file or directory
make[2]: *** [pluma.pc] Error 1
make[2]: *** Waiting for unfinished jobs....
Generating and caching the translation database
Merging translations into pluma.desktop.
make[2]: Leaving directory `/var/tmp/mate/mate-text-editor/data'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/mate/mate-text-editor'
make: *** [all] Error 2

Removing the rule from mate-text-editor/data/Makefile.am fixes the error. but i'd like someone to double check that that is the right thing to do.

Please add an option to disable the tabs when the sidebar is used

Hello,

I am usually using the sidebar, for myself the sidebar (enabled by pressing F9 or through the menubar) is much more usable than those tabs.

However, I have not found a way to disable those now redundant tabs which the editor shows. Those tabs now just take up space on my screen that I'd rather use for showing my files. Plus it is redundant, and I do hate redundant stuff on my screen.

Could you please add an option under the menubar like ->view->disable tabs ?

Thanks
BR Max.

bildschirmfoto-unsaved document 6 - pluma

incorrect handling of cursor keys with custom keyboard layout

Hi,
when you press shift + cursor key (be it the arrows, pg up/dn or home/end) text should get selected.

I have made a layout in which the cursor keys are only available via alt-gr + hjkl (for the arrows) and yuio (for home, pgdn, pgup, end respectively). When I press those while holding shift the cursor moves, but text doesn't get selected. This is not an issue in e.g. Firefox.

I am assuming the issue happens in upstream as well.

You can reproduce by installing this layout:
https://bitbucket.org/cheater/us_split_cherry_kw6000

Download it, run sudo python install.py, and then select it in the keyboard preferences: go to the tab "by language", select "English", and scroll all the way down to USA Split (Cherry KW 6000/etc etc)

Then, open pluma, and add several lines of text.

Then, select this layout, and press the Menu key (which is mapped to Alt Gr/Level 3) and hjkl to move around like in vim. Note: hjkl are in fact mapped to kl;'. So to move left you press Menu+k, to go right you press Menu+', to go down you press Menu+l, to go up you press Menu+k.

Once you can confidently move the cursor try moving it while holding shift. Text SHOULD become selected, but doesn't.

For an example of where it works, open Firefox and use any text entry control. For example the address bar, or this bug report form. Might work in Chrome too, but I haven't checked.

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/4318493-incorrect-handling-of-cursor-keys-with-custom-keyboard-layout?utm_campaign=plugin&utm_content=tracker%2F1179776&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F1179776&utm_medium=issues&utm_source=github).

smallbin double linked list corrupted

Orginal report at fedora bugzilla.
https://bugzilla.redhat.com/show_bug.cgi?id=1004119

M. Kristall 2013-09-03 22:02:04 EDT

Created attachment 793401
thread apply all bt full
https://bugzilla.redhat.com/attachment.cgi?id=793401

Description of problem:
pluma periodically crashes with "*** Error in `/usr/bin/pluma': malloc(): smallbin double linked list corrupted: 0x08b68458 ***"

Version-Release number of selected component (if applicable):
mate-text-editor-1.6.0-5.fc19.i686

How reproducible:
90% of the time I use it. Usually after saving and/or scrolling around. Sometimes it'll happen a few times in a half hour period. Other times it doesn't happen at all.

Wolfgang Ulbrich 2013-09-14 13:59:35 EDT

#3  0x446350c5 in __libc_message (do_abort=do_abort@entry=2, fmt=fmt@entry=0x4473f334 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/unix/sysv/linux/libc_fatal.c:196

Siddhesh Poyarekar 2013-09-15 22:52:31 EDT

(In reply to Wolfgang Ulbrich from comment #2)
> #3  0x446350c5 in __libc_message (do_abort=do_abort@entry=2,
> fmt=fmt@entry=0x4473f334 "*** Error in `%s': %s: 0x%s ***\n") at
> ../sysdeps/unix/sysv/linux/libc_fatal.c:196

That is glibc detecting a memory corruption, which is usually caused by writing over freed memory or a heap buffer overflow or something similar. It is not a bug in glibc.

Navigatable thumbnail of the entire file plugin request.

Please create plugin that gives you a navigatable thumbnail of the entire file.

For example, here is minimap plugin used by Sublime Text:
screenshot

And here is an old gedit 2 textedit plugin written in Python. This could be ported to Pluma. Although, AFAIK it's not very efficient and doesn't display syntax highlighting and also has some questionable UI elements (unneeded tabs for example) so it might be better to write one from scratch.

screenshot-1

Localization issue

mate-text-editor 1.6.1 localization does not appear to work and menu is English only.

pluma build with gtk3 has an issue with the filebrowser plugin

Starting program: /usr/bin/pluma --g-fatal-warnings
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7fffe5971700 (LWP 25250)]
[New Thread 0x7fffe5170700 (LWP 25251)]

Program received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffff5bbc8fd in g_logv () from /usr/lib64/libglib-2.0.so.0
#0  0x00007ffff5bbc8fd in g_logv () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#1  0x00007ffff5bbcac2 in g_log () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#2  0x00007ffff5ec4b55 in ?? () from /usr/lib64/libgobject-2.0.so.0
No symbol table info available.
#3  0x00007ffff5ec4bd4 in g_type_register_static () from /usr/lib64/libgobject-2.0.so.0
No symbol table info available.
#4  0x00007ffff5ec4e2d in g_type_register_static_simple () from /usr/lib64/libgobject-2.0.so.0
No symbol table info available.
#5  0x00007fffdd9c733e in gtk_action_get_type () from /usr/lib64/libgtk-x11-2.0.so.0
No symbol table info available.
#6  0x00007fffdd9c7a0f in gtk_action_connect_proxy () from /usr/lib64/libgtk-x11-2.0.so.0
No symbol table info available.
#7  0x00007fffdd07d500 in create_toolbar (data_dir=0x994700 "\220\210\224", obj=0x6fa210)
    at pluma-file-browser-widget.c:1000
        manager = <optimized out>
        action_group = <optimized out>
        toolbar = 0x994700
        widget = 0x993380
        action = 0xa6d160
        ui_file = <optimized out>
        error = 0x0
#8  pluma_file_browser_widget_new (data_dir=data_dir@entry=0xa71280 "/usr/share/pluma/plugins/filebrowser")
    at pluma-file-browser-widget.c:1802
        obj = 0x6fa210
#9  0x00007fffdd07ff0c in impl_activate (plugin=0x74dec0, window=0x812030) at pluma-file-browser-plugin.c:630
Quit

pluma segfault in tagbrowser plugin with gtk3

Backtrace below.

Starting program: /usr/bin/pluma 
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7fffe5971700 (LWP 14699)]
[New Thread 0x7fffe5170700 (LWP 14700)]

Program received signal SIGSEGV, Segmentation fault.
0x00007fffdda8173b in gtk_list_store_set_n_columns () from /usr/lib64/libgtk-x11-2.0.so.0
#0  0x00007fffdda8173b in gtk_list_store_set_n_columns () from /usr/lib64/libgtk-x11-2.0.so.0
No symbol table info available.
#1  0x00007fffdda832ed in gtk_list_store_new () from /usr/lib64/libgtk-x11-2.0.so.0
No symbol table info available.
#2  0x00007fffdda04737 in gtk_combo_box_new_text () from /usr/lib64/libgtk-x11-2.0.so.0
No symbol table info available.
#3  0x00007fffdca51aa4 in pluma_taglist_plugin_panel_init (panel=0x987800) at pluma-taglist-plugin-panel.c:670
        sw = <optimized out>
        column = <optimized out>
        cell = <optimized out>
        focus_chain = 0x0
        __PRETTY_FUNCTION__ = "pluma_taglist_plugin_panel_init"
#4  0x00007ffff5ec5fdf in g_type_create_instance () from /usr/lib64/libgobject-2.0.so.0
No symbol table info available.
#5  0x00007ffff5eaaf58 in ?? () from /usr/lib64/libgobject-2.0.so.0
No symbol table info available.
#6  0x00007ffff5eac521 in g_object_newv () from /usr/lib64/libgobject-2.0.so.0
No symbol table info available.
#7  0x00007ffff5eacd10 in g_object_new_valist () from /usr/lib64/libgobject-2.0.so.0
No symbol table info available.
#8  0x00007ffff5ead044 in g_object_new () from /usr/lib64/libgobject-2.0.so.0
No symbol table info available.
#9  0x00007fffdca523cb in pluma_taglist_plugin_panel_new (window=0x810030, 
    data_dir=0xae7900 "/usr/share/pluma/plugins/taglist") at pluma-taglist-plugin-panel.c:773
        panel = <optimized out>
        __PRETTY_FUNCTION__ = "pluma_taglist_plugin_panel_new"
#10 0x00007fffdca52691 in impl_activate (plugin=0xad6d80, window=0x810030) at pluma-taglist-plugin.c:93

MATE Foundation -> GNOME Foundation

In some copyright headers, the GNOME Foundation has been removed as copyright holder during the sed magic you did when forking the project.

I found two: pluma/dialogs/pluma-close-confirmation-dialog.*

Mike

text wrapping shortcut

Hey!
It would be great to have shortcut key combination for text wrapping/unwrapping.

SDI Mode

Gedit promised for years, but never delivered a proper SDI editing mode--For some of us, tabs in our text editor is way overkill, and it would be nice if Pluma could pull this off where gedit couldn't.

Should be possible to force pluma to use a specific encoding

Some text files contains a few characters not in the same format as the rest of the document. Pluma will completely deny to show these files rather than allowing the user to force an encoding.
The text file found at http://bayfiles.net/file/XMkF/vNvr92/README.TXT cannot be opened by Pluma but looks just fine opened with another text editor.

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/2293938-should-be-possible-to-force-pluma-to-use-a-specific-encoding?utm_campaign=plugin&utm_content=tracker%2F1179776&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F1179776&utm_medium=issues&utm_source=github).

3 tests fail

make  check-TESTS
make[2]: Map '/home/sander/repos/mate-text-editor/tests' wordt binnengegaan
make[3]: Map '/home/sander/repos/mate-text-editor/tests' wordt binnengegaan
PASS: smart-converter
PASS: document-input-stream
../test-driver: regel 95: 25626 Traceer/breekpunt-instructie    "$@" > $log_file 2>&1
FAIL: document-output-stream
../test-driver: regel 95: 25633 Traceer/breekpunt-instructie    "$@" > $log_file 2>&1
FAIL: document-loader
../test-driver: regel 95: 25639 Traceer/breekpunt-instructie    "$@" > $log_file 2>&1
FAIL: document-saver
make[4]: Map '/home/sander/repos/mate-text-editor/tests' wordt binnengegaan
make[4]: Er hoeft niets gedaan te worden voor 'all'.
make[4]: Map '/home/sander/repos/mate-text-editor/tests' wordt verlaten
============================================================================
Testsuite summary for pluma 1.6.0
============================================================================
# TOTAL: 5
# PASS:  2
# SKIP:  0
# XFAIL: 0
# FAIL:  3
# XPASS: 0
# ERROR: 0
============================================================================
See tests/test-suite.log
Please report to https://github.com/mate-desktop/mate-text-editor/issues
============================================================================
make[3]: *** [test-suite.log] Fout 1
make[3]: Map '/home/sander/repos/mate-text-editor/tests' wordt verlaten
make[2]: *** [check-TESTS] Fout 2
make[2]: Map '/home/sander/repos/mate-text-editor/tests' wordt verlaten
make[1]: *** [check-am] Fout 2
make[1]: Map '/home/sander/repos/mate-text-editor/tests' wordt verlaten
make: *** [check-recursive] Fout 1

test-suite.log

=======================================
   pluma 1.6.0: tests/test-suite.log
=======================================

# TOTAL: 5
# PASS:  2
# SKIP:  0
# XFAIL: 0
# FAIL:  3
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: document-output-stream
============================
(./document-output-stream:25626): GLib-GIO-ERROR **: Settings schema 'org.mate.pluma' is not installed
FAIL: document-loader
=====================
(./document-loader:25633): GLib-GIO-ERROR **: Settings schema 'org.mate.pluma' is not installed
FAIL: document-saver
====================
(./document-saver:25639): GLib-GIO-ERROR **: Settings schema 'org.mate.pluma' is not installed

Crash of some shortcuts

Hi, i've builded and installed Mate 1.8 in RHEL 7 beta. In general Pluma works fine, but when i type Ctrl+K or Ctrl+I, it has crashed. (Ctrl+H and Ctrl+F working well)

tag list plugin eats much memory

tag list plugin eats much memory

pluma start without any plugin, 10.3 MB
activate tag list, 11.5 MB
show the tag list, 74.5 MB
close left panel, 74.5 MB
deactivate tag list, 74.5 MB
activate tag list, 74.5 MB
deactivate tag list, 74.5 MB

Pluma leaving a "recently-used.xbel" file in the root of the users directory

Issue noticed when testing Pluma (1.7.2) on a Mate 1.7.2 install on Arch Linux, that was upgraded from Mate 1.6

To reproduce, open a document in Pluma, and Pluma will create a recently-used.xbel file the root of the user's directory. Sometimes it will create the file when opening Pluma without viewing a document.

Deleting the file also deletes Pluma's recently used items.

I deleted the Pluma folder in .config with no change to the issue.

non-unicode characters in upstream files

Hi,

while working on the debian/copyright file I discovered that at least some files in pluma are not fully converted to unicode.

E.g. pluma/plumaextregion.* (the author name in the file header is broken)

Mike

Bold fonts are not properly monospaced, and put tabs out of alignment

There doesn't appear to be any way to attach a screenshot of this. The best way to observe it is in a C++ source file.

Depending on the highlighting used by Pluma, certain letters may be put into a bold font, while most will not. I have noticed that data types bool and void, while each only four characters long, are automatically rendered in bold and occupy as much horizontal space as five characters would normally. This occurs even when using a monospaced font (such a font is in fact the default)

This also puts tabs out of alignment; albeit in an unpredictable fashion.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.