Commit graph

184 commits

Author SHA1 Message Date
Colin Watson
8f236c1419 Revamp hidden timeout handling
Add a new timeout_style environment variable and a corresponding
GRUB_TIMEOUT_STYLE configuration key for grub-mkconfig.  This
controls hidden-timeout handling more simply than the previous
arrangements, and pressing any hotkeys associated with menu entries
during the hidden timeout will now boot the corresponding menu entry
immediately.

GRUB_HIDDEN_TIMEOUT=<non-empty> + GRUB_TIMEOUT=<non-zero> now
generates a warning, and if it shows the menu it will do so as if
the second timeout were not present.  Other combinations are
translated into reasonable equivalents.
2013-11-28 02:29:15 +00:00
Colin Watson
b7f9aedfac * grub-core/normal/progress.c: Remove unused file. 2013-11-21 15:37:57 +00:00
Vladimir Serbinenko
35d4761ce2 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak. 2013-11-18 02:43:29 +01:00
Vladimir Serbinenko
b2e9294fb9 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
division.
2013-11-13 09:26:13 +01:00
Josh Triplett
46d8a2033b * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
increment/decrement.
2013-11-13 02:27:11 +01:00
Vladimir Serbinenko
800f63d38f * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types. 2013-11-08 19:14:03 +01:00
Vladimir Serbinenko
a67c755ef1 * grub-core/normal/cmdline.c (grub_cmdline_get):
Remove nested functions.
2013-11-07 02:42:38 +01:00
Vladimir Serbinenko
c03995d297 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
functions.
	(grub_bidi_line_logical_to_visual): Likewise.
2013-11-07 02:31:31 +01:00
Vladimir Serbinenko
e54b8f536b * include/grub/misc.h (grub_strcat): Removed. All users changed to
more appropriate functions.
2013-11-01 16:27:37 +01:00
Vladimir Serbinenko
10bafa1c38 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
of first three years after start of validity of unixtime.
2013-10-26 02:47:40 +02:00
Vladimir Serbinenko
b1c6d03760 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
division as the one making more sense.
	(update_screen): Likewise.
	(complete): Likewise.
2013-10-26 01:01:06 +02:00
Vladimir Serbinenko
5f4028d4a5 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0. 2013-10-26 00:07:59 +02:00
Vladimir Serbinenko
a28567364a Make char and string width grub_size_t rather than grub_ssize_t. 2013-10-25 23:58:24 +02:00
Vladimir Serbinenko
0a7e52b2ed * grub-core/normal/cmdline.c (grub_history_get): Make argument into
unsigned.
	(grub_history_replace): Likewise.
2013-10-25 22:58:19 +02:00
Vladimir 'phcoder' Serbinenko
c7037f1d0f * grub-core/normal/completion.c: Remove variable length arrays.
* grub-core/normal/menu_entry.c: Likewise.

	Reduces normal.mod by 496 bytes.
2013-10-20 13:55:35 +02:00
Vladimir 'phcoder' Serbinenko
e89c2d48a9 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
bitmasks to small structures of size chosen to fit in registers.
2013-10-19 23:59:32 +02:00
Vladimir 'phcoder' Serbinenko
c06c75201c Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
files.
2013-10-15 16:16:04 +02:00
Vladimir 'phcoder' Serbinenko
a2371e19b3 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning. 2013-07-11 13:34:20 +02:00
Andrey Borzenkov
593e430cd6 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
off new function grub_script_execute_new_scope. Change callers to use
	either of them as appropriate.
	* grub-core/commands/eval.c: New command eval.
	* docs/grub.texi (Commands): Document it.
2013-06-07 18:36:42 +02:00
Josh Triplett
e40b459617 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
handling to copy the killed characters to the kill buffer as
	UCS4 stored as grub_uint32_t rather than as 8-bit characters
	stored as char.  Eliminates UCS4 truncation and corruption
	observed when killing characters with Ctrl-u and yanking them
	back with Ctrl-y.
2013-05-31 00:59:02 +02:00
Vladimir 'phcoder' Serbinenko
cdce14fad4 Progressively skip menu elements on small terminals rather
than crashing.
2013-05-14 08:57:18 +02:00
Vladimir 'phcoder' Serbinenko
c8d6cc3cf0 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
to avoid losing last column.
2013-05-14 08:54:18 +02:00
Vladimir 'phcoder' Serbinenko
d22840ec12 Mark few forgotten strings for translation. 2013-05-07 11:41:47 +02:00
Bean
fa2923436b * grub-core/commands/testspeed.c: New command testspeed. 2013-05-05 18:16:48 +02:00
Vladimir 'phcoder' Serbinenko
310d42144b Factor-out human-size printing. 2013-05-05 11:31:53 +02:00
Vladimir 'phcoder' Serbinenko
85002bf34a Agglomerate more mallocs to speed-up gfxterm. 2013-05-04 22:23:23 +02:00
Vladimir 'phcoder' Serbinenko
44dea3f9a9 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
line of timeout as it may contain the rest of long line.
2013-05-04 13:52:21 +02:00
Vladimir 'phcoder' Serbinenko
14af86e41b * grub-core/normal/main.c: Fix freed memory dereference. 2013-05-04 13:50:16 +02:00
Vladimir 'phcoder' Serbinenko
03f7c8c304 Fix several memory leaks. 2013-05-04 13:47:10 +02:00
Vladimir 'phcoder' Serbinenko
c686014c1b * grub-core/normal/menu.c (run_menu): Fix timeout reference point. 2013-05-04 13:43:07 +02:00
Vladimir 'phcoder' Serbinenko
b5a2114d76 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run. 2013-05-03 13:56:45 +02:00
Vladimir 'phcoder' Serbinenko
7cd0df84f1 New command `nativedisk'. 2013-04-28 15:31:33 +02:00
Vladimir 'phcoder' Serbinenko
a6393224c4 Make 'make check' work on emu. 2013-04-27 02:00:16 +02:00
Vladimir 'phcoder' Serbinenko
a59a9826fd * grub-core/normal/menu_text.c (print_entry): Put an asterisk
in front of chosen entry to mark it even if highlighting is lost.
2013-04-24 15:07:24 +02:00
Vladimir 'phcoder' Serbinenko
47043f959f * grub-core/normal/term.c: Few more fixes for menu entry editor
rendering.
	Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2013-04-08 14:35:26 +02:00
Vladimir 'phcoder' Serbinenko
a321606813 * grub-core/normal/term.c: Few more fixes for menu entry editor
rendering.
	Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2013-04-07 17:48:22 +02:00
Vladimir 'phcoder' Serbinenko
91bf46b188 Fix screen corruption in menu entry editor and simplify the code
flow while on it.
2013-04-03 15:19:34 +02:00
Vladimir 'phcoder' Serbinenko
daae8f9e6d * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
command.
2013-03-25 10:32:06 +01:00
Vladimir 'phcoder' Serbinenko
cc19857a2a New commands cbmemc, lscoreboot, coreboot_boottime to inspect
coreboot tables content. Support for cbmemc.
2013-03-20 17:13:31 +01:00
Vladimir 'phcoder' Serbinenko
e744219bb6 Implement boot time analysis framework. 2013-03-19 20:25:09 +01:00
Nickolai Zeldovich
e11645f434 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
OOM check.
	* grub-core/normal/term.c (read_terminal_list): Likewise.
2013-03-07 08:41:27 +01:00
Vladimir 'phcoder' Serbinenko
19e29ee1a9 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
hook pass-through parameter. All users updated and unnested.
2013-03-02 11:47:59 +01:00
Andrey Borzenkov
f1a19118e5 * grub-core/normal/menu_entry.c (update_screen): remove
unused variable `off' which caused scroll down arrow to be always shown.
2013-02-25 22:53:40 +01:00
Andrey Borzenkov
958bfd2067 * grub-core/normal/menu_entry.c (insert_string): fix off by one
access to unallocated memory.
2013-02-25 22:42:25 +01:00
Vladimir 'phcoder' Serbinenko
28d468d6f2 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
sizes and display sector size.
2013-02-25 10:45:19 +01:00
Vladimir 'phcoder' Serbinenko
af18fdb4df * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
when menu highlight color isn't set.
2013-01-27 16:12:05 +01:00
Vladimir 'phcoder' Serbinenko
ec5010a3eb Improve spkmomdem reliability by adding a separator between bytes. 2013-01-21 20:03:15 +01:00
Vladimir 'phcoder' Serbinenko
bc1369732f Make color variables global instead of it being per-terminal. 2013-01-21 17:53:41 +01:00
Colin Watson
fc524edf65 Remove nested functions from filesystem directory iterators.
* include/grub/fs.h (grub_fs_dir_hook_t): New type.
(struct grub_fs.dir): Add hook_data argument.

Update all implementations and callers.
2013-01-21 01:33:46 +00:00
Colin Watson
25239370fd Remove nested functions from device iterators.
* include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
(grub_arc_iterate_devs): Add hook_data argument.
* include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
(struct grub_ata_dev.iterate): Add hook_data argument.
* include/grub/device.h (grub_device_iterate_hook_t): New type.
(grub_device_iterate): Add hook_data argument.
* include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
(struct grub_disk_dev.iterate): Add hook_data argument.
(grub_disk_dev_iterate): Likewise.
* include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
Likewise.
* include/grub/msdos_partition.h (grub_partition_msdos_iterate):
Likewise.
* include/grub/partition.h (grub_partition_iterate_hook_t): New
type.
(struct grub_partition_map.iterate): Add hook_data argument.
(grub_partition_iterate): Likewise.
* include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
(struct grub_scsi_dev.iterate): Add hook_data argument.

Update all callers.
2013-01-20 15:52:15 +00:00